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

Project1

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

[已经解决] 脚本冲突……有范例……

[复制链接]

Lv1.梦旅人

梦石
0
星屑
90
在线时间
357 小时
注册时间
2006-3-3
帖子
181
跳转到指定楼层
1
发表于 2015-10-22 13:58:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 duchen5779 于 2015-10-22 16:07 编辑

一个很古老的SIDEVIEW4.0,SLICK发布的。但是我一直在用,今天调试的时候,不知道为什么在SIDEVIEW5里加上一段“当1号角色用9号技能攻击敌人时顺便给自己加3号状态”之后,试验时报错,是和这个技能升级的脚本冲突,报错也是报这个脚本……


后来我又用这个SIDEVIEW的原始工程加的这个技能升级的脚本,加了那段“当1号角色用9号技能攻击敌人时顺便给自己加3号状态”,发现还是同样的错误,排除了其他脚本干扰的可能。
因为有一些天赋的设置需要攻击敌人的时候给本方加状态或者是干别的(给本方加属性就没事),我在想,喂,我一个加状态碍着你技能升级毛事啊……所以求大拿解惑。


附技能升级脚本:
RUBY 代码复制
  1. =begin
  2. 在可以升级的技能的备注栏里写上
  3. 下等级技能编号
  4. 升级经验
  5. 每次增加经验
  6. 下等级技能编号2
  7. 升级经验10
  8. 每次增加经验2
  9. =end
  10. class Game_Actor
  11.   MULTISKILLS = true#true时可以同时学会高等级技能和低等级技能,
  12.                     #false时候学会高等级技能后会遗忘低等级技能
  13.   alias supersetup setup
  14.   def setup(*args)
  15.     supersetup(*args)
  16.     @skillexp = {}
  17.   end
  18.   def addskillexp
  19.     return unless @action.skill.updatable?
  20.     @skillexp[@action.skill.id] = 0 if @skillexp[@action.skill.id].nil?
  21.     @skillexp[@action.skill.id] += @action.skill.eachexp
  22.     if @skillexp[@action.skill.id] >= @action.skill.maxexp
  23.       return if @skills.include?(@action.skill.nextskillid)
  24.       learn_skill(@action.skill.nextskillid)
  25.       forget_skill(@action.skill.id) unless MULTISKILLS
  26.       $game_message.new_page
  27.       text = "技能" + @action.skill.name + "升级"
  28.       $game_message.texts.push(text)
  29.       text = "学会" + $data_skills[@action.skill.nextskillid].name
  30.       $game_message.texts.push(text)
  31.     end
  32.   end
  33. end
  34. class Game_Enemy
  35.   def addskillexp
  36.   end
  37. end
  38. module RPG
  39.   class Skill
  40.     def updatable?
  41.       @note =~ /下等级技能编号(\d+)/
  42.       return !$1.nil?
  43.     end
  44.     def nextskillid
  45.       @note =~ /下等级技能编号(\d+)/
  46.       return $1.to_i
  47.     end
  48.     def maxexp
  49.       @note =~ /升级经验(\d+)/
  50.       return $1.to_i
  51.     end
  52.     def eachexp
  53.       @note =~ /每次增加经验(\d+)/
  54.       return $1.to_i
  55.     end
  56.   end
  57. end
  58. class Scene_Battle
  59.   alias superexecute_action_skill execute_action_skill
  60.   def execute_action_skill
  61.     superexecute_action_skill
  62.     @active_battler.addskillexp
  63.   end
  64. end


冲突的那段脚本为
RUBY 代码复制
  1. if user.is_a?(Game_Actor) and user.id == 1 and obj.is_a?(RPG::Skill) and obj.id == 9# 攻击对方给自己加状态
  2. user.add_state(3)    #1号角色施展9号技能,给自己加3号状态
  3. end


下附工程。
slick_CP整合公共版4.0ALPHA.rar (1.16 MB, 下载次数: 105)

Lv1.梦旅人

梦石
0
星屑
90
在线时间
357 小时
注册时间
2006-3-3
帖子
181
2
 楼主| 发表于 2015-10-25 10:13:13 | 只看该作者
没人吗。
回复 支持 反对

使用道具 举报

Lv2.观梦者

永无止境的旅程

梦石
0
星屑
503
在线时间
1552 小时
注册时间
2012-6-19
帖子
1226

开拓者贵宾

3
发表于 2015-11-6 00:40:57 | 只看该作者
脚本冲突这些问题是无法解决的,除非你重写兼容版的脚本
[url=https://rpg.blue/thread-389697-1-1.html]https://rpg.blue/https://rpg.blue/data/attachment/forum/201602/26/220128cfbxxs47xth4xkz4.jpg[/url]
<font size="5">[color=Green][url=https://rpg.blue/forum.php?mod=viewthread&tid=396208&extra=page%3D1][color=DeepSkyBlue]全新配套ACT系统,每周末一大更新,尽请期待。[/color][/url][/color]
回复 支持 反对

使用道具 举报

Lv2.观梦者

会吐槽的画师

梦石
0
星屑
782
在线时间
3431 小时
注册时间
2011-6-10
帖子
6535
4
发表于 2015-11-10 07:39:31 | 只看该作者
你这脚本不是独立的 要定义升级条件 要么就是你没写好技能备注栏
长名公主玩家群:372588926 攻略娱乐应有尽有
了解更多新RM游戏,游戏制作请加入RPGmaker支援群:113622890
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
90
在线时间
357 小时
注册时间
2006-3-3
帖子
181
5
 楼主| 发表于 2015-11-10 08:50:53 | 只看该作者
本帖最后由 duchen5779 于 2015-11-10 09:25 编辑
上贺茂润 发表于 2015-11-10 07:39
你这脚本不是独立的 要定义升级条件 要么就是你没写好技能备注栏


呃……备注肯定是没写错,如果不在SIDEVIEW里定义那句话的话,也不会出现问题……所以觉得还是哪里冲突了……
这个技能升级脚本其实是很喜欢的,简单又实用,而且也能扩展。

算了,忍痛放弃了,没想到冲突那么多,好像技能附带公共事件也冲突……
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

聪仔

梦石
0
星屑
6187
在线时间
3077 小时
注册时间
2013-12-26
帖子
3145
6
发表于 2015-11-10 13:13:04 | 只看该作者
Game_Battler下第470行
@action.clear
改成
@action.clear unless [3].include?(state_id)
其中3就是你附加给自己的状态ID,可以按需求改成别的...
如果是其它状态也需要用到状态法,还需要在[ ]里加上其它状态的ID,例如[3,4,10]等等...

评分

参与人数 1星屑 +100 收起 理由
Luciffer + 100 认可答案

查看全部评分

聪聪全国第三帅...
他们都叫我【人赢聪】
我的RM能力雷达图:

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
90
在线时间
357 小时
注册时间
2006-3-3
帖子
181
7
 楼主| 发表于 2015-11-12 10:44:58 | 只看该作者
本帖最后由 duchen5779 于 2015-11-12 12:09 编辑

感谢聪仔。另外还有一个问题,还是上面这个系统(单独开贴有点重复,就在这里了),技能里的公共事件,在一般的回合制战斗里是在技能施展之后立刻触发,但是在这个CP制里,是等到技能施展之后,敌我双方其他任何一个人该行动了(也就是这个人的CP满了),才触发,这样的话好多的技能公共事件的效果就有些滞后。
不求和技能同步,至少也得是技能施展之后立刻触发,然后CP再走吧,要不就搞得和下个人施展的似的。不知是哪里的问题,应该还是和SIDEVIEW本身有关,正在每个脚本试,但是还是少点头绪。不知道能不能给点启发。

PS:聪仔好像最近一个礼拜很有时间?经常能看见,福音啊。

自己找到解决办法了,在战斗技能的实行里
RUBY 代码复制
  1. # 取得公共事件
  2.     $game_temp.common_event_id = skill.common_event_id

   
这个地方的后面加上一句
RUBY 代码复制
  1. process_battle_event


测试后OK了,暂时不知道冲突,先这么来吧……

点评

没事刷刷VX区赚点糖...  发表于 2015-11-12 13:12
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-23 00:25

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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