All pastes #503106 Raw Edit

Untitled

public text v1 · immutable
·published 2007-05-22 19:03 UTC
rendered paste body
/*         /\/\   __ _ _ __   __ _  ___ / _\ ___ _ __(_)_ __ | |_
 *        /    \ / _` | '_ \ / _` |/ _ \\ \ / __| '__| | '_ \| __|
 *       / /\/\ \ (_| | | | | (_| | (_) |\ \ (__| |  | | |_) | |_
 *       \/    \/\__,_|_| |_|\__, |\___/\__/\___|_|  |_| .__/ \__|
 *                           |___/                     |_|
 *                        A WHOLE NEW WORLD
 *         MangoScript - Bringing a whole new world to MaNGOS
 *
 *      Lua_Player.cpp - Exports Player related functions to LUA
 *
 *      (c) Copyright 2006-2007 by the MangoScript Team <http://www.mangoscript.org>
 *
 *      This program is free software; you can redistribute it and/or modify
 *      it under the terms of the GNU General Public License as published by
 *      the Free Software Foundation; either version 2 of the License, or
 *      (at your option) any later version.
 *
 *      This program is distributed in the hope that it will be useful,
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *      GNU General Public License for more details.
 *
 *      You should have received a copy of the GNU General Public License
 *      along with this program; if not, write to the Free Software
 *      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 *      $Id: LUA_Player.cpp 278 2007-05-19 11:03:14Z biglad $
 */

#include "luainc.h"
#include "LUA_Player.h"
#include "WorldPacket.h"
#include "Player.h"
#include "Creature.h"
#include "GossipDef.h"
#include "SpellAuras.h"
#include "DynamicObject.h"
#include "Lua_uint64.h"
#include "ObjectMgr.h"
#include "MapManager.h"
#include "Chat.h"
#include "Language.h"
#include "ObjectMgr.h"
#include "Lua_Chat.h"

//For player
void lb_Player_Dump(Player* pl)
{
	//display some info about player
	debug_log("Dumping player %s ", pl->GetName());
}

Player* lb_Player_getSelectedPlayer(Player* pl)
{
    uint64 guid = pl->GetSelection();

    if (guid == 0)
        return pl;

    return objmgr.GetPlayer(guid);
}

Unit* lb_Player_getSelectedUnit(Player* pl)
{
    uint64 guid = pl->GetSelection();

    if (guid == 0)
		return pl;

    return ObjectAccessor::Instance().GetUnit(*pl, guid);
}

Creature* lb_Player_getSelectedCreature(Player* pl)
{
	return ObjectAccessor::Instance().GetCreature(*pl, pl->GetSelection());
}


void lb_Player_SendPacket(Player* pl, WorldPacket& pct)
{
	pl->GetSession()->SendPacket(&pct);
}

void lb_Player_ADD_GOSSIP_ITEM(Player* pl, uint8 Icon, char const * Message, uint32 dtSender, uint32 dtAction)
{
	pl->PlayerTalkClass->GetGossipMenu()->AddMenuItem(Icon, Message, dtSender, dtAction);
}

void lb_Player_SEND_GOSSIP_MENU(Player* pl, uint32 TitleTextId, lua_uint64 npcGUID)
{
	pl->PlayerTalkClass->SendGossipMenu(TitleTextId, npcGUID.m_val);
}

void lb_Player_CLOSE_GOSSIP_MENU(Player* pl)
{
	pl->PlayerTalkClass->CloseGossip();
}

void lb_Player_SEND_QUEST_DETAILS(Player* pl, Quest *pQuest, lua_uint64 npcGUID, bool ActivateAccept)
{
	pl->PlayerTalkClass->SendQuestGiverQuestDetails(pQuest, npcGUID.m_val, ActivateAccept);
}

void lb_Player_SEND_REQUESTEDITEMS(Player* pl, Quest *pQuest, lua_uint64 npcGUID, bool Completable, bool CloseOnCancel)
{
	pl->PlayerTalkClass->SendQuestGiverRequestItems(pQuest, npcGUID.m_val, Completable, CloseOnCancel);
}

void lb_Player_SEND_VENDORLIST(Player* pl, lua_uint64 guid )
{
	pl->GetSession()->SendListInventory(guid.m_val);
}

void lb_Player_SEND_TRAINERLIST(Player* pl, lua_uint64 guid )
{
	pl->GetSession()->SendTrainerList(guid.m_val);
}

void lb_Player_SEND_BANKERLIST(Player* pl, lua_uint64 guid )
{
	pl->GetSession()->SendShowBank(guid.m_val);
}

void lb_Player_SEND_TABARDLIST(Player* pl, lua_uint64 guid )
{
	pl->GetSession()->SendTabardVendorActivate(guid.m_val);
}

// void lb_Player_SEND_AUCTIONLIST(Player* pl , lua_uint64 guid )
// {
//   pl->GetSession()->SendAuctionHello(guid.m_val);
// }

void lb_Player_SEND_TAXILIST(Player* pl , lua_uint64 guid )
{
	pl->GetSession()->SendTaxiStatus(guid.m_val);
}

void lb_Player_SEND_SPRESURRECT(Player* pl)
{
	pl->GetSession()->SendSpiritResurrect();
}

uint32 lb_Player_GET_HONORRANK(Player* pl)
{
	return 0; // pl->GetHonorRank();
}

void lb_Player_SEND_POI(Player* pl, float X, float Y, uint32 Icon, uint32 Flags, uint32 Data, char const * locName)
{
	pl->PlayerTalkClass->SendPointOfInterest(X, Y, Icon, Flags, Data, locName);
}

void lb_Player_PrepareQuestMenu(Player* pl, lua_uint64 guid )
{
	pl->PrepareQuestMenu(guid.m_val);
}

void lb_Player_SendPreparedQuest(Player* pl, lua_uint64 guid )
{
	pl->SendPreparedQuest(guid.m_val);
}

void lb_Player_SendQuestUpdateAddCreature(Player* pl, uint32 quest_id, lua_uint64 guid, uint32 creature_idx, uint32 old_count, uint32 add_count)
{
	pl->SendQuestUpdateAddCreature(quest_id, guid.m_val, creature_idx, old_count, add_count );
}

lua_uint64 lb_Player_GetSelection(Player* pl )
{
	return lua_uint64(pl->GetSelection());
}

lua_uint64 lb_Player_GetTarget(Player* pl)
{
	return lua_uint64(pl->GetTarget());
}

void lb_Player_SetSelection(Player* pl, lua_uint64 guid)
{
	pl->SetSelection(guid.m_val);
}


void lb_Player_SetTarget(Player* pl, lua_uint64 guid)
{
	pl->SetTarget(guid.m_val);
}

uint32 lb_Player_GetSecurity(Player* pl)
{
	return pl->GetSession()->GetSecurity();
}

void lb_Player_DoSay(Player* pl, const char* msg ,const uint32& type , const uint32& lang )
{
	WorldPacket data;          
	sChatHandler.FillMessageData(&data, pl->GetSession(), type, lang, NULL, 0, msg);
	pl->SendMessageToSet(&data, true);
}

uint16 lb_Player_CanStoreNewItem(Player* pl, uint8 bag, uint8 slot, uint32 item, uint32 count, bool swap)
{
	uint16 dest;
	if (pl->CanStoreNewItem(bag, slot, dest, item, count, swap) == EQUIP_ERR_OK)
		return dest;
	else
		return NULL;
}

void lb_Player_SendSysMessage(Player* pl, const char *str)
{
	ChatHandler::SendSysMessage(pl->GetSession(), str);
}

/*
// Move the following to another file?
bool lb_DeleteSupportTicket(Player *player, const char *args)
{
    char* px = strtok((char*)args, " ");
    if (!px)
        return false;

    // delticket all
    if(strncmp(px,"@",4) == 0)
    {
        QueryResult *result = sDatabase.Query("SELECT `guid` FROM `character_ticket`");

        if(!result)
            return true;

        // notify players about ticket deleting
        do
        {
            Field* fields = result->Fetch();

            uint64 guid = fields[0].GetUInt64();

            if(Player* sender = objmgr.GetPlayer(guid))
                sender->GetSession()->SendGMTicketGetTicket(0x0A,0);

        }while(result->NextRow());

        delete result;

        sDatabase.PExecute("DELETE FROM `character_ticket`");
		sWorld.SendServerMessage(SERVER_MSG_STRING, LANG_COMMAND_ALLTICKETDELETED, player);
        return true;
    }

    int num = (uint32)atoi(px);

    // delticket #num
    if(num > 0)
    {
        QueryResult *result = sDatabase.PQuery("SELECT `ticket_id`,`guid` FROM `character_ticket` WHERE ticket_id = %i",num);

        if(!result || uint64(num) > result->GetRowCount())
        {		
			char string[1000];
			sprintf( string, LANG_COMMAND_TICKENOTEXIST, num);
			sWorld.SendServerMessage(SERVER_MSG_STRING, string, player);
            delete result;
            return true;
        }

        for(int i = 1; i < num; ++i)
            result->NextRow();

        Field* fields = result->Fetch();

        uint32 id   = fields[0].GetUInt32();
        uint64 guid = fields[1].GetUInt64();
        delete result;

        sDatabase.PExecute("DELETE FROM `character_ticket` WHERE `ticket_id` = '%u'", id);

        // notify players about ticket deleting
        if(Player* sender = objmgr.GetPlayer(guid))
        {
            sender->GetSession()->SendGMTicketGetTicket(0x0A,0);
			char string[1000];
			sprintf( string, LANG_COMMAND_TICKETPLAYERDEL, sender->GetName());
			sWorld.SendServerMessage(SERVER_MSG_STRING, string, player);
        }
        else
            sWorld.SendServerMessage(SERVER_MSG_STRING, LANG_COMMAND_TICKETDEL, player);

        return true;
    }

    std::string name = px;
    normalizePlayerName(name);
    sDatabase.escape_string(name);                          // prevent SQL injection - normal name don't must changed by this call

    uint64 guid = objmgr.GetPlayerGUIDByName(name.c_str());

    if(!guid)
        return false;

    // delticket $char_name
    sDatabase.PExecute("DELETE FROM `character_ticket` WHERE `guid` = '%u'",GUID_LOPART(guid));

    // notify players about ticket deleting
    if(Player* sender = objmgr.GetPlayer(guid))
        sender->GetSession()->SendGMTicketGetTicket(0x0A,0);


	char string[1000];
	sprintf( string, LANG_COMMAND_TICKETPLAYERDEL, px);
	sWorld.SendServerMessage(SERVER_MSG_STRING, string, player);
    return true;
}
*/

// Move the following to another file?
bool lb_DeleteSupportTicket(Player *player, int num)
{
    // delticket #num
    if(num > 0)
    {
        QueryResult *result = sDatabase.Query("SELECT `ticket_id`,`guid` FROM `character_ticket` WHERE ticket_id = %i",num);

        if(!result || result->GetRowCount() < 1)
        {		
			char string[1000];
			sprintf( string, LANG_COMMAND_TICKENOTEXIST, num);
			sWorld.SendServerMessage(SERVER_MSG_STRING, string, player);
			if (result)
				delete result;

            return true;
        }

        //for(int i = 1; i < num; ++i)
        //    result->NextRow();

        Field* fields = result->Fetch();

        uint32 id   = fields[0].GetUInt32();
        uint64 guid = fields[1].GetUInt64();
        delete result;

        sDatabase.Execute("DELETE FROM `character_ticket` WHERE `ticket_id` = '%u'", id);

        // notify players about ticket deleting
        if(Player* sender = objmgr.GetPlayer(guid))
        {
            sender->GetSession()->SendGMTicketGetTicket(0x0A,0);
			char string[1000];
			sprintf( string, LANG_COMMAND_TICKETPLAYERDEL, sender->GetName());
			sWorld.SendServerMessage(SERVER_MSG_STRING, string, player);
        }
        else
            sWorld.SendServerMessage(SERVER_MSG_STRING, LANG_COMMAND_TICKETDEL, player);

        return true;
    }

    return false;
}

//Here we export from c++ to lua ... here are all definitions of funcs
int lb_Export_Player(lua_State *L)
{
	using namespace luabind;

	module(L)
	[
		class_<Player, bases<Unit, WorldObject, Object> >("Player")
			.def("DoSay", &lb_Player_DoSay)
			.def("getSelectedPlayer", &lb_Player_getSelectedPlayer)
			.def("getSelectedUnit", &lb_Player_getSelectedUnit)
			.def("getSelectedCreature", &lb_Player_getSelectedCreature)
			.def("ADD_GOSSIP_ITEM", &lb_Player_ADD_GOSSIP_ITEM)
			.def("SEND_GOSSIP_MENU", &lb_Player_SEND_GOSSIP_MENU)
			.def("CLOSE_GOSSIP_MENU", &lb_Player_CLOSE_GOSSIP_MENU)
			.def("SEND_POI", &lb_Player_SEND_POI)
			.def("SEND_QUEST_DETAILS", &lb_Player_SEND_QUEST_DETAILS)
			.def("SEND_REQUESTEDITEMS", &lb_Player_SEND_REQUESTEDITEMS)
			.def("SEND_VENDORLIST", &lb_Player_SEND_VENDORLIST)
			.def("SEND_TRAINERLIST", &lb_Player_SEND_TRAINERLIST)
			.def("SEND_BANKERLIST", &lb_Player_SEND_BANKERLIST)
			.def("SEND_TABARDLIST", &lb_Player_SEND_TABARDLIST)	
			.def("DeleteSupportTicket", &lb_DeleteSupportTicket) // DeleteTicket function (takes ticket id, player name or @ forall)
			/*.def("SEND_AUCTIONLIST", &lb_Player_SEND_AUCTIONLIST)*/
			.def("SEND_TAXILIST", &lb_Player_SEND_TAXILIST)
			.def("SEND_SPRESURRECT", &lb_Player_SEND_SPRESURRECT)
			.def("GET_HONORRANK", &lb_Player_GET_HONORRANK)
			.def("SEND_REQUESTEDITEMS", &lb_Player_SEND_REQUESTEDITEMS)
			.def("GetSecurity", &lb_Player_GetSecurity)
			.def("Dump", &lb_Player_Dump)
			.def("SendPacket", &lb_Player_SendPacket)
			.def("TeleportTo", &Player::TeleportTo)
			.def("ToggleAFK", &Player::ToggleAFK)
			.def("ToggleDND", &Player::ToggleDND)
			.def("isAFK", &Player::isAFK)
			.def("isDND", &Player::isDND)
			.def("SendFriendlist", &Player::SendFriendlist)
			.def("SendIgnorelist", &Player::SendIgnorelist)
			.def("GetTaximask", &Player::GetTaximask)
			.def("SetTaximask", &Player::SetTaximask)
			.def("ClearTaxiDestinations", &Player::ClearTaxiDestinations)
			.def("AddTaxiDestination", &Player::AddTaxiDestination)
			.def("GetTaxiSource", &Player::GetTaxiSource)
			.def("isAcceptTickets", &Player::isAcceptTickets)
			.def("SetAcceptTicket", &Player::SetAcceptTicket)
			.def("isAcceptWhispers", &Player::isAcceptWhispers)
			.def("SetAcceptWhispers", &Player::SetAcceptWhispers)
			.def("isGameMaster", &Player::isGameMaster)
			.def("SetGameMaster", &Player::SetGameMaster)
			.def("isTaxiCheater", &Player::isTaxiCheater)
			.def("SetTaxiCheater", &Player::SetTaxiCheater)
			.def("isGMVisible", &Player::isGMVisible)
			.def("SetGMVisible", &Player::SetGMVisible)
			.def("GetName", &Player::GetName)
			.def("GiveXP", &Player::GiveXP)
			.def("GiveLevel", &Player::GiveLevel)
			.def("setDismountCost", &Player::setDismountCost)
			.def("setDeathState", &Player::setDeathState)
			.def("InnEnter", &Player::InnEnter)
			.def("GetRestBonus", &Player::GetRestBonus)
			.def("SetRestBonus", &Player::SetRestBonus)
			.def("GetRestType", &Player::GetRestType)
			.def("SetRestType", &Player::SetRestType)
			.def("GetInnPosX", &Player::GetInnPosX)
			.def("GetInnPosY", &Player::GetInnPosY)
			.def("GetInnPosZ", &Player::GetInnPosZ)
			.def("UpdateInnerTime", &Player::UpdateInnerTime)
			.def("GetTimeInnEter", &Player::GetTimeInnEter)
			/*.def("UnsummonPet", &Player::UnsummonPet)*/
			/*.def("UnTamePet", &Player::UnTamePet)*/
			.def("Uncharm", &Player::Uncharm)
			.def("SetVirtualItemSlot", &Player::SetVirtualItemSlot)
			.def("SetSheath", &Player::SetSheath)
			.def("FindEquipSlot", &Player::FindEquipSlot)
			.def("CreateItem", &Player::CreateItem)
			.def("GetItemCount", &Player::GetItemCount)
			.def("GetBankItemCount", &Player::GetBankItemCount)
			/*.def("GetPosByGuid", &Player::GetPosByGuid)/*u64*/
			.def("GetItemByPos", (Item* (Player::*)(uint16) const)&Player::GetItemByPos)
			.def("GetItemByPos", (Item* (Player::*)(uint8, uint8) const)&Player::GetItemByPos)
			.def("HasBankBagSlot", &Player::HasBankBagSlot)
			/*.def("IsInventoryPos", &Player::IsInventoryPos)*/
			/*.def("IsEquipmentPos", &Player::IsEquipmentPos)*/
			/*.def("IsBankPos", &Player::IsBankPos)*/
			.def("HasItemCount", &Player::HasItemCount)
			.def("CanStoreNewItem", &lb_Player_CanStoreNewItem)
			.def("CanStoreItem", &Player::CanStoreItem)
			.def("CanEquipItem", &Player::CanEquipItem)
			.def("CanUnequipItem", &Player::CanUnequipItem)
			.def("CanBankItem", &Player::CanBankItem)
			.def("CanUseAmmo", &Player::CanUseAmmo)
			.def("StoreNewItem", &Player::StoreNewItem)
			.def("StoreItem", &Player::StoreItem)
			.def("EquipItem", &Player::EquipItem)
			.def("VisualizeItem", &Player::VisualizeItem)
			.def("BankItem", &Player::BankItem)
			.def("RemoveItem", &Player::RemoveItem)
			.def("RemoveItemCount", &Player::RemoveItemCount)
			.def("DestroyItem", &Player::DestroyItem)
			.def("DestroyItemCount", (void (Player::*)(uint32,uint32, bool))&Player::DestroyItemCount)
			.def("DestroyItemCount", (void (Player::*)(Item*, uint32&, bool))&Player::DestroyItemCount)
			.def("SplitItem", &Player::SplitItem)
			.def("SwapItem", &Player::SwapItem)
			.def("AddItemToBuyBackSlot", &Player::AddItemToBuyBackSlot)
			.def("GetItemFromBuyBackSlot", &Player::GetItemFromBuyBackSlot)
			.def("RemoveItemFromBuyBackSlot", &Player::RemoveItemFromBuyBackSlot)
			.def("SendEquipError", &Player::SendEquipError)
			.def("SendBuyError", &Player::SendBuyError)
			.def("SendSellError", &Player::SendSellError)
			.def("AddWeaponProficiency", &Player::AddWeaponProficiency)
			.def("AddArmorProficiency", &Player::AddArmorProficiency)
			.def("GetWeaponProficiency", &Player::GetWeaponProficiency)
			.def("GetArmorProficiency", &Player::GetArmorProficiency)
			.def("GetTrader", &Player::GetTrader)
			.def("TradeCancel", &Player::TradeCancel)
			.def("ClearTrade", &Player::ClearTrade)
			.def("PrepareQuestMenu", &lb_Player_PrepareQuestMenu )
			.def("SendPreparedQuest", &lb_Player_SendPreparedQuest)
			.def("GetActiveQuest", &Player::GetActiveQuest)
			.def("GetNextQuest", &Player::GetNextQuest)
			.def("CanSeeStartQuest", &Player::CanSeeStartQuest)
			.def("CanTakeQuest", &Player::CanTakeQuest)
			.def("CanAddQuest", &Player::CanAddQuest)
			.def("CanCompleteQuest", &Player::CanCompleteQuest)
			.def("CanRewardQuest", (bool (Player::*)(Quest*, bool))&Player::CanRewardQuest)
			.def("CanRewardQuest", (bool (Player::*)(Quest*, uint32, bool))&Player::CanRewardQuest)
			.def("AddQuest", &Player::AddQuest)
			.def("CompleteQuest", &Player::CompleteQuest)
			.def("IncompleteQuest", &Player::IncompleteQuest)
			.def("RewardQuest", &Player::RewardQuest)
			.def("FailQuest", &Player::FailQuest)
			.def("FailTimedQuest", &Player::FailTimedQuest)
			.def("SatisfyQuestClass", &Player::SatisfyQuestClass)
			.def("SatisfyQuestLevel", &Player::SatisfyQuestLevel)
			.def("SatisfyQuestLog", &Player::SatisfyQuestLog)
			.def("SatisfyQuestPreviousQuest", &Player::SatisfyQuestPreviousQuest)
			.def("SatisfyQuestRace", &Player::SatisfyQuestRace)
			.def("SatisfyQuestReputation", &Player::SatisfyQuestReputation)
			.def("SatisfyQuestSkill", &Player::SatisfyQuestSkill)
			.def("SatisfyQuestStatus", &Player::SatisfyQuestStatus)
			.def("SatisfyQuestTimed", &Player::SatisfyQuestTimed)
			.def("SatisfyQuestExclusiveGroup", &Player::SatisfyQuestExclusiveGroup)
			.def("GiveQuestSourceItem", &Player::GiveQuestSourceItem)
			.def("TakeQuestSourceItem", &Player::TakeQuestSourceItem)
			.def("GetQuestRewardStatus", &Player::GetQuestRewardStatus)
			.def("GetQuestStatus", &Player::GetQuestStatus)
			.def("AdjustQuestReqItemCount", &Player::AdjustQuestReqItemCount)
			.def("SetQuestStatus", &Player::SetQuestStatus)
			.def("GetQuestSlot", &Player::GetQuestSlot)
			.def("AreaExplored", &Player::AreaExplored)
			.def("KilledMonster", &Player::KilledMonster)
			.def("MoneyChanged", &Player::MoneyChanged)
			/*.def("HaveQuestForItem", &Player::HaveQuestForItem)*/
			.def("SendQuestComplete", &Player::SendQuestComplete)
			.def("SendQuestReward", &Player::SendQuestReward)
			.def("SendQuestFailed", &Player::SendQuestFailed)
			.def("SendQuestTimerFailed", &Player::SendQuestTimerFailed)
			.def("SendCanTakeQuestResponse", &Player::SendCanTakeQuestResponse)
			.def("SendPushToPartyResponse", &Player::SendPushToPartyResponse)
			.def("SendQuestUpdateAddItem", &Player::SendQuestUpdateAddItem)
			.def("SendQuestUpdateAddCreature", &lb_Player_SendQuestUpdateAddCreature)
			.def("GetInGameTime", &Player::GetInGameTime)
			.def("SetInGameTime", &Player::SetInGameTime)
			.def("AddTimedQuest", &Player::AddTimedQuest)
			.def("GetSelection", &lb_Player_GetSelection)
			.def("GetTarget", &lb_Player_GetTarget)
			.def("ModifyMoney", &Player::ModifyMoney)
			.def("SetMoney", &Player::SetMoney)
			.def("GetMoney", &Player::GetMoney)
			.def("SetSelection", &lb_Player_SetSelection)
			.def("SetTarget", &lb_Player_SetTarget)
			/*.def("AddMail", &Player::AddMail)*/
			.def("AddMail", &Player::SendNewMail)
			/*.def("SetMail", &Player::SetMail)*/
			.def("RemoveMail", &Player::RemoveMail)
			.def("GetMailSize", &Player::GetMailSize)
			.def("GetMail", &Player::GetMail)
			.def("HasSpell", &Player::HasSpell)
			/*.def("CanLearnProSpell", &Player::CanLearnProSpell)*/
			.def("SendProficiency", &Player::SendProficiency)
			.def("addSpell", &Player::addSpell)
			.def("learnSpell", &Player::learnSpell)
			/*.def("removeSpell", &Player::removeSpell)*/
			.def("resetTalents", &Player::resetTalents)
			.def("resetTalentsCost", &Player::resetTalentsCost)
			/*.def("setResurrect", &Player::setResurrect)/*64*/
			/*.def("SetPVPCount", &Player::SetPVPCount)*/
			/*.def("addAction", &Player::addAction)*/
			/*.def("removeAction", &Player::removeAction)*/
			/*.def("GetGroupLeader", &Player::GetGroupLeader)*/
			.def("SetInGuild", &Player::SetInGuild)
			.def("SetRank", &Player::SetRank)
			.def("SetGuildIdInvited", &Player::SetGuildIdInvited)
			.def("GetGuildId", &Player::GetGuildId)
			.def("GetRank", &Player::GetRank)
			.def("CheckDuelDistance", &Player::CheckDuelDistance)
			.def("DuelComplete", &Player::DuelComplete)
			/*.def("GetCurrentBuybackSlot", &Player::GetCurrentBuybackSlot)*/
			/*.def("SetCurrentBuybackSlot", &Player::SetCurrentBuybackSlot)*/
			/*.def("IsGroupMember", &Player::IsGroupMember)*/
			.def("UpdateSkill", &Player::UpdateSkill)
			.def("UpdateSkillPro", &Player::UpdateSkillPro)
			.def("GetLootGUID", &Player::GetLootGUID)
			.def("SetLootGUID", &Player::SetLootGUID)
			.def("SendOutOfRange", &Player::SendOutOfRange)
			.def("PlaySound", &Player::PlaySound)
			.def("SendExplorationExperience", &Player::SendExplorationExperience)
			.def("SendMessageToOwnTeamSet", &Player::SendMessageToOwnTeamSet)
			.def("SetPosition", &Player::SetPosition)
			.def("KillPlayer", &Player::KillPlayer)
			.def("ResurrectPlayer", &Player::ResurrectPlayer)
			.def("BuildPlayerRepop", &Player::BuildPlayerRepop)
			.def("RepopAtGraveyard", &Player::RepopAtGraveyard)
			.def("DurabilityLossAll", &Player::DurabilityLossAll)
			.def("DurabilityLoss", &Player::DurabilityLoss)
			.def("DurabilityRepairAll", &Player::DurabilityRepairAll)
			.def("DurabilityRepair", &Player::DurabilityRepair)
			.def("SetMovement", &Player::SetMovement)
			.def("BroadcastPacketToFriendListers", &Player::BroadcastPacketToFriendListers)
			.def("SetSkill", &Player::SetSkill)
			.def("HasSkill", &Player::HasSkill)
			.def("SetDontMove", &Player::SetDontMove)
			.def("GetDontMove", &Player::GetDontMove)
			.def("GetTeam", &Player::GetTeam)
			/*.def("SetStanding", &Player::SetStanding)*/
			.def("SetDrunkValue", &Player::SetDrunkValue)
			/*
			.def("UpdateHonor", &Player::UpdateHonor)
			.def("SetTotalHonor", &Player::SetTotalHonor)
			.def("GetTotalHonor", &Player::GetTotalHonor)
			.def("GetHonorHighestRank", &Player::GetHonorHighestRank)
			.def("SetHonorHighestRank", &Player::SetHonorHighestRank)
			.def("GetHonorRating", &Player::GetHonorRating)
			.def("SetHonorRating", &Player::SetHonorRating)
			.def("GetHonorLastWeekStanding", &Player::GetHonorLastWeekStanding)
			.def("SetHonorLastWeekStanding", &Player::SetHonorLastWeekStanding)
			*/
			.def("GetDrunkValue", &Player::GetDrunkValue)
			.def("GetDeathTimer", &Player::GetDeathTimer)
			/*.def("SetSoulStoneSpell", &Player::SetSoulStoneSpell)*/
			.def("SendSysMessage", &lb_Player_SendSysMessage)
			.def("SaveToDB", &Player::SaveToDB)
	];

	return 0;
}