CHHBlock
npc到50%血的时候会触发一条指令,然后npc回满血或被打死后复活之前不会再触发
能做到吗,如果不能就算了

Hueihuea
本帖最后由 skpsk自己家 于 2018-10-24 18:47 编辑

麻烦提供游戏版本XD
其实你也可以看看我的签名栏

1.7.10:
不知道有没有写错 你试试吧
就是血量低于或等于满血的50%时
回复满血(一条生命只能触发一次 死亡后回复)
是这个意思吧 你表达有语病XD
  1. function GetPer(mini,max){
  2. return mini/max*100;
  3. }
  4. var CanReSpawn;
  5. CanReSpawn=(CanReSpawn==null)? true:CanReSpawn;
  6. if(CanReSpawn==true&&GetPer(npc.getHealth(),npc.getMaxHealth())<=50){
  7. CanReSpawn=false;
  8. npc.setHealth(npc.getMaxHealth());
  9. }
复制代码


CHHBlock
skpsk自己家 发表于 2018-10-24 18:38
麻烦提供游戏版本XD
其实你也可以看看我的签名栏

1.7.10,谢谢

Hueihuea

已附上代码
请F5刷新XD

CHHBlock
skpsk自己家 发表于 2018-10-24 18:48
已附上代码
请F5刷新XD

我是这样想的
50%血的时候触发一次指令
这个指令只有复活或脱战后才能再次执行
是否能做到呢,麻烦了

Hueihuea
CHHBlock 发表于 2018-10-24 18:56
我是这样想的
50%血的时候触发一次指令
这个指令只有复活或脱战后才能再次执行


不对吧XD
我觉得一开始你的需要是回复满血吧
我记错了吗
稍等

Hueihuea
本帖最后由 skpsk自己家 于 2018-10-24 19:15 编辑
  1. function GetPer(mini,max){
  2. return mini/max*100;
  3. }
  4. function command(str){
  5. try{
  6. npc.executeCommand(str)
  7. }catch(err){}}
  8. var CanCmd;
  9. CanCmd=(CanCmd==null)? true:CanCmd;
  10. if(CanCmd==true&&GetPer(npc.getHealth(),npc.getMaxHealth())<=50){
  11. command("这里输入你要的指令");
  12. CanCmd=false;
  13. }
  14. if(npc.getHealth()==npc.getMaxHealth()||!(npc.isAlive())){
  15. CanCmd=true;
  16. }
复制代码
优化版:
  1. function GetPer(mini,max){
  2. return mini/max*100;
  3. }
  4. function command(str){
  5. try{
  6. npc.executeCommand(str)
  7. }catch(err){}}
  8. var CanCmd;
  9. CanCmd=(CanCmd==null)? true:CanCmd;
  10. if(CanCmd==true&&GetPer(npc.getHealth(),npc.getMaxHealth())<=50){
  11. command("这里输入你要的指令");
  12. CanCmd=false;
  13. }
  14. if((npc.getHealth()==npc.getMaxHealth()||!(npc.isAlive()))&&CanCmd==false){
  15. CanCmd=true;
  16. }
复制代码


不二语
[启用钩子]npc.setTempData("SKL",1)
[更新钩子]if(npc.getTempData("SKL") == 1
|| npc.getHealth() < npc.getMaxHealth()*0.5)
{脚本;
npc.setTempData("SKL",0)}
[伤害钩子]if(event.getDamage() == 0){npc.setTempData("SKL",1)}
[死亡钩子]npc.setTempData("SKL",1)