魔兽世界私服| 新开魔兽私服文章 | 历史已开私服 | 私服家族联盟 | 私服游戏攻略 | 魔兽相关下载 | 最新版本研究 | 家族发布 | 魔兽经验交流 | 各大魔兽家族排行榜
  当前位置:返回首页>>返回私服文章首页>>技术文章内容
[最新版本研究]到达一定等级领取奖品的代码
魔兽私服网   发布时间:2008-4-30 16:30:34
#include "StdAfx.h"
#include "Setup.h"
class SCRIPT_DECL Wistic : public GossipScript
{
public:
    void GossipHello(Object * pObject, Player* Plr, bool AutoSend);
    void GossipSelectOption(Object * pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code);
    void GossipEnd(Object * pObject, Player* Plr);
    void Destroy()
    {
        delete this;
    }
};
void Wistic::GossipHello(Object * pObject, Player* Plr, bool AutoSend)
{
    if(Plr->getLevel()>=40)
    {
        GossipMenu *Menu;
        objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
        Menu->AddItem(5, "我能帮你吗, $N?", 1);
        if(AutoSend)
            Menu->SendTo(Plr);
    }else{
        sChatHandler.SystemMessage(Plr->GetSession(),"You have already used this NPC and have no use for it!");
        Plr->Gossip_Complete();
    }
}
void Wistic::GossipSelectOption(Object * pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code)
{
        Creature * pCreature = (pObject->GetTypeId()==TYPEID_UNIT)?((Creature*)pObject):NULL;
        GossipMenu * Menu;
        if(pCreature==NULL)
            return;
        switch(IntId)
        {
        case 0:   
                GossipHello(pCreature, Plr, true);
            break;
        case 1:   
            {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "你到达一定等级,将能领取奖金!", 2);
                Menu->SendTo(Plr);
            }break;
        case 2:
            {
                uint32 reward=50000000;
                uint32 currentgold = Plr->GetUInt32Value(PLAYER_FIELD_COINAGE);
                int32 newgold = currentgold + reward;   
                if(newgold >= 2000000000){
                    string Goatz = " 得到奖金5金币.";
                    sChatHandler.SystemMessage(Plr->GetSession(), Goatz.c_str());
                }else{
                    Plr->SetUInt32Value(PLAYER_FIELD_COINAGE,newgold);
                }
                uint32 Level = 40;
                LevelInfo * Info = objmgr.GetLevelInfo(Plr->getRace(), Plr->getClass(), Level);
                if(Info){ Plr->ApplyLevelInfo(Info, Level);    }
                }break;
        }
}
void Wistic::GossipEnd(Object * pObject, Player* Plr)
{
    GossipScript::GossipEnd(pObject, Plr);
}
void SetupWistic(ScriptMgr * mgr)
{
    GossipScript * gs = (GossipScript*) new Wistic();
    mgr->register_gossip_script(654321, gs);       
}
上一篇魔兽私服文章:上一篇: 自动公告
下一篇魔兽私服文章:下一篇: 监狱系统源码

Copyright 2008-2009 www.haoztw.Com All Rights Reserved(注:本站只投放九城官方授权魔兽世界私服)
品牌商标、文字、形象及内容归魔兽世界私服版权所有 任何组织或个人未经同意,不得使用和传播 网站备案登记号:渝ICP备02394311号
拒绝盗版魔兽世界私服游戏 注意自我保护 谨防受骗上当 适度游戏益脑 沉迷游戏伤身 合理安排时间 享受健康生活
*注释:本站所有魔兽私服游戏信息,均来自互联网,与本站无关。请玩家仔细辨认魔兽私服游戏信息的真实性,避免上当受骗!