最新最全最权威的各类手游,端游,页游游戏信息开服信息,尽在游民之家. 订阅微信

烈焰心法修炼通过NPC脚本代码

发表时间:2016-01-12 13:28点击人气:责任编辑:admin

local cs= 1; --测试模式,为1时,自动清空等级并刷无限元力,正常运行改成0
local xfxtdjparam=267; --心法等级变量
local xfxtylparam=268; --心法元力变量
local xfxtname = {"<font color='#003300'>心</font><font color='#006600'>法</font><font color='#009900'>未</font><font color='#00CC00'>激</font><font color='#00FF00'>活</font>","<font color='#FF3A00'>一</font><font color='#FF7300'>气</font><font color='#FFAC00'>纯</font><font color='#FFE600'>元</font>","<font color='#FF3A00'>两</font><font color='#FF7300'>仪</font><font color='#FFAC00'>向</font><font color='#FFE600'>心</font>","<font color='#FF3A00'>三</font><font color='#FF7300'>花</font><font color='#FFAC00'>聚</font><font color='#FFE600'>顶</font>","<font color='#FF3A00'>四</font><font color='#FF7300'>极</font><font color='#FFAC00'>归</font><font color='#FFE600'>真</font>","<font color='#FF3A00'>五</font><font color='#FF7300'>气</font><font color='#FFAC00'>朝</font><font color='#FFE600'>元</font>","<font color='#FF3A00'>六</font><font color='#FF7300'>合</font><font color='#FFAC00'>归</font><font color='#FFE600'>一</font>","<font color='#FF3A00'>七</font><font color='#FF7300'>魄</font><font color='#FFAC00'>化</font><font color='#FFE600'>形</font>","<font color='#FF3A00'>八</font><font color='#FF7300'>荒</font><font color='#FFAC00'>破</font><font color='#FFE600'>灭</font>","<font color='#FF3A00'>九</font><font color='#FF7300'>转</font><font color='#FFAC00'>轮</font><font color='#FFE600'>回</font>","<font color='#FF3A00'>真</font><font color='#FF7300'>龙</font><font color='#FFAC00'>神</font><font color='#FFE600'>卫</font>"}
local xfxtjob = {"物理","魔法","道术"}
local xfxtgj ={
{1000,2000,3000,4000,5000,6000,7000,8000,9000,10000}, --战士物攻
{1000,2000,3000,4000,5000,6000,7000,8000,9000,10000}, --法师魔攻
{1000,2000,3000,4000,5000,6000,7000,8000,9000,10000}  --道士道攻
}
local xfxtsm ={
{10,20,30,40,50,60,70,80,90,100}, --战士生命百分比
{10,20,30,40,50,60,70,80,90,100}, --法师生命百分比
{10,20,30,40,50,60,70,80,90,100} --道士生命百分比
}
local xfxt ={
{1000,1000,1000,200000}, --1阶{物防,魔防,爆击值,提升到1阶所需经验},
{1000,1000,1000,600000}, --2阶{物防,魔防,爆击值,提升到2阶所需经验},
{1000,1000,1000,1500000}, --3阶{物防,魔防,爆击值,提升到3阶所需经验},
{1000,1000,1000,3000000}, --4阶{物防,魔防,爆击值,提升到4阶所需经验},
{1000,1000,1000,5400000}, --5阶{物防,魔防,爆击值,提升到5阶所需经验},
{1000,1000,1000,8640000}, --6阶{物防,魔防,爆击值,提升到6阶所需经验},
{1000,1000,1000,12960000}, --7阶{物防,魔防,爆击值,提升到7阶所需经验},
{1000,1000,1000,18144000}, --8阶{物防,魔防,爆击值,提升到8阶所需经验},
{1000,1000,1000,24494400}, --9阶{物防,魔防,爆击值,提升到9阶所需经验},
{1000,1000,1000,31842720} --10阶{物防,魔防,爆击值,提升到10阶所需经验}
}
local function top(npc,event,player)
  player:echo(0,npc:GetLowGUID(),[[
<font color="#66B3FF">------------------------------------------------</font>
 <font color='#FF3A00'>欢</font><font color='#FF7300'>迎</font><font color='#FFAC00'>光</font><font color='#FFE600'>临</font><font color="#FF0000"> --- XX烈焰</font>
<font color="#66B3FF">------------------------------------------------</font>
]]);
end
function ontalk2107(npc,event,player)
 if cs == 1 then
  player:set_param(xfxtdjparam,0);
  player:set_param(xfxtylparam,999999999);
 end
  top(npc,event,player)
 player:echo(0,npc:GetLowGUID(),[[
  <font color="#ccca30">自从心法古籍被带出神殿,远古的封印被破坏
  龙魔神殿内沉睡的魔物被再次唤醒
  灾难即将降临,勇士们,趁着封印未完全解封
  怪物的力量尚未完全恢复,前往消灭怪物吧

  心法等级[<font color='#FF0000'>总共分为10阶真龙神卫</font>]
  心法经验可通过永恒玫瑰兑换
  每上升一个等级属性提升越高哦
#&talk_line#&

  <u><a href='event:M2402,100'>提升--心法等级</a></u>
  
#&talk_line#&

  <u><a href='event:M2402,200'>兑换--心法元力</a></u>

<font color="#66B3FF">------------------------------------------------</font></font>
]]);
end
function ontalk2107_100(npc,event,player)
 local m,n = player:get_param(xfxtdjparam),player:get_job();
  top(npc,event,player)
 if m <= 9 then
 player:echo(0,npc:GetLowGUID(),[[
<font color="#ccca30">当前心法元力:[<font color='#FF0000'>]]..player:get_param(xfxtylparam)..[[</font>]
#&talk_line#&
提升至【]]..xfxtname[m+2]..[[】将消耗:[<font color='#FF0000'>]]..xfxt[(m+1)][5]..[[</font>]元力
#&talk_line#&
【]]..xfxtname[(m+2)]..[[】属性:
#&talk_line#&

  ]]..xfxtjob[n]..[[攻击:]]..xfxtgj[n][m+1]..[[ 
  物理防御:]]..xfxt[(m+1)][1]..[[ 
  魔法防御:]]..xfxt[(m+1)][2]..[[ 
  爆击值:]]..xfxt[(m+1)][3]..[[ 
  生命百分比:]]..xfxtsm[n][m+1]..[[%
  
#&talk_line#& 
  <u><a href='event:M2402,0'>返 回 首 页</a></u>  <u><a href='event:M2402,101'>提升--心法等级</a></u>
<font color="#66B3FF">------------------------------------------------</font></font>
]]);
 else
 player:echo(0,npc:GetLowGUID(),[[
<font color="#ccca30">当前心法元力:[<font color='#FF0000'>]]..player:get_param(xfxtylparam)..[[</font>]
#&talk_line#&
【<font color='#FF0000'>已达满级 无需继续提升</font>】
#&talk_line#&
【]]..xfxtname[(m+1)]..[[】属性:
#&talk_line#&

  ]]..xfxtjob[n]..[[攻击:]]..xfxtgj[n][m]..[[ 
  物理防御:]]..xfxt[(m)][1]..[[ 
  魔法防御:]]..xfxt[(m)][2]..[[ 
  爆击值:]]..xfxt[(m)][3]..[[ 
  生命百分比:]]..xfxtsm[n][m]..[[%
  
#&talk_line#& 
  <u><a href='event:M2402,0'>返 回 首 页</a></u>
<font color="#66B3FF">------------------------------------------------</font></font>
]]);
 end
end
function ontalk2107_200(npc,event,player)
  top(npc,event,player)
 player:echo(0,npc:GetLowGUID(),[[
<font color="#ccca30">当前心法元力:[<font color='#FF0000'>]]..player:get_param(xfxtylparam)..[[</font>]
#&talk_line#&
  <font color="#ccca30"><u><a href='event:M2402,1'>兑换1W心法元力</a></u>  <font color='#FF0000'>需永恒爱恋x1</font>
#&talk_line#&
  <u><a href='event:M2402,2'>兑换5W心法元力</a></u>  <font color='#FF0000'>需永恒爱恋x5</font>
#&talk_line#&
  <u><a href='event:M2402,3'>兑换10W心法元力</a></u>  <font color='#FF0000'>需永恒爱恋x10</font>
#&talk_line#&
  <u><a href='event:M2402,4'>兑换100W心法元力</a></u> <font color='#FF0000'>需永恒爱恋x100</font>
#&talk_line#&
  <u><a href='event:M2402,0'>返 回 首 页</a></u>
  
<font color="#66B3FF">------------------------------------------------</font></font>
]]);
end
function ontalk2107_1(npc,event,player)
 if  player:num_item(10198,1) >= 1  then
  player:remove_item(10198,1,1);
  player:set_param(xfxtylparam,player:get_param(xfxtylparam)+10000);
  player:alert(10,0,0,"元力+1W 当前元力:"..player:get_param(xfxtylparam).."");
 else
  player:alert(10,0,0,"没有永恒爱恋x1,无法兑换");
 end
 ontalk2107_200(npc,0,player,0);
end
function ontalk2107_2(npc,event,player)
 if  player:num_item(10198,1) >= 5  then
  player:remove_item(10198,5,1);
  player:set_param(xfxtylparam,player:get_param(xfxtylparam)+50000);
  player:alert(10,0,0,"元力+5W 当前元力:"..player:get_param(xfxtylparam).."");
 else
  player:alert(10,0,0,"没有永恒爱恋x5,无法兑换");
 end
 ontalk2107_200(npc,0,player,0);
end
function ontalk2107_3(npc,event,player)
 if  player:num_item(10198,1) >= 10  then
  player:remove_item(10198,10,1);
  player:set_param(xfxtylparam,player:get_param(xfxtylparam)+100000);
  player:alert(10,0,0,"元力+10W 当前元力:"..player:get_param(xfxtylparam).."");
 else
  player:alert(10,0,0,"没有永恒爱恋x10,无法兑换");
 end
 ontalk2107_200(npc,0,player,0);
end
function ontalk2107_4(npc,event,player)
 if  player:num_item(10198,1) >= 100  then
  player:remove_item(10198,100,1);
  player:set_param(xfxtylparam,player:get_param(xfxtylparam)+1000000);
  player:alert(10,0,0,"元力+100W 当前元力:"..player:get_param(xfxtylparam).."");
 else
  player:alert(10,0,0,"没有永恒爱恋x100,无法兑换");
 end
 ontalk2107_200(npc,0,player,0);
end
function ontalk2107_101(npc,event,player)
 local i = player:get_job()*100+5000+player:get_param(xfxtdjparam);
 if player:get_param(xfxtylparam) >=xfxt[(player:get_param(xfxtdjparam)+1)][5]  then
  player:set_param(xfxtylparam,player:get_param(xfxtylparam)-xfxt[(player:get_param(xfxtdjparam)+1)][5]);
  player:set_param(xfxtdjparam,player:get_param(xfxtdjparam)+1);
  player:set_status(i,0,100,5);
  player:set_name_pre(5,""..xfxtname[player:get_param(xfxtdjparam)+1].."");
  g_alert("玩家[<font color='#FF0000'>"..player:GetName().."</font>]经过重重努力,终于将心法等级提高到:[<font color='#FF0000'>"..xfxtname[player:get_param(xfxtdjparam)+1].."</font>]",2,1000,0,1);
  player:alert(10,0,0,"心法等级提高到:[<font color='#FF0000'>"..xfxtname[player:get_param(xfxtdjparam)+1].."</font>]");
 else
  player:alert(10,0,0,"心法元力不足,无法进行下一级修炼");
 end
 ontalk2107_100(npc,0,player,0);
end
function xfEnterGame(event,player,Mapx,Mapy)
 if player:get_param(xfxtdjparam) >= 1 then
  player:set_status(player:get_job()*100+5000+player:get_param(xfxtdjparam),0,100,5);
 end
 player:set_name_pre(5,""..xfxtname[player:get_param(xfxtdjparam)+1].."");
end
RegisterServerHook(19,"xfEnterGame")
Npc2107Funid =
{
[0] = ontalk2107;
[1] = ontalk2107_1;
[2] = ontalk2107_2;
[3] = ontalk2107_3;
[4] = ontalk2107_4;
[200] = ontalk2107_200;
[100] = ontalk2107_100;
[101] = ontalk2107_101;
}
function CreatureNpcFun(npc,event,player,funid)
 if Npc2107Funid[funid] ~= nil then
  Npc2107Funid[funid](npc,event,player);
 end
end
RegisterUnitEvent(2107,20,"ontalk2107")
RegisterUnitEvent(2107,29,"CreatureNpcFun")