蓝暴任务师LUA脚本示例,石器时代发布网,石器技术交流站!
蓝暴任务师LUA脚本示例
文章作者:www.shiqisifu.cc 文章来源:石器时代发布网,石器时代私服发布,石器技术交流站 更新时间:2017/10/21 21:34:26 
function FinishMission_Init( _MeIndex )
Char.SetData(_MeIndex, %对像_形象%, 100700);
Char.SetData(_MeIndex, %对像_原形%, 100700);
Char.SetData(_MeIndex, %对像_地图%, 3008);
Char.SetData(_MeIndex, %对像_X%, 28);
Char.SetData(_MeIndex, %对像_Y%, 26);
Char.SetData(_MeIndex, %对像_方向%, %右下%);
Char.SetData(_MeIndex, %对像_原名%, "蓝暴任务师");

FinishMission_Pet = 351     --左迪洛斯
if (Char.SetTalkedEvent(nil, "FinishMission_Talked", _MeIndex) < 0) then
print("FinishMission_Talked 注册事件失败。");
return false;
end
if (Char.SetWindowTalkedEvent(nil, "FinishMission_WindowTalked", _MeIndex) < 0) then
print("FinishMission_WindowTalked 注册事件失败。");
return false;
end

return true;
end

--NPC窗口事件(NPC索引)
function FinishMission_WindowTalked ( _MeIndex, _TalkIndex, _Seqno, _Select, _Data)
if _Seqno == 0 then
if _Select == 1 then
if Char.GetData(_TalkIndex,%对像_等级%)<80 then
NLG.TalkToCli(_TalkIndex,"您的等级不足80级,不能使用该功能!")
return;
end

local i,j;
j=0;
for i=1,5 do
local TM_PetIndex = Char.GetPetIndex(_TalkIndex,i-1);
if TM_PetIndex <0 then
j = 1;
break;
end
end
if j == 0 then
NLG.TalkToCli(_TalkIndex,"您的宠物栏已满!");
return;
end

if Char.IsEventEnd(_TalkIndex,47)~=false then
NLG.TalkToCli(_TalkIndex,"您已经完成了蓝暴任务,不能使用该功能!")
return;
end
Char.SetEvtEnd(_TalkIndex, 44);
Char.SetEvtEnd(_TalkIndex, 47);
NLG.GivePet(_TalkIndex,FinishMission_Pet)
NLG.TalkToCli(_TalkIndex,"恭喜,您已经完成了蓝暴任务!")
return;
end
end
end

--Talked事件
--目前最高SEQNO=13
function FinishMission_Talked( _MeIndex, _PlayerIndex, _Msg, _Color, _Channel)
--這裡檢查玩家是否站在NPC面前
if(NLG.CheckInFront(_PlayerIndex, _MeIndex, 1) == false) then
return ;
end


NLG.ShowWindowTalked(_PlayerIndex, 0, 1+2, 0,
"\n             蓝暴任务师\n"..
"\n你需要完成蓝暴任务吗?要求您达到80级哦!",
_MeIndex);
return ;
end

上一篇;石器时代的[宠物][石币][道具][技能]修改方法
下一篇;GMSV的CPU使用率降低代码