sm
服务器租用 996 无法下载点击此处反馈
/
查看: 1517|回复: 1

战神引擎脚本 声望换勋章脚本 [战神引擎]

[复制链接]

826

主题

37

回帖

23万

积分

霸王教主

积分
237197
发表于 2023-7-27 00:16:09 | 显示全部楼层 |阅读模式
战神引擎脚本 声望换勋章脚本

直接复制代码,创建一个新的npc.pas 粘贴进去 索引即可
  1. program Mir2;

  2. {$I common.pas}

  3. procedure _huan5;
  4. begin
  5.   This_Npc.NpcDialog(This_Player,
  6.     '五级勋章的领取将只能指定进行兑换,而不能随机进行兑换\' +
  7.     '指定兑换五级勋将需要付出声望值640点\ \' +
  8.     '|{cmd}<领取指定五级勋章/@zhiding5>\' +
  9.     '|{cmd}<返回/@main>');
  10. end;

  11. procedure _zhiding5;
  12. begin
  13.   This_Npc.NpcDialog(This_Player,
  14.     '请选择需要领取的荣誉勋章,五级勋章是指定领取的\' +
  15.     '指定兑换需要付出640点声望值\' +
  16.     '|{cmd}<指定兑换荣誉勋章51号/@winmedal~51>\' +
  17.     '|{cmd}<指定兑换荣誉勋章52号/@winmedal~52>\' +
  18.     '|{cmd}<指定兑换荣誉勋章53号/@winmedal~53>\' +
  19.     '|{cmd}<指定兑换荣誉勋章54号/@winmedal~54>\' +
  20.     '|{cmd}<指定兑换荣誉勋章55号/@winmedal~55>\');
  21. end;

  22. procedure _winmedal(str: string);
  23. var
  24.   medal_kind,temp:integer;
  25. begin  
  26.   //This_Npc.SpeGetMedalBySw(This_Player, str);
  27.   medal_kind := StrToIntDef(str,-1);
  28.   if (medal_kind < 51) or (medal_kind > 55) then
  29.   begin
  30.     This_Npc.NpcDialog(This_Player,
  31.     '领取的勋章种类非法!'
  32.     );
  33.     exit;
  34.   end;
  35.   
  36.   if This_Player.MyShengwan >= 640 then
  37.   begin
  38.     if This_Player.FreeBagNum < 1 then
  39.     begin
  40.       This_Npc.NpcDialog(This_Player,
  41.       '你的包裹满了,还是先整理下再来找我吧!'
  42.       );
  43.       exit;
  44.     end;
  45.     This_Player.MyShengwan := This_Player.MyShengwan - 640;
  46.     This_Player.Give('荣誉勋章' + str + '号',1);
  47.     This_Npc.NpcDialog(This_Player,
  48.     '恭喜你兑换[荣誉勋章'+ str + '号]成功!'
  49.     );
  50.   end
  51.   else
  52.     This_Npc.NpcDialog(This_Player,
  53.     '你的声望值不符合条件!'
  54.     );
  55. end;

  56. procedure _huan;
  57. begin
  58.   This_Npc.NpcDialog(This_Player,
  59.     '想要领取荣誉勋章的话你必须要有足够的声望值,\' +
  60.     '指定兑换和随机兑换都可以使用声望进行兑换\' +
  61.     '|{cmd}<领取随机勋章/@feizhiding>\' +
  62.     '|{cmd}<领取指定勋章/@zhiding>\ ' +
  63.     '|{cmd}<返回/@main>');
  64. end;

  65. procedure _feizhiding;
  66. begin
  67.   This_Npc.NpcDialog(This_Player,
  68.     '请选择需要领取的荣誉勋章,这里是随机领取的。\\' +
  69.     '|{cmd}<随机领取11至15号荣誉勋章/@lingxunz~1>\' +
  70.     '|{cmd}<随机领取21至25号荣誉勋章/@lingxunz~2>\' +
  71.     '|{cmd}<随机领取31至35号荣誉勋章/@lingxunz~3>\' +
  72.     '|{cmd}<随机领取41至45号荣誉勋章/@lingxunz~4>\' +
  73.     '|{cmd}<返回/@main>');
  74. end;

  75. procedure _lingxunz(str: string);
  76. var
  77.   medal_kind,temp:integer;
  78. begin
  79.   //This_Npc.RndGetMedal(This_Player, str);
  80.   medal_kind := StrToIntDef(str,-1);
  81.   if (medal_kind < 0) or (medal_kind > 4) then
  82.   begin
  83.     This_Npc.NpcDialog(This_Player,
  84.     '领取的勋章种类非法!'
  85.     );
  86.     exit;
  87.   end;
  88.   
  89.   if This_Player.MyShengwan >= 20*medal_kind then
  90.   begin
  91.     if This_Player.FreeBagNum < 1 then
  92.     begin
  93.       This_Npc.NpcDialog(This_Player,
  94.       '你的包裹满了,还是先整理下再来找我吧!'
  95.       );
  96.       exit;
  97.     end;
  98.    
  99.     This_Player.MyShengwan := This_Player.MyShengwan - 20*medal_kind;
  100.     temp := random(5)+1;
  101.     This_Player.Give('荣誉勋章'+str+inttostr(temp) + '号',1);
  102.     This_Npc.NpcDialog(This_Player,
  103.     '恭喜你兑换[荣誉勋章'+ str + inttostr(temp) + '号]成功!'
  104.     );
  105.   end
  106.   else
  107.     This_Npc.NpcDialog(This_Player,
  108.     '你的声望值不符合条件!'
  109.     );  
  110. end;



  111. procedure _zhiding;
  112. begin
  113.   This_Npc.NpcDialog(This_Player,
  114.     '这里你可以领取指定的荣誉勋章,\' +
  115.     '当然,你要付出更多的声望。\ \' +
  116.     '|{cmd}<荣誉勋章11号/@zhidxunz~11>   ^<荣誉勋章12号/@zhidxunz~12>   |{cmd}<荣誉勋章13号/@zhidxunz~13>   ^<荣誉勋章14号/@zhidxunz~14>\'+
  117.     '|{cmd}<荣誉勋章15号/@zhidxunz~15>   \'+
  118.     '|{cmd}<荣誉勋章21号/@zhidxunz~21>   ^<荣誉勋章22号/@zhidxunz~22>   |{cmd}<荣誉勋章23号/@zhidxunz~23>   ^<荣誉勋章24号/@zhidxunz~24>\'+
  119.     '|{cmd}<荣誉勋章25号/@zhidxunz~25>\ \' +
  120.     '|{cmd}<下一页/@zhiding_1>           ^<返回/@main>');
  121. end;

  122. procedure _zhiding_1;
  123. begin
  124.   This_Npc.NpcDialog(This_Player,
  125.     '这里你可以领取指定的荣誉勋章,\' +
  126.     '当然,你要付出更多的声望。\ \' +
  127.     '|{cmd}<荣誉勋章31号/@zhidxunz~31>   ^<荣誉勋章32号/@zhidxunz~32>   |{cmd}<荣誉勋章33号/@zhidxunz~33>   ^<荣誉勋章34号/@zhidxunz~34>\' +
  128.     '|{cmd}<荣誉勋章35号/@zhidxunz~35>  \' +
  129.     '|{cmd}<荣誉勋章41号/@zhidxunz~41>   ^<荣誉勋章42号/@zhidxunz~42>   |{cmd}<荣誉勋章43号/@zhidxunz~43>   ^<荣誉勋章44号/@zhidxunz~44>\' +
  130.     '|{cmd}<荣誉勋章45号/@zhidxunz~45>   \ \' +
  131.     '|{cmd}<上一页/@zhiding>           ^<返回/@main>');
  132. end;

  133. procedure _zhidxunz(str: string);
  134. var
  135.   medal_kind,temp1,temp2:integer;
  136. begin
  137.   //This_Npc.SpeGetMedalByRy(This_Player, str);
  138.   medal_kind := StrToIntDef(str,-1);
  139.   
  140.   temp1 := medal_kind div 10;
  141.   temp2 := medal_kind mod 10;
  142.   
  143.   if (temp1 < 1) or (temp1 > 4) then
  144.   begin
  145.     This_Npc.NpcDialog(This_Player,
  146.     '领取的勋章种类非法!'
  147.     );
  148.     exit;
  149.   end;
  150.   
  151.   if (temp2 < 1) or (temp2 > 5) then
  152.   begin
  153.     This_Npc.NpcDialog(This_Player,
  154.     '领取的勋章种类非法!'
  155.     );
  156.     exit;
  157.   end;
  158.   
  159.   if This_Player.MyShengwan >= 80*temp1 then
  160.   begin
  161.     if This_Player.FreeBagNum < 1 then
  162.     begin
  163.       This_Npc.NpcDialog(This_Player,
  164.       '你的包裹满了,还是先整理下再来找我吧!'
  165.       );
  166.       exit;
  167.     end;
  168.    
  169.     This_Player.MyShengwan := This_Player.MyShengwan - 80*temp1;
  170.     This_Player.Give('荣誉勋章' + str + '号',1);
  171.     This_Npc.NpcDialog(This_Player,
  172.     '恭喜你兑换[荣誉勋章' + str + '号]成功!'
  173.     );  
  174.   end
  175.   else
  176.     This_Npc.NpcDialog(This_Player,
  177.     '你的声望值不够!'
  178.     );
  179. end;

  180. procedure _sj;
  181. begin
  182.   This_Npc.NpcDialog(This_Player,
  183.     '勋章可成功升级的次数与勋章的等级一致,即1级勋章只能成功升级1次\' +
  184.     '首先请将需要升级的荣誉勋章佩戴在身上而不是放在你的包裹内;\' +
  185.     '其次你需要在包裹内放好升级荣誉勋章的各种原料;\' +
  186.     '每次升级荣誉勋章都会收走你包裹内的所有原料,请保管好重要物品。\' +
  187.     '勋章升级分为两种,一种是常规升级,一种是“惊彩”升级。\\' +
  188.     '|{cmd}<查看升级配方/@cksj>\' +
  189.     '|{cmd}<选择勋章常规升级/@cgsj>\' +
  190.     '|{cmd}<选择勋章惊彩升级/@jcsj>\' +
  191.     '|{cmd}<返回/@main>');
  192. end;

  193. procedure _cksj;
  194. begin
  195.   This_Npc.NpcDialog(This_Player,
  196.     '常规升级中,1级和2级勋章的配方中需要加入和勋章属性对应的祖玛,\' +
  197.     '首饰3级和4级勋章的配方中需要加入圣战、法神、天尊、暴风四职业\' +
  198.     '对应套装首饰,防御和魔法防御类勋章的升级配方中可以放入对应类\' +
  199.     '型的随意属性首饰,每次升级必须具备5种物品:首饰,祈福项链,\' +
  200.     '勋章之心,绿宝石矿,紫水晶矿5种物品的数量需要你来配,这个我帮不\' +
  201.     '了你,总之越接近配方成功率越高勋章常规升级失败了勋章不会破碎,\' +
  202.     '但失败一次勋章的总持久将减少5点惊彩升级中,你可以知道明确\' +
  203.     '的配方,但是只有50%的成功机会,失败的话勋章就会破碎,如果\' +
  204.     '未符合配方要求的话也肯定会破碎的。                 ^<返回上页/@sj>');
  205. end;

  206. procedure _cgsj;
  207. begin
  208.   This_Npc.NpcDialog(This_Player,
  209.     '第一次升级需要的首饰为:戒指;\' +
  210.     '成功一次以后第二次需要的首饰是:手镯,\' +
  211.     '第三次需要的首饰是:项链;第四次则需要的是:头盔。\' +
  212.     '勋章常规升级失败了也不会破碎,但失败一次勋章的总持久将减少5点。\' +
  213.     '当勋章的总持久低于或者等于5点时将不能再进行勋章的常规升级。\' +
  214.     '每次常规升级都需要消耗3点的声望值\\' +
  215.     '|{cmd}<开始常规升级/@kscgsj>\' +
  216.     '|{cmd}<返回/@sj>');
  217. end;

  218. procedure _uplvmedal;
  219. begin
  220.   This_Npc.UpMedalAbil(This_Player);
  221. end;

  222. procedure _kscgsj;
  223. begin
  224.   This_Npc.NpcDialog(This_Player,
  225.     '不管你的包裹内是否有足够的配方材料,\' +
  226.     '一旦点击“确认升级”即开始升级荣誉勋章,\' +
  227.     '即使你的包裹内什么也没有,或者有大量的首饰,\' +
  228.     '都会被视为升级原料收走,因此在升级前你要仔细考虑,\' +
  229.     '在包裹内放入你认为最合适的配方原料。\' +
  230.     '能不能升级成功就看你的领悟力了!\\' +
  231.     '|{cmd}<确认升级/@uplvmedal>\' +
  232.     '|{cmd}<返回/@sj>');
  233. end;

  234. procedure _jcsj;
  235. begin
  236.   This_Npc.NpcDialog(This_Player,
  237.     '想要进行荣誉勋章的“惊彩”升级?\' +
  238.     '这个……\' +
  239.     '你还是等等再来吧!\\' +
  240.     '|{cmd}<返回/@sj>');
  241. end;

  242. procedure _sj5;
  243. begin
  244.   This_Npc.NpcDialog(This_Player,
  245.     '五级荣誉勋章可不简单,要升级也没那么容易。\' +
  246.     '一旦升级后,勋章的魔力就会被释放,威力大的无法形容!\' +
  247.     '但是传说这个勋章同时也隐藏着惊人的秘密。\' +
  248.     '你知道这个秘密了吗?\' +
  249.     '|{cmd}<我知道了/@zhidao>\' +
  250.     '|{cmd}<我不知道/@buzhidao>');
  251. end;

  252. procedure _zhidao;
  253. begin
  254.   This_Npc.NpcDialog(This_Player,
  255.     '那就请你告诉我吧...\ \' +
  256.     '|{cmd}<返回/@main>');
  257. end;

  258. procedure _buzhidao;
  259. begin
  260.   This_Npc.NpcDialog(This_Player,
  261.     '既然不知道,那还有什么好说的?\' +
  262.     '你还是再去打听打听再来吧。\ \' +
  263.     '|{cmd}<返回/@main>');
  264. end;


  265. procedure _checkswry;
  266. begin
  267.   This_Npc.NpcDialog(This_Player,
  268.     '你目前的声望是:' + inttostr(This_Player.MyShengwan));
  269. end;



  270. begin
  271.   This_Npc.NpcDialog(This_Player,
  272.     '这里可以领取荣誉勋章,只要有足够的声望,\' +
  273.     '等级越高的勋章需要越多的声望。各级勋章所需条件如下:\' +
  274.     '一级勋章需要:20点,兑换指定编号的一级勋章需要:80点\' +
  275.     '二级勋章需要:40点,兑换指定编号的二级勋章需要:160点\' +
  276.     '三级勋章需要:60点,兑换指定编号的三级勋章需要:240点\' +
  277.     '四级勋章需要:80点,兑换指定编号的四级勋章需要:320点\' +
  278.     '|{cmd}<兑换荣誉勋章/@huan>                   ^<兑换五级荣誉勋章/@huan5>\' +
  279.     //'|{cmd}<升级荣誉勋章/@sj>                   ^<升级五级荣誉勋章/@sj5>\' +
  280.     '|{cmd}<查询声望点数/@checkswry>');
  281. end.
复制代码








上一篇:战神引擎脚本通天塔脚本修复禁止随机
下一篇:传奇3玩家属性查询脚本
回复

使用道具 举报

1

主题

252

回帖

1070

积分

旋风流星刀

积分
1070
QQ
发表于 2023-12-20 08:22:00 | 显示全部楼层
积分任务
回复

使用道具 举报

© 2001-2024 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2024-11-21 20:33 , Processed in 0.274015 second(s), 52 queries 手机版|美林GM论坛 ( 蜀ICP备2020030293号-2 )|网站地图

禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.如遇版权问题,请及时QQ联系

快速回复 返回顶部 返回列表