- ASHKAMembre
- Nombre de messages : 242
Age : 42
Localisation : Omnipresent !!
Distinction : aucune
Date d'inscription : 28/10/2008
ADD-ON SBS Tankentai : QTE Contrattack
Mar 25 Nov 2008 - 13:30
Nom : ADD-ON SBS Tankentai : QTE Contrattack
Auteur : ASHKA
Info : Un script à copier et une modification à faire.
Une ressource à importer.
Durant l'attaque d'un ennemi, une chance est laissé au héros d'esquiver ( touche aléatoire ) puis, s'il réagi, il a une chance de contre-attaquer ( même chose : touche aléatoire ).
Copiez ce script dans "Materials" sous les autres scripts de combat :
Inserer ceci dans le script "Scene_Battle" :
Et importer ceci dans le repertoire "System" :
Pour qu'une attaque ennemi soit "contre-attaquable", elle doit utiliser la sequence prevu dans le script ("atk").
Si vous utilisez celle de base, rien ne se passera ( impossible de contre-attaquer même si la competence est possedé ).
( Configuration au environ de la ligne 1050 du script de config' )
A partir de là, lorsque l'ennemi attaquera, il y aura trois cas possible :
- Soit le héros ne possede pas la competence "Contrattack" ( ID defini en debut de script ), soit le joueur rate la réaction : l'ennemi attaque normalement.
- Soit le héros possede la competence, le joueur réagi correctement pour l'esquive mais rate la contrattack : aucun degats.
- Soit le héros possede la competence, le joueur réagi correctement pour l'esquive et pour la contrattack : l'ennemi attaquant subira les degats.
ASHKA
Auteur : ASHKA
Info : Un script à copier et une modification à faire.
Une ressource à importer.
Durant l'attaque d'un ennemi, une chance est laissé au héros d'esquiver ( touche aléatoire ) puis, s'il réagi, il a une chance de contre-attaquer ( même chose : touche aléatoire ).
Copiez ce script dans "Materials" sous les autres scripts de combat :
- Code:
###################################
#
# Add-on SBS Tankentai
# QTE contrattack
#
###################################
module QTE_ctratk
# Les heros connaissant l'unes de ces competences pourront peut-etre contre-attaquer :
ID_SKILL = [129]
# NOm du fichier où se trouve les icones servant à designer les touches de "réaction" ( repertoire systeme !! )
Nom = "Fleche"
# Temps de réaction pour la premiere phase du QTE de contrattack
Phase1 = 20
# Temps de réaction pour la seconde phase du QTE de contrattack
Phase2 = 25
end
###################################
module N01
action_qte = {
"debut_qte" => ["script", "$scene.init_qte"],
}
ANIME.merge!(action_qte)
sequence_qte = {
"atk" => ["PREV_MOVING_TARGET", "debut_qte"],
"fin" => ["WPN_SWING_V", "OBJ_ANIM_WEIGHT",
"12","WPN_SWING_VL","OBJ_ANIM_L","Two Wpn Only","16",
"Can Collapse","FLEE_RESET"],
"pas" => ["JUMP_AWAY"],
"ctratk" => ["JUMP_TO", "WPN_SWING_V"]
}
ACTION.merge!(sequence_qte)
end
###################################
class Scene_Battle < Scene_Base
def init_qte
@cible = $game_party.members[@active_battler.action.target_index]
unless @cible.use_contrattack?
@spriteset.set_action(false, @active_battler.index, "fin")
return
end
x = @cible.base_position_x - 30
y = @cible.base_position_y - 68
@num = rand(4)
@win_qte = Win_QTE.new(x, y, @num)
@win_qte.opacity = 0
@time = QTE_ctratk::Phase1
@continuer = true
@phase = 0
end
def update_qte
if (Input.trigger?(Input::DOWN) and @num == 0) or (Input.trigger?(Input::LEFT) and @num == 1) or (Input.trigger?(Input::UP) and @num == 2) or (Input.trigger?(Input::RIGHT) and @num == 3)
if @phase == 0
@spriteset.set_action(true, @cible.index, "pas")
@num = rand(4)
@win_qte.refresh(@num)
@time = QTE_ctratk::Phase2
@phase = 1
elsif @phase == 1
@phase = 2
@time = 0
end
elsif (Input.trigger?(Input::DOWN) and @num != 0) or (Input.trigger?(Input::LEFT) and @num != 1) or (Input.trigger?(Input::UP) and @num != 2) or (Input.trigger?(Input::RIGHT) and @num != 3)
@time = 0
end
fin_qte if @time == 0
@time -= 1
end
def fin_qte
@win_qte.visible = false
case @phase
when 0
@spriteset.set_action(false, @active_battler.index, "fin")
dmg = @cible.result_atk(@active_battler)
@spriteset.set_damage_pop(true, @cible.index, dmg)
@cible.hp -= dmg
wait(40)
when 1
@spriteset.set_action(false, @active_battler.index, "RESET_POSITION")
@spriteset.set_action(true, @cible.index, "RESET_POSITION")
wait(40)
when 2
@spriteset.set_action(true, @cible.index, "ctratk")
if @cible.weapon_id != 0
wait(5)
@active_battler.animation_id = $data_weapons[@cible.weapon_id].animation_id
end
wait(10)
dmg = @active_battler.result_atk(@cible)
@spriteset.set_damage_pop(false, @active_battler.index, dmg)
@active_battler.hp -= dmg
@active_battler.perform_collapse if @active_battler.hp <= 0
wait(40)
@spriteset.set_action(false, @active_battler.index, "RESET_POSITION")
@spriteset.set_action(true, @cible.index, "RESET_POSITION")
wait(40)
end
@win_qte.dispose
@win_qte = nil
end
end
###################################
class Win_QTE < Window_Base
def initialize(x, y, num)
super(x, y, 24 + 32, 24 + 32)
refresh(num)
end
def refresh(num)
self.contents.clear
bitmap = Cache.system(QTE_ctratk::Nom)
self.contents.blt(0, 0, bitmap, Rect.new(num * 24, 0, 24, 24))
end
end
###################################
class Game_Actor < Game_Battler
def use_contrattack?
for id in QTE_ctratk::ID_SKILL
return true if skill_id_learn?(id)
end
return false
end
end
###################################
class Game_Battler
def result_atk(attacker)
make_attack_damage_value(attacker)
dmg = @hp_damage
@hp_damage = 0
return dmg
end
end
###################################
Inserer ceci dans le script "Scene_Battle" :
- Code:
elsif @win_qte != nil
update_qte
Et importer ceci dans le repertoire "System" :
Pour qu'une attaque ennemi soit "contre-attaquable", elle doit utiliser la sequence prevu dans le script ("atk").
Si vous utilisez celle de base, rien ne se passera ( impossible de contre-attaquer même si la competence est possedé ).
( Configuration au environ de la ligne 1050 du script de config' )
- Code:
def base_action
case @enemy_id
when 1
return "atk"
end
# Default action for all unassigned Enemy IDs.
return "ENEMY_UNARMED_ATK"
end
A partir de là, lorsque l'ennemi attaquera, il y aura trois cas possible :
- Soit le héros ne possede pas la competence "Contrattack" ( ID defini en debut de script ), soit le joueur rate la réaction : l'ennemi attaque normalement.
- Soit le héros possede la competence, le joueur réagi correctement pour l'esquive mais rate la contrattack : aucun degats.
- Soit le héros possede la competence, le joueur réagi correctement pour l'esquive et pour la contrattack : l'ennemi attaquant subira les degats.
ASHKA
Re: ADD-ON SBS Tankentai : QTE Contrattack
Mar 25 Nov 2008 - 15:50
Contrôle anti-dopage pour Ashka !
C'est vachement intéressant, et fallait y penser, good job !
C'est vachement intéressant, et fallait y penser, good job !
_________________
- ElscortoMembre
- Nombre de messages : 486
Age : 39
Localisation : Dans sa tombe en ce moment
Distinction : Homme de goût en chef.
Date d'inscription : 10/07/2008
Re: ADD-ON SBS Tankentai : QTE Contrattack
Mar 25 Nov 2008 - 16:00
Widowan a écrit:Contrôle anti-dopage pour Ashka !
Mais non,t'est malade,après on pourrait plus avoir d'excellent script comme celui-ci
Vas y mon garçon,continue a te prendre des substances illictes,c'est très bien ce que tu fais.
Merci de ton partage
- PolKoZzMembre
- Nombre de messages : 61
Age : 34
Localisation : Sur le trone
Distinction : aucune
Date d'inscription : 10/11/2008
Re: ADD-ON SBS Tankentai : QTE Contrattack
Mar 25 Nov 2008 - 16:17
Hum incitation à la consommation hein ... xD
Excellent tuto mais a force d'appuyer toujours sur la touche pour esquiver, les combats deviendront trop facile.
Donc très bon script mais à utiliser avec modération
Excellent tuto mais a force d'appuyer toujours sur la touche pour esquiver, les combats deviendront trop facile.
Donc très bon script mais à utiliser avec modération
- ASHKAMembre
- Nombre de messages : 242
Age : 42
Localisation : Omnipresent !!
Distinction : aucune
Date d'inscription : 28/10/2008
Re: ADD-ON SBS Tankentai : QTE Contrattack
Mar 25 Nov 2008 - 17:06
Je suis clean ...
( Euh, tu recherche juste les anabolisants, c'est ça ? )
PolKoZz : C'est pour cela que l'on peut modifier le temps de réaction.
Mais bon, je peux sans doute ajouter un peu "d'agilité" dans la soupe pour la prochaine fois !!
ASHKA
( Euh, tu recherche juste les anabolisants, c'est ça ? )
PolKoZz : C'est pour cela que l'on peut modifier le temps de réaction.
Mais bon, je peux sans doute ajouter un peu "d'agilité" dans la soupe pour la prochaine fois !!
ASHKA
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum