本帖最后由 瑾枫£F.P 于 2019-7-10 01:36 编辑 
手持"回城"shift3秒传送,冷却1分钟冷却完毕说出"冷却完毕"
求帮忙233
版本:1.7.10
手持"回城"shift3秒传送,冷却1分钟冷却完毕说出"冷却完毕"
求帮忙233
版本:1.7.10
 本帖最后由 粘兽sama 于 2019-7-10 04:00 编辑 
下面这串代码放在Init接口中
复制代码
下面这串代码放在Update接口中
复制代码
以上代码放入对应的接口中,请让npc处于一直被加载的状态。
手持带有"回城"关键词的物品潜行3秒会执行命令将玩家传送到指定的坐标。
cnpc脚本教程贴 如何搭建脚本环境与使用脚本都在这里看吧↓
[NSS][BGM][NPC][图文][干货]RE:CNPC-自定义NPC 脚本教程[复活连载]
http://www.mcbbs.net/thread-816677-1-1.html
下面这串代码放在Init接口中
- npc.clearTempData();
 
- npc.setTempData('backHome-count',{});
 
- npc.setTempData('backHome-cooldown',{});
下面这串代码放在Update接口中
- // 冷却时长毫秒
 
- var cd = 5000;
 
- // 传送到的坐标
 
- var pos = '~ ~3 ~';
 
 
- players = world.getAllServerPlayers();
 
- for(var i in players){
 
-     var player = world.getPlayer(players[i].name);
 
-     if(player != null && player.isSneaking() && player.getHeldItem() != null){
 
-         var held = player.getHeldItem().getDisplayName();
 
-         if(held.indexOf('回城') > -1){
 
-             if(player.name in npc.getTempData('backHome-count')){
 
-                 var now = npc.getTempData('backHome-count')[player.name] += 0.5;
 
-                 if(now > 2.5){
 
-                     var time = new Date().getTime();
 
-                     delete npc.getTempData('backHome-count')[player.name];
 
-                     if(player.name in npc.getTempData('backHome-cooldown') && time < npc.getTempData('backHome-cooldown')[player.name]){
 
-                         player.sendMessage('回城冷却中···');
 
-                     }else{
 
-                         var cmd = 'tp {name} {pos}';
 
-                         npc.executeCommand(cmd.replace('{name}',player.name).replace('{pos}',pos));
 
-                         npc.getTempData('backHome-cooldown')[player.name] = time + cd;
 
-                         cooldown(player);
 
-                     }
 
-                 }
 
-             }else{
 
-                 npc.getTempData('backHome-count')[player.name] = 0.5;
 
-             }
 
-         }
 
-     }else if(players[i].name in npc.getTempData('backHome-count')){
 
-         delete npc.getTempData('backHome-count')[players[i].name];
 
-     }
 
- }
 
 
- function cooldown(player){
 
-     var Thread = Java.type("java.lang.Thread");
 
-     var Runnable = Java.extend(Java.type("java.lang.Runnable"),{
 
-         run: function(){
 
-             try{
 
-                 Thread.sleep(cd);
 
-                 player.sendMessage('冷却完毕');
 
-                 delete npc.getTempData('backHome-cooldown')[player.name];
 
-             }catch(e){}
 
-         }
 
-     });
 
-     new Thread(new Runnable()).start();
 
- }
以上代码放入对应的接口中,请让npc处于一直被加载的状态。
手持带有"回城"关键词的物品潜行3秒会执行命令将玩家传送到指定的坐标。
cnpc脚本教程贴 如何搭建脚本环境与使用脚本都在这里看吧↓
[NSS][BGM][NPC][图文][干货]RE:CNPC-自定义NPC 脚本教程[复活连载]
http://www.mcbbs.net/thread-816677-1-1.html
这个是什么版本的
那个坐标~ ~3 ~是什么意思