Project1

标题: 怎样控制在商店卖的东西? [打印本页]

作者: xcqxhb2011    时间: 2011-8-8 16:15
标题: 怎样控制在商店卖的东西?
我发现虽然可以设定商店只买什么,但是玩家卖的时候是没有限制的,要怎样做成武器店只接受武器,药店只接受药剂的效果?
(只用事件好像不行啊……只能改脚本了,可是我不会……)dsu_plus_rewardpost_czw
作者: 亿万星辰    时间: 2011-8-8 16:44
本帖最后由 亿万星辰 于 2011-8-8 16:52 编辑

这个要修改脚本 Window_ShopSell

  1.   # 控制变量的ID号  设置对应变量的值为0时为默认商店,1为只卖物品,2为只卖武器,3为只卖防具首饰
  2.   ShopType_VID = 1
  3.   #--------------------------------------------------------------------------
  4.   # ● 刷新
  5.   #--------------------------------------------------------------------------
  6.   def refresh
  7.     if self.contents != nil
  8.       self.contents.dispose
  9.       self.contents = nil
  10.     end
  11.     @data = []
  12.     if $game_variables[ShopType_VID] == 0 or $game_variables[ShopType_VID] == 1
  13.       for i in 1...$data_items.size
  14.         if $game_party.item_number(i) > 0
  15.           @data.push($data_items[i])
  16.         end
  17.       end
  18.     end
  19.     if $game_variables[ShopType_VID] == 0 or $game_variables[ShopType_VID] == 2
  20.       for i in 1...$data_weapons.size
  21.         if $game_party.weapon_number(i) > 0
  22.           @data.push($data_weapons[i])
  23.         end
  24.       end
  25.     end
  26.     if $game_variables[ShopType_VID] == 0 or $game_variables[ShopType_VID] == 3
  27.       for i in 1...$data_armors.size
  28.         if $game_party.armor_number(i) > 0
  29.           @data.push($data_armors[i])
  30.         end
  31.       end
  32.     end
  33.     # 如果项目数不是 0 就生成位图、描绘全部项目
  34.     @item_max = @data.size
  35.     if @item_max > 0
  36.       self.contents = Bitmap.new(width - 32, row_max * 32)
  37.       for i in 0...@item_max
  38.         draw_item(i)
  39.       end
  40.     end
  41.   end
复制代码
大致写了一下,应该是这么回事……
作者: xcqxhb2011    时间: 2011-8-8 23:18
亿万星辰 发表于 2011-8-8 16:44
这个要修改脚本 Window_ShopSell大致写了一下,应该是这么回事……

不行啊……我不知道粘贴在哪?(额……)试了,没用啊……我做了一个实验工程,5个商人NPC,分别:+1000G(不然没钱……)、武器、防具、药、特殊道具,你改了再给我吧…… Project2.rar (856.72 KB, 下载次数: 19)
作者: 亿万星辰    时间: 2011-8-9 07:19
修改脚本 Window_ShopSell

一开始说了嘛,要修改这个脚本,把对应的方法换掉就好了~
或者直接新插入一段脚本
class Window_ShopSell
# 2楼的脚本内容
end

你改了再给我吧……  

不要做伸手党哦~

作者: xcqxhb2011    时间: 2011-8-9 09:45
亿万星辰 发表于 2011-8-9 07:19
一开始说了嘛,要修改这个脚本,把对应的方法换掉就好了~
或者直接新插入一段脚本
class Window_ShopSell

我之前就是这么粘上去的,可是不行啊?还是啥都能卖啊……我不是故意当伸手党的,实在不会……
作者: 亿万星辰    时间: 2011-8-9 12:35
你你肯定没注意到这句话:# 控制变量的ID号  设置对应变量的值为0时为默认商店,1为只卖物品,2为只卖武器,3为只卖防具首饰
作者: xcqxhb2011    时间: 2011-8-9 15:20
还是不行啊……
这是脚本列表:

“卖”的脚本:
  1. class Window_ShopSell
  2. # 2楼的脚本内容
  3. # 控制变量的ID号  设置对应变量的值为0时为默认商店,1为只卖物品,2为只卖武器,3为只卖防具首饰
  4.   ShopType_VID = 1
  5.   #--------------------------------------------------------------------------
  6.   # ● 刷新
  7.   #--------------------------------------------------------------------------
  8.   def refresh
  9.     if self.contents != nil
  10.       self.contents.dispose
  11.       self.contents = nil
  12.     end
  13.     @data = []
  14.     if $game_variables[ShopType_VID] == 0 or $game_variables[ShopType_VID] == 1
  15.       for i in 1...$data_items.size
  16.         if $game_party.item_number(i) > 0
  17.           @data.push($data_items[i])
  18.         end
  19.       end
  20.     end
  21.     if $game_variables[ShopType_VID] == 0 or $game_variables[ShopType_VID] == 2
  22.       for i in 1...$data_weapons.size
  23.         if $game_party.weapon_number(i) > 0
  24.           @data.push($data_weapons[i])
  25.         end
  26.       end
  27.     end
  28.     if $game_variables[ShopType_VID] == 0 or $game_variables[ShopType_VID] == 3
  29.       for i in 1...$data_armors.size
  30.         if $game_party.armor_number(i) > 0
  31.           @data.push($data_armors[i])
  32.         end
  33.       end
  34.     end
  35.     # 如果项目数不是 0 就生成位图、描绘全部项目
  36.     @item_max = @data.size
  37.     if @item_max > 0
  38.       self.contents = Bitmap.new(width - 32, row_max * 32)
  39.       for i in 0...@item_max
  40.         draw_item(i)
  41.       end
  42.     end
  43.   end
  44. end
复制代码
Window_ShopSell里的代码改成默认的了在武器NPC里我加了一句脚本
ShopType_VID = 2
不知道是不是写错了,还是不行……





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