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

Project1

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

[已经解决] 怎样控制在商店卖的东西?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
48
在线时间
35 小时
注册时间
2011-7-16
帖子
36
跳转到指定楼层
1
发表于 2011-8-8 16:15:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我发现虽然可以设定商店只买什么,但是玩家卖的时候是没有限制的,要怎样做成武器店只接受武器,药店只接受药剂的效果?
(只用事件好像不行啊……只能改脚本了,可是我不会……)

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

2
发表于 2011-8-8 16:44:29 | 只看该作者
本帖最后由 亿万星辰 于 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
复制代码
大致写了一下,应该是这么回事……
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
35 小时
注册时间
2011-7-16
帖子
36
3
 楼主| 发表于 2011-8-8 23:18:33 | 只看该作者
亿万星辰 发表于 2011-8-8 16:44
这个要修改脚本 Window_ShopSell大致写了一下,应该是这么回事……

不行啊……我不知道粘贴在哪?(额……)试了,没用啊……我做了一个实验工程,5个商人NPC,分别:+1000G(不然没钱……)、武器、防具、药、特殊道具,你改了再给我吧…… Project2.rar (856.72 KB, 下载次数: 19)
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

4
发表于 2011-8-9 07:19:15 | 只看该作者
修改脚本 Window_ShopSell

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

你改了再给我吧……  

不要做伸手党哦~

点评

~~控制可以卖范围比较大,还可以细化到物品ID  发表于 2011-8-9 11:28
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
35 小时
注册时间
2011-7-16
帖子
36
5
 楼主| 发表于 2011-8-9 09:45:26 | 只看该作者
亿万星辰 发表于 2011-8-9 07:19
一开始说了嘛,要修改这个脚本,把对应的方法换掉就好了~
或者直接新插入一段脚本
class Window_ShopSell

我之前就是这么粘上去的,可是不行啊?还是啥都能卖啊……我不是故意当伸手党的,实在不会……

点评

在脚本项目的Window_ShopSell下面粘贴,main前面粘贴  发表于 2011-8-9 11:28
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

6
发表于 2011-8-9 12:35:15 | 只看该作者
你你肯定没注意到这句话:# 控制变量的ID号  设置对应变量的值为0时为默认商店,1为只卖物品,2为只卖武器,3为只卖防具首饰
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
35 小时
注册时间
2011-7-16
帖子
36
7
 楼主| 发表于 2011-8-9 15:20:49 | 只看该作者
还是不行啊……
这是脚本列表:

“卖”的脚本:
  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
不知道是不是写错了,还是不行……

点评

ShopType_VID是指操作的变量数- -如2的话则是说改变2号变量为1、2、3时不能卖其他东西之类的  发表于 2011-8-9 15:22
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 20:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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