战神引擎-恢复五级技能NPC代码
目前战神引擎只支持三级技能,就算学习了五级技能,离线下线后会恢复三级技能此脚本配合使用盘古插件,可以恢复5级技能,点击一下就可以恢复,具体德你们拿去试试,图片没有展示了,服也没开了 有不明白的直接留言
注意:必须配合盘古插件
program Mir2; {$I fh.pas} var zhanshijj,fashijj,daoshijj:integer; // sName :string;
procedure zhanshi(); var sName1,sName2,sName3,sName4,sName5,sName6,sName7 :string; begin sName1 := '基本剑术'; sName2 := '攻杀剑术'; sName3 := '刺杀剑术'; sName4 := '半月弯刀'; sName5 := '野蛮冲撞'; sName6 := '烈火剑法'; sName7 := '逐日剑法';
begin if This_Player.GetV(184,10) = 4 then begin This_Player.StrParam := '2|白日门剑术';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门剑术',True,4); end else if This_Player.GetV(184,10) = 5 then begin This_Player.StrParam := '2|白日门剑术';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门剑术',True,5); end; end begin if This_Player.GetV(184,11) = 4 then begin This_Player.StrParam := '2|白日门刺杀';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门刺杀',True,4); end else if This_Player.GetV(184,11) = 5 then begin This_Player.StrParam := '2|白日门刺杀';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门刺杀',True,5); end; end begin if This_Player.GetV(184,12) = 4 then begin This_Player.StrParam := '2|白日门半月';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门半月',True,4); end else if This_Player.GetV(184,12) = 5 then begin This_Player.StrParam := '2|白日门半月';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门半月',True,5); end; end begin if This_Player.GetV(184,13) = 4 then begin This_Player.StrParam := '2|白日门烈火';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门烈火',True,4); end else if This_Player.GetV(184,13) = 5 then begin This_Player.StrParam := '2|白日门烈火';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门烈火',True,5); end; end
begin if This_Player.GetV(184,14) = 4 then begin This_Player.StrParam := '2|白日门逐日';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门逐日',True,4); end else if This_Player.GetV(184,14) = 5 then begin This_Player.StrParam := '2|白日门逐日';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门逐日',True,5); end; end begin if This_Player.GetV(184,15) = 4 then begin This_Player.StrParam := '2|白日门开天斩';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门开天斩',True,4); end else if This_Player.GetV(184,15) = 5 then begin This_Player.StrParam := '2|白日门开天斩';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门开天斩',True,5); end; end { begin if This_Player.GetV(183,10) = 4 then begin This_Player.ChgSkillLv(sName1, 4, 0); end else if This_Player.GetV(183,10) = 5 then begin This_Player.ChgSkillLv(sName1, 5, 0); end else
if This_Player.GetV(183,10) = 6 then begin This_Player.ChgSkillLv(sName1, 6, 0); end else
if This_Player.GetV(183,10) = 7 then begin This_Player.ChgSkillLv(sName1, 7, 0); end else
if This_Player.GetV(183,10) = 8 then begin This_Player.ChgSkillLv(sName1, 8, 0); end else
if This_Player.GetV(183,10) = 9 then begin This_Player.ChgSkillLv(sName1, 9, 0); end; end }
begin if This_Player.GetV(183,11) = 4 then begin This_Player.ChgSkillLv(sName2, 4, 0); end else if This_Player.GetV(183,11) = 5 then begin This_Player.ChgSkillLv(sName2, 5, 0); end; end
begin if This_Player.GetV(183,12) = 4 then begin This_Player.ChgSkillLv(sName3, 4, 0); end else if This_Player.GetV(183,12) = 5 then begin This_Player.ChgSkillLv(sName3, 5, 0); end; end
begin if This_Player.GetV(183,13) = 4 then begin This_Player.ChgSkillLv(sName4, 4, 0); end else if This_Player.GetV(183,13) = 5 then begin This_Player.ChgSkillLv(sName4, 5, 0); end; end begin if This_Player.GetV(183,14) = 4 then begin This_Player.ChgSkillLv(sName5, 4, 0); end else if This_Player.GetV(183,14) = 5 then begin This_Player.ChgSkillLv(sName5, 5, 0); end; end begin if This_Player.GetV(183,15) = 4 then begin This_Player.ChgSkillLv(sName6, 4, 0); end else if This_Player.GetV(183,15) = 5 then begin This_Player.ChgSkillLv(sName6, 5, 0); end; end begin if This_Player.GetV(183,16) = 4 then begin This_Player.ChgSkillLv(sName7, 4, 0); end else if This_Player.GetV(183,16) = 5 then begin This_Player.ChgSkillLv(sName7, 5, 0); end end;
if This_Player.HeroLevel > -1 then begin This_Npc.NpcDialog(This_Player, +'<尊敬的战士/c=red> ' + This_Player.Name + '|\'+ +'<我已经帮你看过技能了,只要你有书页,/fcolor=250>|\'+ +'<研究院就能帮你提升技能等级,/fcolor=250>|\'+ +'<最高可五级,合击四级/fcolor=249>|\'+ +'|{cmd}<前往研究院/@0001>^^<了解护体神盾/@0002>\' ); end else begin This_NPC.NpcDialog(This_Player, '请招唤英雄,我才能为你服务!'); end; end; procedure _0001; begin if This_Player.YBNum >= 0 then begin This_Player.RandomFlyTo('0112'); end else begin This_NPC.NpcDialog(This_Player, '对不起,你元宝不足。'); end; end; procedure fashi(); var sName1,sName2,sName3,sName4,sName5,sName6,sName7 :string; begin sName1 := '雷电术'; sName2 := '火墙'; sName3 := '魔法盾'; sName4 := '地狱雷光'; sName5 := '冰咆哮'; sName6 := '灭天火'; sName7 := '流星火雨';
begin if This_Player.GetV(184,10) = 4 then begin This_Player.StrParam := '2|白日门雷电术';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门雷电术',True,4); end else if This_Player.GetV(184,10) = 5 then begin This_Player.StrParam := '2|白日门雷电术';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门雷电术',True,5); end; end begin if This_Player.GetV(184,11) = 4 then begin This_Player.StrParam := '2|白日门魔法盾';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门魔法盾',True,4); end else if This_Player.GetV(184,11) = 5 then begin This_Player.StrParam := '2|白日门魔法盾';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门魔法盾',True,5); end; end begin if This_Player.GetV(184,12) = 4 then begin This_Player.StrParam := '2|白日门火墙';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门火墙',True,4); end else if This_Player.GetV(184,12) = 5 then begin This_Player.StrParam := '2|白日门火墙';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门火墙',True,5); end; end begin if This_Player.GetV(184,13) = 4 then begin This_Player.StrParam := '2|白日门灭天火';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门灭天火',True,4); end else if This_Player.GetV(184,13) = 5 then begin This_Player.StrParam := '2|白日门灭天火';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门灭天火',True,5); end; end
begin if This_Player.GetV(184,14) = 4 then begin This_Player.StrParam := '2|白日门火雨';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门火雨',True,4); end else if This_Player.GetV(184,14) = 5 then begin This_Player.StrParam := '2|白日门火雨';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门火雨',True,5); end; end begin if This_Player.GetV(184,15) = 4 then begin This_Player.StrParam := '2|白日门分身';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门分身',True,4); end else if This_Player.GetV(184,15) = 5 then begin This_Player.StrParam := '2|白日门分身';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门分身',True,5); end; end
begin if This_Player.GetV(183,10) = 4 then begin This_Player.ChgSkillLv(sName1, 4, 0); end else if This_Player.GetV(183,10) = 5 then begin This_Player.ChgSkillLv(sName1, 5, 0); end; end
begin if This_Player.GetV(183,11) = 4 then begin This_Player.ChgSkillLv(sName2, 4, 0); end else if This_Player.GetV(183,11) = 5 then begin This_Player.ChgSkillLv(sName2, 5, 0); end; end
begin if This_Player.GetV(183,12) = 4 then begin This_Player.ChgSkillLv(sName3, 4, 0); end else if This_Player.GetV(183,12) = 5 then begin This_Player.ChgSkillLv(sName3, 5, 0); end; end
begin if This_Player.GetV(183,13) = 4 then begin This_Player.ChgSkillLv(sName4, 4, 0); end else if This_Player.GetV(183,13) = 5 then begin This_Player.ChgSkillLv(sName4, 5, 0); end; end begin if This_Player.GetV(183,14) = 4 then begin This_Player.ChgSkillLv(sName5, 4, 0); end else if This_Player.GetV(183,14) = 5 then begin This_Player.ChgSkillLv(sName5, 5, 0); end; end begin if This_Player.GetV(183,15) = 4 then begin This_Player.ChgSkillLv(sName6, 4, 0); end else if This_Player.GetV(183,15) = 5 then begin This_Player.ChgSkillLv(sName6, 5, 0); end; end begin if This_Player.GetV(183,16) = 4 then begin This_Player.ChgSkillLv(sName7, 4, 0); end else if This_Player.GetV(183,16) = 5 then begin This_Player.ChgSkillLv(sName7, 5, 0); end end; if This_Player.HeroLevel > -1 then begin This_Npc.NpcDialog(This_Player, +'<尊敬的法师/c=red> ' + This_Player.Name + '|\'+ +'<我已经帮你看过技能了,只要你有书页,/fcolor=250>|\'+ +'<研究院就能帮你提升技能等级,/fcolor=250>|\'+ +'<最高可五级,合击四级/fcolor=249>|\'+ +'|{cmd}<前往研究院/@0001>^^<了解护体神盾/@0002>\' ); end else begin This_NPC.NpcDialog(This_Player, '请招唤英雄,我才能为你服务!'); end; end; procedure daoshi(); var sName1,sName2,sName3,sName4,sName5,sName6,sName7 :string; begin sName1 := '灵魂火符'; sName2 := '施毒术'; sName3 := '群体治愈术'; sName4 := '召唤神兽'; sName5 := '气功波'; sName6 := '无极真气'; sName7 := '噬血术';
begin if This_Player.GetV(184,10) = 4 then begin This_Player.StrParam := '2|白日门施毒术';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门施毒术',True,4); end else if This_Player.GetV(184,10) = 5 then begin This_Player.StrParam := '2|白日门施毒术';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门施毒术',True,5); end; end begin if This_Player.GetV(184,11) = 4 then begin This_Player.StrParam := '2|白日门火符';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门火符',True,4); end else if This_Player.GetV(184,11) = 5 then begin This_Player.StrParam := '2|白日门火符';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门火符',True,5); end; end begin if This_Player.GetV(184,12) = 4 then begin This_Player.StrParam := '2|白日门群疗';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门群疗',True,4); end else if This_Player.GetV(184,12) = 5 then begin This_Player.StrParam := '2|白日门群疗';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门群疗',True,5); end; end begin if This_Player.GetV(184,13) = 4 then begin This_Player.StrParam := '2|白日门真气';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门真气',True,4); end else if This_Player.GetV(184,13) = 5 then begin This_Player.StrParam := '2|白日门真气';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门真气',True,5); end; end
begin if This_Player.GetV(184,14) = 4 then begin This_Player.StrParam := '2|白日门噬血术';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门噬血术',True,4); end else if This_Player.GetV(184,14) = 5 then begin This_Player.StrParam := '2|白日门噬血术';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门噬血术',True,5); end; end begin if This_Player.GetV(184,15) = 4 then begin This_Player.StrParam := '2|白日门月灵';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门月灵',True,4); end else
if This_Player.GetV(184,15) = 5 then begin This_Player.StrParam := '2|白日门月灵';// "2|"后面填写要删除的英雄技能 This_Player.LearnSkillByScript('白日门月灵',True,5); end; end
begin if This_Player.GetV(183,10) = 4 then begin This_Player.ChgSkillLv(sName1, 4, 0); end else if This_Player.GetV(183,10) = 5 then begin This_Player.ChgSkillLv(sName1, 5, 0); end; end
begin if This_Player.GetV(183,11) = 4 then begin This_Player.ChgSkillLv(sName2, 4, 0); end else if This_Player.GetV(183,11) = 5 then begin This_Player.ChgSkillLv(sName2, 5, 0); end; end
begin if This_Player.GetV(183,12) = 4 then begin This_Player.ChgSkillLv(sName3, 4, 0); end else if This_Player.GetV(183,12) = 5 then begin This_Player.ChgSkillLv(sName3, 5, 0); end; end
begin if This_Player.GetV(183,13) = 4 then begin This_Player.ChgSkillLv(sName4, 4, 0); end else if This_Player.GetV(183,13) = 5 then begin This_Player.ChgSkillLv(sName4, 5, 0); end; end begin if This_Player.GetV(183,14) = 4 then begin This_Player.ChgSkillLv(sName5, 4, 0); end else if This_Player.GetV(183,14) = 5 then begin This_Player.ChgSkillLv(sName5, 5, 0); end; end begin if This_Player.GetV(183,15) = 4 then begin This_Player.ChgSkillLv(sName6, 4, 0); end else if This_Player.GetV(183,15) = 5 then begin This_Player.ChgSkillLv(sName6, 5, 0); end; end begin if This_Player.GetV(183,16) = 4 then begin This_Player.ChgSkillLv(sName7, 4, 0); end else if This_Player.GetV(183,16) = 5 then begin This_Player.ChgSkillLv(sName7, 5, 0); end end; if This_Player.HeroLevel > -1 then begin This_Npc.NpcDialog(This_Player, +'<尊敬的道士/c=red> ' + This_Player.Name + '|\'+ +'<我已经帮你看过技能了,只要你有书页,/fcolor=250>|\'+ +'<研究院就能帮你提升技能等级,/fcolor=250>|\'+ +'<最高可五级,合击四级/fcolor=249>|\'+ +'|{cmd}<前往研究院/@0001>^^<了解护体神盾/@0002>\' ); end else begin This_NPC.NpcDialog(This_Player, '请招唤英雄,我才能为你服务!'); end; end;
procedure _0002; begin This_NPC.NpcDialog(This_Player, +'|<护体神盾:><合成需要3888书页与10万元宝/FCOLOR=70>\' +'|<技能效果:><召唤英雄即可激活本技能,有一定概率抵消伤害,领取后可开启护体特效!/FCOLOR=250>\' +'|<注:本技能转职后不需要重新学习/FCOLOR=249>\' +'|{cmd}<领取护体神盾/@huti1> <开启护体效果/@huti2>\' ); end; Procedure _huti2; begin if This_Player.GetV(108,3) = 1 then begin This_Player.SetV(69,9,48); givefenghao; This_Player.PlayerNotice('开启了护体效果!',2); end else This_NPC.NpcDialog(This_Player,'未领取护体神盾!'); end;
procedure _huti1; begin if This_Player.GetBagItemCount('书页') >= 3888 then
begin if This_Player.YBnum >= 100000 then
begin if This_Player.HeroLevel > -1 then begin This_Player.Take('书页', 3888); This_Player.ScriptRequestSubYBNum(100000); This_Player.GiveBindItem('护体神盾',1); This_Player.SetV(108,3,1); ServerSay('恭喜' + This_Player.Name + '在技能研究院获得了护体神盾!', 70); This_NPC.NpcDialog(This_Player, '|护体神盾成功!\'); end else begin This_Player.PlayerNotice('请先招出英雄!',0); end; end else This_NPC.NpcDialog(This_Player, '|你没有10万元宝!\'); end else This_NPC.NpcDialog(This_Player, '|需要3888张书页!\'); end;
procedure domain; begin case This_Player.Job of 0: zhanshi(); 1: fashi(); 2: daoshi(); end; end;
begin if GetG(191,1) < 0 then SetG(191,1,9); domain; end. |