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

Project1

 找回密码
 注册会员
搜索
查看: 223|回复: 8

[已经解决] ctb战斗系统怎么在技能里增加cp(以及若干问题)

[复制链接]

[动态]受到青鸫的挑战,被揍得晕头转向。 (打开TA的战斗卡片)

Lv2.观梦者

梦石
0
星屑
440
在线时间
47 小时
注册时间
2008-11-30
帖子
110
发表于 2018-12-2 21:47:58 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 a2523496 于 2018-12-2 22:01 编辑

ctb战斗是本站找到的cp制横版战斗 下面放工程
https://pan.baidu.com/s/1F4jTIDzcQ6jP_cBknQgaRw

我想了一个辅助技能:范围己方单体  接受方 actor.now_ct = 99 {100满了行动}
有什么办法让技能触发脚本内容呢?


另外还有一个问题 我想弄每次cp满100的时候 sp回复100
工程里 我是放在CTB超级横版战斗脚本的146行            actor.sp += 100
但是+100sp只在actor行动完之后才加的
是我添加的地方不对吗。。。



最后一个问题是怎么去掉逃跑
战斗选单时 按返回键不会有逃跑窗口也不会有任何反应

主要是这三个问题惹  因为问题不少所以想给帮忙解决问题的大佬发个小红包以表敬意
不然白白伸手不太好

[动态]受到zzc7295213的挑战,被揍得晕头转向。 (打开TA的战斗卡片)

Lv5.捕梦者

梦石
10
星屑
12854
在线时间
1178 小时
注册时间
2010-11-14
帖子
2811
发表于 2018-12-2 23:02:34 | 显示全部楼层
本帖最后由 KB.Driver 于 2018-12-3 08:20 编辑

慢慢来吧……目前实现了禁用“战斗 逃跑”这一窗口的功能
将下面这段代码插入就行

RUBY 代码复制打印
  1. class Scene_Battle
  2. #--------------------------------------------------------------------------
  3.   # ● 前のアクターのコマンド入力へ
  4.   #--------------------------------------------------------------------------
  5.   def phase3_prior_actor
  6.     # ループ
  7.     begin
  8.       # アクターの明滅エフェクト OFF
  9.       if @active_battler != nil
  10.         @active_battler.blink = false
  11.       end
  12.       # 最初のアクターの場合
  13.       if @actor_array_index <= 0
  14.         # アクターコマンドフェーズ開始
  15.         #==================================================================
  16.         #改了这里
  17.         #start_phase2
  18.         #return
  19.         @actor_index = -1
  20.     @active_battler = nil
  21.     # 有效化同伴指令窗口
  22.     @party_command_window.active = true
  23.     @party_command_window.visible = true
  24.     # 无效化角色指令窗口
  25.     @actor_command_window.active = false
  26.     @actor_command_window.visible = false
  27.     # 清除主回合标志
  28.     $game_temp.battle_main_phase = false
  29.     # 清除全体同伴的行动
  30.     $game_party.clear_actions
  31.     start_phase3
  32.     return
  33.  
  34.   #==================================================================
  35.   end
  36.       # アクターのインデックスを戻す
  37.       @actor_array_index -= 1
  38.       @actor_index = @pre_action_battlers[@actor_array_index].index
  39.       @active_battler = $game_party.actors[@actor_index]
  40.       @active_battler.blink = true
  41.       @active_battler.current_action.clear
  42.     # アクターがコマンド入力を受け付けない状態ならもう一度
  43.     end until @active_battler.inputable?
  44.     # アクターコマンドウィンドウをセットアップ
  45.     phase3_setup_command_window
  46.   end
  47. end


因为平时主要搞RGSS3,RGSS1这套东西看着不习惯(
写出来的东西比较搓……求别介意
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
分割线

经过一段时间的探索 提前加sp的功能也搞出来了
将下面这段代码插入就行

原理就是提前在ct快满的时候只增加1次SP,然后立刻更新窗口
(准备输入指令时就无法更新了)

RUBY 代码复制打印
  1. #已在下面更新


◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
分割线

增加CT的技能也做出来了
将下面这段代码插入就行

RUBY 代码复制打印
  1. class Scene_Battle
  2.  
  3.   #--------------------------------------------------------------------------
  4.   # ○ CT的计算
  5.   #--------------------------------------------------------------------------
  6.   def update_ct
  7.     # 在计算提高被许可的时候
  8.     if @countup
  9.  
  10.       for actor in $game_party.actors
  11.         # 是否能活动
  12.         if actor.movable? == false and actor.ct_visible and @phase4_step != 5
  13.           # 用看不见状态计算,并且有提高
  14.           actor.ct_visible = false
  15.           actor.countup = true
  16.           actor.full_ct = false
  17.         elsif actor.movable? and actor.ct_visible == false
  18.           # 解除看不见计算提高
  19.           clear_ct(actor)
  20.           actor.ct_visible = true
  21.         end
  22.         # アクターの入れ替えに対応
  23.         if actor.max_ct == 0
  24.           actor.max_ct = @max_ct
  25.         end
  26.         # アクターのカウントアップ
  27.         if actor.countup
  28.  
  29.           #==================================================================
  30.           if actor.now_ct > 0.9 * @max_ct #ct快要满了
  31.             ct_skip = PARA_CTB::CT_SKIP != 0 ? PARA_CTB::CT_SKIP : 1
  32.             inc = actor.current_action.speed * PARA_CTB::BATTLE_SPEED * ct_skip
  33.             if (actor.now_ct + inc >= @max_ct && @flag.nil?) #将要满了
  34.               actor.sp += 100
  35.               @status_window.refresh
  36.               # エネミー名リストを更新
  37.               @status_window2.refresh
  38.               @flag = true
  39.             end
  40.  
  41.           end
  42.           #改了这里(战斗前增加SP1)
  43.           #==================================================================
  44.  
  45.           #==================================================================
  46.           if actor.state?(20) #附加20号状态时 增加CT
  47.             actor.now_ct = @max_ct * 0.99
  48.             actor.remove_state(20) #增加后解除状态
  49.           end
  50.           #改了这里(SP技能)
  51.           #==================================================================
  52.  
  53.  
  54.  
  55.           # CTがmaxになっており、コマンド入力待ちアクターに含まれない
  56.           if actor.now_ct >= @max_ct and !(@pre_action_battlers.include?(actor))
  57.             # コマンド入力待ちアクターに追加
  58.             #==================================================================
  59.             @flag = nil
  60.             #改了这里(战斗前增加SP2)
  61.             #==================================================================
  62.  
  63.             @pre_action_battlers.push(actor)
  64.             @action_count += 1
  65.  
  66.             # 効果音を鳴らす
  67.             if PARA_CTB::FULL_CT_SE != "" and actor.ct_visible
  68.               Audio.se_play("Audio/SE/" + PARA_CTB::FULL_CT_SE,PARA_CTB::FULL_CT_SE_VOL)
  69.             end
  70.  
  71.             # それ以上カウントアップしない
  72.             actor.countup = false
  73.             actor.full_ct = true
  74.           else
  75.             # カウントアップ
  76.             actor.make_action_speed
  77.             ct_skip = PARA_CTB::CT_SKIP != 0 ? PARA_CTB::CT_SKIP : 1
  78.             actor.now_ct += actor.current_action.speed * PARA_CTB::BATTLE_SPEED * ct_skip
  79.           end
  80.         end
  81.       end
  82.       for enemy in $game_troop.enemies
  83.         # 行動できるか
  84.         if enemy.movable? == false and enemy.ct_visible and @phase4_step == 5
  85.           # 不可視状態でカウントアップ
  86.           enemy.ct_visible = false
  87.           enemy.countup = true
  88.           enemy.full_ct = false
  89.         elsif enemy.movable? and enemy.ct_visible == false
  90.           # 不可視カウントアップを解除
  91.           clear_ct(enemy)
  92.           enemy.ct_visible = true
  93.         end
  94.         # エネミーのカウントアップ
  95.         if enemy.countup
  96.           # CTがmaxになっており、行動待ちエネミーに含まれない
  97.           if enemy.now_ct >= @max_ct and ! @pre_action_battlers.include?(enemy)
  98.             # 行動待ちエネミーに追加
  99.  
  100.             @pre_action_battlers.push(enemy)
  101.             @action_count += 1
  102.             # それ以上カウントアップしない
  103.             enemy.countup = false
  104.             enemy.full_ct = true
  105.           else
  106.             # カウントアップ
  107.             enemy.make_action_speed
  108.             enemy.now_ct += enemy.current_action.speed * PARA_CTB::BATTLE_SPEED
  109.           end
  110.         end
  111.       end
  112.       # CTゲージを再描画
  113.       @status_window.refresh_ct
  114.       @status_window2.refresh_ct
  115.     end
  116.   end
  117. end

◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
分割线

演示gif
1.gif

点评

你加我暗号吧0_0 私信给你了  发表于 2018-12-4 14:52
我目前权限发不了私信。。。 能不能发一下你的支付宝私信我呀 嘻嘻爱你  发表于 2018-12-4 14:40
全部功能都实现了(〃'▽'〃) 已更新演示gif  发表于 2018-12-3 00:06
好了 SP的问题我也搞定了  发表于 2018-12-2 23:45
sp的问题看了一下,应该是update跟不上的原因。这个东西只能在快要满的时候加……  发表于 2018-12-2 23:38

评分

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

查看全部评分


陨石坑——Alice Union
回复 支持 1 反对 0

使用道具 举报

[动态]受到青鸫的挑战,被揍得晕头转向。 (打开TA的战斗卡片)

Lv2.观梦者

梦石
0
星屑
440
在线时间
47 小时
注册时间
2008-11-30
帖子
110
 楼主| 发表于 2018-12-3 08:18:01 | 显示全部楼层
KB.Driver 发表于 2018-12-2 23:02
慢慢来吧……目前实现了禁用“战斗 逃跑”这一窗口的功能
将下面这段代码插入就行

哇 做到了诶! 好聪明啊! 非常感谢你

点评

不聪明啦……之前都没接触过RGSS1的,刚开始就一直改一点然后一直受试233  发表于 2018-12-4 00:06
回复 支持 反对

使用道具 举报

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

本版积分规则

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

站长信箱:fux2@moe9th.com|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2019-7-23 05:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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