Project1

标题: 怪物掉落相应尸体 [打印本页]

作者: zy652301    时间: 2015-7-21 10:51
标题: 怪物掉落相应尸体
本帖最后由 zy652301 于 2015-7-21 12:41 编辑

给物品尸体加上标识后,杀死怪物的掉落尸体后会自动附加怪物名称作为前缀,如果分解尸体的话,分解出来的产物也会标有前缀。
例子:

厨师:“我需要【肉 A--W02】,去帮我弄点。”
······
【狗 A01】被杀死了
【狗 A01】掉落了【狗 尸体 A01W01】
使用【狗 尸体 A01W01】
【狗 尸体 A01W01】被分解成了,【狗 皮 A01W03】,【狗 肉 A01W02】
······
厨师:“嗯,是 【狗 肉 A01W02】 吗?很不错。”
厨师:“现在我需要【牛肉A02W02】”

【牛 A02】被杀死了
【牛 A02】掉落了【牛 尸体 A02W01】
使用【牛 尸体 A02W01】
【牛 尸体 A02W01】被分解成了,【牛 皮 A02W03】,【牛 肉 A02W02】【牛角 A02W04】【牛眼睛A02W05】【牛蹄子A02W06】【牛尾巴A02W07】【牛脑子A02W08】【牛骨头A02W09】

作者: 冷峻逸    时间: 2015-7-21 10:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: 冷峻逸    时间: 2015-7-21 11:54
提示: 作者被禁止或删除 内容自动屏蔽
作者: magimagi    时间: 2015-7-21 12:10
我怎么突然就看到了怪物猎人的身影(ノ゚∀゚)ノ
还有9999种敌人...真[sang]是[xin]厉[bing]害[kuang]
作者: tseyik    时间: 2015-7-21 12:18
      ● 使い方 ●========================================================
      在道具、武器、防具的附註欄用以下之形式設定を
        
        PACKAGE[<アイテム種別><アイテムID>:<個数>, ....]
        
      道具種別には I, W, A 。
      I =>  道具, W => 武器, A => 防具 。
      --------------------------------------------------------------------
      例:
      PACKAGE[I1:3, W19:1, A2:1, A50:1]
      
      上記の設定をしたアイテムを入手すると代わりに下記が手に入ります。
       ID1 道具 3個
       ID19 武器 1個
       ID2 防具 1個
       ID50 防具 1個
      ====================================================================
パッケージアイテム(PACKAGE)

作者: 1181770261    时间: 2015-7-21 12:22
去找到一个扩充上限的脚本并不难,但是那就不单单是在数据库中编辑了,这个懒是无法偷的,如果数据库没有编辑,即便有脚本也做不到,
你不能奢求它给你变出来你没有设定的东西
既然有编写⑨⑨⑨种怪物的时间,那么编写1998+的道具+条件分歧事件也就不难吧?
作者: 墨凌羽    时间: 2015-7-22 00:38
我就说一句 运行时修改数据库
作者: 企鹅达达    时间: 2015-7-22 16:37
你把999个怪物名发过来,顺带发过来一个尸体变成哪几种肉,还有每一种肉的物品说明和其他物品设置(可以做一个新工程,里面设置这些肉,说明里要怪物名的话另说)。不就是999*n个道具栏么,也不怎么难搞。结合数据库扩张、数据库复制、excel导出等等功能几分钟就能搞定。嗯,还能空出999个位置给你做默认的道具设置
作者: zy652301    时间: 2015-7-25 09:32
企鹅达达 发表于 2015-7-22 16:37
你把999个怪物名发过来,顺带发过来一个尸体变成哪几种肉,还有每一种肉的物品说明和其他物品设置(可以做 ...

哇~大好人呐。我不是完全不会脚本,像是改个参数之类的我还是能办到的。
怪物的编号,物品的编号,给物品附加前缀,引用带前缀物品。
只要帮我做一个示范我就能办到。
若果有不会的我再问你看好吗?
作者: 企鹅达达    时间: 2015-7-26 21:16
本帖最后由 企鹅达达 于 2015-7-26 21:17 编辑
zy652301 发表于 2015-7-25 09:32
哇~大好人呐。我不是完全不会脚本,像是改个参数之类的我还是能办到的。
怪物的编号,物品的编号,给物品 ...
  1. =begin
  2. 1.编写好模板,道具名“的尸体”等、说明“的xxxx”,事件运行脚本导出数据
  3. PG_WRITE_DATA::output_items

  4. 2.用excel打开导出的文件,将数据下拉复制到需要的数量,保存,用文本编辑器打开,
  5. 另存为utf-8编码,使用事件脚本导入数据,运行后不要保存,关闭编辑器后再打开。
  6. PG_WRITE_DATA::input_items

  7. 3.使用下面的脚本将怪物名放入道具名字和说明,运行后不要保存,关闭编辑器后再打开。
  8. PG_WRITE_DATA::alter_items
  9. =end
  10. module PG_WRITE_DATA
  11.   #--------------------------------------------------------------------------
  12.   # ● Items
  13.   #--------------------------------------------------------------------------
  14.   def self.output_items
  15.     ret = ""
  16.     $data = load_data("Data/Items.rvdata2")
  17.       ret += "id"
  18.       ret += "|"+ "name"
  19.       ret += "|"+ "icon_index"
  20.       ret += "|"+ "description"
  21.       ret += "|"+ "price"
  22.       ret += "|"+ "itype_id"
  23.       ret += "|"+ "consumable"
  24.       ret += "|"+ "scope"
  25.       ret += "|"+ "occasion"
  26.       ret += "|"+ "speed"
  27.       ret += "|"+ "success_rate"
  28.       ret += "|"+ "repeats"
  29.       ret += "|"+ "hit_type"
  30.       ret += "|"+ "animation_id"
  31.       ret += "|"+ "damage.type"
  32.       ret += "|"+ "damage.element_id"
  33.       ret += "|"+ "damage.formula"
  34.       ret += "|"+ "damage.variance"
  35.       ret += "|"+ "damage.critical"
  36.       ret += "|"+ "effects"
  37.     for i in 1..$data.size
  38.       break if $data[i] == nil
  39.       ret += "\n" + $data[i].id.to_s
  40.       ret += "|"+ $data[i].name
  41.       ret += "|"+ $data[i].icon_index.to_s
  42.       $data[i].description.gsub!("\r\n", "*r*n")
  43.       ret += "|"+ $data[i].description        #因为有换行麻烦,所以删去
  44.       ret += "|"+ $data[i].price.to_s
  45.       ret += "|"+ $data[i].itype_id.to_s
  46.       ret += "|"+ $data[i].consumable.to_s
  47.       ret += "|"+ $data[i].scope.to_s
  48.       ret += "|"+ $data[i].occasion.to_s
  49.       ret += "|"+ $data[i].speed.to_s
  50.       ret += "|"+ $data[i].success_rate.to_s
  51.       ret += "|"+ $data[i].repeats.to_s
  52.       ret += "|"+ $data[i].hit_type.to_s
  53.       ret += "|"+ $data[i].animation_id.to_s
  54.       ret += "|"+ $data[i].damage.type.to_s
  55.       ret += "|"+ $data[i].damage.element_id.to_s
  56.       ret += "|"+ $data[i].damage.formula.to_s
  57.       ret += "|"+ $data[i].damage.variance.to_s
  58.       ret += "|"+ $data[i].damage.critical.to_s
  59.       ret += "|["
  60.       if $data[i].effects.size>0
  61.         for j in 0...$data[i].effects.size
  62.           ret += "["+ $data[i].effects[j].code.to_s
  63.           ret += ","+ $data[i].effects[j].data_id.to_s
  64.           ret += ","+ $data[i].effects[j].value1.to_s
  65.           ret += ","+ $data[i].effects[j].value2.to_s
  66.           ret += "],"
  67.         end
  68.       end
  69.       ret += "],"
  70.     end
  71.     File.open("Items.txt", 'w') { |file| file.write(ret) }
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   # ● Items
  75.   #--------------------------------------------------------------------------
  76.   def self.input_item
  77.     $data = load_data("Data/Items.rvdata2")
  78.     File.open("Items.csv", 'r') {|f|
  79.       @inFile = f
  80.       line = read_line
  81.       while [email protected]?
  82.         line = read_line
  83.         i = line[0].to_i
  84.         $data << RPG::Item.new if $data[i] == nil
  85.         $data[i].name = line[1]
  86.         $data[i].icon_index= line[2].to_i
  87.         line[3].gsub!("*r*n", "\r\n")
  88.         $data[i].description = line[3]
  89.         $data[i].price = line[4].to_i
  90.         $data[i].itype_id = line[5].to_i
  91.         $data[i].consumable = eval(line[6])
  92.         $data[i].scope = line[7].to_i
  93.         $data[i].occasion = line[8].to_i
  94.         $data[i].speed = line[9].to_i
  95.         $data[i].success_rate = line[10].to_i
  96.         $data[i].repeats = line[11].to_i
  97.         $data[i].hit_type = line[12].to_i
  98.         $data[i].animation_id = line[13].to_i
  99.         $data[i].damage.type = line[14].to_i
  100.         $data[i].damage.element_id = line[15].to_i
  101.         $data[i].damage.formula = line[16]
  102.         $data[i].damage.variance = line[17].to_i
  103.         $data[i].damage.critical = eval(line[18])
  104.       end
  105.     }
  106.     save_data($data, "Data/Items.rvdata2")
  107.     SceneManager::exit
  108.   end
  109.   #--------------------------------------------------------------------------
  110.   # ● Items
  111.   #--------------------------------------------------------------------------
  112.   def self.alter_items
  113.     filename = "Data/Items.rvdata2"
  114.     $data = load_data(filename)
  115.     filename2 = "Data/Enemies.rvdata2"
  116.     $data2 = load_data(filename2)
  117.     for i in 1...$data2.size
  118.       break if $data[i*10+10]==nil
  119.       if $data2[i].size>0
  120.         10.times.do |j|
  121.           $data[i*10+j].name        = $data2[i].name + $data[i*10+j].name
  122.           $data[i*10+j].description = $data2[i].name+ $data[i*10+j].description
  123.         end
  124.       end
  125.     end
  126.     save_data($data, filename)
  127.     SceneManager::exit
  128.   end
  129. end
复制代码
未测试,看不懂就算了 ← ← 我懒得解释




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