Global_Reg.RegInit("aling_Init");--注册创建NPC事件
local leiming_loop_tab = leiming_loop_tab or {}
local aling_loop_tab = aling_loop_tab or {}
local aling_tab = aling_tab or {}
function aling_Init()
aling_event1();
return 0;
end
function aling_event1(npc)
if npc == nil or npc < 0 then
npc = NL.CreateNpc(nil,"aling_event2")
end
Char.SetData(npc,%对象_形象%,106284)
Char.SetData(npc,%对象_原形%,106284)
Char.SetData(npc,%对象_地图%,38080)
Char.SetData(npc,%对象_X%,27)
Char.SetData(npc,%对象_Y%,23)
Char.SetData(npc,%对象_方向%,5)
Char.SetData(npc,%对象_原名%,"阿绫")
NLG.UpChar(npc)
LuaNpcIndex["aling_Init"]=npc;
InstallNpc("aling_Init",npc);
Char.SetTalkedEvent(nil, "aling_event3",npc)
Char.SetWindowTalkedEvent(nil,"aling_windows",npc)
return true
end
function aling_event2(index)
return true;
end
function aling_event3(npc,player)
if NLG.CanTalk(npc,player) then
if aling_tab[player]==nil then
local name = Char.GetData(player,2000)
local msg = "\n没事的~打起精神来"..name.."~这是最后一战了!"
.."\n\n\n (突然传来雷鸣声)"
NLG.ShowWindowTalked(player,0,1,0,msg,npc)
else
local msg = "\n\n\n\n\n ············"
NLG.ShowWindowTalked(player,0,1,1,msg,npc)
end
end
end
function aling_windows(_TalkIndex, player, _Seqno, _Select, _Data)
if _Select~=2 then
if _Seqno==0 then
NLG.SetAction(_TalkIndex,10);
local fd=Protocol.GetFdByChar(player)
Protocol.Send(fd,"WinmlSendBgm ./sound/雷鸣.mp3");
leiming_event1()
aling_tab[player]=1
elseif _Seqno==1 then
local zdms = Char.GetData(player,11556)
if zdms==0 then
NLG.Warp(player,0,1528,28,22);
Char.SetLoopEvent(nil, "aling_Loop",player,100)
local name = Char.GetData(player,2000)
NLG.SystemMessage(player,"[巴乌·哇呜]:李贝留斯要过来了!"..name.."快拔出灭神剑!")
NLG.SystemMessage(player,"[沙慈]:我要为阿绫报仇!!")
NLG.SystemMessage(player,"[阿咪]:阿绫还没死诶……沙慈")
NLG.SystemMessage(player,"[提示]:新手教程结束后,您也可以从右上角『同伴招募』中寻找『冒险者酒吧老板』和伙伴组队")
aling_tab[player]=nil
NLG.GiveItem(player,50910);
local fd=Protocol.GetFdByChar(player)
Protocol.Send(fd,"WinmlSendBgm ./bin/bgm/cgbgm_d4.wav");
else
NLG.SystemMessage(player,"[提示]:请不要组队哦!")
end
end
end
end
function leiming_event1(npc)
if npc == nil or npc < 0 then
npc = NL.CreateNpc(nil,"aling_event2")
end
Char.SetData(npc,%对象_形象%,104220)
Char.SetData(npc,%对象_原形%,104220)
Char.SetData(npc,%对象_地图%,38080)
Char.SetData(npc,%对象_X%,27)
Char.SetData(npc,%对象_Y%,23)
Char.SetData(npc,%对象_方向%,0)
Char.SetData(npc,%对象_原名%," ")
NLG.UpChar(npc)
Char.SetLoopEvent(nil, "leiming_Loop",npc,3000)
end
function leiming_Loop(npc)
if leiming_loop_tab[npc]==nil then
leiming_loop_tab[npc]=1
return 0
else
NLG.SetAction(LuaNpcIndex.aling_Init,0);
Char.SetLoopEvent(nil, nil,npc,0)
NL.DelNpc(npc);
leiming_loop_tab[npc]=nil
end
return 0
end
function aling_Loop(player)
if aling_loop_tab[player]==nil then
aling_loop_tab[player]=501
local playerCDK = Char.GetData(player,%对象_帐号%)--字符串型
local RegistNumber = Char.GetData(player,%对象_RegistNumber%)
local a=Field.Get(player,"friend_Signing"..aling_loop_tab[player]) or -1
if a==-1 then
yongbingchuangjian(player,playerCDK,RegistNumber,aling_loop_tab[player])
end
CallDummy1(player,aling_loop_tab[player],playerCDK,RegistNumber,1)
elseif aling_loop_tab[player]==501 then
aling_loop_tab[player]=502
local playerCDK = Char.GetData(player,%对象_帐号%)--字符串型
local RegistNumber = Char.GetData(player,%对象_RegistNumber%)
local a=Field.Get(player,"friend_Signing"..aling_loop_tab[player]) or -1
if a==-1 then
yongbingchuangjian(player,playerCDK,RegistNumber,aling_loop_tab[player])
end
CallDummy1(player,aling_loop_tab[player],playerCDK,RegistNumber,1)
elseif aling_loop_tab[player]==502 then
aling_loop_tab[player]=401
local playerCDK = Char.GetData(player,%对象_帐号%)--字符串型
local RegistNumber = Char.GetData(player,%对象_RegistNumber%)
local a=Field.Get(player,"friend_Signing"..aling_loop_tab[player]) or -1
if a==-1 then
yongbingchuangjian(player,playerCDK,RegistNumber,aling_loop_tab[player])
end
CallDummy1(player,aling_loop_tab[player],playerCDK,RegistNumber,1)
elseif aling_loop_tab[player]==401 then
for i=1,4 do
local GroupIndex = Char.GetTeamIndex(player, i);
if GroupIndex>=0 then
local job = Char.GetData(GroupIndex,51)
if job==540 then
giveorigin2(GroupIndex,130)
--Char.SetData(GroupIndex,9,Char.GetData(GroupIndex,287))
--Char.SetData(GroupIndex,10,Char.GetData(GroupIndex,288))
--NLG.UpChar(GroupIndex)
for i=0,4 do
local jdfg=2--加点风格:2为加攻,1加血,3加防,4加敏,5加魔
if i==1 or i==2 then
jdfg=4
elseif i==3 then
jdfg=1
elseif i==4 then
jdfg=5
end
local petindex = Char.GetPetIndex(GroupIndex,i);
NPC_mate_pet_simulate(petindex,130,jdfg)
Pet.UpPet(GroupIndex,i);
end
end
end
end
aling_loop_tab[player]=nil
Char.SetLoopEvent(nil, nil,player,0)
return 0
end
return 0
end
|
|