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

Project1

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

[已经解决] 请问如何在对话中让角色姓名后显示其他内容? 已解决

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1021
在线时间
90 小时
注册时间
2022-12-26
帖子
102
跳转到指定楼层
1
发表于 2023-7-13 16:33:53 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 爱羊真知己 于 2023-7-19 17:41 编辑

我用了喵呜喵5大佬的对话显示姓名脚本,请问如何在角色姓名后以相同字号、[237,125,49,255]颜色显示其他内容?(调用方式:\name[角色名]\other[其他内容],和角色名一样要加【】)
脚本如下:
RUBY 代码复制
  1. =begin
  2. ===============================================================================
  3.   对话显示姓名 By喵呜喵5
  4. ===============================================================================
  5.  
  6. 【说明】
  7.  
  8.   通过在对话开头加入
  9.  
  10.     \name[姓名]
  11.  
  12.   可以在对话中显示姓名
  13.  
  14.   ( \name[姓名] 的后面不需要换行,另外,请注意对话框高度太小时系统会强制翻页)
  15.  
  16. =end
  17. $m5script ||= {};$m5script[:M5Name20141004] = 20170807
  18. module M5Name20141004
  19. #==============================================================================
  20. #  设定部分
  21. #==============================================================================
  22.  
  23.   FONT = ["QTxiaotu"]
  24.  
  25.   # 姓名所使用的字体
  26.  
  27.   SIZE = 20
  28.  
  29.   # 姓名字体的大小
  30.  
  31.   VOCAB = "【%s】"
  32.  
  33.   # 姓名的显示方式,%s 表示姓名的文字,
  34.   # 例如,默认的设置下,“\name[埃里克]”将在游戏中显示为“【埃里克】:”
  35.   # 不需要的话,直接填写一个 %s 就好
  36.  
  37.   COLOR = Color.new(149,182,255,255)
  38.  
  39.   # 姓名的颜色,四个数值分别是R、G、B以及透明度
  40.  
  41.   SET = [false,false,false,true]
  42.  
  43.   # 中括号中以逗号分隔开的单词分别设置姓名是否加粗、斜体、有阴影、加边框
  44.   # 需要的话填写true,不需要的话填写false
  45.  
  46.   OUT_COLOR = Color.new(0, 0, 0, 60)
  47.  
  48.   # 姓名边框的颜色,四个数值分别是R、G、B以及透明度
  49.  
  50.   ALIGN =  0
  51.  
  52.   # 姓名的对齐方式,0,1,2分别是居左、居中、居右
  53.  
  54.   NAME_X = 0
  55.  
  56.   # 姓名的X坐标,数值越大姓名位置越靠近屏幕右侧
  57.  
  58.   NAME_Y = 3
  59.  
  60.   # 姓名的Y坐标,数值越大姓名位置越靠近屏幕底部
  61.  
  62.   DISTANCE = 10
  63.  
  64.   # 对话与姓名的间距,数字越大间距越大
  65.  
  66.   BACK_Y = 0
  67.  
  68.   # 姓名背景的Y坐标,数值越大姓名位置越靠近屏幕底部
  69.  
  70.   BACK_HEIGHT = 6
  71.  
  72.   # 姓名背景的高度,数字越大高度越大
  73.  
  74.   COLOR1 = Color.new(255, 255, 255, 70)
  75.  
  76.   # 姓名的背景框左边的颜色,四个数值分别是R、G、B以及透明度
  77.  
  78.   COLOR2 = Color.new(255, 255, 255, 0)
  79.  
  80.   # 姓名的背景框右边的颜色,四个数值分别是R、G、B以及透明度
  81.   # 不需要背景的话,两个颜色的透明度都填0就好了
  82.  
  83. #==============================================================================
  84. #  设定结束
  85. #==============================================================================
  86. end
  87. class Window_Message
  88.   alias m5_20141004_convert_escape_characters convert_escape_characters
  89.   def convert_escape_characters *arg
  90.     @m5_name_20150304 = nil
  91.     result = m5_20141004_convert_escape_characters *arg
  92.     result.gsub!(/\eNAME\[(.+?)\]/i) { @m5_name_20150304 = $1; "" }
  93.     result
  94.   end
  95.   alias m5_20141004_new_page new_page
  96.   def new_page(text, pos)
  97.     m5_20141004_new_page(text, pos)
  98.     if @m5_name_20150304
  99.       set = M5Name20141004
  100.  
  101.       temp = Bitmap.new(contents.width, contents.height)
  102.       temp.font.name = set::FONT
  103.       temp.font.size = set::SIZE
  104.       temp.font.color = set::COLOR
  105.       temp.font.out_color = set::OUT_COLOR
  106.       temp.font.bold = set::SET[0]
  107.       temp.font.italic = set::SET[1]
  108.       temp.font.shadow = set::SET[2]
  109.       temp.font.outline = set::SET[3]
  110.  
  111.       name = sprintf(set::VOCAB, @m5_name_20150304)
  112.       name_height = temp.text_size(name).height
  113.       temp.gradient_fill_rect(0, set::BACK_Y, temp.width - new_line_x,
  114.         name_height + set::BACK_HEIGHT, set::COLOR1, set::COLOR2)
  115.       temp.draw_text(set::NAME_X, set::NAME_Y, temp.width - new_line_x, name_height,
  116.         name, set::ALIGN)
  117.       contents.blt(new_line_x, 0, temp, temp.rect)
  118.       temp.dispose
  119.  
  120.       pos[:y] += name_height + M5Name20141004::DISTANCE
  121.       @m5_name_20150304 = nil
  122.     end
  123.   end
  124. end

求助各位大佬!
你好!

Lv5.捕梦者

梦石
0
星屑
26328
在线时间
5362 小时
注册时间
2016-3-8
帖子
1657
7
发表于 2023-7-19 16:26:07 | 只看该作者

RUBY 代码复制
  1. =begin
  2. ===============================================================================
  3.   对话显示姓名 By喵呜喵5
  4. ===============================================================================
  5.  
  6. 【说明】
  7.  
  8.   通过在对话开头加入
  9.  
  10.     \name[姓名]
  11.  
  12.   可以在对话中显示姓名
  13.  
  14.   ( \name[姓名] 的后面不需要换行,另外,请注意对话框高度太小时系统会强制翻页)
  15.  
  16. =end
  17. $m5script ||= {};$m5script[:M5Name20141004] = 20170807
  18. module M5Name20141004
  19. #==============================================================================
  20. #  设定部分
  21. #==============================================================================
  22.  
  23.   FONT = ["QTxiaotu"]
  24.  
  25.   # 姓名所使用的字体
  26.  
  27.   SIZE = 20
  28.  
  29.   # 姓名字体的大小
  30.  
  31.   VOCAB = "【%s】"
  32.  
  33.   # 姓名的显示方式,%s 表示姓名的文字,
  34.   # 例如,默认的设置下,“\name[埃里克]”将在游戏中显示为“【埃里克】:”
  35.   # 不需要的话,直接填写一个 %s 就好
  36.  
  37.   COLOR = Color.new(149,182,255,255)
  38.   COLOR_OTHER = Color.new(237,125,49,255)##########
  39.  
  40.   # 姓名的颜色,四个数值分别是R、G、B以及透明度
  41.  
  42.   SET = [false,false,false,true]
  43.  
  44.   # 中括号中以逗号分隔开的单词分别设置姓名是否加粗、斜体、有阴影、加边框
  45.   # 需要的话填写true,不需要的话填写false
  46.  
  47.   OUT_COLOR = Color.new(0, 0, 0, 60)
  48.  
  49.   # 姓名边框的颜色,四个数值分别是R、G、B以及透明度
  50.  
  51.   ALIGN =  0
  52.  
  53.   # 姓名的对齐方式,0,1,2分别是居左、居中、居右
  54.  
  55.   NAME_X = 0
  56.  
  57.   # 姓名的X坐标,数值越大姓名位置越靠近屏幕右侧
  58.  
  59.   NAME_Y = 3
  60.  
  61.   # 姓名的Y坐标,数值越大姓名位置越靠近屏幕底部
  62.  
  63.   DISTANCE = 10
  64.  
  65.   # 对话与姓名的间距,数字越大间距越大
  66.  
  67.   BACK_Y = 0
  68.  
  69.   # 姓名背景的Y坐标,数值越大姓名位置越靠近屏幕底部
  70.  
  71.   BACK_HEIGHT = 6
  72.  
  73.   # 姓名背景的高度,数字越大高度越大
  74.  
  75.   COLOR1 = Color.new(255, 255, 255, 70)
  76.  
  77.   # 姓名的背景框左边的颜色,四个数值分别是R、G、B以及透明度
  78.  
  79.   COLOR2 = Color.new(255, 255, 255, 0)
  80.  
  81.   # 姓名的背景框右边的颜色,四个数值分别是R、G、B以及透明度
  82.   # 不需要背景的话,两个颜色的透明度都填0就好了
  83.  
  84. #==============================================================================
  85. #  设定结束
  86. #==============================================================================
  87. end
  88. class Window_Message
  89.   alias m5_20141004_convert_escape_characters convert_escape_characters
  90.   def convert_escape_characters *arg
  91.     @m5_name_20150304 = nil
  92.     result = m5_20141004_convert_escape_characters *arg
  93.     result.gsub!(/\eNAME\[(.+?)\]/i) { @m5_name_20150304 = $1; "" }
  94.     result.gsub!(/\eOTHER\[(.+?)\]/i) { @m5_other_20150304 = $1; "" }##########
  95.     result
  96.   end
  97.   alias m5_20141004_new_page new_page
  98.   def new_page(text, pos)
  99.     m5_20141004_new_page(text, pos)
  100.     if @m5_name_20150304
  101.       set = M5Name20141004
  102.  
  103.       temp = Bitmap.new(contents.width, contents.height)
  104.       temp.font.name = set::FONT
  105.       temp.font.size = set::SIZE
  106.       temp.font.color = set::COLOR
  107.       temp.font.out_color = set::OUT_COLOR
  108.       temp.font.bold = set::SET[0]
  109.       temp.font.italic = set::SET[1]
  110.       temp.font.shadow = set::SET[2]
  111.       temp.font.outline = set::SET[3]
  112.  
  113.       name = sprintf(set::VOCAB, @m5_name_20150304)
  114.       name_width = temp.text_size(name).width##########
  115.       name_height = temp.text_size(name).height
  116.       temp.gradient_fill_rect(0, set::BACK_Y, temp.width - new_line_x,
  117.         name_height + set::BACK_HEIGHT, set::COLOR1, set::COLOR2)
  118.       temp.draw_text(set::NAME_X, set::NAME_Y, temp.width - new_line_x, name_height,
  119.         name, set::ALIGN)
  120.       contents.blt(new_line_x, 0, temp, temp.rect)
  121.       temp.dispose
  122.  
  123.       pos[:y] += name_height + M5Name20141004::DISTANCE
  124.       @m5_name_20150304 = nil
  125.     end
  126.     ##########
  127.     if @m5_other_20150304
  128. #~       set = M5Name20141004
  129.  
  130.       temp = Bitmap.new(contents.width, contents.height)
  131.       temp.font.name = set::FONT
  132.       temp.font.size = set::SIZE
  133.       temp.font.color = set::COLOR_OTHER
  134.       temp.font.out_color = set::OUT_COLOR
  135.       temp.font.bold = set::SET[0]
  136.       temp.font.italic = set::SET[1]
  137.       temp.font.shadow = set::SET[2]
  138.       temp.font.outline = set::SET[3]
  139.  
  140.       name = sprintf(set::VOCAB, @m5_other_20150304)
  141.       name_height = temp.text_size(name).height
  142. #~       temp.gradient_fill_rect(0, set::BACK_Y, temp.width - new_line_x,
  143. #~         name_height + set::BACK_HEIGHT, set::COLOR1, set::COLOR2)
  144.       temp.draw_text(set::NAME_X + name_width, set::NAME_Y, temp.width - new_line_x, name_height,
  145.         name, set::ALIGN)
  146.       contents.blt(new_line_x, 0, temp, temp.rect)
  147.       temp.dispose
  148.  
  149. #~       pos[:y] += name_height + M5Name20141004::DISTANCE
  150.       @m5_other_20150304 = nil
  151.     end
  152.     ##########
  153.   end
  154. end

点评

谢谢!  发表于 2023-7-19 17:40

评分

参与人数 1+1 收起 理由
爱羊真知己 + 1 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1021
在线时间
90 小时
注册时间
2022-12-26
帖子
102
6
 楼主| 发表于 2023-7-19 11:12:15 | 只看该作者
自顶   
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
52
在线时间
5 小时
注册时间
2022-10-3
帖子
3
5
发表于 2023-7-18 19:11:55 | 只看该作者
kokodayo~ 发表于 2023-7-18 19:06
下次用脚本的时候记得看简介。如图介绍里说的那样,\name[要输入的名字]就行了 ...

阿这,对不起,我看走眼了。
要不试试RM系统自带的“ \{ “”和“ \C[n] ”?
具体的使用方法把鼠标放在“文字”的输入框内就可以看到了

点评

抛开颜色和字号不谈,用了这个脚本后输入完姓名是不需要手动换行的,也就导致无法在同行输入其他内容。  发表于 2023-7-18 21:29
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
52
在线时间
5 小时
注册时间
2022-10-3
帖子
3
4
发表于 2023-7-18 19:06:16 | 只看该作者
下次用脚本的时候记得看简介。如图介绍里说的那样,\name[要输入的名字]就行了
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1021
在线时间
90 小时
注册时间
2022-12-26
帖子
102
3
 楼主| 发表于 2023-7-17 16:06:09 | 只看该作者
自顶!!
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1021
在线时间
90 小时
注册时间
2022-12-26
帖子
102
2
 楼主| 发表于 2023-7-15 16:00:23 | 只看该作者
无人应答……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 15:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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