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

Project1

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

[原创发布] 道具名称产生器(V2爆发完成)

 关闭 [复制链接]

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

跳转到指定楼层
1
发表于 2008-1-4 13:30:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
别在为物品名称烦恼,物品+装备+技能等…名称产生器

不过会出现一些怪怪的名字{/pz}有待改进{/cy}{/tp}

可能不能帮到什麽忙,但是也需能提供一些创作灵感
产生後按B键选择「选择」後能进入窗口选择你所想要输出为文本的名字
再选择「输出为文本」之後离开,就会在根目录产生一个名叫「NameGen.txt」的文件

也能选择「重新产生」

在文字设定脚本内能够增加更多的字







按这里下载:
物品+装备+技能等…名称产生器
VA脚本开工中...
偷窃脚本1.0 - 已完成

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

2
 楼主| 发表于 2008-1-4 13:30:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
别在为物品名称烦恼,物品+装备+技能等…名称产生器

不过会出现一些怪怪的名字{/pz}有待改进{/cy}{/tp}

可能不能帮到什麽忙,但是也需能提供一些创作灵感
产生後按B键选择「选择」後能进入窗口选择你所想要输出为文本的名字
再选择「输出为文本」之後离开,就会在根目录产生一个名叫「NameGen.txt」的文件

也能选择「重新产生」

在文字设定脚本内能够增加更多的字







按这里下载:
物品+装备+技能等…名称产生器
VA脚本开工中...
偷窃脚本1.0 - 已完成

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

3
 楼主| 发表于 2008-1-4 14:59:11 | 只看该作者
贴出脚本:

主程序:
  1. class Scene_NameGen
  2.   def main
  3.     # 产生命令窗口
  4.     @command_window = Window_Command.new(250, ["输出为文本", "选择", "离开", "重新产生"])
  5.     @command_window.x = 320 - @command_window.width
  6.     @command_window.y = 240 - @command_window.height
  7.     @command_window.z = 300
  8.     @command_window.index = 0
  9.     @command_window.visible = false
  10.     @command_window.active = false
  11.    
  12.     # 产生询问窗口
  13.     @ask_window = Window_Base.new(120, 188, 400, 64)
  14.     @ask_window.contents = Bitmap.new(368, 32)
  15.     string = "要生产哪种名称:"
  16.     @ask_window.contents.font.name = "SimHei"
  17.     @ask_window.contents.font.size = 24
  18.     @ask_window.contents.draw_text(4, 0, 368, 32, string)
  19.     @ask_window.visible = true
  20.     @ask_window.z = 1500
  21.    
  22.     # 产生选择窗口
  23.     @select_window = Window_Command.new(200, ["随机", "武器/武功", "物品", "装备", "技能"])
  24.     @select_window.visible = true
  25.     @select_window.active = true
  26.     @select_window.index = 0
  27.     @select_window.x = 270
  28.     @select_window.y = 252
  29.     @select_window.z = 1500
  30.    
  31.     @name_window = Window_NameGen.new
  32.     @name_window.x = 0
  33.     @name_window.y = 0
  34.     @name_window.index = -1
  35.    
  36.     @name_selected = []
  37.     # 执行过渡
  38.     Graphics.transition
  39.     # 主循环
  40.     loop do
  41.       # 刷新游戏画面
  42.       Graphics.update
  43.       # 刷新输入情报
  44.       Input.update
  45.       # 刷新画面
  46.       update
  47.       # 如果画面切换的话就中断循环
  48.       if $scene != self
  49.         break
  50.       end
  51.     end
  52.     # 准备过渡
  53.     Graphics.freeze
  54.     # 释放窗口
  55.     @command_window.dispose
  56.     @ask_window.dispose
  57.     @select_window.dispose
  58.     @name_window.dispose
  59.     # 如果在标题画面切换中的情况下
  60.     if $scene.is_a?(Scene_Title)
  61.       # 淡入淡出画面
  62.       Graphics.transition
  63.       Graphics.freeze
  64.     end
  65.   end
  66.   
  67.   #--------------------------------------------------------------------------
  68.   # * 更新画面
  69.   #--------------------------------------------------------------------------
  70.   def update
  71.     # 更新窗口
  72.     @command_window.update
  73.     @ask_window.update
  74.     @select_window.update
  75.     @name_window.update
  76.    
  77.     # 命令窗口被激活的情况下: 调用 update_command
  78.     if @command_window.active
  79.       update_command
  80.       return
  81.     end

  82.     # 选择窗口被激活的情况下: 调用 update_select
  83.     if @select_window.active
  84.       update_select
  85.       return
  86.     end
  87.    
  88.     # 选择窗口被激活的情况下: 调用 update_name
  89.     if @name_window.active
  90.       update_name
  91.       return
  92.     end
  93.   end
  94.   
  95.   # 更新命令窗口
  96.   def update_command
  97.     # 按下 C 键的情况下
  98.     if Input.trigger?(Input::C)
  99.       # 演奏确定 SE
  100.       $game_system.se_play($data_system.decision_se)
  101.       case @command_window.index
  102.       when 0 # 输出为文本
  103.         @name_window.output_text
  104.       when 1 # 选择
  105.         @command_window.active = false
  106.         @command_window.visible = false
  107.         @name_window.active = true
  108.         @name_window.index = 0
  109.       when 2 # 离开
  110.         exit
  111.         #$scene = Scene_Map.new
  112.       when 3 # 重新产生
  113.         @command_window.visible = false
  114.         @command_window.active = false
  115.         @ask_window.visible = true
  116.         @select_window.active = true
  117.         @select_window.visible = true
  118.         @name_window.active = true
  119.       end
  120.       return
  121.     end # end if Input.trigger?(Input::C)
  122.    
  123.     if Input.trigger?(Input::B)
  124.       # 演奏取消 SE
  125.       $game_system.se_play($data_system.cancel_se)
  126.       # 无效化命令窗口
  127.       @command_window.visible = false
  128.       @command_window.active = false
  129.       @name_window.active = true
  130.       return
  131.     end
  132.   end
  133.   
  134.   # 更新选择窗口
  135.   def update_select
  136.     # 按下 C 键的情况下
  137.     if Input.trigger?(Input::C)
  138.       # 演奏确定 SE
  139.       $game_system.se_play($data_system.decision_se)
  140.       # 產生名稱
  141.       @name_window.generate(@select_window.index)
  142.       # 无效化选择窗口
  143.       @ask_window.visible = false
  144.       @select_window.active = false
  145.       @select_window.visible = false
  146.       return
  147.     end # end if Input.trigger?(Input::C)
  148.   end
  149.   
  150.   def update_name
  151.     # 按下 C 键的情况下
  152.     if Input.trigger?(Input::C)
  153.       # 演奏确定 SE
  154.       $game_system.se_play($data_system.decision_se)
  155.       # 纪录文字
  156.       @name_window.input_text(@name_window.index)
  157.       return
  158.     end
  159.    
  160.     # 按下 B 键的情况下
  161.     if Input.trigger?(Input::B)
  162.       # 演奏取消 SE
  163.       $game_system.se_play($data_system.cancel_se)
  164.       # 有效化命令窗口
  165.       @command_window.active = true
  166.       @command_window.visible = true
  167.       # 无效化名称产生窗口
  168.       @name_window.active = false
  169.       @name_window.index = -1
  170.       return
  171.     end
  172.   end
  173. end

  174. class Window_NameGen < Window_Selectable
  175.   #--------------------------------------------------------------------------
  176.   # ● 初始化窗口
  177.   #--------------------------------------------------------------------------
  178.   def initialize
  179.     super(0, 0, 640, 480)
  180.     @column_max = 4
  181.     @item_max = 60
  182.     @name_selected = ""
  183.     self.index = 0
  184.     self.contents = Bitmap.new(width - 32, height - 32)
  185.   end

  186.   # 生产
  187.   def generate(type)
  188.     self.contents.font.color = system_color
  189.     self.contents.clear
  190.     i = 0
  191.     @name = []
  192.    
  193.     material_1_rand = $material_1.size
  194.     material_2_rand = $material_2.size
  195.     color_rand = $color_name.size
  196.     chara_rand = $chara_name.size
  197.     pattern_rand = $pattern_name.size
  198.     weapon_rand = $weapon_name.size
  199.     item_rand = $item_name.size
  200.     equip_rand = $equip_name.size
  201.     skill_rand = $skill_name.size

  202.     while i < 56
  203.       # 确认产生类型
  204.       type = rand(4)+1 if type == 0
  205.       case type
  206.       when 1
  207.         end_word = $weapon_name[rand(weapon_rand)]
  208.       when 2
  209.         end_word = $item_name[rand(item_rand)]
  210.       when 3
  211.         end_word = $equip_name[rand(equip_rand)]
  212.       when 4
  213.         end_word = $skill_name[rand(skill_rand)]
  214.       end
  215.       
  216.       # 随机数选择文字
  217.       mat_word_1a  = $material_1[rand(material_1_rand)]
  218.       mat_word_2a  = $material_2[rand(material_2_rand)]
  219.       mat_word_1b  = $material_1[rand(material_1_rand)]
  220.       mat_word_2b  = $material_2[rand(material_2_rand)]
  221.       color_word   = $color_name[rand(color_rand)]
  222.       chara_word   = $chara_name[rand(chara_rand)]
  223.       pattern_word = $pattern_name[rand(pattern_rand)]
  224.       
  225.       # 随机数排列
  226.       case rand(11)
  227.       when 0
  228.         name_gend = mat_word_1a + mat_word_2a + color_word + chara_word + end_word
  229.       when 1
  230.         name_gend = mat_word_1b + mat_word_2b + color_word + chara_word + end_word
  231.       when 2
  232.         name_gend = mat_word_2a + mat_word_1a + color_word + chara_word + end_word
  233.       when 3
  234.         name_gend = mat_word_1a + mat_word_2a + mat_word_1b + mat_word_2b + color_word + chara_word + end_word
  235.       when 4
  236.         name_gend = mat_word_2a + pattern_word + end_word
  237.       when 5
  238.         name_gend = color_word + pattern_word + end_word
  239.       when 6
  240.         name_gend = color_word + mat_word_2a + end_word
  241.       when 7
  242.         name_gend = pattern_word + chara_word + end_word
  243.       when 8
  244.         name_gend = pattern_word + mat_word_2a + end_word
  245.       when 9
  246.         name_gend = chara_word + mat_word_2a + end_word
  247.       when 10
  248.         name_gend = mat_word_1a + mat_word_2a + mat_word_1b + end_word
  249.       end
  250.       
  251.       # 显示文字
  252.       self.contents.draw_text(i%4*160, i/4*32, 152, 32, name_gend, 0)
  253.       @name.push(name_gend)
  254.       # 产生下一个
  255.       i += 1
  256.     end
  257.   end
  258.   
  259.   # 纪录文字
  260.   def input_text(index)
  261.     # 纪录所选择的文字
  262.     @name_selected += @name[index] + "\n"
  263.   end
  264.   
  265.   # 输出为文本
  266.   def output_text
  267.     # 输出
  268.     @namefile = File.open("./NameGen.txt","w")
  269.     @namefile.write(@name_selected)
  270.     return
  271.   end
  272. end
复制代码


文字部分:

  1. #材质1
  2. $material_1 = ["",
  3. "檀", "梧", "桐", "桦", "楠", "柳", "梨", "枫", "松", "柏",
  4. "雕", "碉", "雕", "凋", "陨", "殒", "冽", "飞", "仙", "魔",
  5. "神", "鬼", "天", "地", "阴", "阳", "古", "鱼", "龙", "鲷",
  6. "虎", "豹", "麟", "龟", "鲸", "狼", "鹿", "貂", "燕", "雁",
  7. "鸟", "莺", "鹦", "鹰", "鵰", "凤", "凰", "雀", "鹊", "鸿",
  8. "蜂", "螳", "蝶", "蜘", "蛛", "蜈", "蚣", "蛇", "蟒", "蟾",
  9. "蝉", "缨", "婴", "瑛", "一", "二", "三", "四", "五", "六",
  10. "七", "八", "九", "十", "百", "千", "万", "亿", "兆", "霸",
  11. "王", "帝", "皇", "狂", "冷", "绝", "明", "暗", "艳", "艳",
  12. "热", "炎", "焰", "炎", "焱", "焰", "纤", "婵", "玉", "淑",
  13. "圣", "盛", "胜", "烈", "列", "大", "重", "巨", "宽", "无",
  14. "有", "仙", "腾", "刚", "柔", "太", "连", "罗", "猎", "萝",
  15. "箩", "镙", "武", "斗", "战", "想", "动", "静", "净", "浊",
  16. "灼", "翔", "祥", "降", "隐", "饮", "引", "飘", "漂", "极",
  17. "追", "感", "赶", "敢", "消", "销", "霄", "宵", "萧", "嚣",
  18. "硝", "逍", "凝", "宁", "断", "踏", "驭", "御", "驾", "破",
  19. "毁", "怨", "恨", "希", "望", "愿", "忘", "妄", "灵", "巧",
  20. "温", "文", "秀", "细", "风", "云", "雨", "月", "雪", "日",
  21. "语", "破", "卷", "卷", "圈", "遥"]

  22. #材质2
  23. $material_2 = ["",
  24. "金", "银", "铜", "铁", "锡", "钢", "木", "藤", "藤", "根",
  25. "干", "枝", "芽", "叶", "花", "草", "蕊", "丝", "绸", "缎",
  26. "缕", "水", "油", "泉", "波", "浪", "冰", "晶", "月", "云",
  27. "霞", "露", "雾", "霖", "血", "泪", "珠", "火", "炎", "焱",
  28. "焰", "焰", "星", "雷", "电", "霆", "日", "土", "玉", "石",
  29. "岩", "琉", "璃", "硫", "瘤", "牙", "沙", "砂", "尘", "光",
  30. "影", "音", "氤", "韵", "蕴", "酝", "韵", "韫", "鳞", "爪",
  31. "皮", "革", "甲", "布", "羽", "毛", "片", "目", "眼", "睛",
  32. "精", "神", "空", "仙", "魔", "神", "鬼", "天", "地", "阴",
  33. "阳", "男", "女", "凤", "凰", "皇", "帝", "王", "风", "笑",
  34. "啸", "乐", "肠", "血", "灵", "魂", "魄", "骨", "肉", "筋",
  35. "脑", "毒", "阙" ]

  36. #性质
  37. $chara_name = ["",
  38. "软", "硬", "长", "短", "宽", "窄", "广", "狭", "轻", "重",
  39. "佛", "魔", "妖", "仙", "神", "奇", "宝", "破", "粗", "细" ]

  40. #颜色
  41. $color_name = ["",
  42. "红", "赤", "朱", "血", "火", "绯", "橙", "橘", "黄", "金",
  43. "绿", "碧", "青", "清", "蓝", "靛", "紫", "玄", "闇", "暗",
  44. "黑", "白", "光", "素", "雪", "粉", "银", "虹", "彩", "艳" ]

  45. #花纹
  46. $pattern_name = ["",
  47. "纹", "鳞", "形", "花", "样", "貌", "如", "似", "影", "音",
  48. "吟", "吻", "舌", "尾", "首", "神", "牙" ]

  49. #武器/武功
  50. $weapon_name = ["",
  51. "刀", "枪", "鎗", "剑", "戟", "斧", "戎", "弓", "环", "圈",
  52. "琴", "瑟", "鼓", "刺", "勾", "钩", "钩", "爪", "抓", "挝",
  53. "拳", "掌", "腿", "箭", "镖", "刃", "杖", "棍", "棒", "铲",
  54. "钯", "尺", "匕", "笔", "叉", "轰", "雷", "殳", "针", "鞭",
  55. "鐗", "弩", "矛", "盾", "釽", "钺", "功", "法", "手", "诀",
  56. "劲", "经", "咒" ]

  57. #物品
  58. $item_name = ["",
  59. "药", "丸", "散", "胶", "汤", "丹", "茶", "酒", "露", "果",
  60. "粉", "脂", "粥", "糕", "膏", "饮", "草", "蜜", "香", "精",
  61. "箭", "镖", "匕", "毒", "镖", "针", "剑", "刀", "爪", "吻",
  62. "舌", "花", "鳞", "环", "符", "咒", "珠", "铃", "蛊", "羽",
  63. "钉", "芒", "石", "砂", "沙", "煞", "杀", "痧", "硝", "销",
  64. "锁", "根", "水", "油", "草", "芽", "胆", "葵", "玉", "髓",
  65. "蜕", "退", "藤", "藤", "絮", "火", "涎", "绫", "翎", "丝",
  66. "皮", "木", "目", "晶", "睛", "瞳", "线", "炭", "金", "星",
  67. "蕊", "刺", "莿", "液", "齿", "牙", "爪", "酮", "醇", "壳",
  68. "矿", "骨", "糊", "瑚", "弧", "壶"]

  69. # 装备
  70.   # 第一组是头部
  71.   # 第二组是身体
  72.   # 第三组是足部
  73.   # 第四组是饰品
  74. $equip_name = ["",
  75. "帽", "盔", "冠", "顶", "带", "巾", "襟", "帼", "丝", "帕",
  76. "簪", "翎", "绫", "莎", "纱",

  77. "裳", "衣", "装", "铠", "甲", "衫", "缕", "披", "风", "氅",
  78. "罗", "裙", "裤", "毡", "褂", "袍",

  79. "靴", "鞋", "履", "屐", "轮", "踏",

  80. "扣", "铃", "牌", "指", "扳", "佩" ]

  81. # 技能
  82. $skill_name = ["",
  83. "咒", "法", "术", "方", "门", "操", "气", "闪", "破", "败",
  84. "界", "结", "体", "避", "闭", "毕", "壁", "碧", "锋", "封",
  85. "定", "禁", "狂", "爆", "暴", "息", "宁", "生", "隐", "飞",
  86. "袭", "障", "瘴", "毒", "流", "派", "道", "魔", "功", "夺"]
复制代码
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-12-12
帖子
6
4
发表于 2008-1-4 19:17:46 | 只看该作者
太强大了{/fd}灵感激发器{/qiang}
凛风啸,冰浪缠,言空步徘徊。 长夜漫,零星隐,心寂泪潸然。
回复 支持 反对

使用道具 举报

Lv2.观梦者

天仙

梦石
0
星屑
620
在线时间
184 小时
注册时间
2008-4-15
帖子
5023

贵宾

5
 楼主| 发表于 2008-1-4 20:26:27 | 只看该作者
Version 2.0正在激发中……

先行预告功能:
新增自订尾字功能(也就是可以一次生产56个刀的名字或是剑的名字)
新增常用字词数组,减少怪名产生机率
新增……大家提议一些吧
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复 支持 反对

使用道具 举报

Lv1.梦旅人

很傻很天真

梦石
0
星屑
55
在线时间
3 小时
注册时间
2007-3-13
帖子
3667
6
发表于 2008-1-4 20:29:15 | 只看该作者
懒人工具之一   现在脚本乱打字...然后生成...好东西  我就是懒人  多些楼主提供脚本
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

7
发表于 2008-1-5 02:36:31 | 只看该作者
def output_text
   # 输出
   @namefile = File.open("./NameGen.txt","w")
   @namefile.write(@name_selected)
   return
end

这个//
可以改成:
def output_text
   # 输出
   save_data(@name_selected,"NameGen.txt")
   return
end
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
13136
在线时间
1056 小时
注册时间
2007-12-15
帖子
188
8
发表于 2008-1-5 02:44:44 | 只看该作者
    非常有用的东西啊,终于不用拼命去想那些名称了{/tp},LZ 真是厉害,这么强大的东西都能写的出来,佩服、佩服!{/qiang}

正在研究自己编写 DLL 来调用 DirectX ……DLL 完成了,脚本却遇到问题了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风雪夜不归人

梦石
0
星屑
50
在线时间
276 小时
注册时间
2006-3-7
帖子
6721

贵宾

9
发表于 2008-1-5 03:10:11 | 只看该作者
但是中国风
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3299
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

10
发表于 2008-1-5 03:13:04 | 只看该作者
怕怕出来的东西名字……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-24 21:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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