吾爱尚玩资源基地

标题: T端修改玩家阵营和职业的脚本代码335WOTLK [打印本页]

作者: admin    时间: 2016-4-21 23:45
标题: T端修改玩家阵营和职业的脚本代码335WOTLK
此代码是一个用来修改魔兽世界私服玩家的阵营和职业的脚本代码。。适用于T端trinity 335

/*<--------------------------------------------------------------------------->
- Developer(s): Ghostcrawler336
- Complete: 100%
- ScriptName: 'Faction / Race Changer'
- Comment: Untested
<--------------------------------------------------------------------------->
*/
#include "ScriptPCH.h"

enum  defines
{
faction_token = 100, // Faction Change Token
race_token = 100 // Race Change Token
};

class npc_changer : public CreatureScript
{
    public:
        npc_changer() : CreatureScript("npc_changer"){}

        bool OnGossipHello(Player * pPlayer, Creature * pCreature)
        {


            pPlayer->ADD_GOSSIP_ITEM(4, "Change My Race ", GOSSIP_SENDER_MAIN, 0);
            pPlayer->ADD_GOSSIP_ITEM(4, "Change My Faction", GOSSIP_SENDER_MAIN, 1);
            pPlayer->PlayerTalkClass->SendGossipMenu(9425, pCreature->GetGUID());
            return true;
        }

        bool OnGossipSelect(Player * Player, Creature * Creature, uint32 /*uiSender*/, uint32 uiAction)
        {
            if(!Player)
                return true;

            switch(uiAction)
            {
                case 0:
                    if(Player->HasItemCount(race_token, 1))
                    {
                        Player->DestroyItemCount(race_token, 1, true, false);
                        Player->SetAtLoginFlag(AT_LOGIN_CHANGE_RACE);
                        CharacterDatabase.PExecute("UPDATE characters SET at_login = at_login | '128' WHERE guid = %u", Player->GetGUID());
                        Player->GetSession()->SendNotification("You need to relog, to change your race!");
                        Player->PlayerTalkClass->SendCloseGossip();
                    }
                    else
                    {
                        Player->GetSession()->SendNotification("You need atleast one race change token!");
                        Player->PlayerTalkClass->SendCloseGossip();
                    }
                    break;
                case 1:
                    if(Player->HasItemCount(faction_token, 1))
                    {
                        Player->DestroyItemCount(faction_token, 1, true, false);
                        Player->SetAtLoginFlag(AT_LOGIN_CHANGE_FACTION);
                        CharacterDatabase.PExecute("UPDATE characters SET at_login = at_login | '64' WHERE guid = %u", Player->GetGUID());
                        Player->GetSession()->SendNotification("You need to relog, to change your faction!");
                        Player->PlayerTalkClass->SendCloseGossip();

                    }

                    else
                    {
                        Player->GetSession()->SendNotification("You need atleast one faction change token!");
                        Player->PlayerTalkClass->SendCloseGossip();
                    }
                    break;
            }
            return true;
        }

};

void AddSC_npc_changer()
{
    new npc_changer();
}


作者: 你懂的    时间: 2016-11-17 03:23
感谢楼主分享,祝愿吾爱尚玩越来越好!
作者: qilinhuhu    时间: 2021-6-10 23:10
小白一个 顶一下,吾爱尚玩免费服务端下载!




欢迎光临 吾爱尚玩资源基地 (http://bbs.523play.com/) Powered by Discuz! X3.4