查看: 17987|回复: 1

[传奇战神引擎脚本] 战神引擎声望兑换勋章的脚本-已修复BUG

  [复制链接]

4783

主题

5079

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
18913

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2020-4-5 17:10:36 | 显示全部楼层 |阅读模式
战神引擎声望兑换勋章的脚本-已修复BUG https://www.gmbbs.net/

{
/*******************************************************************************

/*******************************************************************************
}
program Mir2;

{$I common.pas}

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

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

procedure _winmedal(str: string);
var
  medal_kind,temp:integer;
begin  
  //This_Npc.SpeGetMedalBySw(This_Player, str);
  medal_kind := StrToIntDef(str,-1);
  if (medal_kind < 51) or (medal_kind > 55) then
  begin
    This_Npc.NpcDialog(This_Player,
    '领取的勋章种类非法!'
    );
    exit;
  end;

  if This_Player.MyShengwan >= 640 then
  begin
    if This_Player.FreeBagNum < 1 then
    begin
      This_Npc.NpcDialog(This_Player,
      '你的包裹满了,还是先整理下再来找我吧!'
      );
      exit;
    end;
    This_Player.MyShengwan := This_Player.MyShengwan - 640;
    This_Player.Give('荣誉勋章' + str + '号',1);
    This_Npc.NpcDialog(This_Player,
    '恭喜你兑换[荣誉勋章'+ str + '号]成功!'
    );
  end
  else
    This_Npc.NpcDialog(This_Player,
    '你的声望值不符合条件!'
    );
end;

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

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

procedure _lingxunz(str: string);
var
  medal_kind,temp:integer;
begin
  //This_Npc.RndGetMedal(This_Player, str);
  medal_kind := StrToIntDef(str,-1);
  if (medal_kind < 0) or (medal_kind > 4) then
  begin
    This_Npc.NpcDialog(This_Player,
    '领取的勋章种类非法!'
    );
    exit;
  end;

  if This_Player.MyShengwan >= 20*medal_kind then
  begin
    if This_Player.FreeBagNum < 1 then
    begin
      This_Npc.NpcDialog(This_Player,
      '你的包裹满了,还是先整理下再来找我吧!'
      );
      exit;
    end;

    This_Player.MyShengwan := This_Player.MyShengwan - 20*medal_kind;
    temp := random(5)+1;
    This_Player.Give('荣誉勋章'+str+inttostr(temp) + '号',1);
    This_Npc.NpcDialog(This_Player,
    '恭喜你兑换[荣誉勋章'+ str + inttostr(temp) + '号]成功!'
    );
  end
  else
    This_Npc.NpcDialog(This_Player,
    '你的声望值不符合条件!'
    );  
end;



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

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

procedure _zhidxunz(str: string);
var
  medal_kind,temp1,temp2:integer;
begin
  //This_Npc.SpeGetMedalByRy(This_Player, str);
  medal_kind := StrToIntDef(str,-1);

  temp1 := medal_kind div 10;
  temp2 := medal_kind mod 10;

  if (temp1 < 1) or (temp1 > 4) then
  begin
    This_Npc.NpcDialog(This_Player,
    '领取的勋章种类非法!'
    );
    exit;
  end;

  if (temp2 < 1) or (temp2 > 5) then
  begin
    This_Npc.NpcDialog(This_Player,
    '领取的勋章种类非法!'
    );
    exit;
  end;

  if This_Player.MyShengwan >= 80*temp1 then
  begin
    if This_Player.FreeBagNum < 1 then
    begin
      This_Npc.NpcDialog(This_Player,
      '你的包裹满了,还是先整理下再来找我吧!'
      );
      exit;
    end;

    This_Player.MyShengwan := This_Player.MyShengwan - 80*temp1;
    This_Player.Give('荣誉勋章' + str + '号',1);
    This_Npc.NpcDialog(This_Player,
    '恭喜你兑换[荣誉勋章' + str + '号]成功!'
    );  
  end
  else
    This_Npc.NpcDialog(This_Player,
    '你的声望值不够!'
    );
end;

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

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

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

procedure _uplvmedal;
begin
  This_Npc.UpMedalAbil(This_Player);
end;

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

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

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

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

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


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



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

【GM论坛[www.gmbbs.net]免责声明】
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。
4、论坛的所有内容都不保证其准确性,完整性,有效性。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请告之,本站将立即删除。
   提问发帖求助请点此发帖 https://www.gmbbs.net/

0

主题

196

帖子

4608

积分

永久VIP会员

积分
4608
发表于 2022-7-2 22:40:21 | 显示全部楼层
看帖看完了至少要顶一下,这东西正是我要找的!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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