设为首页收藏本站同能贴吧 切换语言 繁体中文
开启辅助访问 切换到窄版
扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 107|回复: 0

[转载发布] Enemy Distance Scanner (Radar)

[复制链接]
累计送礼:
0 个
累计收礼:
1 个
  • TA的每日心情
    开心
    2026-7-12 04:10
  • 签到天数: 209 天

    连续签到: 2 天

    [LV.7]常住居民III

    9071

    主题

    864

    回帖

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    7
    卡币
    58883
    OK点
    16
    推广点
    0
    同能卷
    50
    积分
    68848

    灌水之王

    发表于 2026-8-2 17:53:12 | 显示全部楼层 |阅读模式
    Made for a request here.

    This script acts like a radar/scanner to check the distance of the player from the enemy events on the map.

    Features:

    [1] Able to check the nearest enemy and return the event's id.

    [2] Able to list down a list of enemy event's ids and their distance from the player.

    [3] Able to check any event's distance from player.

    How to Use:

    [1] Script itself is plug and play, simply paste it below Material and above Main.

    [2] To make an event scan-able by the radar, you will need to add <enemy> tag to the event's name.

          

    [3] Script calls for scanning:

    SpoilerGet distance value of Event X from Player

    $game_map.distance_from(id)id = any event's id (works for event without name tag)

    Get distance of all Enemies from Player

    $game_map.scan_targetThis will list all the enemy event's id and their distance from the player

    Get the nearest enemy event's id

    nearest_enemythis will return the event's id of the nearest enemy



    Pair these with Control Variables' Script box to output the result to game variable.

    eg. Control Variables: [0001] = nearest_enemy

    Compatibility:

    Should be compatible with other custom scripts.

    Terms of Use:

    Free for both Commercial and Non-commercial

    Script:

    Spoiler                Code:       
    1. #==============================================================================# ■ Meow Face Enemy Scanner#------------------------------------------------------------------------------# Return the ID of the nearest Event (from player position)#==============================================================================# How to Use:# [1] Put this script below Material and above Main# [2] Put this name tag on events you want to scan: <enemy># [3] Use Script Calls "nearest" to get the nearest enemy#==============================================================================class Game_Map  def distance_from(id)    $game_player.distance_x_from($game_map.events[id].x).abs + $game_player.distance_y_from($game_map.events[id].y).abs  end  def scan_target    meowradar = {}    @events.values.each do |meow|      if meow.enemy?        meowscan = distance_from(meow.id)        meowtarget = (meow.id).to_s        meowradar[meowtarget] = meowscan      end    end    meowradar  end  def scan_nearest    scan_target.min_by{|k,v| v}[0] if !scan_target.empty?  endendclass Game_Event < Game_Character  def enemy?    @event.name.include?('<enemy>')  endendclass Game_Interpreter  def nearest_enemy    $game_map.scan_nearest  endend
    复制代码








    本贴来自国际rpgmaker官方论坛作者:MeowFace处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/enemy-distance-scanner-radar.46115/

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    简体中文
    繁體中文
    English(英语)
    日本語(日语)
    Deutsch(德语)
    Русский язык(俄语)
    بالعربية(阿拉伯语)
    Türkçe(土耳其语)
    Português(葡萄牙语)
    ภาษาไทย(泰国语)
    한어(朝鲜语/韩语)
    Français(法语)
    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2026-8-17 09:30 , Processed in 0.135560 second(s), 53 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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