中文eAthena模拟器开发者论坛

 找回密码
 注册
搜索
查看: 140|回复: 3

[工作正常] Successrefitem 和 OnPCEquipEvent

[复制链接]
发表于 2017-11-8 22:19:26 | 显示全部楼层 |阅读模式
SeAr_19.14.127

NPC 中 Successrefitem 過程中不會觸發 OnPCEquipEvent
在腳本 close 之後會 連續觸發

例:
@job 4064  +  @item 1377 5 裝備後
Successrefitem 三次後
close 腳本後 會觸發三次OnPCEquipEvent

測試腳本


  1. morocc,150,100,6        script        RefineError        563,{
  2. menu
  3.         "成功二次,再來失敗",-,
  4.         "直接失敗",nee2,
  5.         "一次成功",nee3,
  6.         "連續2次成功 ",nee4;
  7. mes "1";
  8. next;
  9. Successrefitem 3;
  10. mes "2";
  11. next;
  12. Successrefitem 3;
  13. mes "3";
  14. next;

  15. nee2:
  16. mes "5";
  17. next;
  18. failedrefitem 3;
  19. mes "6";
  20. next;

  21.                         close;
  22.                         end;
  23. nee4:
  24. mes "1";
  25. next;
  26. Successrefitem 3;
  27. nee3:
  28. mes "1";
  29. next;
  30. Successrefitem 3;

  31. next;
  32.                         close;
  33.                         end;
  34. OnPCEquipEvent:
  35.         announce "[SNbug1]" + strcharinfo(0) + "   @equip_pos," + @equip_pos  + "   getinventoryinfo(.@pos,0)  " + getinventoryinfo(@equip_pos,0)  ,bc_all;
  36. end;
  37. }
复制代码


SeAr最贴近官方细节的模拟器,没有“之一”。
发表于 2017-11-9 11:34:24 | 显示全部楼层
Successrefitem 3;後沒有end;或close;當然直接跳下一行阿,跳到你有close;或end;的時候
SeAr最贴近官方细节的模拟器,没有“之一”。
 楼主| 发表于 2017-11-9 13:05:58 | 显示全部楼层
NPC 中 Successrefitem 過程中

不會觸發 OnPCEquipEvent

在腳本 close 之後會 一次連續觸發
我的理解是 -  
中間不觸發是ok的 為了避免腳本雙重執行造成bug
但是 腳本結束後,將累積的OnPCEquipEvent 觸發次數一次跑
也是會造成飛預期的問題的

例如:
Successrefitem 5次  + failedrefitem

close腳本之後 會連續 5次 OnPCEquipEvent

此時 早就因為 failedrefitem 該部位沒有裝備了

連續 5次 OnPCEquipEvent 是會造成問題的


SeAr最贴近官方细节的模拟器,没有“之一”。
发表于 2017-11-10 16:06:24 | 显示全部楼层
有玩家关联的脚本在运行时不会运行另一个需要玩家关联的脚本,而必须等第一个脚本结束后再依次排队运行其他。

回到这个具体事例
没有装备了,运行又会有什么问题呢?如果单纯只是不想让他错误显示,那就检测下这个位置是否有装备咯

因为列队的代码不知道这个脚本具体是干嘛的,我觉得也没有义务去知道,这是一个全局的设置。
SeAr最贴近官方细节的模拟器,没有“之一”。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|中文eAthena模拟器开发者论坛

GMT+8, 2018-1-16 17:53

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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