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

Project1

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

[已经解决] 请问怎么调商店的设置

[复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
55 小时
注册时间
2013-6-27
帖子
45
跳转到指定楼层
1
发表于 2013-7-21 22:25:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 神秘来客 于 2013-7-22 19:21 编辑

我想要设置商店成这样:不买他的东西时退出商店事件就说不买看什么看;买的话,他就说谢谢惠顾。
就像囧魂里的商店设置一样。大家一定要帮帮我!

Lv1.梦旅人

梦石
0
星屑
196
在线时间
835 小时
注册时间
2012-9-16
帖子
1811
2
发表于 2013-7-22 10:05:56 | 只看该作者
恩,记得有句脚本可以用到的。。。我记得6R貌似有一个贴里讲到的。。。
好吧找到了...这不是什么脚本...只是一个帮助...看了也许会对LZ有帮助吧...

等会儿贴,我还有个方法是用事件,但是比较麻烦,进入商店前判定所持有哪些物品(如果游戏中的物品多的话那么...),然后是持有数量(通过变量...)...这样子就行了。

那个帮助(我没仔细看,不知道有没有关于物品种类和数量的那个):
  1. #  第一页

  2. #  消息
  3. # ●显示文章…
  4. #  √$game_message.texts.push(字符串) #显示字符串中的内容
  5. #  √$game_message.position = 0-2 #更改对话框位置(0 =>上, 1=>中, 2=>下)
  6. #  √$game_message.background = 0-2 #更改对话框背景(0 =>普通, 1=>图片, 2=>透明)
  7. #  √$game_message.face_name = 字符串 #为对话指定脸图,字符串表示脸图文件名
  8. #  √$game_message.face_index = 0-7 #指定脸图序号,通常为0-7
  9. # ●显示选择项…
  10. #  (有问题)$game_message.choice_start = 0-3 #指定选项起始行,配合显示文章使用
  11. #  (有问题)$game_message.choice_max = 0-3 #指定选项结束行
  12. # ●数值输入处理…
  13. #  (有问题)$game_message.num_input_variable_id = 系统变量编号 #输入数值存入的变量
  14. #  (有问题)$game_message.num_input_digits_max  = 1-9 #输入数值是几位数
  15. #  (有问题)变量 = Window_InputNumber.new(8) #开启输入数值窗口并保存至变量中

  16. #  游戏进程
  17. # ●开关控制…
  18. #  √$game_swicthes[整数] =  开关 #将系统开关打开/关闭
  19. # 将范围内批量开关打开/关闭
  20. #  √for k in 整数..整数
  21. #  √$game_swicthes[k] = 开关
  22. #  √end
  23. # ●变量操作…
  24. #  √$game_variables[整数] 运算符  选项 #设定指定编号变量的值
  25. # 批量操作参考上面的用法
  26. #  运算符: 代入 = 加法 += 减法 -= 乘法 *= 除法 /= 取余 %= 乘方 **=
  27. #  选项:
  28. #  常数 整数
  29. #  变量 $game_variables[整数]
  30. #  随机 下限 + rand(上限 - 下限 + 1)
  31. #  物品 $game_party.item_number($data_items[物品ID])
  32. #  角色 $game_actors[角色ID].后缀
  33. #  等级level
  34. #  经验exp
  35. #  生命hp
  36. #  魔法mp            
  37. #  生命上限  hpmax
  38. #  魔法上限mpmax
  39. #  攻击力atk
  40. #  防御力def
  41. #  精神力spi
  42. #  敏捷性 agi
  43. #  敌人 $game_troop.members[敌人ID].后缀 #参考角色后缀,这里的敌人ID指的是战斗画面中敌人编号,而不是敌人类型ID
  44. #  位置 √$game_map.events[事件ID].后缀 #当前事件为@event_id,其他在事件编辑界面查看
  45. #  √$game_player.后缀  #主角
  46. #  X坐标 x #以网格为单位
  47. #  Y坐标 y
  48. #  面向 direction
  49. #  画面X坐标 screen_x #以像素为单位
  50. #  画面Y坐标 screen_y
  51. #  其他 #请参考下表
  52. #  地图ID  $game_map.map_id
  53. #  同伴总人数   $game_party.members.size
  54. #  步数   $game_party.steps
  55. #  金钱   $game_party.gold
  56. #  游戏总时间(秒)   Graphics.frame_count / Graphics.frame_rate #Graphics.frame_rate默认为60
  57. #  计时器剩余(秒)   $game_system.timer / Graphics.frame_rate
  58. #  存档次数   $game_system.save_count

  59. # ●独立开关操作…
  60. #  √$game_self_switches[[地图编号,事件编号,"A"]] =开关
  61. # 使用@map_id表示当前地图,@event_id表示当前事件
  62. # ●计时器操作…
  63. #  开始
  64. #  $game_system.timer = 需要的秒数;$game_system.timer_working = true
  65. #  停止
  66. #  $game_system.timer_working = false

  67. #  控制自动显示
  68. # ●条件分歧…
  69. #  √if <条件表达式> then
  70. #  <满足条件的执行语句>
  71. #  √else #可以去掉这两行,相当于不勾选“当条件不符合的场合时的设置”
  72. #  <其他情况的执行语句>
  73. #  √end
  74. #  ◆ 第1页
  75. #  开关 $game_swicthes[开关ID] == true/false #ON/OFF
  76. #  变量 game_variables[变量ID] 比较运算符 整数或变量
  77. #  比较运算符: 相等 == 以上 >= 以下 <= 超过 > 未满 < 不等 !=
  78. #  独立开关 $game_self_switches[[地图编号,事件编号,"A"]] == 开关
  79. #  计时器 $game_system.timer #注意单位为帧(每秒60帧)
  80. #  ◆ 第2页
  81. #  在队伍时   $game_party.members.include?( $game_actor[角色ID])
  82. #  名称为     $game_actor[角色ID].name == 字符串
  83. #  掌握技能   $game_actor[角色ID].skill_learn?( $data_skills[技能ID])
  84. #  装备武器   $game_actor[角色ID].weapons.include?( $data_weapons[武器ID])
  85. #  装备防具   $game_actor[角色ID].armors.include?( $data_skills[防具ID])
  86. #  拥有状态   $game_actor[角色ID].armors.state?(状态ID)
  87. #  ◆ 第3页
  88. #  敌人出现   $game_troop.members[敌人ID].exist?
  89. #  敌人拥有状态  $game_troop.members[敌人ID].state?(状态ID)
  90. #  事件朝向   $game_map.events[事件ID].direction == 方向
  91. #  乘坐工具   $game_player.vehicle_type == 工具ID
  92. #  ◆ 第4页
  93. #  所持金钱    $game_party.gold
  94. #  持有物品    $game_party.has_item?($data_items[物品ID])
  95. #  持有武器    $game_party.has_item?($data_weapons[武器ID], 含装备) #true为包含装备品
  96. #  持有防具    $game_party.has_item?($data_armors[防具ID], 含装备) #true为包含装备品
  97. #  按下按键    Input.press?(按键ID) == 真假

  98. # ●循环…
  99. #  while  end
  100. #  for   in   end 语句
  101. #  loop do   end 语句能实现相关效果,请看F1
  102. # ●中断循环…
  103. #  break
  104. # ●中断事件处理…
  105. #  Command_end
  106. # ●公共事件…
  107. #  $game_temp.common_event_id = 公共事件ID
  108. # ●标签…
  109. #  没有相关语句
  110. # ●跳转标签…
  111. #  没有相关语句,要是有goto就好了
  112. # ●注释…
  113. #  行首添加#注释符

  114. #  队伍
  115. # ●增减金钱…
  116. #  √$game_party.gain_gold(整数) #负数为减少金钱
  117. # ●增减物品…
  118. #  $game_party.gain_item($data_items[物品ID], 数量) #负数为减少物品
  119. # ●增减武器…
  120. #  $game_party.gain_item($data_weapons[武器ID], 数量, 含装备)
  121. # ●增减防具…
  122. #  $game_party.gain_item($data_armors[防具ID], 数量, 含装备)
  123. # ●队伍管理…
  124. #  初始化  $game_actors[角色ID].setup(角色ID)
  125. #  入队    $game_party.add_actor(角色ID)
  126. #  离队    $game_party.remove_actor(角色ID)

  127. #  角色
  128. #  全体角色的动作请用循环吧
  129. # ●增减HP…
  130. #  $game_actors[角色ID].hp += 数值
  131. #  $game_actors[角色ID].hp = 1 if $game_actors[角色ID].hp <= 0 #不允许濒死的设定
  132. # ●增减MP…
  133. #  $game_actors[角色ID].mp += 数值
  134. # ●更改状态…
  135. #  附加状态    $game_actors[角色ID].add_state(状态ID)
  136. #  移除状态    $game_actors[角色ID].remove_state(状态ID)
  137. # ●完全回复…
  138. #  $game_actors[角色ID].recover_all
  139. # ●增减经验…
  140. #  $game_actors[角色ID].change_exp($game_actors[角色ID].exp + 整数, 升级提示)
  141. # ●增减等级…
  142. #  $game_actors[角色ID].change_level($game_actors[角色ID].level + 整数, 升级提示)
  143. # ●增减能力值…
  144. #  $game_actors[角色ID].后缀 += 数值 #请参考 ●游戏进程 => 变量操作
  145. # ●增减特技…
  146. #  习得   $game_actors[角色ID].learn_skill(技能ID)
  147. #  遗忘   $game_actors[角色ID].forget_skill(技能ID)
  148. # ●更改装备…
  149. # 部位ID:武器(0) / 盾(1) / 头部(2) / 身体(3) / 饰品(4)
  150. #  $game_actors[角色ID].change_equip_by_id(部位ID, 装备ID)
  151. # ●更改名称…
  152. #  $game_actors[角色ID].name = 字符串
  153. # ●更改职业…
  154. #  $game_actors[角色ID].class_id = 职业ID

  155. #  第二页

  156. #  移动
  157. # ●场所移动…
  158. #  $game_player.reserve_transfer(地图ID, 坐标x, 坐标y, 朝向) #朝向0-3下左右上
  159. # ●设置交通工具位置…
  160. #  $game_map.boat.set_location(地图ID, 坐标x, 坐标y) #舟
  161. #  $game_map.ship.set_location(地图ID, 坐标x, 坐标y) #船
  162. #  $game_map.airship.set_location(地图ID, 坐标x, 坐标y) #飞艇
  163. # ●设置事件位置…
  164. #  $game_map.events[事件ID].moveto(坐标x, 坐标y)
  165. # ●画面卷动…
  166. #  $game_map.start_scroll(方向, 距离, 速度)
  167. # ●设置移动路线…
  168. #  这个很复杂
  169. # ●交通工具乘降…
  170. #  $game_player.get_on_off_vehicle

  171. #  角色
  172. # ●更改透明状态…
  173. #  $game_player.transparent = 布尔
  174. # ●显示动画…
  175. #  $game_map.events[事件ID].animation_id = 动画ID
  176. # ●显示心情…
  177. #  $game_map.events[事件ID].balloon_id = 动画ID
  178. # ●暂时消除事件…
  179. #  $game_map.events[事件ID].erase

  180. #  画面
  181. #  如果想调用战斗画面的相关动作,请将$game_map改为$game_troop
  182. # ●画面淡出…
  183. #  $game_map.screen.start_fadeout(持续帧数)
  184. # ●画面淡入…
  185. #  $game_map.screen.start_fadein(持续帧数)
  186. # ●更改画面色调…
  187. #  $game_map.screen.start_tone_change(Tone.new(R,G,B,A), 持续帧数, 是否等待)
  188. # ●画面闪烁…
  189. #  $game_map.screen.start_flash(Tone.new(R,G,B,A), 持续帧数, 是否等待)
  190. # ●画面震动…
  191. #  $game_map.screen.start_shake(Tone.new(R,G,B,A), 持续帧数, 是否等待)

  192. #  等待
  193. # ●等待…
  194. #  @wait_count = 帧数

  195. #  图片与天气
  196. # ●显示图片…
  197. #  $game_map.screen.pictures[图片ID].show(图片文件名, 左上origin中心center, 原点x, 原点y, 水平缩放, 垂直缩放, 透明度, 合成方式)
  198. # ●移动图片…
  199. #  $game_map.screen.pictures[图片ID].move (持续帧数, 左上origin中心center, 原点x, 原点y, 水平缩放, 垂直缩放, 透明度, 合成方式, 是否等待)

  200. # ●旋转图片…
  201. #  $game_map.screen.pictures[图片ID].route(旋转速率)
  202. # ●更改图片色调…
  203. #  $game_map.screen.pictures[图片ID].start_tone_change(Tone.new(R,G,B,A), 持续帧数, 是否等待)
  204. # ●消除图片…
  205. #  $game_map.screen.pictures[图片ID].erase
  206. # ●天气设置…
  207. #  $game_map.screen.pictures(天气类型0-3, 强度0-9, 持续帧数, 是否等待) #天气类型为无、雨、风、雷

  208. #  音乐与音效
  209. # ●播放BGM…
  210. #  Audio.bgm_play("Audio/BGM/" + "文件名", 音量, 节奏)
  211. # ●淡出BGM…
  212. #  RPG::BGM.fade(秒数 * 1000)
  213. #  停止  Audio.bgm_stop
  214. # ●播放BGS…
  215. #  Audio.bgs_play("Audio/BGS/" + "文件名", 音量, 节奏)
  216. # ●淡出BGS…
  217. #  RPG::BGS.fade(秒数 * 1000)
  218. #  停止  Audio.bgs_stop
  219. # ●播放ME…
  220. #  Audio.me_play("Audio/ME/" + "文件名", 音量, 节奏)
  221. #  淡出  RPG::ME.fade(秒数 * 1000)
  222. # ●播放SE…
  223. #  Audio.se_play("Audio/SE/" + "文件名", 音量, 节奏)
  224. #  Sound.play_文件名
  225. # ●停止所有SE…
  226. #  RPG::SE.stop
  227. #  Audio.se_stop
  228. #  扩展阅读:
  229. #  Audio.bgm/bgs/me/se_play(文件名(含路径), 音量, 节奏)
  230. # 这个语句还可以用于将BGM作为SE播放,甚至可以新建目录存放音乐文件来播放

  231. #  第三页

  232. #  场景控制

  233. # ●战斗处理…
  234. #  $game_troop.setup(敌人队伍ID)
  235. #  $game_troop.can_escape = 布尔 #是否能逃跑
  236. #  $game_troop.can_lose = 布尔 #战斗失败后继续
  237. #  $game_temp.battle_proc = Proc.new { |n| @branch[@indent] = n }
  238. #  $game_temp.next_scene = "battle"
  239. # ●商店处理…
  240. #  (有问题)$game_temp.next_scene = "shop"
  241. #  (有问题)$game_temp.shop_goods = [物品类型,物品ID] #物品类型为0道具1武器2防具
  242. #  (有问题)$game_temp.shop_goods.push([物品类型,物品ID]) #往列表添加一个物品
  243. #  (有问题)$game_temp.shop_purchase_only = 布尔 #物品可否出售
  244. # ●名称输入处理…
  245. #  $game_temp.next_scene = "name"
  246. #  $game_temp.name_actor_id = 角色ID
  247. #  $game_temp.name_max_char = 最大字符数
  248. # ●打开菜单画面…
  249. #  $game_temp.next_scene = "menu"
  250. #  $game_temp.menu_beep = false #是否播放打开菜单音效
  251. # ●打开存档画面…
  252. #  $game_temp.next_scene = "save"
  253. # ●游戏结束…
  254. #  $game_temp.next_scene = "gameover"
  255. # ●返回标题画面…
  256. #  $game_temp.next_scene = "title"
  257. #  扩展阅读:
  258. #  将$game_temp.next_scene = 项目名:"item"物品菜单,"skill"技能菜单,"equip"装备菜单"status"
  259. #  也可以使用以下语法:
  260. #  $scene = Scene_项目名.new
  261. #  另外存读档的语句:
  262. #  $scene = Scene_File.new(存读,返回标题,返回地图) #第一个参数true为存档,false为读档,第二个参数为true则结束后返回标题画面,第三个参数为true则返回地图画面,如果二、三都为false则返回菜单画面。

  263. #  系统设置

  264. # ●更改战斗BGM…
  265. #  $game_system.battle_bgm = 文件名
  266. # ●更改战斗结束ME…
  267. #  $game_system.battle_end_me =文件名
  268. # ●启用/禁用存档…
  269. #  $game_system.save_disabled = 布尔
  270. # ●启用/禁用菜单…
  271. #  $game_system.menu_disabled =布尔
  272. # ●允许/禁止遇敌…
  273. #  $game_system.encounter_disabled =布尔
  274. # ●更改角色图形…
  275. #  $game_actors[角色ID].set_graphic(行走图文件名,序号,脸图文件名,序号)
  276. #  $game_player.refresh #记得刷新显示
  277. # ●更改交通工具图形…
  278. #  $game_map.boat/ship/airship.set_graphic(行走图文件名, 序号)


  279. #  脚本

  280. #  eval(script)

  281. #  战斗事件

  282. # ●更改敌人HP…
  283. #  $game_troop.members[敌人ID].hp += 整数
  284. # ●更改敌人MP…
  285. #  $game_troop.members[敌人ID].mp += 整数
  286. # ●更改敌人状态…
  287. #  $game_troop.members[敌人ID].add_state(状态ID)
  288. # ●敌人完全回复…
  289. #  $game_troop.members[敌人ID].recover_all
  290. # ●敌人出现…
  291. #  $game_troop.members[敌人ID]. hidden = false
  292. #  $game_troop.make_unique_names #重名重命名
  293. # ●敌人变身…
  294. #  $game_troop.members[敌人ID].transform(变身后ID)
  295. #  $game_troop.make_unique_names #重名重命名
  296. # ●战斗动画显示…
  297. #  $game_troop.members[敌人ID] .animation_id = 动画ID
  298. #  $game_actor[角色ID] .animation_id = 动画ID
  299. # ●强制战斗指令…
  300. #  这个很复杂,就不写了
  301. # ●战斗中断…
  302. #  $game_temp.next_scene = "map"
复制代码

点评

有毛用啊  发表于 2013-7-22 12:32

——旧坑欢迎戳
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
869 小时
注册时间
2009-3-13
帖子
782
3
发表于 2013-7-22 13:30:51 | 只看该作者
将下面的脚本插入main前
  1. #==============================================================================
  2. # ■ Scene_Shop
  3. #------------------------------------------------------------------------------
  4. #  处理商店画面的类。
  5. #==============================================================================

  6. class Scene_Shop < Scene_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 开始处理
  9.   #--------------------------------------------------------------------------
  10.   alias old_start start
  11.   def start
  12.     old_start
  13.     $game_switches[X] = false
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # ● 确认数值输入
  17.   #--------------------------------------------------------------------------
  18.   alias old_decide_number_input decide_number_input
  19.   def decide_number_input
  20.     old_decide_number_input
  21.     case @command_window.index
  22.     when 0  # 买入
  23.       $game_switches[X] = true
  24.     end
  25.   end
  26. end
复制代码
$game_switches[X]中的X是开关的编号。
商店结束之后用一个条件分歧,如果开关X打开了,那么说明买了东西,如果没有打开说明没买。
当然,在这个脚本中,卖出东西不算买东西= =

评分

参与人数 2星屑 +50 梦石 +1 收起 理由
Password + 50 马克
怪蜀黍 + 1 非常好的思路,发卡鼓励了

查看全部评分

我的寒假活动作品:http://rpg.blue/forum.php?mod=viewthread&tid=281065
咱的龙蛋,求点击:
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
55 小时
注册时间
2013-6-27
帖子
45
4
 楼主| 发表于 2013-7-22 16:26:59 | 只看该作者
认真的学 发表于 2013-7-22 13:30
将下面的脚本插入main前$game_switches[X]中的X是开关的编号。
商店结束之后用一个条件分歧,如果开关X打开 ...

呃~你有示范工程吗?这样我才能搞得懂一些,多谢了。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
869 小时
注册时间
2009-3-13
帖子
782
5
发表于 2013-7-22 16:38:14 | 只看该作者
好吧= =感觉我还是说得不够明白么= =
Project3.rar (237.83 KB, 下载次数: 66)

点评

那个……P叔说不要让提问者自己改标签,只要让提问者自己把认可的答案置顶就好了,这样更容易发奖励。  发表于 2013-7-22 20:37
我的寒假活动作品:http://rpg.blue/forum.php?mod=viewthread&tid=281065
咱的龙蛋,求点击:
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
55 小时
注册时间
2013-6-27
帖子
45
6
 楼主| 发表于 2013-7-22 19:09:03 | 只看该作者
认真的学 发表于 2013-7-22 16:38
好吧= =感觉我还是说得不够明白么= =

太谢谢了!你真够哥们!貌似我们不是哥们。

点评

请将问题标签改为【已经解决】  发表于 2013-7-22 19:19
回复 支持 反对

使用道具 举报

Lv2.观梦者

会吐槽的画师

梦石
0
星屑
782
在线时间
3431 小时
注册时间
2011-6-10
帖子
6535
7
发表于 2013-7-22 20:19:23 | 只看该作者
商店前判断金钱,商店后再判断,然后:不买你看什么看!

点评

汗!你见过商店里有白送的吗!还有那个“买进卖出一样,概率多少啊!”,斜眼……  发表于 2013-7-25 15:30
实际上这不够准确。可能玩家即买东西又卖东西,金钱刚好和进商店前相等就判断错了。  发表于 2013-7-25 15:14
↓真的很想吐槽你  发表于 2013-7-25 15:06
...汗,如果有物品价钱是0元的呢  发表于 2013-7-23 14:36
长名公主玩家群:372588926 攻略娱乐应有尽有
了解更多新RM游戏,游戏制作请加入RPGmaker支援群:113622890
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-23 02:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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