天堂2单机论坛

 找回密码
 立即注册
查看: 188|回复: 10

指定范围内,需持有指定物品才能进入

[复制链接]
  • TA的每日心情
    无聊
    前天 15:25
  • 签到天数: 68 天

    [LV.6]常住居民II

    8

    主题

    82

    帖子

    376

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    376
    发表于 2025-4-10 16:39:36 | 显示全部楼层 |阅读模式
    1. package ai.individual;

    2. import java.util.concurrent.Executors;
    3. import java.util.concurrent.ScheduledExecutorService;
    4. import java.util.concurrent.TimeUnit;

    5. import com.l2jserver.gameserver.model.Location;
    6. import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
    7. import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
    8. import com.l2jserver.gameserver.model.L2World;

    9. public class L2JItemCheckScript {
    10.     private static final int ITEM_ID = 31026;
    11.     private static final Location TELEPORT_LOCATION = new Location(83355, 148621, -3405);
    12.     private static final int MIN_X = -163799;
    13.     private static final int MAX_X = -153811;
    14.     private static final int MIN_Y = -190898;
    15.     private static final int MAX_Y = -171206;
    16.     private static final int Z = -3331;

    17.     public static void main(String[] args) {
    18.         ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
    19.         executor.scheduleAtFixedRate(new ItemCheckTask(), 0, 10, TimeUnit.SECONDS);
    20.     }

    21.     static class ItemCheckTask implements Runnable {
    22.         @Override
    23.         public void run() {
    24.             for (L2PcInstance player : L2World.getInstance().getAllPlayersArray()) {
    25.                 if (isInRange(player)) {
    26.                     if (!hasItem(player)) {
    27.                         teleportPlayer(player);
    28.                     }
    29.                 }
    30.             }
    31.         }

    32.         private boolean isInRange(L2PcInstance player) {
    33.             int x = player.getX();
    34.             int y = player.getY();
    35.             int z = player.getZ();
    36.             return x >= MIN_X && x <= MAX_X && y >= MIN_Y && y <= MAX_Y && z == Z;
    37.         }

    38.         private boolean hasItem(L2PcInstance player) {
    39.             for (L2ItemInstance item : player.getInventory().getItems()) {
    40.                 if (item.getItemId() == ITEM_ID) {
    41.                     return true;
    42.                 }
    43.             }
    44.             return false;
    45.         }

    46.         private void teleportPlayer(L2PcInstance player) {
    47.             player.teleToLocation(TELEPORT_LOCATION, false);
    48.         }
    49.     }
    50. }
    复制代码

    需要指定物品才能进入指定坐标范围内 否则传送回奇岩  可以拿去做VIP地图:
    31026为所需物品,83355, 148621, -3405 为传送回奇岩的坐标!

    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2025-4-20 00:11
  • 签到天数: 920 天

    [LV.10]以坛为家III

    342

    主题

    992

    帖子

    6484

    积分

    论坛元老

    Rank: 8Rank: 8

    积分
    6484
    发表于 2025-4-10 21:45:32 | 显示全部楼层
    需要特定物品进入特定地区,类似地龙房间、巴温房间等。楼主厉害
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-6-7 00:11
  • 签到天数: 441 天

    [LV.9]以坛为家II

    38

    主题

    948

    帖子

    1万

    积分

    VIP会员

    Rank: 8Rank: 8

    积分
    16911
    发表于 2025-4-10 22:23:30 | 显示全部楼层
    本帖最后由 topguid 于 2025-4-10 23:46 编辑

    感谢大大分享
    回复

    使用道具 举报

  • TA的每日心情

    昨天 18:13
  • 签到天数: 140 天

    [LV.7]常住居民III

    3

    主题

    157

    帖子

    818

    积分

    高级会员

    Rank: 4

    积分
    818
    发表于 2025-4-11 17:10:56 | 显示全部楼层
    感谢分享
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    前天 08:50
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    1

    主题

    103

    帖子

    137

    积分

    正式会员

    Rank: 2

    积分
    137
    发表于 2025-4-11 17:34:48 | 显示全部楼层
    111111111111111111111
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    前天 08:50
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    1

    主题

    103

    帖子

    137

    积分

    正式会员

    Rank: 2

    积分
    137
    发表于 2025-4-12 15:25:12 | 显示全部楼层
    1111111111111111111
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    前天 08:50
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    1

    主题

    103

    帖子

    137

    积分

    正式会员

    Rank: 2

    积分
    137
    发表于 2025-4-13 15:20:12 | 显示全部楼层
    1111111111111111111111
    回复

    使用道具 举报

  • TA的每日心情

    3 小时前
  • 签到天数: 40 天

    [LV.5]常住居民I

    5

    主题

    203

    帖子

    560

    积分

    高级会员

    Rank: 4

    积分
    560
    发表于 2025-4-18 06:28:14 | 显示全部楼层
    感謝分享資訊 參考一下
    回复

    使用道具 举报

  • TA的每日心情
    开心
    10 小时前
  • 签到天数: 363 天

    [LV.8]以坛为家I

    35

    主题

    801

    帖子

    3043

    积分

    论坛元老

    Rank: 8Rank: 8

    积分
    3043
    发表于 2025-4-18 08:41:12 | 显示全部楼层
    谢谢分享!!!!
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    10 小时前
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    0

    主题

    48

    帖子

    95

    积分

    正式会员

    Rank: 2

    积分
    95
    发表于 10 小时前 | 显示全部楼层
    感謝分享資訊 參考一下
    回复

    使用道具 举报

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

    本版积分规则

    QQ|Archiver|手机版|监狱|天堂2单机论坛 ( 粤ICP备20030366号 )

    GMT+8, 2025-4-30 18:27 , Processed in 0.059389 second(s), 21 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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