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

Project1

 找回密码
 注册会员
搜索
查看: 2073|回复: 6

[讨论] [VA]关于事件为主限制玩家战斗使用道具的方法(不完美)

[复制链接]

Lv4.逐梦者 (版主)

漾夕☽星化残月☾

梦石
0
星屑
8447
在线时间
3845 小时
注册时间
2015-5-12
帖子
2076

剧作品鉴家

发表于 2015-9-17 09:52:24 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 御曹司 于 2015-9-17 10:34 编辑


相信很多玩家玩RPG都会玩命刷钱买药、然后BOSS就用拼命嗑药堆打过。
那样虽然实用不过我觉得那样趣味性太差、对玩家的耐心是折磨。
所以一直想着解决方法。后来在一款游戏中发现了不错的解决方法。、


具体来说就是一场战斗中每个角色只能“使用一次道具”。

首先、如下图1、用脚本把战斗的“道具”去掉。创建一个新技能类型“道具”


之后再如下设置
如下图2345


具体来说就是设置防具类型添加技能、设置技能产生效果并指引公共事件、
再用公共事件去掉该装备(道具)





不过这个不完美的方法是:
如果两个或者以上的角色装备了同样的“道具”、战斗中使用道具实际上道具将会按固定的顺序去掉、
而不是去掉使用者的道具...

我无法想出用事件解决的方法、请问大家有什么好方法吗
谢谢。。。

QQ截图20150917092634.png
QQ截图20150917092718.png
QQ截图20150917092740.png
QQ截图20150917092812.png
QQ截图20150917092825.png

评分

参与人数 1星屑 +300 收起 理由
恐惧剑刃 + 300 塞糖

查看全部评分

Lv3.寻梦者

梦石
0
星屑
3651
在线时间
825 小时
注册时间
2013-7-29
帖子
161

开拓者

发表于 2015-9-17 19:21:21 | 显示全部楼层
RUBY 代码复制
  1. module BattleManager
  2.   def self.battle_start
  3.     $game_system.battle_count += 1
  4.     $game_party.on_battle_start
  5.     $game_troop.on_battle_start
  6.     $game_troop.enemy_names.each do |name|
  7.       $game_message.add(sprintf(Vocab::Emerge, name))
  8.     end
  9.     if @preemptive
  10.       $game_message.add(sprintf(Vocab::Preemptive, $game_party.name))
  11.     elsif @surprise
  12.       $game_message.add(sprintf(Vocab::Surprise, $game_party.name))
  13.     end
  14.     for i in 1..4                 #这里可以
  15.       $game_variables[i] = 1      #用迭代
  16.     end                           #不太熟所以用for写了
  17.     wait_for_message
  18.   end
  19. end  
  20. class Scene_Battle < Scene_Base
  21.   alias on_item_ok_20150917 on_item_ok
  22.   def on_item_ok
  23.     on_item_ok_20150917
  24.     $game_variables[BattleManager.actor.index+1] -= 1 #index是0,所以从1号变量开始,可以改
  25.   end
  26.   alias on_item_cancel_20150917 on_item_cancel
  27.   def on_item_cancel
  28.     on_item_cancel_20150917
  29.     $game_variables[BattleManager.actor.index+1] += 1
  30.   end
  31. end
  32. class Window_ActorCommand < Window_Command
  33.   def add_item_command
  34.     @itsw = $game_variables[BattleManager.actor.index+1] == 0 ? false : true
  35.     add_command(Vocab::item, :item,@itsw)
  36.   end
  37. end


写了一个,你可以试试,是不是你要的效果。
应该是可以不占用变量的,我本想用数组的,但是没写成功。

评分

参与人数 1星屑 +200 收起 理由
恐惧剑刃 + 200 塞糖

查看全部评分

现在论坛上的少,有事联系
QQ:2287688663
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

漾夕☽星化残月☾

梦石
0
星屑
8447
在线时间
3845 小时
注册时间
2015-5-12
帖子
2076

剧作品鉴家

 楼主| 发表于 2015-9-17 22:34:04 | 显示全部楼层
dongdongdjh 发表于 2015-9-17 19:21
module BattleManager
  def self.battle_start
    $game_system.battle_count += 1

我一直在想事件解决方法、
非常感谢大大百忙之中给我写的脚本,,,,
这个是用来记录角色ID就能避免上面粉字解决的 方法了吗
那个...
可以详细说说这个的用法和用途吗(|||゚д゚)
我RUBY语言会的很少,,,
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3651
在线时间
825 小时
注册时间
2013-7-29
帖子
161

开拓者

发表于 2015-9-18 08:28:12 | 显示全部楼层
御曹司 发表于 2015-9-17 22:34
我一直在想事件解决方法、
非常感谢大大百忙之中给我写的脚本,,,,
这个是用来记录角色ID就能避免上面 ...

插main前就可以用,没什么设置的。我也没学过ruby,全靠看汉化版的F1.
现在论坛上的少,有事联系
QQ:2287688663
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

漾夕☽星化残月☾

梦石
0
星屑
8447
在线时间
3845 小时
注册时间
2015-5-12
帖子
2076

剧作品鉴家

 楼主| 发表于 2015-9-18 12:52:59 | 显示全部楼层
dongdongdjh 发表于 2015-9-18 08:28
插main前就可以用,没什么设置的。我也没学过ruby,全靠看汉化版的F1.

其实我还想知道(´゚Д゚`)
这个脚本的具体用途、以及其作用机理。。。

点评

我插进去并没有什么效果额。。。  发表于 2015-9-18 12:57
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3651
在线时间
825 小时
注册时间
2013-7-29
帖子
161

开拓者

发表于 2015-9-18 13:39:11 | 显示全部楼层
本帖最后由 dongdongdjh 于 2015-9-18 13:40 编辑
御曹司 发表于 2015-9-18 12:52
其实我还想知道(´゚Д゚`)
这个脚本的具体用途、以及其作用机理。。。


赋予每个战斗中的角色一个变量 初始值为1
点击物品选项 该值减1 如果取消则该值加1
不取消则1-1=0,
也就是说该角色使用一次物品后对应的变量变为0,则该角色的物品选项状态变为不激活,也就是不能点击状态。
每次战斗开始,重置变量为1。
不可能没效果啊。

点评

物品选项增加了状态判定,如果变量==0则状态不激活。  发表于 2015-9-18 13:44
现在论坛上的少,有事联系
QQ:2287688663
回复 支持 反对

使用道具 举报

Lv4.逐梦者

永久原子

梦石
18
星屑
175
在线时间
2054 小时
注册时间
2010-10-25
帖子
4226

开拓者

发表于 2015-9-22 18:49:46 | 显示全部楼层
哎哟!好长好复杂,技术含量太高,我先看看再说。
人不在了,有事烧纸。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-29 17:21

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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