关灯
开启左侧

魔兽单机定时间随机召唤生物的脚本

  [复制链接]
admin实名认证 发表于 2016-4-23 17:21:20 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
下面是以个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();
}

标签:魔兽单机
 
VIP介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 最佳新人

    注册账号后积极发帖的会员
  • 活跃会员

    经常参与各类话题的讨论,发帖内容较有主见
  • 热心会员

    经常帮助其他会员答疑
  • 推广达人

    积极宣传本站,为本站带来更多注册会员
  • 宣传达人

    积极宣传本站,为本站带来更多的用户访问量
  • 灌水之王

    经常在论坛发帖,且发帖量较大
  • 突出贡献

    长期对论坛的繁荣而不断努力,或多次提出建设性意见
  • 优秀版主

    活跃且尽责职守的版主
  • 荣誉管理

    曾经为论坛做出突出贡献目前已离职的版主
  • 论坛元老

    为论坛做出突出贡献的会员

0关注

5粉丝

3421帖子

排行榜
作者专栏

QQ交流群&&微信订阅号

QQ交流群

微信订阅号

吾爱尚玩资源基地永久域名:

Www.523Play.Com

在线管理员QQ:1589479632

邮箱:Email@523play.com

QQ交流群:558936238

Copyright   ©2015-2116  吾爱尚玩资源基地|523play.comPowered by©523Pplay.Com技术支持:吾爱尚玩资源基地