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

Project1

 找回密码
 注册会员
搜索
楼主: zhong
打印 上一主题 下一主题

[RMVX发布] VX半即时战斗系统1.03b版(拉尔夫战记的产物)

 关闭 [复制链接]

Lv1.梦旅人

雷欧纳德的宠物

梦石
0
星屑
50
在线时间
769 小时
注册时间
2006-8-6
帖子
3778

贵宾

21
发表于 2008-8-8 02:44:37 | 只看该作者
打酱油的- -b
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-8-3
帖子
976
22
发表于 2008-8-8 04:34:10 | 只看该作者
以下引用zhong于2008-7-31 17:19:10的发言:


以下引用zh99998于2008-7-31 7:26:11的发言:

你可以开个虚拟机,给他划分386M的内存,然后本机开点占CPU的东西,在测试掉不掉FPS

话说我的电脑AMD4400+,2G内存,只要没BUG全是60FPS,测试也相当麻烦


嗯...这个比较麻烦....因为在我这现在整个过程都是保持在60左右....无法得知哪里是掉帧的关键.....开虚拟机吧....也有想过,不过貌似虚拟机只在学校机房碰过一次.....不知道装系统什么麻不麻烦....因为硬盘空间也不多了.....再看看吧....



装系统倒不是很麻烦,主要是硬盘空间占很多。。。
以前做LINUX实验的时候想去给本本装一个虚拟机后来应为硬盘爆满放弃了。。。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-8-3
帖子
976
23
发表于 2008-8-8 05:08:17 | 只看该作者
请问如何才能加上状态改变的动画,

比如用个技能获得一种状态以后,身上显示 获得状态名称(要是能和数据库中定义的获得状态说明就更好了)

状态消失以后身上显示 XXX消失

这样要怎么改脚本?

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
22 小时
注册时间
2006-4-22
帖子
370
24
 楼主| 发表于 2008-8-10 02:26:07 | 只看该作者
以下引用drgdrg于2008-8-7 21:08:17的发言:
<br><script language="javascript">
<!--
strCont="请问如何才能加上状态改变的动画,\r\n\r\n比如用个技能获得一种状态以后,身上显示 获得状态名称(要是能和数据库中定义的获得状态说明就更好了)\r\n\r\n状态消失以后身上显示 XXX消失\r\n\r\n这样要怎么改脚本?\r\n\r\n";
document.write(ubb.spbShowTopic(strCont,1));
//-->
</script>请问如何才能加上状态改变的动画,<br>
<br>
比如用个技能获得一种状态以后,身上显示 获得状态名称(要是能和数据库中定义的获得状态说明就更好了)<br>
<br>
状态消失以后身上显示 XXX消失<br>
<br>
这样要怎么改脚本?<br>
<br>

这个可以用显示伤害的方法来实现。。。。步骤如下:
在工程那个战斗脚本中找到class Game_Battler的
attr_accessor :slip_damage
  attr_accessor :auto_damage

这几句下加上个
attr_accessor :state_name

然后在其下的def initialize下加上@state_name = nil这句。。。
接下来在脚本中找到class Scene_CP这个类,找到以下这个判断下的语句


if battler.cp_turn == battler.maxcp
        battler.remove_states_auto unless battler.movable?
        battler.slip_damage_effect
        battler.do_auto_recovery if battler.is_a?(Game_Actor)
        battler.damage_pop = true if battler.slip_damage != 0 or battler.auto_damage != 0   
        battler.cp_turn = 0
      end  

改为
if battler.cp_turn == battler.maxcp
        #=================================
        last_st = battler.states
        #=================================
        battler.remove_states_auto unless battler.movable?
        battler.slip_damage_effect
        battler.do_auto_recovery if battler.is_a?(Game_Actor)
        #====================================
        if battler.states != last_st
          $scene.display_state_changes(battler)
        
        end
        #====================================
        battler.damage_pop = true if battler.slip_damage != 0 or battler.auto_damage != 0
        battler.cp_turn = 0
      end  


接下来在脚本中找到class Scene_Battle < Scene_Base 这个类,在当中添加以下这个方法,


#============================================
  #★伤害变化显示
  #============================================
   def display_state_changes(target,obj = nil)
     for state in target.added_states
       if state.id == 1                      # 不能战斗
        target.perform_collapse
         return
       end
       target.damage_pop = true if state != nil
       target.state_name = state.name if state.id != 1 #战斗不能不显示
      
       update_basic
     
     end
     for state in target.removed_states
       target.damage_pop = true if state != nil
       target.state_name = "解除" + state.name if state.id != 1 #复活时不显示
       update_basic
     end  
      
  end


最后在脚本中找到class Sprite_Battler < Sprite_Base这个类,找到这个语句段

if @battler.damage_pop and not (@battler.collapse or @battler.hidden)
      if @battler.damage != nil
        s_1 = @battler.damage > 0 ? 0 : 1
        @battler.damage = @battler.damage > 0 ? [email protected] : @battler.damage
      end  
      
      damage(@battler.damage,@battler.critical,s_1) if @battler.damage != 0 and @battler.damage != nil
      damage(@battler.hp_damage,@battler.critical,0) if @battler.hp_damage != 0
      damage(@battler.mp_damage,@battler.critical,1) if @battler.mp_damage != 0
      damage("失误",@battler.critical) if @battler.missed
      damage("MISS",@battler.critical) if @battler.evaded
      damage(@battler.slip_damage - @battler.auto_damage,@battler.critical) if @battler.slip_damage != 0 or @battler.auto_damage != 0
      @battler.slip_damage = 0
      @battler.auto_damage = 0
      @battler.damage = nil
      @battler.damage_pop = false
    end

改为
if @battler.damage_pop and not (@battler.collapse or @battler.hidden)
      if @battler.damage != nil
        s_1 = @battler.damage > 0 ? 0 : 1
        @battler.damage = @battler.damage > 0 ? [email protected] : @battler.damage
      end  
      
      damage(@battler.damage,@battler.critical,s_1) if @battler.damage != 0 and @battler.damage != nil
      damage(@battler.hp_damage,@battler.critical,0) if @battler.hp_damage != 0
      damage(@battler.mp_damage,@battler.critical,1) if @battler.mp_damage != 0
      damage("失误",@battler.critical) if @battler.missed
      damage("MISS",@battler.critical) if @battler.evaded
      damage(@battler.slip_damage - @battler.auto_damage,@battler.critical) if @battler.slip_damage != 0 or @battler.auto_damage != 0
      #================================
      damage(@battler.state_name, @battler.critical) if @battler.state_name != nil
      @battler.state_name = nil
      #================================
      
      @battler.slip_damage = 0
      @battler.auto_damage = 0
      @battler.damage = nil
      @battler.damage_pop = false
    end


大概就搞定了。。。。
准备有空挖个坑玩玩..
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-8-3
帖子
976
25
发表于 2008-8-10 05:20:38 | 只看该作者
状态显示可以了,谢谢楼主,

楼主真是太厚道了~{/qiang}{/qiang}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
24 小时
注册时间
2008-5-22
帖子
10
26
发表于 2008-8-10 14:19:57 | 只看该作者
以下引用zhong于2008-8-5 14:26:22的发言:
<br><script language="javascript">
<!--
strCont="\r\n  [quote]以下引用dicksonh于2008-8-5 0:11:19的发言:\r\n\r\n請問有直版戰鬥的 即時戰鬥系統嗎  謝謝 \r\n
\r\n不知道你要的效果是不是战斗图直板排布....如果是的话...你直接在脚本中找到一下内容进行修改就好了...\r\n
#==========================================================================\r\n  #★定义角色战斗图 X 坐标\r\n  #==========================================================================\r\n  def screen_x\r\n   if self.index != nil\r\n    case index\r\n     when 0 \r\n      return 460\r\n     when 1\r\n      return 440\r\n     when 2\r\n      return 420\r\n     when 3\r\n      return 400\r\n    end  \r\n  else\r\n   return 0\r\n  end\r\n end \r\n  #========================================================================\r\n  #★定义角色战斗图 Y 坐标\r\n  #========================================================================\r\n  def screen_y\r\n    if self.index != nil\r\n      case index\r\n       when 0\r\n         return 245\r\n       when 1\r\n         return 215\r\n       when 2\r\n         return 185\r\n       when 3\r\n         return 155\r\n       end\r\n    else   \r\n    \r\n    return 230\r\n   end\r\n  end  \r\n  
\r\nwhen 0,1,2,3就是相对应的队中1,2,3,4号角色....修改下面的数值进行排布就可以了....至于敌人的直接在数据库中调整就是了.....";
document.write(ubb.spbShowTopic(strCont,1));
//-->
</script><br>
&nbsp;<blockquote class="CodeBorder">以下引用dicksonh于2008-8-5 0:11:19的发言:<br>
<br>
請問有直版戰鬥的 即時戰鬥系統嗎 &nbsp;謝謝 <br>
</blockquote><br>
不知道你要的效果是不是战斗图直板排布....如果是的话...你直接在脚本中找到一下内容进行修改就好了...<br>
<blockquote class="CodeBorder"> #==========================================================================<br>
&nbsp;#★定义角色战斗图 X 坐标<br>
&nbsp;#==========================================================================<br>
&nbsp;def screen_x<br>
&nbsp; <font color="#000099">if</font> self.index != nil<br>
&nbsp; &nbsp;case index<br>
&nbsp; &nbsp; when 0 <br>
&nbsp; &nbsp; &nbsp;<font color="#000099">return</font> 460<br>
&nbsp; &nbsp; when 1<br>
&nbsp; &nbsp; &nbsp;<font color="#000099">return</font> 440<br>
&nbsp; &nbsp; when 2<br>
&nbsp; &nbsp; &nbsp;<font color="#000099">return</font> 420<br>
&nbsp; &nbsp; when 3<br>
&nbsp; &nbsp; &nbsp;<font color="#000099">return</font> 400<br>
&nbsp; &nbsp;<font color="#000099">end</font> &nbsp;<br>
&nbsp;<font color="#000099">else</font><br>
&nbsp; <font color="#000099">return</font> 0<br>
&nbsp;<font color="#000099">end</font><br>
<font color="#000099">end</font> <br>
&nbsp;#========================================================================<br>
&nbsp;#★定义角色战斗图 Y 坐标<br>
&nbsp;#========================================================================<br>
&nbsp;def screen_y<br>
&nbsp; &nbsp;<font color="#000099">if</font> self.index != nil<br>
&nbsp; &nbsp; &nbsp;case index<br>
&nbsp; &nbsp; &nbsp; when 0<br>
&nbsp; &nbsp; &nbsp; &nbsp; <font color="#000099">return</font> 245<br>
&nbsp; &nbsp; &nbsp; when 1<br>
&nbsp; &nbsp; &nbsp; &nbsp; <font color="#000099">return</font> 215<br>
&nbsp; &nbsp; &nbsp; when 2<br>
&nbsp; &nbsp; &nbsp; &nbsp; <font color="#000099">return</font> 185<br>
&nbsp; &nbsp; &nbsp; when 3<br>
&nbsp; &nbsp; &nbsp; &nbsp; <font color="#000099">return</font> 155<br>
&nbsp; &nbsp; &nbsp; <font color="#000099">end</font><br>
&nbsp; &nbsp;<font color="#000099">else</font> &nbsp; <br>
&nbsp; &nbsp;<br>
&nbsp; &nbsp;<font color="#000099">return</font> 230<br>
&nbsp; <font color="#000099">end</font><br>
&nbsp;<font color="#000099">end</font> &nbsp;<br>
</blockquote><br>
when 0,1,2,3就是相对应的队中1,2,3,4号角色....修改下面的数值进行排布就可以了....至于敌人的直接在数据库中调整就是了.....

[/quote]


對不起 大大  我知道你真的好好人了  這麼快回複
那麼遊戲內定的那個第一身形態的直版戰鬥的即時系統
一直是我想要的  
可以只在原版遊戲中加CP條功能嗎? 太謝謝了~!!!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
46 小时
注册时间
2007-8-2
帖子
859
27
发表于 2008-8-14 20:59:58 | 只看该作者
以下引用zhong于2008-7-22 18:35:33的发言:

是升级提示的人物头像吗?这个应该不会吧.....

是选择道具适用对象时不会刷新
本人小博客,摸图进入
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
22 小时
注册时间
2006-4-22
帖子
370
28
 楼主| 发表于 2008-8-18 00:19:39 | 只看该作者
以下引用dicksonh于2008-8-10 6:19:57的发言:
對不起 大大  我知道你真的好好人了  這麼快回複
那麼遊戲內定的那個第一身形態的直版戰鬥的即時系統
一直是我想要的  
可以只在原版遊戲中加CP條功能嗎? 太謝謝了~!!!

嗯..这个改起来有点繁琐....有空帮你做一下吧....不过最近忙着看奥运可能没什么时间碰电脑.....可能要等.....呵呵~~~~
以下引用yooucs于2008-8-14 12:59:58的发言:


以下引用zhong于2008-7-22 18:35:33的发言:

是升级提示的人物头像吗?这个应该不会吧.....


是选择道具适用对象时不会刷新

嗯...这个现在在这个版本改回来了.....其实以前发现过的了...不过忘了改....
准备有空挖个坑玩玩..
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-1-25
帖子
44
29
发表于 2008-8-19 20:17:46 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-8-3
帖子
976
30
发表于 2008-8-20 01:28:23 | 只看该作者
以下引用john0420于2008-8-19 12:17:46的发言:

楼主,我之前已经使用您的横版战斗1.01 了,而且游戏设计的有一段时间了。现在临时想要改成1.02a的方式,不知怎么改。可以指导一下吗?谢谢。


现在的范例工程里面LZ已经给出更新补丁了,

就在MAIN脚本下面,你拷到MAIN上面,应该就行了吧
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-25 12:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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