Project1

标题: 怎么调出道具名称产生器脚本? [打印本页]

作者: bangquan    时间: 2013-3-8 05:30
标题: 怎么调出道具名称产生器脚本?
怎么调出道具名称产生器脚本?
作者: 美丽晨露    时间: 2013-3-8 08:18
麻烦楼主把脚本贴出来,这样才能让我们帮助你噢
作者: 紫英晓狼1130    时间: 2013-3-8 08:19
道具名称也要生成?
自己编道具名吧!
作者: 紫苍焰    时间: 2013-3-8 13:03
紫英晓狼1130 发表于 2013-3-8 08:19
道具名称也要生成?
自己编道具名吧!

……
他指的是合成后的物品吧……
作者: aiming    时间: 2013-3-9 03:04
本帖最后由 hcm 于 2013-3-25 12:48 编辑
美丽晨露 发表于 2013-3-8 08:18
麻烦楼主把脚本贴出来,这样才能让我们帮助你噢


我也想知道.
  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, **, 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. def update
  70.    # 更新窗口
  71.    @command_window.update
  72.    @ask_window.update
  73.    @select_window.update
  74.    @name_window.update
  75.    
  76.    # 命令窗口被激活的情况下: 调用 update_command
  77.    if @command_window.active
  78.      update_command
  79.      return
  80.    end

  81.    # 选择窗口被激活的情况下: 调用 update_select
  82.    if @select_window.active
  83.      update_select
  84.      return
  85.    end
  86.    
  87.    # 选择窗口被激活的情况下: 调用 update_name
  88.    if @name_window.active
  89.      update_name
  90.      return
  91.    end
  92. end

  93. # 更新命令窗口
  94. def update_command
  95.    # 按下 C 键的情况下
  96.    if Input.trigger?(Input::C)
  97.      # 演奏确定 SE
  98.      $game_system.se_play($data_system.decision_se)
  99.      case @command_window.index
  100.      when 0 # 输出为文本
  101.        @name_window.output_text
  102.      when 1 # 选择
  103.        @command_window.active = false
  104.        @command_window.visible = false
  105.        @name_window.active = true
  106.        @name_window.index = 0
  107.      when 2 # 离开
  108.        exit
  109.        #$scene = Scene_Map.new
  110.      when 3 # 重新产生
  111.        @command_window.visible = false
  112.        @command_window.active = false
  113.        @ask_window.visible = true
  114.        @select_window.active = true
  115.        @select_window.visible = true
  116.        @name_window.active = true
  117.      end
  118.      return
  119.    end # end if Input.trigger?(Input::C)
  120.    
  121.    if Input.trigger?(Input::B)
  122.      # 演奏取消 SE
  123.      $game_system.se_play($data_system.cancel_se)
  124.      # 无效化命令窗口
  125.      @command_window.visible = false
  126.      @command_window.active = false
  127.      @name_window.active = true
  128.      return
  129.    end
  130. end

  131. # 更新选择窗口
  132. def update_select
  133.    # 按下 C 键的情况下
  134.    if Input.trigger?(Input::C)
  135.      # 演奏确定 SE
  136.      $game_system.se_play($data_system.decision_se)
  137.      # 產生名稱
  138.      @name_window.generate(@select_window.index)
  139.      # 无效化选择窗口
  140.      @ask_window.visible = false
  141.      @select_window.active = false
  142.      @select_window.visible = false
  143.      return
  144.    end # end if Input.trigger?(Input::C)
  145. end

  146. def update_name
  147.    # 按下 C 键的情况下
  148.    if Input.trigger?(Input::C)
  149.      # 演奏确定 SE
  150.      $game_system.se_play($data_system.decision_se)
  151.      # 纪录文字
  152.      @name_window.input_text(@name_window.index)
  153.      return
  154.    end
  155.    
  156.    # 按下 B 键的情况下
  157.    if Input.trigger?(Input::B)
  158.      # 演奏取消 SE
  159.      $game_system.se_play($data_system.cancel_se)
  160.      # 有效化命令窗口
  161.      @command_window.active = true
  162.      @command_window.visible = true
  163.      # 无效化名称产生窗口
  164.      @name_window.active = false
  165.      @name_window.index = -1
  166.      return
  167.    end
  168. end
  169. end

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

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

  198.    while i < 56
  199.      # 确认产生类型
  200.      type = rand(4)+1 if type == 0
  201.      case type
  202.      when 1
  203.        end_word = $weapon_name[rand(weapon_rand)]
  204.      when 2
  205.        end_word = $item_name[rand(item_rand)]
  206.      when 3
  207.        end_word = $equip_name[rand(equip_rand)]
  208.      when 4
  209.        end_word = $skill_name[rand(skill_rand)]
  210.      end
  211.      
  212.      # 随机数选择文字
  213.      mat_word_1a  = $material_1[rand(material_1_rand)]
  214.      mat_word_2a  = $material_2[rand(material_2_rand)]
  215.      mat_word_1b  = $material_1[rand(material_1_rand)]
  216.      mat_word_2b  = $material_2[rand(material_2_rand)]
  217.      color_word   = $color_name[rand(color_rand)]
  218.      chara_word   = $chara_name[rand(chara_rand)]
  219.      pattern_word = $pattern_name[rand(pattern_rand)]
  220.      
  221.      # 随机数排列
  222.      case rand(11)
  223.      when 0
  224.        name_gend = mat_word_1a + mat_word_2a + color_word + chara_word + end_word
  225.      when 1
  226.        name_gend = mat_word_1b + mat_word_2b + color_word + chara_word + end_word
  227.      when 2
  228.        name_gend = mat_word_2a + mat_word_1a + color_word + chara_word + end_word
  229.      when 3
  230.        name_gend = mat_word_1a + mat_word_2a + mat_word_1b + mat_word_2b + color_word + chara_word + end_word
  231.      when 4
  232.        name_gend = mat_word_2a + pattern_word + end_word
  233.      when 5
  234.        name_gend = color_word + pattern_word + end_word
  235.      when 6
  236.        name_gend = color_word + mat_word_2a + end_word
  237.      when 7
  238.        name_gend = pattern_word + chara_word + end_word
  239.      when 8
  240.        name_gend = pattern_word + mat_word_2a + end_word
  241.      when 9
  242.        name_gend = chara_word + mat_word_2a + end_word
  243.      when 10
  244.        name_gend = mat_word_1a + mat_word_2a + mat_word_1b + end_word
  245.      end
  246.      
  247.      # 显示文字
  248.      self.contents.draw_text(i%4*160, i/4*32, 152, 32, name_gend, 0)
  249.      @name.push(name_gend)
  250.      # 产生下一个
  251.      i += 1
  252.    end
  253. end

  254. # 纪录文字
  255. def input_text(index)
  256.    # 纪录所选择的文字
  257.    @name_selected += @name[index] + " "
  258. end

  259. # 输出为文本
  260. def output_text
  261.    # 输出
  262.    @namefile = File.open("./NameGen.txt","w")
  263.    @namefile.write(@name_selected)
  264.    return
  265. end
  266. end



  267. 文字部分:


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

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

  303. #性质
  304. $chara_name = ["",
  305. "软", "硬", "长", "短", "宽", "窄", "广", "狭", "轻", "重",
  306. "佛", "魔", "妖", "仙", "神", "奇", "宝", "破", "粗", "细" ]

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

  312. #花纹
  313. $pattern_name = ["",
  314. "纹", "鳞", "形", "花", "样", "貌", "如", "似", "影", "音",
  315. "吟", "吻", "舌", "尾", "首", "神", "牙" ]

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

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

  336. # 装备
  337. # 第一组是头部
  338. # 第二组是身体
  339. # 第三组是足部
  340. # 第四组是饰品
  341. $equip_name = ["",
  342. "帽", "盔", "冠", "顶", "带", "巾", "襟", "帼", "丝", "帕",
  343. "簪", "翎", "绫", "莎", "纱",

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

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

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

  348. # 技能
  349. $skill_name = ["",
  350. "咒", "法", "术", "方", "门", "操", "气", "闪", "破", "败",
  351. "界", "结", "体", "避", "闭", "毕", "壁", "碧", "锋", "封",
  352. "定", "禁", "狂", "爆", "暴", "息", "宁", "生", "隐", "飞",
  353. "袭", "障", "瘴", "毒", "流", "派", "道", "魔", "功", "夺"]
复制代码

作者: 美丽晨露    时间: 2013-3-9 07:50
aiming 发表于 2013-3-9 03:04
我也想知道.
class Scene_NameGen
def main

调用方法
$scene = Scene_NameGen.new




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1