设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1690|回复: 9
打印 上一主题 下一主题

[已经解决] 脚本更改事件的名字

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3293
在线时间
1463 小时
注册时间
2014-8-9
帖子
337
跳转到指定楼层
1
发表于 2016-9-2 12:44:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
我现在只知道这个代码
$game_map.events[1].name
但他只适用于当前地图,如果我要改其他地图上的事件的名字的话
比如map.id=1 map.id=2 的地图上的事件
代码该怎么写?

Lv2.观梦者

梦石
0
星屑
451
在线时间
228 小时
注册时间
2015-2-23
帖子
241
2
发表于 2016-9-2 14:42:07 | 只看该作者
楼主那个只能暂时更改,要永久更改可以试试下面这个

  1. class Game_Temp
  2.   def set_event_name(map_id, event_id, name)
  3.     return unless FileTest.exist?(sprintf("Data/Map%03d.rxdata", map_id))
  4.     map = load_data(sprintf("Data/Map%03d.rxdata", map_id))
  5.     return if map.events[event_id].nil?
  6.     map.events[event_id].name = name
  7.     save_data(map, sprintf("Data/Map%03d.rxdata", map_id))
  8.   end
  9. end
复制代码


用法:在事件->脚本里写:$game_temp.set_event_name(map_id, event_id, name)
map_id     地图ID
event_id   事件ID
name       新的事件名字

点评

@枫の叶  发表于 2016-9-7 17:47
这样一改好像这脚本没用了。。  发表于 2016-9-5 15:37
↓把第七行注释掉。  发表于 2016-9-3 21:23
可是这样的话,重新进游戏这名字仍然是更改后的名字  发表于 2016-9-2 18:38
制作XP特效,找我。
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

3
发表于 2016-9-10 17:09:01 | 只看该作者
本帖最后由 RyanBern 于 2016-9-10 17:20 编辑

试试这个:关闭游戏再打开,更改后的名字不会保存。如果想在存档后生效,请将所有 Game_Temp, $game_temp 替换为 Game_System, $game_system
RUBY 代码复制
  1. class Game_Temp
  2.   def event_name_cache
  3.     @event_name_cache ||= {}
  4.     @event_name_cache
  5.   end
  6.   def set_event_name(map_id, event_id, name)
  7.     key = [map_id, event_id]
  8.     event_name_cache[key] = name
  9.   end
  10. end
  11.  
  12. class Game_Event
  13.   def name
  14.     key = [$game_map.map_id, id]
  15.     $game_temp.event_name_cache[key] || @event.name
  16.   end
  17. end

使用方法:
RUBY 代码复制
  1. $game_temp.set_event_name(地图ID, 事件ID, 新名称)

点评

@RyanBorn 认可答案  发表于 2016-9-18 17:48
如果$game_temp.event_name_cache里面有相应记录就返回这个记录,否则返回事件本身的默认名字。  发表于 2016-9-10 19:36
$game_temp.event_name_cache[key] || @event.name这句后面是什么意思?  发表于 2016-9-10 19:29

评分

参与人数 2星屑 +210 收起 理由
hys111111 + 150 认可答案
寒冷魔王 + 60 塞糖

查看全部评分

回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-22 04:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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