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

Project1

 找回密码
 注册会员
搜索
查看: 1786|回复: 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华丽大赛新人奖

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

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2005-10-21
帖子
377
3
 楼主| 发表于 2008-2-1 07:11:48 | 只看该作者
回楼上,我把
@active_battler.sp += 20

@active_battler.sp += @active_battler.maxsp * 0.20
移动到
Scene_Battle 3的start_phase2后,依然还是报同样错误。
这个是不是其他地方还有什么不对的地方?我没有使用其他现成脚本,也没有做任何其他改动。
世界上没有英雄,所以我的故事里也没有勇者...
回复 支持 反对

使用道具 举报

Lv1.梦旅人

不画画就死星人

梦石
0
星屑
164
在线时间
1818 小时
注册时间
2007-6-14
帖子
3219
4
发表于 2008-2-1 07:14:38 | 只看该作者
在Scene_Battle 4
#==============================================================================
# ■ Scene_Battle (分割定义 4)
#------------------------------------------------------------------------------
#  处理战斗画面的类。
#=========================================================================
class Scene_Battle
  #--------------------------------------------------------------------------
  # ● 开始主回合
  #--------------------------------------------------------------------------
  def start_phase4
后面这里添加试试,手头没有RM,我不能肯定,抱歉
渣绘关注慎重
[url=http://www.pixiv.net/member.php?id=1160389][color=DimGray]http://www.pixiv.net/member.php?id=1160389[/color][/url]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
8 小时
注册时间
2005-10-21
帖子
377
5
 楼主| 发表于 2008-2-1 08:00:32 | 只看该作者
谢谢楼上,我会去实验下,明天少后我会确认并回复。
世界上没有英雄,所以我的故事里也没有勇者...
回复 支持 反对

使用道具 举报

Lv1.梦旅人

风之塞尔达

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

贵宾

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

使用道具 举报

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
不做頭像做簽名,看我囧冏有神(多謝山人有情提供 )
回复 支持 反对

使用道具 举报

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/

回复 支持 反对

使用道具 举报

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大赛亚军

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

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-24 10:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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