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

Project1

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

[已经解决] 请教在插入>事件指令>显示文章里设置显示$game_system的变量

[复制链接]

Lv4.逐梦者

梦石
0
星屑
9163
在线时间
466 小时
注册时间
2015-5-8
帖子
866
跳转到指定楼层
1
发表于 2021-8-29 19:15:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 taeckle 于 2021-8-29 19:23 编辑

比如在插入>事件指令>显示文章里用"\n[1]"可显示第一号角色的名字, 用"\v[666]"可显示第666号公共变量($game_variables[666])的内容,

我现在要是想在显示文章里也像上面两个例子一样用一个非常简短的代码(比如\gs[XXX])来显示$game_system.XXX的内容的话,又该怎么搞呢?请大家指点指点,多谢了

Lv5.捕梦者 (版主)

梦石
1
星屑
23994
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

5
发表于 2021-8-30 13:34:03 | 只看该作者
更推荐2、3楼的方案

评分

参与人数 1+1 收起 理由
taeckle + 1 大神您肯定有更好的答案!

查看全部评分

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
36447
在线时间
10800 小时
注册时间
2009-3-15
帖子
4814
4
发表于 2021-8-29 23:06:07 | 只看该作者
本帖最后由 soulsaga 于 2021-8-29 23:13 编辑

萌新随便改的..已测试...

RUBY 代码复制
  1. class Window_Message < Window_Selectable
  2. #--------------------------------------------------------------------------
  3.   # ● 刷新
  4.   #--------------------------------------------------------------------------
  5.   def refresh
  6.     self.contents.clear
  7.     self.contents.font.color = normal_color
  8.     x = y = 0
  9.     @cursor_width = 0
  10.     # 到选择项的下一行字
  11.     if $game_temp.choice_start == 0
  12.       x = 8
  13.     end
  14.     # 有等待显示的文字的情况下
  15.     if $game_temp.message_text != nil
  16.       text = $game_temp.message_text
  17.       # 限制文字处理
  18.       begin
  19.         last_text = text.clone
  20.         text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
  21.         text.gsub!(/\\[Gg][Ss]\[([\w]+)\]/)  { eval("$game_system."+$1) }#萌新添加
  22.       end until text == last_text
  23.       text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
  24.         $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
  25.       end
  26.       # 为了方便、将 "\\\\" 变换为 "\000"
  27.       text.gsub!(/\\\\/) { "\000" }
  28.       # "\\C" 变为 "\001" 、"\\G" 变为 "\002"
  29.       text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
  30.       text.gsub!(/\\[Gg]/) { "\002" }
  31.       # c 获取 1 个字 (如果不能取得文字就循环)
  32.       while ((c = text.slice!(/./m)) != nil)
  33.         # \\ 的情况下
  34.         if c == "\000"
  35.           # 还原为本来的文字
  36.           c = "\\"
  37.         end
  38.         # \C[n] 的情况下
  39.         if c == "\001"
  40.           # 更改文字色
  41.           text.sub!(/\[([0-9]+)\]/, "")
  42.           color = $1.to_i
  43.           if color >= 0 and color <= 7
  44.             self.contents.font.color = text_color(color)
  45.           end
  46.           # 下面的文字
  47.           next
  48.         end
  49.         # \G 的情况下
  50.         if c == "\002"
  51.           # 生成金钱窗口
  52.           if @gold_window == nil
  53.             @gold_window = Window_Gold.new
  54.             @gold_window.x = 560 - @gold_window.width
  55.             if $game_temp.in_battle
  56.               @gold_window.y = 192
  57.             else
  58.               @gold_window.y = self.y >= 128 ? 32 : 384
  59.             end
  60.             @gold_window.opacity = self.opacity
  61.             @gold_window.back_opacity = self.back_opacity
  62.           end
  63.           # 下面的文字
  64.           next
  65.         end
  66.         # 另起一行文字的情况下
  67.         if c == "\n"
  68.           # 刷新选择项及光标的高
  69.           if y >= $game_temp.choice_start
  70.             @cursor_width = [@cursor_width, x].max
  71.           end
  72.           # y 加 1
  73.           y += 1
  74.           x = 0
  75.           # 移动到选择项的下一行
  76.           if y >= $game_temp.choice_start
  77.             x = 8
  78.           end
  79.           # 下面的文字
  80.           next
  81.           if (x + 4 + self.contents.text_size(c).width) > self.contents.width
  82.           y += 1
  83.           x = 0
  84.         end
  85.         end
  86.         # 描绘文字
  87.         self.contents.draw_text(4 + x, 32 * y, 40, 32, c)
  88.         # x 为要描绘文字的加法运算
  89.         x += self.contents.text_size(c).width
  90.         #Audio.se_play("Audio/SE/"+"006-System06",80,100)
  91.       end
  92.     end
  93.     # 选择项的情况
  94.     if $game_temp.choice_max > 0
  95.       @item_max = $game_temp.choice_max
  96.       self.active = true
  97.       self.index = 0
  98.     end
  99.     # 输入数值的情况
  100.     if $game_temp.num_input_variable_id > 0
  101.       digits_max = $game_temp.num_input_digits_max
  102.       number = $game_variables[$game_temp.num_input_variable_id]
  103.       @input_number_window = Window_InputNumber.new(digits_max)
  104.       @input_number_window.number = number
  105.       @input_number_window.x = self.x + 8
  106.       @input_number_window.y = self.y + $game_temp.num_input_start * 32
  107.     end
  108.   end
  109. end

评分

参与人数 1+1 收起 理由
taeckle + 1 感谢!

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
366
在线时间
17 小时
注册时间
2021-8-10
帖子
23
3
发表于 2021-8-29 22:35:35 | 只看该作者
$game_variables[x]=$game_system.XXX,然后文章插入\v[X]就行了呀

评分

参与人数 2星屑 +50 +1 收起 理由
RyanBern + 50 认可答案
taeckle + 1 多谢指教!

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2866
在线时间
446 小时
注册时间
2016-9-26
帖子
1223
2
发表于 2021-8-29 19:49:29 | 只看该作者
给你的变量赋值你想要的数据啊。。。
用“=”

评分

参与人数 2星屑 +50 +1 收起 理由
RyanBern + 50 认可答案
taeckle + 1 多谢指教!

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-25 17:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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