zoukankan      html  css  js  c++  java
  • T端单机定时间随机召唤生物的脚本

    下面是以个T端335版本WOTLK版本的随机召唤生物,并公告的脚本。。
    
    注意:你需要定义好比较好的时间设置,否则容易当机。最好多测试一下
    
    
     #include "ScriptPCH.h" 
    #define MIN_INTERVAL_TIMER 900000 // 15 minutes, in miliseconds.... 1 second = 1000 miliseconds
    #define MAX_INTERVAL_TIMER 1800000 // 30 minutes
    #define RANDOM_NPC_ENTRY 00000
    #define RANDOM_ITEM_REWARD_ENTRY 10000
    // edit all this shit ^
    class Random_Appearance : public WorldScript
    {
    public:
        Random_Appearance() : WorldScript("Random_Appearance") {}
        uint32 Timer;
     
        void DoRandomShit()
        {
            SessionMap Players = sWorld->GetAllSessions();
            if(Players.empty())
                return;
            SessionMap::iterator itr = Players.find(urand(0, Players.size()));
            Player* player = itr->second->GetPlayer();
            Position *pos;
            player->GetPosition(pos);
            pos->m_positionX -= 3;
            pos->m_positionY -= 3;
            Creature* Summoned = player->SummonCreature(RANDOM_NPC_ENTRY, *pos, TEMPSUMMON_MANUAL_DESPAWN, 5000);
            const ItemTemplate* rewardedItem = sObjectMgr->GetItemTemplate(RANDOM_ITEM_REWARD_ENTRY);
            std::ostringstream ss;
            ss << "Congratulations, you have been randomly gifted with ";
            ss << rewardedItem->Name1;
            ss << " !";
            Summoned->MonsterSay(ss.str().c_str(), LANG_UNIVERSAL, player->GetGUID());
            player->AddItem(RANDOM_ITEM_REWARD_ENTRY, 1);
            Timer = urand(MIN_INTERVAL_TIMER, MAX_INTERVAL_TIMER); 
        }
     
        void OnStartup()
        {
            Timer = urand(MIN_INTERVAL_TIMER, MAX_INTERVAL_TIMER);
        }
     
        void OnUpdate(uint32 diff)
        {
            if(diff > Timer)
                DoRandomShit();
            else
                Timer -= diff;
        }
    };
    void AddSC_Random_Appearance()
    {
        new Random_Appearance();
    }
  • 相关阅读:
    java1234初学maven
    解决maven创建web项目卡死在generator插件(转)
    maven下载速度慢的解决方法(转)
    git分支
    git基础
    oracle分析函数与over()(转)
    Oracle开窗函数 over()(转)
    Oracle计算时间函数(对时间的加减numtodsinterval、numtoyminterval) (转)
    selenium使用中遇到的问题
    selenium运行火狐报错FirefoxDriver : Unable to connect to host 127.0.0.1 on port 7055
  • 原文地址:https://www.cnblogs.com/needly/p/3751533.html
Copyright © 2011-2022 走看看