조회 수 587 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

콤보 스크립트가 있는데요. 이걸 어떻게 사용 하는지 모르겠네요. 사용법 좀 가르쳐 주세요. ㅠㅠ↓↓↓↓↓↓↓↓↓↓


↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓


 


 


 


 


# Originally released by: momomo?
# Removal of comments and fix: Matte
#
# Look at line 221 for more info
module Combo_Skill_Config
COMBO_BONUS = 25
ALL_ATTCK_SKILL_MAX = 1
COMBO_ANIME_ID = 5
BASE_BEFORE_REVISION = 15
BASE_AFTER_REVISION = 15
SHOW_DAMAGE_LUMP = true
COMBO_NAME_SHOW = true
COMBO_NAME_SPLIT = 3
end


class Scene_Battle
include Combo_Skill_Config
#--------------------------------------------------------------------------
alias scene_battle_skill_combo_start_phase4 start_phase4
def start_phase4
@combo_on = false
@combo_bese_target = nil
@combo_finish = false
@combo_count = 0
@combo_name = ""
scene_battle_skill_combo_start_phase4
end
#--------------------------------------------------------------------------
alias scene_battle_skill_combo_update_phase4 update_phase4
def update_phase4
if @combo_effect_start
update_phase4_combo_effect
return
end
scene_battle_skill_combo_update_phase4
end
#--------------------------------------------------------------------------
alias scene_battle_skill_combo_update_phase4_step2 update_phase4_step2
def update_phase4_step2
unless @active_battler.current_action.forcing
if @active_battler.restriction == 2 or @active_battler.restriction == 3
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 0
end
if @active_battler.restriction == 4
$game_temp.forcing_battler = nil
@phase4_step = 1
return
end
end
if @action_battlers.size != 0 and @combo_on == false
if combo_ok?(@active_battler)
@combo_skill = []
@combo_skill.push(@active_battler.current_action.skill_id)
@combo_member = []
@combo_member.push(@active_battler)
last_battler = @active_battler
for i in 0...@action_battlers.size
next_battler = @action_battlers[i]
break if combo_ok?(next_battler) == false
break if combo_probability(last_battler, next_battler) == false
next_battler.combo_number = i + 2
@combo_skill.push(next_battler.current_action.skill_id)
@combo_member.push(next_battler)
last_battler = @action_battlers[i]
end
@combo_max = @combo_member.size
if @combo_max > 1
@combo_count = 0
@active_battler.combo_number = 1
@combo_on = true
@combo_effect = true
else
@combo_bese_target = nil
@combo_all_target_count = 0
@combo_on = false
end
end
end
if @combo_effect
@combo_effect_start = true
end
scene_battle_skill_combo_update_phase4_step2
end
#--------------------------------------------------------------------------
alias scene_battle_skill_combo_make_skill_action_result make_skill_action_result
def make_skill_action_result
scene_battle_skill_combo_make_skill_action_result
if @combo_on
@active_battler.combo_number = nil
@combo_count += 1
if @combo_count >= @combo_max
@combo_finish = true
end
if COMBO_NAME_SHOW
c_name = get_combo_skill_name(@skill)
if @combo_finish
@combo_name += c_name[1]
@help_window.set_text(@combo_name, 1)
@help_window.visible = true
else
@combo_name += c_name[0]
@help_window.visible = false
end
end
end
end
#--------------------------------------------------------------------------
def update_phase4_combo_effect
@active_battler.animation_id = COMBO_ANIME_ID
@active_battler.animation_hit = true
@wait_count = 8
@combo_effect_start = false
@phase4_step = 3
end
#--------------------------------------------------------------------------
alias scene_battle_skill_combo_update_phase4_step5 update_phase4_step5
def update_phase4_step5
scene_battle_skill_combo_update_phase4_step5
if @combo_finish
battler = []
battler += $game_troop.enemies
battler += $game_party.actors
for target in battler
if target.exist?
if SHOW_DAMAGE_LUMP
if target.combo_total_damage != nil
target.damage = target.combo_total_damage
target.damage_pop = true
target.combo_total_damage = nil
end
end
if target.combo_dead
target.hp = 0
target.combo_dead = false
end
end
end
end
end
#--------------------------------------------------------------------------
alias scene_battle_skill_combo_update_phase4_step6 update_phase4_step6
def update_phase4_step6
scene_battle_skill_combo_update_phase4_step6
if @combo_finish
@combo_on = false
@combo_bese_target = nil
@combo_count = 0
@combo_finish = false
@combo_effect = false
@combo_name = ""
end
end
#--------------------------------------------------------------------------
def combo_ok?(actor)
all_attck_skill_max = ALL_ATTCK_SKILL_MAX
if actor.is_a?(Game_Enemy)
return false
end
if actor.current_action.kind != 1
return false
end
unless actor.skill_can_use?(actor.current_action.skill_id)
return false
end
skill = $data_skills[actor.current_action.skill_id]
for i in skill.element_set
if $data_system.elements[i] != nil
if $data_system.elements[i] =~ /combo/
return false
end
end
end
if @combo_bese_target == nil
@combo_all_target_count = 0
if skill.scope == 2
if @combo_all_target_count >= all_attck_skill_max
return false
end
@combo_bese_target = -1
@combo_all_target_count += 1
else
@combo_bese_target = actor.current_action.target_index
end
elsif @combo_bese_target == -1
if skill.scope == 2
if @combo_all_target_count >= all_attck_skill_max
return false
end
@combo_all_target_count += 1
else
@combo_bese_target = actor.current_action.target_index
end
else
if skill.scope == 2
if @combo_all_target_count >= all_attck_skill_max
return false
end
@combo_all_target_count += 1
else
if actor.current_action.target_index != @combo_bese_target
return false
end
end
end
return true
end
#--------------------------------------------------------------------------
def combo_probability(last_battler, next_battler)
s_num = $data_system.switches.index("1")
if s_num != nil
return true
end
last_skill = $data_skills[last_battler.current_action.skill_id]
next_skill = $data_skills[next_battler.current_action.skill_id]
last_n = skill_combo_after_revision(last_skill)
last_n += actor_combo_after_revision(last_battler)
next_n = skill_combo_before_revision(next_skill)
next_n += actor_combo_before_revision(next_battler)
n = last_n + next_n
# Change this next line to whatever you want the propability to be.
# If the number is lower there is a bigger chance for a combo attack.
# And if it's higher there is less chance for a combo
if (rand(100) < n)
return true
end
return false
end
#--------------------------------------------------------------------------
def actor_combo_base_revision(actor)
return 0
end
#--------------------------------------------------------------------------
def actor_combo_before_revision(actor)
n = actor_combo_base_revision(actor)
n += BASE_BEFORE_REVISION
return n
end
#--------------------------------------------------------------------------
def actor_combo_after_revision(actor)
n = actor_combo_base_revision(actor)
n += BASE_AFTER_REVISION
return n
end
#--------------------------------------------------------------------------
def skill_combo_before_revision(skill)
rate = 0
for i in skill.element_set
if $data_system.elements[i] != nil
if $data_system.elements[i] =~ /combo([+-]?[0-9]+)(%|%)/
rate += $1.to_i
end
end
end
return rate
end
#--------------------------------------------------------------------------
def skill_combo_after_revision(skill)
rate = 0
for i in skill.element_set
if $data_system.elements[i] != nil
if $data_system.elements[i] =~ /combo([+-]?[0-9]+)(%|%)/
rate += $1.to_i
end
end
end
return rate
end
#--------------------------------------------------------------------------
def get_combo_skill_name(skill)
name = skill.name.split('')
if name.size == 1
return [name[0], name[0]]
elsif name.size <= COMBO_NAME_SPLIT
tempname = name.join
return [tempname, tempname]
end
num = name.size / 2
name1 = ""
name2 = ""
for i in 0...num
name1 += name[i]
end
for i in num...name.size
name2 += name[i]
end
return [name1, name2]
end
end


class Game_Battler
include Combo_Skill_Config
attr_accessor :combo_number
attr_accessor :combo_dead
attr_accessor :combo_total_damage
#--------------------------------------------------------------------------
alias game_battler_skill_combo_initialize initialize
def initialize
game_battler_skill_combo_initialize
@combo_number = nil
@combo_dead = false
@combo_total_damage = nil
end
#--------------------------------------------------------------------------
alias game_battler_skill_combo_skill_effect skill_effect
def skill_effect(user, skill)
result = game_battler_skill_combo_skill_effect(user, skill)
if user.combo_number != nil
if self.damage.is_a?(Numeric)
combo_rate = user.combo_number * COMBO_BONUS
damage = self.damage * combo_rate / 100
self.damage += damage
self.hp -= damage
if SHOW_DAMAGE_LUMP
@combo_total_damage = 0 if @combo_total_damage == nil
@combo_total_damage += self.damage
self.damage = nil
end
end
if self.dead?
self.combo_dead = true
self.hp = 1
end
end
return result
end
end

?

  1. 쯔꾸르 mv 게임을 apk 파일로 변환했는데...

  2. 쯔꾸르 젖소이야기 결혼 방법좀 알려주세요...

  3. No Image 29Nov
    by game메이커xp
    2021/11/29 by game메이커xp
    Views 1262 

    apk포팅 승인 어케 하나요?

  4. No Image 15Jul
    by Neuromancer
    2021/07/15 by Neuromancer
    Views 1548 

    Yanfly님의 Action Sequence Pack 질문드립니다

  5. 싸게 MV 를 먼저? 아니면 돈을 더 들어서라도 MZ?

  6. RMMV - 스탯창과 대화창 변견 관련 질문입니다. (초보입니다 도움좀 주세요 ㅜㅜ)

  7. 아오오니를 하는 사람인데요 질문 두가지가 있어요

  8. No Image 07Dec
    by land_tnt
    2020/12/07 by land_tnt
    Views 1462 

    재밌는게임

  9. No Image 10Nov
    by 세종기항19
    2020/11/10 by 세종기항19
    Views 1689 

    c언어 질문

  10. 코딩 질문

  11. No Image 07Nov
    by 드래곤규
    2020/11/07 by 드래곤규
    Views 1409 

    혹시나 물어보는데

  12. No Image 09Sep
    by 이부닝
    2020/09/09 by 이부닝
    Views 1229 

    오픈보 게임 더블드래곤 리로디드 얼티네이트에 대해 궁금

  13. No Image 02Sep
    by 스트레이보우
    2020/09/02 by 스트레이보우
    Views 1010 

    상태이상 확률 결정

  14. No Image 23May
    by WOONAALAA
    2020/05/23 by WOONAALAA
    Views 967 

    다음 인디사이드 제작대회는 언제쯤 열릴까요?

  15. xp로 제작된 어플 실행자체가 안된다는 분이 있습니다.(제생각엔 apk로 변환하는 과정에서 버전자체가 낮은 것 같습니다)

  16. apk 포팅하는데 게임 이름이 필요합니다 뜨는데

  17. No Image 22Mar
    by 랖랖
    2020/03/22 by 랖랖
    Views 1788 

    쯔꾸르VX Ace렉먹음 도와주세요...

  18. 안녕하세요

  19. 포팅 중 '게임 이름이 필요합니다' 오류

  20. RPGMV 거리 추적

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 442 Next
/ 442


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)