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

Project1

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

默认战斗系统,在每个回合开始前恢复固定数值的SP

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2005-10-21
帖子
377
跳转到指定楼层
1
发表于 2008-2-1 05:57:13 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
为实现“在每个回合开始前恢复固定数值的SP”这一功能:
我是这样做的:
在Scene_Battle 2开头的
  def start_phase1
    # 转移到回合 1
    @phase = 1
    # 清除全体同伴的行动
    $game_party.clear_actions
    # 设置战斗事件
    setup_battle_event
  end
后追加
@active_battler.sp += 20

@active_battler.sp += @active_battler.maxsp * 0.20
时,在战斗测试时出现如下错误:
“SP”或“MAXSP”为空类,无法引用。

请教高人指点应如何修改?
版务信息:本贴由楼主自主结贴~
世界上没有英雄,所以我的故事里也没有勇者...
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

14
发表于 2008-2-3 19:59:38 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

13
发表于 2008-2-3 09:23:50 | 只看该作者
默认战斗系统我想应该把恢复固定数值的SP写为公共事件,然后在每个战斗事件里面调用(0X1回合)
回复 支持 反对

使用道具 举报

Lv5.捕梦者

御灵的宠物

梦石
12
星屑
8438
在线时间
88 小时
注册时间
2006-12-11
帖子
3148

第2届TG大赛亚军

12
发表于 2008-2-3 07:38:16 | 只看该作者
你不会用的是即时战斗吧?
我测试是己方全体角色命令完了才出现
我的Lofter:http://nightoye.lofter.com/

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2005-10-21
帖子
377
11
 楼主| 发表于 2009-6-12 08:00:00 | 只看该作者
回楼上的朋友:
$game_party.actors的确我也在这个功能里按您说的办法试验过了,效果是有,但是问题是效果出现的时间比较成问题:是在对己方第一个人物下达完指令后才会出现...
世界上没有英雄,所以我的故事里也没有勇者...
回复 支持 反对

使用道具 举报

Lv5.捕梦者

御灵的宠物

梦石
12
星屑
8438
在线时间
88 小时
注册时间
2006-12-11
帖子
3148

第2届TG大赛亚军

10
发表于 2008-2-3 03:35:44 | 只看该作者
不是这个问题
实际上我们的写法都是用$game_party.actors的数组作判断的。所以没有@active_battler应该不影响。关键就是加在那里才有效果而已
我加在你的地方ms不行……= =
我的Lofter:http://nightoye.lofter.com/

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2005-10-21
帖子
377
9
 楼主| 发表于 2008-2-3 03:25:56 | 只看该作者
感谢楼上几位的回答。
禾西朋友的写法无误,但是实际运行时没有任何效果出现...
水迭澜朋友提供的指点确实有效,但是实际运行的时候是在第一个角色行动指令下达后才能出现效果。
是否是默认RGSS在Scene_Battle 1时没有active_battler和actor,所以无法在那时候加?
世界上没有英雄,所以我的故事里也没有勇者...
回复 支持 反对

使用道具 举报

Lv5.捕梦者

御灵的宠物

梦石
12
星屑
8438
在线时间
88 小时
注册时间
2006-12-11
帖子
3148

第2届TG大赛亚军

8
发表于 2008-2-1 21:40:09 | 只看该作者
  def start_phase2里边加
    for actor in $game_party.actors
    actor.sp += 20
    end

LS的方法应该也可行吧-v-反正在处理完战斗执行判断之前或者之后加都一样-v-看你喜欢哪个了
@active_battler在清空以后会等于nil的……
我的Lofter:http://nightoye.lofter.com/

回复 支持 反对

使用道具 举报

Lv3.寻梦者

酱油的

梦石
0
星屑
1030
在线时间
2161 小时
注册时间
2007-12-22
帖子
3271

贵宾

7
发表于 2008-2-1 18:19:48 | 只看该作者
這樣寫才對
在Scene_Battle 4
#==============================================================================
# ■ Scene_Battle (分割定义 4)
#------------------------------------------------------------------------------
#  处理战斗画面的类。
#=========================================================================
  def start_phase4
    for i in 0...$game_party.actors.size
      actor = $game_party.actors
      actor.sp += 20
    end
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

6
发表于 2008-2-1 09:22:14 | 只看该作者
不是可以设置每个回合执行一次公共事件吗
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 09:33

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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