llllll 发表于 2015-10-28 14:24:06

烈焰私服里夺宝奇兵脚本代码全面注释

打开烈焰私服服务端,找到夺宝奇兵的脚本,如下是脚本全面的注释,适合新手参照学习:

function ontalk2091(npc,event,player)
      player:echo(0,npc:GetLowGUID(),[[
#&talk_line#&
活动时间:
<font color="#FF9A00">19:10-19:40</font>玩家可自由进入夺宝奇兵地图
#&talk_line#&
活动介绍:
活动开始后,击杀<font color="#00FF00">九幽魔王</font>必定掉落<font color="#00FF00">【宝箱】</font>
拾取宝箱后,将获得<font color="#00FF00">【持宝人】</font>称号
获得<font color="#00FF00">【持宝人】</font>称号后,每5分钟获得一次<font color="#00FF00">随机奖励</font>
持宝人死亡、下线,<font color="#00FF00">【宝箱】</font>都会掉落在地面上
活动结束时,<font color="#00FF00">【持宝人】</font>可开启宝箱,获得<font color="#00FF00">宝箱奖励</font>

<font color="#FF0000">注:夺宝奇兵地图内PK不增加PK值</font>
<font color="#FF0000">死亡不掉落物品,活动时间内,死亡可再次进入</font>


               <u><a href='event:M2402,1'>点击参加夺宝奇兵</a></u>
]]);
end

function CreatureNpcFun(npc,event,player,funid)
      if funid == 1 then
                ontalk2091_1(npc,player);
                return;
      end
end


function ontalk2091_1(npc,player)
      local t = tonumber(os.date("%H%M",os.time()));--定义临时值t=一个小时分组合的值
      if t >= 1910 and t <= 1940 then--判断当前时间是否大于1910并且 小于1940
                if player:get_level() >= 60 then --上一条满足时,再判断 玩家等级是否满足60级
                        player:set_attack_mode(100);--2个条件都满足的情况下,设置玩家当前的攻击模式为全体
                        player:set_param(296,1);---并且模式为锁定,无法更改
                        player:set_name_pre(0,"神秘人");--更改玩家的角色名为神秘人.
                        g_alert("玩家[<font color='#FF0000'>"..player:GetName().."</font>]在沙漠土城进入了[夺宝奇兵]活动",2,1000,0,1);--发系统公告通知
                        player:randomthismap(61);--进入61编号的地图,并且坐标随机
                else
                        player:alert(10,0,0,"您的等级小于60级,不能参加夺宝奇兵");--不满足条件的提示
                end
      else
                player:alert(10,0,0,"夺宝奇兵活动已结束!");--不满足条件的提示
      end
end


RegisterUnitEvent(2091,20,"ontalk2091")
RegisterUnitEvent(2091,29,"CreatureNpcFun")

520页游论坛 www.ye520.com 欢迎您常来!!



页: [1]
查看完整版本: 烈焰私服里夺宝奇兵脚本代码全面注释