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

烈焰私服服务端增加转生功能脚本(需再次完善)

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

function ontalk1230(npc,event,player)
 player:echo(0,npc:GetLowGUID(),[[
 
 <font color='#FF0000'>转生说明:</font>
#&talk_line#&
 转生一共20级,越后面的级别翻倍增加非常强大
 的属性加成,每个级别都有专属的称号。
 转生需要转生修为,可以在转生岛中获得。
 BOSS还有几率爆圣装、战魂珠大、小怪有几率爆黄金首饰。
 <font color='#FFFF00'>PS:进入转生岛需要修仙9阶以上,或者100万元宝</font>
#&talk_line#&
    <u><a href='event:M2402,1'>开始转生</a></u>  <u><a href='event:M2402,2'>送我去转生岛</a></u> 
 
]]);
end

function ontalk1230_1(npc,event,player)
 local minattack = {100,200,400,600,800,1000,1200,1300,1900,2200,2600,3000,3400,3800,
 4600,5600,7100,9100,12100,20100};
 local maxattack = {200,500,800,1100,1400,1700,2200,2500,3100,3400,3800,4200,4600,5000,
 5800,6800,8300,10300,13300,21300};
 local lifeupper = {
      {2,4,6,8,10,13,15,19,25,28,35,40,45,50,55,65,75,90,110,150},
      {6,8,10,14,16,20,23,30,38,45,50,60,65,70,90,100,110,120,150,220},
      {4,6,8,10,13,17,19,24,30,35,45,50,55,60,70,80,90,105,130,170}
       };
 local extrahurt = {200,500,800,1100,1400,1700,2000,2300,2900,3200,3600,4000,4400,4800,5300,
 6000,7500,9500,12500,20000};
 local extrarate = {0.2,0.4,0.6,0.8,1,1.2,1.4,1.6,2,2.3,2.6,2.9,3.2,3.5,3.8,4.1,4.4,5,5.5,6,};
 local addinter = {
      {1000,4000,7000,10000,13000,18000,21000,24000,28000,33000,37000,41000,
      45000,49000,55000,60000,77000,90000,120000,200000},
      {350,2000,2500,4000,5000,7000,8000,11000,15000,19000,22000,25000,28000,
      31000,34000,38000,43000,50000,70000,120000},
      {600,2500,4000,6000,7000,10000,11000,14000,18000,22000,25000,28000,31000,
      34000,37000,41000,48000,60000,90000,150000}
      };
 local recoverinter = {100,200,300,400,500,600,700,800,1000,1200,1400,1600,1800,2000,2200,2500,
 2900,3400,4000,6000};
 local needvalues = {10000,30000,75000,150000,262500,393750,551250,716630,895780,1074940,1268430,
 1471370,1692080,1928970,2189380,2474000,2790680,3142300,3535090,4573440};
 local hanzi = {"一","二","三","四","五","六","七","八","九","十","十一","十二","十三","十四",
 "十五","十六","十七","十八","十九","二十"};
 local job = player:get_job();
 local chinajob = {"物理","魔法","道术"};
 local zsdj = player:get_param(230);
 local zsdjn = zsdj + 1;
 if zsdj < 20 then
  player:echo(0,npc:GetLowGUID(),[[
#&talk_line#&
目前转生等级:<font color='#FF0000'>]]..zsdj..[[级</font>

<font color="#FFFF00">转生需要修为/当前修为:</font><font color="]]..getcolor(player,needvalues[zsdjn])..[[">]]..needvalues[zsdjn]..[[/]]..player:get_param(231)..[[</font>
#&talk_line#& 
 ]]..hanzi[zsdjn] ..[[级转生称号:<font color="#ff0000">★</font><font color="#e36c09">转</font><font color="#f3b023">生</font><font color="#f2ca28">等</font><font color="#ffff00">级</font><font color="#a0f82e">]]..hanzi[zsdjn] ..[[</font><font color="#2be916">级</font><font color="#00b0f0">★</font>
#&talk_line#&
 ]]..hanzi[zsdjn] ..[[级转生属性:
  <font color="#C4E1FF">攻击增加:]]..minattack[zsdjn]..[[-]]..maxattack[zsdjn]..[[</font>
  <font color="#C4E1FF">血量增加:]]..lifeupper[job][zsdjn]..[[%</font>
  <font color="#C4E1FF">暴击力增加:]]..extrahurt[zsdjn]..[[</font>
  <font color="#C4E1FF">暴击率增加:]]..extrarate[zsdjn]..[[%</font>
  <font color="#C4E1FF">内力值增加:]]..addinter[job][zsdjn]..[[</font>
  <font color="#C4E1FF">内力恢复增加:]]..recoverinter[zsdjn]..[[</font>
#&talk_line#&
    <u><a href='event:M2402,11'>确认转生</a></u>  <u><a href='event:M2402,10000'>返回上页</a></u>
  ]]);
 else
  player:echo(0,npc:GetLowGUID(),[[
  #&talk_line#&
  <font color='#FF0000'>你转生已经到达顶级!</font>
  #&talk_line#&

  ]]);
 end
end

function ontalk1230_11(npc,event,player)
 local needvalues = {10000,30000,75000,150000,262500,393750,551250,716630,895780,
 1074940,1268430,1471370,1692080,1928970,2189380,2474000,2790680,3142300,3535090,4573440};
 local hanzi = {"一","二","三","四","五","六","七","八","九","十","十一","十二",
 "十三","十四","十五","十六","十七","十八","十九","二十"};
 local zsdj = player:get_param(230)+1;
 local job = player:get_job();
 local buff = {
  {501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520},
  {521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540},
  {541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560},
 };
 if player:get_param(231) >= needvalues[zsdj] then
  player:set_status(buff[job][zsdj],0,100,5);
player:set_name_pre(10,"<font color="#e36c09">转</font><font color="#f3b023">生</font><font color="#a0f82e">"..hanzi[zsdj].."</font><font color="#2be916">级</font>");
  player:set_param(230,zsdj);
  player:set_param(231,player:get_param(231) - needvalues[zsdj]);
 else
  player:alert(10,0,0,""..zsdj.."级转生需要转生修为:"..needvalues[zsdj].."!");
 end
 ontalk1230_1(npc,0,player);
end

function ontalk1230_2(npc,event,player)
 if player:get_param(348) < 9 then
  if player:get_vcoin() >= 1000000 then
   player:sub_vcoin(1000000);
   player:randomthismap(430);
   g_alert("玩家[<font color='#FF0000'>"..player:GetName().."</font>]通过转生使者进入转生岛!",2,1000,0,1);
  else
   player:alert(10,0,0,"你修仙不足9阶,需要100万元宝才能进入!");
   ontalk1230(npc,0,player,0);
  end
 else
  player:randomthismap(430);
  g_alert("玩家[<font color='#FF0000'>"..player:GetName().."</font>]通过转生使者进入转生岛!",2,1000,0,1);
 end
end

function getcolor(player,needVL)
 if player:get_param(231) >= needVL then
  return "#00FF00";
 else
  return "#FF0000";
 end
end

function ontalk1230_10000(npc,event,player)
 ontalk1230(npc,0,player,0);
end

Npc1230Funid =
{
[1] = ontalk1230_1;
[2] = ontalk1230_2;
[11] = ontalk1230_11;
[21] = ontalk1230_21;
[22] = ontalk1230_22;
[23] = ontalk1230_23;
[221] = ontalk1230_221;
[2201] = ontalk1230_2201;
[2202] = ontalk1230_2202;
[2203] = ontalk1230_2203;
[2204] = ontalk1230_2204;
[2205] = ontalk1230_2205;
[2206] = ontalk1230_2206;
[2207] = ontalk1230_2207;
[2208] = ontalk1230_2208;
[2209] = ontalk1230_2209;
[10000] = ontalk1230_10000;
}

function CreatureNpcFun(npc,event,player,funid)
 if Npc1230Funid[funid] ~= nil then
  Npc1230Funid[funid](npc,event,player);
 end
end

RegisterUnitEvent(1230,20,"ontalk1230")
RegisterUnitEvent(1230,29,"CreatureNpcFun")

烈焰私服,页游发布站原创发布,严禁转载