Submit Your Article


 
RPG Maker

Welcome Guest ( Log In | Register )


  Games Resources RPG Maker VX RPG Maker XP Scripts Tutorials Downloads

3 Pages V  < 1 2 3 >  
Reply to this topicStart new topic
> Jens009's Breath of Fire Cross Command, VX Version Script
jens009
post Aug 6 2008, 08:54 AM
Post #21


L Did you know? Death gods... only eat apples
Group Icon

Group: +Gold Member
Posts: 2,976
Type: Scripter
RM Skill: Skilled




Well first off, I'm glad there are no errors. =p

Ok, I can't recreate your problem and that's because your windows are aligned differently than the default one.
Here's my offer to you, you can look at this part of the code:
CODE
    if LEFTJUSTIFY == true
      @actor_command_window.x = 0          # THIS
      @party_command_window.x = 544       # THIS
      @status_window.x = 128                       # THIS
      else
      @actor_command_window.x = 544
    end #END JUSTIFICATION CHECK
  end
  
if LEFTJUSTIFY == true
  
  def update_info_viewport
    @party_command_window.update
    @actor_command_window.update
    @status_window.update
    if @actor_command_window.active and @info_viewport.ox > 0 # THIS
      @info_viewport.ox -= 16 #THIS
    elsif @party_command_window.active and @info_viewport.ox < 128 #THIS
      @info_viewport.ox += 16 #THIS
    end
  end


and mess around with it. I'm guessing that the update_info_viewport doesn't get updated when you paste the script. Have you tried pasting the script below any other scripts?

Oh and might I ask, what are the scripts you are using right now? It could be one of them changes the viewport and the coordinates as well.


__________________________

My RMXP Project:


Farewell RRR. =]
Go to the top of the page
 
+Quote Post
   
banditjackpotty
post Aug 9 2008, 01:32 AM
Post #22



Group Icon

Group: Member
Posts: 2
Type: Event Designer
RM Skill: Beginner




QUOTE (Loki333 @ Aug 6 2008, 02:14 AM) *
Err sorry to be a pain, the addon for the script is working fine and the left justify works now. But I have another problem. This was in the previous edition as well. See the screenshot.

The windows don't align right again after selecting my command...and the crosscommand window is on top. Definately an eyesore although it doesn't actually give me any error messages.

holy crap those are beautiful icons you used. And how'd you get your battle background to be part of a tile set?

back on subject though: which version of the script are you using? becuz i dont think 1.0 has that problem.
Go to the top of the page
 
+Quote Post
   
Loki333
post Aug 9 2008, 02:51 AM
Post #23


Google it before asking stupid questions!!!
Group Icon

Group: Revolutionary
Posts: 134
Type: Event Designer
RM Skill: Masterful




Offtopic:
That particular Iconset has been destroyed but I have a thread for Icons that I make. >>HERE<< For the battle background, use any battlebackground script. Make yourself some 17X13 maps and take a screenshot and import it into the background folder. It's really as simple as that.

Back On:
I'm using the newest version that is patched for the crosscommand script. It doesn't have that bug when right justified, just when left justified. Its a problem with the way that battle system re-writes the battle windows. Grrr. Well in either case that compatibility issue exists. I don't personally need it fixed I'll keep with the standard right justified window biggrin.gif


QUOTE
Well first off, I'm glad there are no errors. =p

Ok, I can't recreate your problem and that's because your windows are aligned differently than the default one.
Here's my offer to you, you can look at this part of the code:


CODE
    if LEFTJUSTIFY == true
      @actor_command_window.x = 0          # THIS
      @party_command_window.x = 544       # THIS
      @status_window.x = 128                       # THIS
      else
      @actor_command_window.x = 544
    end #END JUSTIFICATION CHECK
  end
  
if LEFTJUSTIFY == true
  
  def update_info_viewport
    @party_command_window.update
    @actor_command_window.update
    @status_window.update
    if @actor_command_window.active and @info_viewport.ox > 0 # THIS
      @info_viewport.ox -= 16 #THIS
    elsif @party_command_window.active and @info_viewport.ox < 128 #THIS
      @info_viewport.ox += 16 #THIS
    end
  end



and mess around with it. I'm guessing that the update_info_viewport doesn't get updated when you paste the script. Have you tried pasting the script below any other scripts?

Oh and might I ask, what are the scripts you are using right now? It could be one of them changes the viewport and the coordinates as well.


Alright so I know its RPG Tankentai Sideview Battle System Version 2.7 that is conflicting with it, because on the sideview 2 portion of the script it re-writes how the battle windows are animated. Thanks for the assistance but I'm pretty content just running right justified as this works completely fine.


__________________________
My Current VX Project


My XP Scripts
Personalized Status Screen

My VX Scripts
None Yet...


Thanks for the uPic Leper!
Go to the top of the page
 
+Quote Post
   
Vanisher
post Aug 9 2008, 09:48 AM
Post #24


Level 2
Group Icon

Group: Member
Posts: 28
Type: None
RM Skill: Undisclosed




Um, Jens009. Is it possible that I can add some additional commands like Party in the Cross Command Script?
Go to the top of the page
 
+Quote Post
   
jens009
post Aug 9 2008, 10:11 AM
Post #25


L Did you know? Death gods... only eat apples
Group Icon

Group: +Gold Member
Posts: 2,976
Type: Scripter
RM Skill: Skilled




QUOTE (banditjackpotty @ Aug 9 2008, 01:54 AM) *
holy crap those are beautiful icons you used. And how'd you get your battle background to be part of a tile set?
back on subject though: which version of the script are you using? becuz i dont think 1.0 has that problem.

Yes. Loki's Icons look wonderful. XD.

He was using version 1.1 where the left justified feature has been added.

QUOTE (Loki333 @ Aug 9 2008, 03:13 AM) *
Alright so I know its RPG Tankentai Sideview Battle System Version 2.7 that is conflicting with it, because on the sideview 2 portion of the script it re-writes how the battle windows are animated. Thanks for the assistance but I'm pretty content just running right justified as this works completely fine.

Ah. Alrighty. I'll take a good look into the RPG Tanketai once again and see what I can do about it. I'll still try to fix the left justified issue though. I'm sure it's nothing complicated. I'll post the new version up with the bug fix hopefully and the new iconsets you made. XD

QUOTE (Vanisher @ Aug 9 2008, 10:10 AM) *
Um, Jens009. Is it possible that I can add some additional commands like Party in the Cross Command Script?

In the next version, I'm going to be adapting one of the suggestions of kreytor to add more commands, 9 maximum to be exact.
However, I'm not making a new system for the new commands. I'm just giving the possibility of having more than the default 5 commands.


__________________________

My RMXP Project:


Farewell RRR. =]
Go to the top of the page
 
+Quote Post
   
Vanisher
post Aug 9 2008, 10:57 AM
Post #26


Level 2
Group Icon

Group: Member
Posts: 28
Type: None
RM Skill: Undisclosed




I see, Jens009.

BTW, I have an error that conflicts with the KGC Scripts, particularly in the Item and Skill Script, when using the Cross Command Script.
Go to the top of the page
 
+Quote Post
   
jens009
post Aug 9 2008, 12:08 PM
Post #27


L Did you know? Death gods... only eat apples
Group Icon

Group: +Gold Member
Posts: 2,976
Type: Scripter
RM Skill: Skilled




QUOTE (Vanisher @ Aug 9 2008, 11:19 AM) *
I see, Jens009.

BTW, I have an error that conflicts with the KGC Scripts, particularly in the Item and Skill Script, when using the Cross Command Script.

Really?
A few questions.
What version are you using?
When does the error occur?

Can you post up the error, with a screenshot. I want to see what KGC modifies with the cross command script.
if possible, link me to the site where you got the script too.


__________________________

My RMXP Project:


Farewell RRR. =]
Go to the top of the page
 
+Quote Post
   
jens009
post Aug 9 2008, 06:14 PM
Post #28


L Did you know? Death gods... only eat apples
Group Icon

Group: +Gold Member
Posts: 2,976
Type: Scripter
RM Skill: Skilled




QUOTE (Loki333 @ Aug 6 2008, 02:14 AM) *
Err sorry to be a pain, the addon for the script is working fine and the left justify works now. But I have another problem. This was in the previous edition as well. See the screenshot.

The windows don't align right again after selecting my command...and the crosscommand window is on top. Definately an eyesore although it doesn't actually give me any error messages.


I know this is a double post but it is important.
I've made a Left Justify patch for the RPG Tanketai SBS. Check the first post Loki. I think you'd like it.


__________________________

My RMXP Project:


Farewell RRR. =]
Go to the top of the page
 
+Quote Post
   
Loki333
post Aug 10 2008, 01:46 AM
Post #29


Google it before asking stupid questions!!!
Group Icon

Group: Revolutionary
Posts: 134
Type: Event Designer
RM Skill: Masterful




OMG!! You are the $%&#ing MAN!! Thanks for this patch, I "WAS" just going to deal with right justification but you've definately made me very happy! Thanks more than you know XD No errors and looks clean btw XD


__________________________
My Current VX Project


My XP Scripts
Personalized Status Screen

My VX Scripts
None Yet...


Thanks for the uPic Leper!
Go to the top of the page
 
+Quote Post
   
Vanisher
post Aug 11 2008, 02:11 AM
Post #30


Level 2
Group Icon

Group: Member
Posts: 28
Type: None
RM Skill: Undisclosed




QUOTE (jens009 @ Aug 10 2008, 03:30 AM) *
QUOTE (Vanisher @ Aug 9 2008, 11:19 AM) *
I see, Jens009.

BTW, I have an error that conflicts with the KGC Scripts, particularly in the Item and Skill Script, when using the Cross Command Script.

Really?
A few questions.
What version are you using?
When does the error occur?

Can you post up the error, with a screenshot. I want to see what KGC modifies with the cross command script.
if possible, link me to the site where you got the script too.

Here's the link for the KGC Script
Link
Go to the top of the page
 
+Quote Post
   
fredjapa
post Aug 27 2008, 08:16 AM
Post #31


Level 1
Group Icon

Group: Member
Posts: 12
Type: None
RM Skill: Undisclosed




Hi Jens..

First.. Congratulations for this great script, added with some cool icons will make an incredible look in any game =D


But I have an issue =S

The crosscommand DON'T APPEAR lol =(((((((((((((((((((((((((((((((


I'm using a couple of scripts, but the one that i 'think' that is causing trouble to work togheter with your is one special that have ' start_actor_command_selections ' ... All the others dont have anything like ' start_actor_command_selections ' ..


I can use the commands... like 'press and select magic' ( in screnshot) but the icons dont appear... they are in Graphics/Pictures with right names... I tested only on sbs 2.7 and worked perfectly , but on my project, with the scripts ( from http://strrgssvx.blog.shinobi.jp/ ) , the crosscommand isn't showed...


With the scripts and without your crosscommand , i noticed that the command bar, isn't showed all the time... The command bar 'pop up' when the ATB Gauge got full... So I think that the problem is in the 'pop up', like making the crosscomand a pop up window... If you think that will need all scripts... ask me...

Please.. try to fix for me if it's possible.



Sorry for bad english =p


heres a video of the scripts working togheter without the crosscommand
http://br.youtube.com/watch?v=R8eigqyAnTs

some screnshots with your crosscommand... " invisible = ( "

Attached File  ss1.JPG ( 51.89K ) Number of downloads: 21
Attached File  ss2.JPG ( 44.61K ) Number of downloads: 25





and the script that i think its incompatible

CODE
#======================================================================
========
# ★RGSS2
# STR33a_アクティブタイムバトル v0.8 08/04/16
# サポート:http://strcatyou.u-abel.net/
#
# ・戦闘に時間の概念を加え、FFのATBのような戦闘形式にします。
# ・詳しい使用方法はSTR33bを参照してください。
#
#------------------------------------------------------------------------------
#
# 更新履歴
# ◇0.8
# 正式バージョン
# バグ修正・カウントダメージ機能追加
# ◇0.3β
# デバッグver3
#
#==============================================================================
# ■ Game_Battler
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :ctb_actionstart
attr_accessor :aw_ctb_actionstart
attr_accessor :action_waiting
attr_accessor :action_waitspeed
#--------------------------------------------------------------------------
# ● 詠唱カウント初期化
#--------------------------------------------------------------------------
def aw_gauge_clear
@aw_gauge = 0
@aw_ctb_actionstart = false
@action_waiting = false
@action_waitspeed = 0
end
#--------------------------------------------------------------------------
# ● 詠唱カウント取得
#--------------------------------------------------------------------------
def aw_gauge
@aw_gauge = 0 if @aw == nil
@aw_gauge
end
#--------------------------------------------------------------------------
# ● 詠唱カウント変更
#--------------------------------------------------------------------------
def aw_gauge=(n)
@aw_gauge = 0 if @aw_gauge == nil
if @action_waiting
@aw_gauge = [[max_ctb_gauge, @aw = n].min, 1].max
else
@aw_gauge = [[max_ctb_gauge, @aw = n].min, 0].max
end
@aw_ctb_actionstart = true if aw_gauge >= max_ctb_gauge
end
#--------------------------------------------------------------------------
# ● 詠唱カウント加算
#--------------------------------------------------------------------------
def aw_gauge_gain
return unless movable?
@aw_gauge = 0 if aw_gauge == nil
return if aw_gauge >= max_ctb_gauge
ctspeed = STRRGSS2::CTB.ctspeed
sp = self.agi * 1.0 / $game_troop.ctb_speed * ctspeed
sp *= @action_waitspeed
self.aw_gauge += sp
end
#--------------------------------------------------------------------------
# ● カウント取得
#--------------------------------------------------------------------------
def ctb_gauge
@ctb_gauge = 0 if @ctb_gauge == nil
@ctb_gauge
end
#--------------------------------------------------------------------------
# ● カウント変更
#--------------------------------------------------------------------------
def ctb_gauge=(n)
@ctb_gauge = 0 if @ctb_gauge == nil
@ctb_gauge = [[max_ctb_gauge, @ctb_gauge = n].min, 0].max
@ctb_actionstart = true if ctb_gauge >= max_ctb_gauge
end
#--------------------------------------------------------------------------
# ● カウント最大値取得
#--------------------------------------------------------------------------
def max_ctb_gauge
STRRGSS2::CTB::CT_MAX
end
#--------------------------------------------------------------------------
# ● カウント加算
#--------------------------------------------------------------------------
def ctb_gauge_gain
return unless movable?
return if self.ctb_gauge >= max_ctb_gauge
@ctb_gauge = 0 if @ctb_gauge == nil
ctspeed = STRRGSS2::CTB.ctspeed
self.ctb_gauge += self.agi * 1.0 / $game_troop.ctb_speed * ctspeed
end
#--------------------------------------------------------------------------
# ● ステートの付加
#--------------------------------------------------------------------------
alias add_state_str33x add_state
def add_state(state_id)
add_state_str33x(state_id)
unless movable?
@ctb_gauge = 0
aw_gauge_clear
end
end
#--------------------------------------------------------------------------
# ● 戦闘行動可能判定?(行動作成するか)
#--------------------------------------------------------------------------
def make_action
@ctb_actionstart
end
#--------------------------------------------------------------------------
# ● カウントダメージ
#--------------------------------------------------------------------------
def count_damage(action = 0)
if not action.is_a?(Numeric)
# メモ欄から設定取得
word = STRRGSS2::CTB::CT_DM_WORD
if action.note[/#{word}\[(\d+)\]/] != nil
ct_damage = $1.to_f
elsif action.note[/#{word}\[\-(\d+)\]/] != nil
ct_damage = -($1.to_f)
else
ct_damage = 0
end
else
ct_damage = action
end
# ダメージ
if @action_waiting
if self.aw_gauge < max_ctb_gauge
self.aw_gauge -= (max_ctb_gauge / 100.0) * ct_damage
end
else
if self.ctb_gauge < max_ctb_gauge
self.ctb_gauge -= (max_ctb_gauge / 100.0) * ct_damage
end
end
end
#--------------------------------------------------------------------------
# ● 通常攻撃の効果適用
#--------------------------------------------------------------------------
alias attack_effect_str33x attack_effect
def attack_effect(attacker)
attack_effect_str33x(attacker)
return if @skipped or @missed or @evaded or @hp_damage == 0
count_damage(STRRGSS2::CTB::CT_DM_ATTACK)
end
#--------------------------------------------------------------------------
# ● スキルの効果適用
#--------------------------------------------------------------------------
alias skill_effect_str33x skill_effect
def skill_effect(user, skill)
skill_effect_str33x(user, skill)
return if @skipped or @missed or @evaded or (skill.physical_attack and @hp_damage == 0)
count_damage(skill)
end
#--------------------------------------------------------------------------
# ● アイテムの効果適用
#--------------------------------------------------------------------------
alias item_effect_str33x item_effect
def item_effect(user, item)
item_effect_str33x(user, item)
return if @skipped or @missed or @evaded or (item.physical_attack and @hp_damage == 0)
count_damage(item)
end
end
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● 戦闘行動の作成
#--------------------------------------------------------------------------
alias str33x_make_action make_action
def make_action
return unless super
str33x_make_action
end
end
#==============================================================================
# ■ Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias initialize_str33x initialize
def initialize(index, enemy_id)
initialize_str33x(index, enemy_id)
@ctbselfturn = 0
end
#--------------------------------------------------------------------------
# ● 行動条件合致判定
#--------------------------------------------------------------------------
alias conditions_met_str33x? conditions_met?
def conditions_met?(action)
case action.condition_type
when 1 # ターン数
n = @ctbselfturn # 自分の行動回数に置き換える
a = action.condition_param1
b = action.condition_param2
return false if (b == 0 and n != a)
return false if (b > 0 and (n < 1 or n < a or n % b != a % cool.gif)
return true
else
return conditions_met_str33x?(action)
end
end
#--------------------------------------------------------------------------
# ● 戦闘行動の作成
#--------------------------------------------------------------------------
alias str33x_make_action make_action
def make_action
return unless super
str33x_make_action
@ctbselfturn += 1
end
end
#==============================================================================
# ■ Game_Troop
#==============================================================================
class Game_Troop < Game_Unit
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :ctb_speed
attr_accessor :escape_count
attr_accessor :max_escape_count
attr_accessor :esc_p_average
attr_accessor :esc_t_average
#--------------------------------------------------------------------------
# ● クリア
#--------------------------------------------------------------------------
alias clear_str33x clear
def clear
clear_str33x
@ctb_speed = 0
@escape_count = 0
@max_escape_count = 0
@esc_p_average = 0
@esc_t_average = 0
end
#--------------------------------------------------------------------------
# ● 平均速度設定
#--------------------------------------------------------------------------
def ctb_speed_set
return ($game_party.average_agi + $game_troop.average_agi) / 2
end
#--------------------------------------------------------------------------
# ● セットアップ
#--------------------------------------------------------------------------
alias setup_str33x setup
def setup(troop_id)
setup_str33x(troop_id)
@ctb_speed = ctb_speed_set
end
#--------------------------------------------------------------------------
# ● ターンの増加
#--------------------------------------------------------------------------
alias increase_turn_str33x increase_turn
def increase_turn
increase_turn_str33x
# 平均スピード設定
@ctb_speed = ctb_speed_set
end
end
#==============================================================================
# ■ Scene_Battle
#==============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● 文章表示中?(追加)
#--------------------------------------------------------------------------
def m_window_visible?
return ($game_message.visible or $game_message.texts.size > 0)
end
#--------------------------------------------------------------------------
# ● アクション実行するか?(追加)
#--------------------------------------------------------------------------
def start_action_atb?
return (@action_active_wait > 0 or @action_battlers.size == 0 or @atb_result)
end
#--------------------------------------------------------------------------
# ● カウントするか?(追加)
#--------------------------------------------------------------------------
def atb_count?
return true if (@process_p or $game_message.visible or @atb_result)
a_mode = STRRGSS2::CTB.wait_mode
return ((a_mode[0] == true and @acton_phase) or
(a_mode[1] == true and (@skill_window != nil or @item_window != nil)) or
(a_mode[2] == true and (@target_enemy_window != nil or @target_actor_window != nil)) or
(a_mode[3] == true and @actor_command_window.active))
end
#--------------------------------------------------------------------------
# ● カウントタイム(追加)
#--------------------------------------------------------------------------
def update_ctb
# ウェイト
@action_active_wait -= 1 if @action_active_wait > 0
escape_now = false
# カウント可否判定
return unless (Graphics.frame_count % STRRGSS2::CTB::EXTEND[:update]) == 0
return if atb_count?
# 全バトラーゲージ加算
if Input.press?(STRRGSS2::CTB::ESCAPE_KEY)
# 逃走カウント
escape_count_gain
escape_now = true
end
if STRRGSS2::CTB::ESCAPE_CSTOP == false or
(STRRGSS2::CTB::ESCAPE_CSTOP == true and escape_now == false)
escape_count_gain(:minus) if not escape_now and STRRGSS2::CTB::ESCAPE_LOSS
# 逃走していない時のみ加算
for i in $game_party.members
if i.action_waiting
i.aw_gauge_gain
else
i.ctb_gauge_gain
end
end
end
for i in $game_troop.members
if i.action_waiting
i.aw_gauge_gain
else
i.ctb_gauge_gain
end
end
# アクター行動開始判定
for i in $game_party.members
if i.ctb_actionstart
if i.auto_battle
i.make_action
i.ctb_actionstart = false
if aw_setup(i)
@acton_phase = true
@action_battlers.push(i)
break
end
else
i.ctb_actionstart = false
@waiting_battler.push(i)
break
end
elsif i.action_waiting and i.aw_ctb_actionstart
i.action_waiting = i.aw_ctb_actionstart = false
@acton_phase = true
@action_battlers.push(i)
break
end
end
# エネミー行動開始判定
return if @action_active_wait > 0
for i in $game_troop.members
if i.ctb_actionstart
i.make_action
i.ctb_actionstart = false
if aw_setup(i)
@acton_phase = true
@action_battlers.push(i)
break
end
elsif i.action_waiting and i.aw_ctb_actionstart
i.action_waiting = i.aw_ctb_actionstart = false
@acton_phase = true
@action_battlers.push(i)
break
end
end
end
#--------------------------------------------------------------------------
# ● 詠唱セットアップ(追加)
#--------------------------------------------------------------------------
def aw_setup(actor)
if actor.action.skill != nil and actor.action.skill.speed > 0
actor.aw_ctb_actionstart = false
actor.action_waiting = true
actor.action_waitspeed = actor.action.skill.speed / 100.0
return false
elsif actor.action.item != nil and actor.action.item.speed > 0
actor.aw_ctb_actionstart = false
actor.action_waiting = true
actor.action_waitspeed = actor.action.item.speed/100.0
return false
else
return true
end
end
#--------------------------------------------------------------------------
# ● アクターコマンド開始(追加)
#--------------------------------------------------------------------------
def start_atb_actor_command
a_mode = STRRGSS2::CTB.wait_mode
return if (a_mode[0] == true and @acton_phase) or $game_troop.interpreter.running?
return if @waiting_battler.size == 0 or @a_command_battler != nil or @atb_result
return if @actor_command_window.openness > 0
STRRGSS2::CTB::COMMANDSE.play
ctb_actor_command(@waiting_battler.shift.index)
end
#--------------------------------------------------------------------------
# ● アクターコマンド入力(追加)
#--------------------------------------------------------------------------
def ctb_actor_command(index)
@a_command_battler = $game_party.members[index]
@status_window.index = index
start_actor_command_selection
end
#--------------------------------------------------------------------------
# ● 情報を常に表示(追加)
#--------------------------------------------------------------------------
def info_visible_update
@info_viewport.visible = true
if @target_enemy_window != nil
info_rx = @party_command_window.width + @target_enemy_window.width
@info_viewport.rect.x = info_rx - @actor_command_window.width
@info_viewport.ox = info_rx
elsif @target_actor_window
info_rx = @party_command_window.width + @target_actor_window.width
@info_viewport.rect.x = info_rx - @actor_command_window.width
@info_viewport.ox = info_rx
else
@info_viewport.rect.x = 0
@info_viewport.ox = @party_command_window.width
end
end
#--------------------------------------------------------------------------
# ● バトラー情報すり替えA(追加)
#--------------------------------------------------------------------------
def c_battler_atb_a
@active_battler_clone = @active_battler if @active_battler != nil
@waiting_battler_clone = @active_battler = @a_command_battler if @a_command_battler != nil
end
#--------------------------------------------------------------------------
# ● バトラー情報すり替えB(追加)
#--------------------------------------------------------------------------
def c_battler_atb_b
@active_battler = @active_battler_clone if @active_battler_clone != nil
@a_command_battler = @waiting_battler_clone if @waiting_battler_clone != nil
@active_battler_clone = @waiting_battler_clone = nil
end
#--------------------------------------------------------------------------
# ● ウィンドウ開放(追加)
#--------------------------------------------------------------------------
def dispose_windows
end_skill_selection
end_item_selection
end_target_actor_selection if @target_actor_window != nil
end_target_enemy_selection if @target_enemy_window != nil
@actor_command_window.create_contents
@actor_command_window.index = @actor_index = -1
@actor_command_window.close
@actor_command_window.active = false
@a_command_battler = @waiting_battler_clone = nil
@status_window.index = -1
end
#--------------------------------------------------------------------------
# ● 全バトラー初期カウント設定(追加)
#--------------------------------------------------------------------------
def battler_ctset
for i in $game_party.members
i.aw_gauge_clear
if $game_troop.surprise
i.ctb_gauge = 0
elsif i.fast_attack
i.ctb_gauge = i.max_ctb_gauge - 1
elsif $game_troop.preemptive
i.ctb_gauge = i.max_ctb_gauge - rand(i.max_ctb_gauge / 10)
else
i.ctb_gauge = (i.max_ctb_gauge / 3) + rand(i.max_ctb_gauge / 10)
end
i.ctb_actionstart = false
end
for i in $game_troop.members
i.aw_gauge_clear
if $game_troop.preemptive
i.ctb_gauge = 0
elsif i.fast_attack
i.ctb_gauge = i.max_ctb_gauge - 1
elsif $game_troop.surprise
i.ctb_gauge = i.max_ctb_gauge - rand(i.max_ctb_gauge / 10)
else
i.ctb_gauge = (i.max_ctb_gauge / 3) + rand(i.max_ctb_gauge / 10)
end
i.ctb_actionstart = false
end
end
#--------------------------------------------------------------------------
# ● 逃走カウント(追加)
#--------------------------------------------------------------------------
def escape_count_gain(n = :plus)
if n == :minus
max = $game_troop.max_escape_count
g = max / STRRGSS2::CTB::ESCAPE_LOSSP
$game_troop.escape_count = [[max, $game_troop.escape_count -= g].min, 0].max
return
end
return unless $game_troop.can_escape
$game_troop.escape_count += $game_troop.esc_p_average
@escape_flag = true if $game_troop.escape_count >= $game_troop.max_escape_count
end
#--------------------------------------------------------------------------
# ● 逃走カウント設定(追加)
#--------------------------------------------------------------------------
def escape_count_set
@escape_flag = false
$game_troop.esc_p_average = $game_party.average_agi
$game_troop.esc_t_average = $game_troop.average_agi
ave = $game_troop.esc_t_average
sp = STRRGSS2::CTB::ESCAPE
$game_troop.max_escape_count = ave * $game_troop.members.size * sp
$game_troop.max_escape_count /= 2
$game_troop.max_escape_count += rand(ave * 2)
unless $game_troop.can_escape
$game_troop.escape_count = 0
return
end
if $game_troop.preemptive
$game_troop.escape_count = $game_troop.max_escape_count / 2
$game_troop.escape_count += rand($game_troop.max_escape_count / 2)
elsif $game_troop.surprise
$game_troop.escape_count = 0
else
$game_troop.escape_count = rand($game_troop.max_escape_count / 5)
end
end
#--------------------------------------------------------------------------
# ● 次のアクターのコマンド入力へ(再定義)
#--------------------------------------------------------------------------
def next_actor
@party_command_window.active = false
@actor_command_window.create_contents
@actor_command_window.index = -1
@actor_command_window.close
if @a_command_battler != nil
if aw_setup(@a_command_battler)
@acton_phase = true
@action_battlers.push(@a_command_battler)
end
@a_command_battler = @waiting_battler_clone = nil
end
@status_window.index = @actor_index = -1
@process_p = false
start_main
end
#--------------------------------------------------------------------------
# ● 前のアクターのコマンド入力へ(再定義)
#--------------------------------------------------------------------------
def prior_actor
return if @a_command_battler == nil
@actor_command_window.create_contents
@actor_command_window.index = -1
@actor_command_window.close
c = @a_command_battler.max_ctb_gauge / 100.0 * STRRGSS2::CTB::CT_CANCEL
@a_command_battler.ctb_gauge = @a_command_battler.max_ctb_gauge - c
@a_command_battler = @waiting_battler_clone = nil
@status_window.index = @actor_index = -1
@process_p = false
start_main
end
#--------------------------------------------------------------------------
# ● 開始処理(エイリアス)
#--------------------------------------------------------------------------
alias start_str33x start
def start
escape_count_set
start_str33x
$game_temp.atb_itemrefresh = false
@message_window.z = 10
@action_active_wait = 0
@acton_phase = false
@process_p = true
@waiting_battler = []
$game_party.clear_actions
$game_troop.clear_actions
@actor_command_window.openness = 0
end
#--------------------------------------------------------------------------
# ● 基本更新処理(エイリアス)
#--------------------------------------------------------------------------
alias update_basic_str33x update_basic
def update_basic(main = false)
info_visible_update # 情報表示
update_basic_str33x(main) # 呼び戻し
unless main
update_active_command # コマンド入力更新
update_ctb # カウント
update_info_viewport # 情報表示ビューポートを更新
start_atb_actor_command # アクターコマンド開始
end
end
#--------------------------------------------------------------------------
# ● フレーム更新(再定義)
#--------------------------------------------------------------------------
def update
super
update_basic(true)
update_info_viewport # 情報表示ビューポートを更新
if $game_message.visible
@info_viewport.visible = false
@message_window.visible = true
end
return if judge_win_loss # 勝敗判定
return if @escape_success # 逃走成功
update_active_command # コマンド入力更新
update_ctb # カウント
process_battle_event # バトルイベントの処理
process_action # 戦闘行動
process_battle_event # バトルイベントの処理
# 逃走成功
if @escape_flag and not @atb_result
@escape_flag = false
@escape_success = true
process_escape
end
start_atb_actor_command # アクターコマンド開始
end
#--------------------------------------------------------------------------
# ● コマンド更新(追加)
#--------------------------------------------------------------------------
def update_active_command
update_scene_change
# 戦闘終了(Result)
if @atb_result
@party_command_window.active = false
@actor_command_window.index = -1
@actor_command_window.active = false
return
end
# 停止
return if (@process_p or $game_message.visible or @atb_result)
c_battler_atb_a
# コマンド入力待ち無し
if @waiting_battler_clone == nil
c_battler_atb_b
return
end
# カウントが変動したら行動不能になったと見做す
if @active_battler.ctb_gauge < @active_battler.max_ctb_gauge
dispose_windows
end
# 各ウィンドウ更新
if @target_enemy_window != nil
update_target_enemy_selection # 対象敵キャラ選択
elsif @target_actor_window != nil
update_target_actor_selection # 対象アクター選択
elsif @skill_window != nil
update_skill_selection # スキル選択
elsif @item_window != nil
update_item_selection # アイテム選択
elsif @party_command_window.active
update_party_command_selection # パーティコマンド選択
elsif @actor_command_window.active
update_actor_command_selection # アクターコマンド選択
end
c_battler_atb_b
end
#--------------------------------------------------------------------------
# ● パーティコマンド選択の開始(再定義)
#--------------------------------------------------------------------------
def start_party_command_selection
return if @spcs_disable
@process_p = false
if $game_temp.in_battle
@status_window.refresh
@status_window.index = @actor_index = -1
@message_window.visible = false
@actor_command_window.active = false
end
next_actor
end
#--------------------------------------------------------------------------
# ● 戦闘処理の実行開始(再定義)
#--------------------------------------------------------------------------
def start_main
#$game_troop.increase_turn ターン加算しない
@info_viewport.visible = false
@info_viewport.ox = 0
@message_window.visible = true
@party_command_window.active = false
@actor_command_window.active = false
@status_window.index = @actor_index = -1
@active_battler = nil
#@message_window.clear 消さない
$game_troop.make_actions
make_action_orders
wait(20)
end
#--------------------------------------------------------------------------
# ● パーティコマンド選択の更新(エイリアス)
#--------------------------------------------------------------------------
alias update_party_command_selection_str33x update_party_command_selection
def update_party_command_selection
@process_p = false
update_party_command_selection_str33x
end
#--------------------------------------------------------------------------
# ● アクターコマンド選択の開始(エイリアス)
#--------------------------------------------------------------------------
alias start_actor_command_selection_str33x start_actor_command_selection
def start_actor_command_selection
c_battler_atb_a
start_actor_command_selection_str33x
@actor_command_window.open
c_battler_atb_b
end
#--------------------------------------------------------------------------
# ● 対象敵キャラ選択の開始(エイリアス)
#--------------------------------------------------------------------------
alias start_target_enemy_selection_str33x start_target_enemy_selection
def start_target_enemy_selection
start_target_enemy_selection_str33x
@target_enemy_window.z += 10 if @target_enemy_window != nil
end
#--------------------------------------------------------------------------
# ● 対象アクター対象選択の開始(エイリアス)
#--------------------------------------------------------------------------
alias start_target_actor_selection_str33x start_target_actor_selection
def start_target_actor_selection
start_target_actor_selection_str33x
@target_actor_window.z += 10 if @target_actor_window != nil
end
#--------------------------------------------------------------------------
# ● スキル選択の開始(エイリアス)
#--------------------------------------------------------------------------
alias start_skill_selection_str33x start_skill_selection
def start_skill_selection
start_skill_selection_str33x
a = @active_battler
@activeref_skill = [a.mp, a.maxmp, a.skills, a.name]
end
#--------------------------------------------------------------------------
# ● スキル選択の終了(エイリアス)
#--------------------------------------------------------------------------
alias end_skill_selection_str33x end_skill_selection
def end_skill_selection
end_skill_selection_str33x
@activeref_skill = nil
end
#--------------------------------------------------------------------------
# ● スキル選択の更新(エイリアス)
#--------------------------------------------------------------------------
alias update_skill_selection_str33x update_skill_selection
def update_skill_selection
a = @active_battler; b = [a.mp, a.maxmp, a.skills, a.name]; ref = false
for i in 0..3
ref = true if b[i] != @activeref_skill[i]
end
if ref
@skill_window.refresh; a = @active_battler
@activeref_skill = [a.mp, a.maxmp, a.skills, a.name]
b.clear; a = b = nil
end
update_skill_selection_str33x
end
#--------------------------------------------------------------------------
# ● アイテム選択の更新(エイリアス)
#--------------------------------------------------------------------------
alias update_item_selection_str33x update_item_selection
def update_item_selection
if $game_temp.atb_itemrefresh
@item_window.refresh
$game_temp.atb_itemrefresh = false
end
update_item_selection_str33x
end
#--------------------------------------------------------------------------
# ● バトルイベントの処理(エイリアス)
#--------------------------------------------------------------------------
alias process_battle_event_str33x process_battle_event
def process_battle_event
return if start_action_atb? and not @battle_event_set
process_battle_event_str33x
@acton_phase = false
end
#--------------------------------------------------------------------------
# ● 戦闘開始の処理(エイリアス)
#--------------------------------------------------------------------------
alias process_battle_start_str33x process_battle_start
def process_battle_start
@battle_event_set = true # 必ずバトルイベント実行
battler_ctset
process_battle_start_str33x
@battle_event_set = false
$game_troop.increase_turn # ターン1にする
end
#--------------------------------------------------------------------------
# ● 逃走の処理(エイリアス)
#--------------------------------------------------------------------------
alias process_escape_str33x process_escape
def process_escape
$game_troop.preemptive = true
dispose_windows
@atb_result = true
process_escape_str33x
end
#--------------------------------------------------------------------------
# ● 勝利の処理(エイリアス)
#--------------------------------------------------------------------------
alias process_victory_str33x process_victory
def process_victory
dispose_windows
@atb_result = true
process_victory_str33x
end
#--------------------------------------------------------------------------
# ● 敗北の処理(エイリアス)
#--------------------------------------------------------------------------
alias process_defeat_str33x process_defeat
def process_defeat
dispose_windows
@atb_result = true
process_defeat_str33x
end
#--------------------------------------------------------------------------
# ● 行動順序作成(再定義)
#--------------------------------------------------------------------------
def make_action_orders
# 無効化 (配列をソートしない)
end
#--------------------------------------------------------------------------
# ● 戦闘行動の処理(エイリアス)
#--------------------------------------------------------------------------
alias process_action_str33x process_action
def process_action
return if start_action_atb?
@acton_phase = true
process_action_str33x
return if judge_win_loss or $game_temp.next_scene != nil
return if @active_battler == nil or @active_battler.dead?
@active_battler.ctb_gauge = 0
@active_battler.aw_gauge_clear
@active_battler = nil
turn_end(false)
end
#--------------------------------------------------------------------------
# ● ステート自然解除(エイリアス)
#--------------------------------------------------------------------------
alias remove_states_auto_str33x remove_states_auto
def remove_states_auto
@active_battler_rsa_clone = @active_battler
for rsa_battler in $game_party.members + $game_troop.members
@active_battler = rsa_battler
remove_states_auto_str33x
end
@active_battler = @active_battler_rsa_clone
@active_battler_rsa_clone = nil
end
#--------------------------------------------------------------------------
# ● ターン終了(エイリアス)
#--------------------------------------------------------------------------
alias turn_end_str33x turn_end
def turn_end(no_action = true)
return if no_action
@battle_event_set = true
@spcs_disable = true
turn_end_str33x
@battle_event_set = false
@spcs_disable = false
@action_active_wait = 4
@status_window.refresh
$game_troop.increase_turn
end
end
#==============================================================================
# ■ Game_Temp
#==============================================================================
class Game_Temp
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :atb_itemrefresh
#--------------------------------------------------------------------------
# ● オブジェクト初期化(エイリアス)
#--------------------------------------------------------------------------
alias initialize_str33x initialize
def initialize
initialize_str33x
@atb_itemrefresh = false
end
end
#==============================================================================
# ■ Game_Party
#==============================================================================
class Game_Party < Game_Unit
#--------------------------------------------------------------------------
# ● アイテムの増加 (減少)(エイリアス)
#--------------------------------------------------------------------------
alias gain_item_str33x gain_item
def gain_item(item, n, include_equip = false)
gain_item_str33x(item, n, include_equip)
$game_temp.atb_itemrefresh = true if $game_temp.in_battle
end
end
#==============================================================================
# ■ Window_TargetEnemy
#==============================================================================
class Window_TargetEnemy < Window_Command
#--------------------------------------------------------------------------
# ● オブジェクト初期化(エイリアス)
#--------------------------------------------------------------------------
alias initialize_str33x initialize
def initialize
initialize_str33x
@e_exist = []
for enemy in $game_troop.members
@e_exist[enemy.index] = enemy.exist?
end
end
#--------------------------------------------------------------------------
# ● オブジェクト初期化2(追加)
#--------------------------------------------------------------------------
def initialize_2(width, commands, column_max = 1, row_max = 0, spacing = 32)
if row_max == 0
row_max = (commands.size + column_max - 1) / column_max
end
@commands = commands
@item_max = commands.size
@column_max = column_max
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# ● フレーム更新(オーバーライド)
#--------------------------------------------------------------------------
def update
super
for enemy in $game_troop.members
if @e_exist[enemy.index] != enemy.exist?
# エネミーリスト変動
commands = []
@enemies = []
for enemy in $game_troop.members
next unless enemy.exist?
commands.push(enemy.name)
@enemies.push(enemy)
end
initialize_2(416, commands, 2, 4)
@e_exist = []
for enemy in $game_troop.members
@e_exist[enemy.index] = enemy.exist?
end
end
end
end
#--------------------------------------------------------------------------
# ● 敵キャラオブジェクト取得(エイリアス)
#--------------------------------------------------------------------------
alias enemy_str33x enemy
def enemy
# エネミーが全滅している場合、適当に先頭のエネミーを返す
return $game_troop.members[0] if @enemies.size == 0
return enemy_str33x
end
end
#==============================================================================
# ■ Window_BattleMessage
#==============================================================================
class Window_BattleMessage < Window_Message
#--------------------------------------------------------------------------
# ● 最下行の文章の取得(エイリアス)
#--------------------------------------------------------------------------
alias last_instant_text_str33x last_instant_text
def last_instant_text
return "" if @lines == []
return last_instant_text_str33x
end
end



the japanese kanjis its only for 'naming' Oo and for instructions... for someone that can understand scripting, i think that it don't cause problem.
Go to the top of the page
 
+Quote Post
   
jens009
post Aug 27 2008, 07:01 PM
Post #32


L Did you know? Death gods... only eat apples
Group Icon

Group: +Gold Member
Posts: 2,976
Type: Scripter
RM Skill: Skilled




QUOTE
Hi Jens..
First.. Congratulations for this great script, added with some cool icons will make an incredible look in any game =D
But I have an issue =S
The crosscommand DON'T APPEAR lol =(((((((((((((((((((((((((((((((
I'm using a couple of scripts, but the one that i 'think' that is causing trouble to work togheter with your is one special that have ' start_actor_command_selections ' ... All the others dont have anything like ' start_actor_command_selections ' ..
I can use the commands... like 'press and select magic' ( in screnshot) but the icons dont appear... they are in Graphics/Pictures with right names... I tested only on sbs 2.7 and worked perfectly , but on my project, with the scripts ( from http://strrgssvx.blog.shinobi.jp/ ) , the crosscommand isn't showed...
With the scripts and without your crosscommand , i noticed that the command bar, isn't showed all the time... The command bar 'pop up' when the ATB Gauge got full... So I think that the problem is in the 'pop up', like making the crosscomand a pop up window... If you think that will need all scripts... ask me...

Please.. try to fix for me if it's possible.


Hey thanks for the report. This is what I was talking about early on. The script can get incompatible in some ways when you use a custom battle system, and I think you are right about the start_actor_command_selection edit that may be causing the problems.

No worries though, II have multiple ideas of how to fix the small bug. The only problem is that I can't give out a straight answer right now. It would probably best if I have the scripts you are using for me to use as a reference to specifically point out the problem.
So if you can just send me a copy of your scripts, just for the battle system of course, I can fix this small bug really quickly.

I'm really glad you took the effort of pin pointing the problem. It helps a lot in debugging.


__________________________

My RMXP Project:


Farewell RRR. =]
Go to the top of the page
 
+Quote Post
   
Zinos666
post Aug 27 2008, 11:21 PM
Post #33


Level 7
Group Icon

Group: Revolutionary
Posts: 105
Type: Event Designer
RM Skill: Advanced




I'm having a problem with your script, it's not showing up at all, I enter a battle and the cross command isn't showing it's only the default commands.
What could be wrong?


-=edit=-
Ok it works only when I left justify it, but an new error appears when I go to target the monster on line 215
@target_enemy_window.x = 128
I'm using a custom battle system, but I doubt it has anything to do with the cursor error.

-=edit 2=-
ok something very very very odd happened right after I posted edit notice 1 the script suddenly started to work properly.


This post has been edited by Zinos666: Aug 28 2008, 12:24 AM


__________________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Go to the top of the page
 
+Quote Post
   
BigEd781
post Aug 28 2008, 12:26 AM
Post #34


No method: 'stupid_title' found for `nil:NilClass'
Group Icon

Group: Revolutionary
Posts: 1,829
Type: Scripter
RM Skill: Undisclosed




Great script Jens. I am making a Lufia type CBS and your script could save me a lot of time. Do you mind if I use it in my CBS (with credit of course)?


__________________________
`
Give me teh codez!!!


I am the master debator!
Go to the top of the page
 
+Quote Post
   
jens009
post Aug 28 2008, 06:02 PM
Post #35


L Did you know? Death gods... only eat apples
Group Icon

Group: +Gold Member
Posts: 2,976
Type: Scripter
RM Skill: Skilled




QUOTE (Zinos666 @ Aug 27 2008, 11:43 PM) *
-=edit 2=-
ok something very very very odd happened right after I posted edit notice 1 the script suddenly started to work properly.

Lmao. Well, You probably forgot to save your game before testing. XD I'm glad it worked out for you.

QUOTE (BigEd781 @ Aug 28 2008, 12:48 AM) *
Great script Jens. I am making a Lufia type CBS and your script could save me a lot of time. Do you mind if I use it in my CBS (with credit of course)?

Sure man. No problem. That's the main reason I posted it here. =D

@Fred: I just got home, working on the bug fix for you.


__________________________

My RMXP Project:


Farewell RRR. =]
Go to the top of the page
 
+Quote Post
   
fredjapa
post Aug 29 2008, 04:23 AM
Post #36


Level 1
Group Icon

Group: Member
Posts: 12
Type: None
RM Skill: Undisclosed




I hope you can get it =D ><



edit:

you are have troubles jens? =S

This post has been edited by fredjapa: Sep 1 2008, 06:06 AM
Go to the top of the page
 
+Quote Post
   
Shadow20
post Oct 26 2008, 10:02 AM
Post #37


Level 1
Group Icon

Group: Member
Posts: 12
Type: Event Designer
RM Skill: Beginner




I love your scripts jens. they so useful, and neat. However, I was trying out this script and I got an error screen. Please help me
because I have no knowledge of scripts and how to write them

thanks
Attached File(s)
Attached File  Untitled.png ( 464.43K ) Number of downloads: 14
 
Go to the top of the page
 
+Quote Post
   
jens009
post Oct 26 2008, 10:58 AM
Post #38


L Did you know? Death gods... only eat apples
Group Icon

Group: +Gold Member
Posts: 2,976
Type: Scripter
RM Skill: Skilled




Do NOT use the Deactivate Commands Battle Patch script version if you are not using my other script.

If you just want the cross command alone, Just use version 1.1 alone.



__________________________

My RMXP Project:


Farewell RRR. =]
Go to the top of the page
 
+Quote Post
   
Shadow20
post Oct 26 2008, 01:05 PM
Post #39


Level 1
Group Icon

Group: Member
Posts: 12
Type: Event Designer
RM Skill: Beginner




thanks for responding so quick jens. But i figured the real problem. i have a problem with line 215. The same problem loki had. Yes it only happens when I have left set to true.



Go to the top of the page
 
+Quote Post
   
EvilEagles
post Nov 5 2008, 04:58 AM
Post #40


Level 3
Group Icon

Group: Member
Posts: 39
Type: Developer
RM Skill: Beginner




Great script jens smile.gif I love it. tongue.gif
But I'm using Tankentai SBS + ATB. Hmm, I'm really dislike that default command-text-box, can this script compatible with Tankentai SBS + ATB?. blush.gif sorry bout my bad english


__________________________
Go to the top of the page
 
+Quote Post
   

3 Pages V  < 1 2 3 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 23rd May 2013 - 09:36 AM
RPG RPG Revolution is an Privacy Policy and Legal
eXTReMe Tracker