| [VX] Invocations à la FF X | |
|
|
Auteur | Message |
---|
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: [VX] Invocations à la FF X Lun 24 Nov 2008 - 6:05 | |
| Invocations à la FF X Par Blockade Description du script :- Permet des invocation à la FF X - Quand la créature est invoqué les membres de l'équipe sont retiré pour laisser place à l'invocation - Si l'invocation meurt, l'équipe revient dans le combat - Si l'invocation gagne le combat c'est l'équipe qui gagne l'expérience - L'invocation à le même niveau que son invoqueur - L'invocation est soignée en fin de combat. Screenshot : Je peux pas faire de screen ^^' Demo : A venir Script & installation - Code:
-
#===================================== # [VX] Invocations à la FF X # Fait le 16/11/2008 # Par Blockade // Version : 1.0 # http://rpg-maker-vx.bbactif.com/ #=====================================
#==Utilisation=================== # Pour invoquer, créer une compétence qui appelle un événement commun # Dans cet événement appelez un script : Invocation.new(Id_de_l'invocation) # En remplaçant Id_de_l'invocation par l'ID de créature que vous voulez invoquer # L'invocation, doit se trouver dans la Partie ou vous définissez les héros dans la Base de Données.
#==Remarques============= # - L'invocation en prend pas d'expérience, elle se met au même niveau que l'invoqueur définit par # Invoqueur =1 dans le module de configuration # - Si vous utilisez le SBS pensez à modifier Deduction_numduration pour que les dégâts de restent pas affichés
#============================================================= # Début de la configuration #
module CONFIG_INVOC Invoqueur = 1 # ID de l'invoqueur #====================== Attention !======================= # Id_invoc et Id_sort_Invoc doivent être de la même taille ! # Si par exemple avec les sort qui ont respectivement pour ID 1 et 5 # vous invoquez les créatures qui on respectivement pour ID 2,18 : # Id_invoc = [1,5] # Id_sort_invoc = [2,18] #====================== Attention !======================= Id_invoc = [] # Les ID des invocations Id_sort_invoc = [] # Les compétences qui invoquent les créatures
UTIL_SBS = false # Si vous utilisez le SBS mettez true, sinon false # A configurer que si vous utilisez le SBS Deduction_numduration = 8 # Si les dégâts restent affiché après la mort de l'invocation augmentez ce chiffre end
# Fin de la configuration # #=============================================================
#===================================== # Retire les héros et ajoute l'invocation #===================================== class Invocation < Game_Party def initialize(invoc) $if_invoc = true $invoc = invoc $membre_equipe = $game_party.members for actor in $game_party.members if actor.id == CONFIG_INVOC::Invoqueur invoqueur_level = actor.level end $game_party.remove_actor(actor.id) end $game_party.add_actor(invoc) for actor in $game_party.members actor.change_level(invoqueur_level,false) actor.recover_all end end end #===================================== # Réecriture du processus de Victoire #===================================== class Scene_Battle < Scene_Base def process_victory @info_viewport.visible = false @message_window.visible = true RPG::BGM.stop $game_system.battle_end_me.play unless $BTEST $game_temp.map_bgm.play $game_temp.map_bgs.play end if $if_invoc == true $game_party.remove_actor($invoc) for actor in $membre_equipe $game_party.add_actor(actor.id) end $if_invoc = false end for i in 0 ... CONFIG_INVOC::Id_invoc.size $game_actors[CONFIG_INVOC::Id_invoc[i]].recover_all end display_exp_and_gold display_drop_items display_level_up battle_end(0) end #===================================== # Réecriture du processus de Fuite #=====================================
def process_escape @info_viewport.visible = false @message_window.visible = true text = sprintf(Vocab::EscapeStart, $game_party.name) $game_message.texts.push(text) if $game_troop.preemptive success = true else success = (rand(100) < @escape_ratio) end Sound.play_escape if success wait_for_message if $if_invoc == true $game_party.remove_actor($invoc) for actor in $membre_equipe $game_party.add_actor(actor.id) end $if_invoc = false process_action end for i in 0 ... CONFIG_INVOC::Id_invoc.size $game_actors[CONFIG_INVOC::Id_invoc[i]].recover_all end battle_end(1) else @escape_ratio += 10 $game_message.texts.push('\.' + Vocab::EscapeFailure) wait_for_message $game_party.clear_actions start_main end end #===================================== # Réecriture du processus de Défaite #=====================================
def process_defeat if $if_invoc == true $game_party.remove_actor($invoc) for actor in $membre_equipe $game_party.add_actor(actor.id) end $if_invoc = false else @info_viewport.visible = false @message_window.visible = true text = sprintf(Vocab::Defeat, $game_party.name) $game_message.texts.push(text) wait_for_message battle_end(2) end end end
#============================== # Utilisation du SBS ? #==============================
if CONFIG_INVOC::UTIL_SBS == true class Sprite_Battler < Sprite_Base def necessary nece1 = @active_action[3] nece2 = @active_action[4] # ターゲットチェック case @active_action[1] # 0自身 1ターゲット 2敵全体 3味方全体 when 0 if @battler.guarding? and $if_invoc == true target = $game_troop.members else target = [$game_party.members[@battler.index]] if @battler.is_a?(Game_Actor) target = [$game_troop.members[@battler.index]] if @battler.is_a?(Game_Enemy) end when 1 target = @target_battler when 2 target = $game_troop.members when 3 target = $game_party.members end # ターゲットが空の場合は失敗とみなす return start_action(@battler.recover_action) if target.size == 0 # 内容チェック case @active_action[2] # ステートID指定だった場合 when 0 # 補足が正で「ステートにかかっている」、負は「かかっていない」が条件に state_on = true if nece2 > 0 # 条件人数を出す state_member = nece2.abs # 0は仲間数を出す if nece2 == 0 state_member = $game_party.members.size if @battler.is_a?(Game_Actor) state_member = $game_troop.members.size if @battler.is_a?(Game_Enemy) end # ターゲットのステートチェックし人数をカウント for member in target state_member -= 1 if member.state?(nece1) end # 条件が満たされていればアクション続行 if state_member == 0 && state_on return elsif state_member == nece2.abs return if state_on == nil end # パラメータ指定だった場合 when 1 # 補足が正で「数値以上」、負は「数値以下」が条件に num_over = true if nece2 > 0 # 参照数値 num = 0 # ターゲットのパラメータチェック for member in target # 参照パラメータで分岐 case nece1 when 0 # 現HP num += member.hp when 1 # 現MP num += member.mp when 2 # 攻撃力 num += member.atk when 3 # 防御力 num += member.def when 4 # 精神力 num += member.spi when 5 # 敏捷性 num += member.agi end end # 平均を出す num = num / target.size # 条件が満たされていればアクション続行 if num > nece2.abs && num_over return elsif num < nece2.abs return if num_over == nil end # スイッチ指定だった場合 when 2 # 条件が満たされていればアクション続行 if $game_switches[nece1] # 補足がtrueで「スイッチON」、falseは「スイッチOFF」が条件に return if nece2 # スイッチがOFFの場合はON時とは逆に else return unless nece2 end # 変数指定だった場合 when 3 # 補足が正で「数値以上」、負は「数値以下」が条件に if nece2 > 0 return if $game_variables[nece1] > nece2 else return unless $game_variables[nece1] > nece2.abs end # 習得スキル指定だった場合 when 4 # スキル条件人数を出す skill_member = nece2.abs for member in target skill_member -= 1 if member.skill_learn?(nece1) # 条件確認 return if skill_member == 0 end end # 条件を満たせなければ以降のアクションを中断 return @action = ["End"] if @non_repeat # 防御中は不自然に見えないように座標復帰させない action = @battler.recover_action action = @battler.defence if @battler.guarding? return start_action(action) end end
class Sprite_Damage < Sprite_Base def damage_pop(num = nil) reset damage = battler.hp_damage # ステートの変化を抜き出す states = battler.added_states text = "" # MPダメージ用テキスト(HPMP両方同時ダメージは除く) if !@battler.double_damage && @battler.mp_damage != 0 text = N01::POP_MP_DAM if battler.mp_damage > 0 text = N01::POP_MP_REC if battler.mp_damage < 0 damage = battler.mp_damage end # SLIPDAMAGEはMPダメージ以外文字を表示させない if num == nil text = N01::POP_DAMAGE0 if damage == 0 && states == [] && !battler.revival text = N01::POP_MISS if battler.missed && states == [] text = N01::POP_EVA if battler.evaded text = N01::POP_CRI if battler.critical for state in states # POPなし設定のステートは表示させない unless state.extension.include?("NOPOP") text += " " if text != "" text += state.name end end else damage = num end # ダメージと回復を分ける @minus = false @minus = true if damage < 0 damage = damage.abs # POP位置微調整 adjust = -16 adjust = 16 if $back_attack adjust = 0 if damage == 0 @x = battler.position_x + adjust @y = battler.position_y window(text) if text != "" @pop_time = N01::NUM_DURATION if $if_invoc == true @pop_time = N01::NUM_DURATION - CONFIG_INVOC::Deduction_numduration end # ダメージがなければ数字のPOPをさせない return @duration = @pop_time if damage == 0 @num_time = -1 damage_file(@num1, damage % 10, @pop_time - 7) if damage >= 0 damage_file(@num2, (damage % 100)/10, @pop_time - 5) if damage >= 10 damage_file(@num3, (damage % 1000)/100, @pop_time - 3) if damage >= 100 damage_file(@num4, (damage % 10000)/1000, @pop_time - 1) if damage >= 1000 damage_file(@num5, (damage % 100000)/10000, @pop_time + 1) if damage >= 10000 end end end #================================================ # Si les HP de l'invocs tombent à 0 désactiver la compétence #================================================ class Game_Battler def skill_can_use?(skill) return false unless skill.is_a?(RPG::Skill) return false unless movable? for i in 0 ... CONFIG_INVOC::Id_invoc.size return false if $game_actors[CONFIG_INVOC::Id_invoc[i]].hp == 0 and CONFIG_INVOC::Id_sort_invoc[i] == skill.id end return false if silent? and skill.spi_f > 0 return false if calc_mp_cost(skill) > mp if $game_temp.in_battle return skill.battle_ok? else return skill.menu_ok? end end end
Dernière édition par Blockade le Dim 21 Déc 2008 - 18:34, édité 1 fois |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: [VX] Invocations à la FF X Lun 24 Nov 2008 - 6:06 | |
| Utilisation du script : 1.Mettez le script au dessus de Main 2. Créer une invocation : => Créer un nouveau héros dans la base de donnés ( Prenons Ralph qui à pour ID 1) => Créer une nouvelle compétence dans la base de donnés qui appelle un événement commun ( Par exemple "Invocation de Ralph", la compétence à pour ID 17) => Dans l'événement commun, appeler le script : Invocation.new( 1) 3. Configurer le script : - Code:
-
Id_invoc = [] # Les ID des invocations Id_sort_invoc = [] # Les compétences qui invoquent les créatures
Sera à configurer comme cela : - Code:
-
Id_invoc = [1] # Les ID des invocations Id_sort_invoc = [17] # Les compétences qui invoquent les créatures
4. L'id de celui qui invoque est définie ici : - Code:
-
Invoqueur = 1 # ID de l'invoqueur
Dernière édition par Blockade le Mer 11 Mar 2009 - 5:42, édité 1 fois |
|
| |
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [VX] Invocations à la FF X Lun 24 Nov 2008 - 6:25 | |
| Blockade, si tu savais comme je t'aime *_* Merci pour ce script !!! * s'en empare et part en courant * + 10 en script |
|
| |
Invité
| Sujet: Re: [VX] Invocations à la FF X Mer 26 Nov 2008 - 20:24 | |
| merci pour le script. Il me sera utile^^ |
|
| |
Prêtre Lv13
Age : 30 Inscrit le : 11/10/2008 Messages : 801
| Sujet: Re: [VX] Invocations à la FF X Ven 28 Nov 2008 - 18:40 | |
| ouaaaa Blockade tu déchires :pleaaase: enfin un qui marche
EDIT:
nan en fait il marche pas XD j'ai un pop-up qui s'affiche à chaque fois: $if_invoc == true |
|
| |
Templier Lv.15
Age : 33 Inscrit le : 19/07/2008 Messages : 1317
| Sujet: Re: [VX] Invocations à la FF X Dim 21 Déc 2008 - 13:38 | |
| Loooveeuuuuh
Testons ça... Nyek Nyek..
EDIT: Ca marche
1 Problème:
-Comment faire plusieurs invocations ?
Dernière édition par Vincent le Dim 21 Déc 2008 - 14:25, édité 1 fois |
|
| |
Invité
| Sujet: Re: [VX] Invocations à la FF X Dim 21 Déc 2008 - 13:47 | |
| Vincent, attention à toi tu viens de faire un magnifique necro psot de presque un mois oO
Sinon, ce script pourras être très utile, mais vu le message de manu... Marche-t-il vraiment? Est-il compatible avec le GTBS, (il me semble que le GTBS comporte un système d'invocation, je vais alelr verifier ^^) |
|
| |
dYeu retraité prématurément
Age : 29 Inscrit le : 09/02/2008 Messages : 5357
| Sujet: Re: [VX] Invocations à la FF X Dim 21 Déc 2008 - 14:17 | |
| Blockade je t'adore <3 ! Dire que j'ai faillit passer à côté de ça, je l'utiliserai peut-être dans les mois à venir ^^. - Blockade a écrit:
- Utilisation du script :
1.Mettez le script au dessus de Main 2. Créer une invocation : => Créer un nouveau héros dans la base de donnés ( Prenons Ralph qui à pour ID 1) => Créer une nouvelle compétence dans la base de donnés qui appelle un événement commun ( Par exemple "Invocation de Ralph", la compétence à pour ID 17) => Dans l'événement commun, appeler le script : Invocation.new(1) 3. Configurer le script : - Code:
-
Id_invoc = [] # Les ID des invocations Id_sort_invoc = [] # Les compétences qui invoquent les créatures
Sera à configurer comme cela : - Code:
-
Id_invoc = [[color=red]1[/color]] # Les ID des invocations Id_sort_invoc = [[color=blue]17[/color]] # Les compétences qui invoquent les créatures
4. L'id de celui qui invoque est définie ici : - Code:
-
Invoqueur = 1 # ID de l'invoqueur Voila pour ceux qui n'arrivent pas à le faire marcher. Si elle indique cela, c'est que ça marche, or, si vous suivez ceci, ça devrait marcher. Sauf que ça marche pas, il doit y avoir un autre script qui fait planter celui-ci. Donc faites un projet vierge et testez ce script. S'il ne marche toujours pas c'est que vous avez 90% de chance que ça soit votre cerveau qui ne fonctionne pas bien x). - Citation :
- Vincent, attention à toi tu viens de faire un magnifique necro psot de presque un mois oO
Il ne risque rien <3. |
|
| |
Templier Lv.15
Age : 33 Inscrit le : 19/07/2008 Messages : 1317
| Sujet: Re: [VX] Invocations à la FF X Dim 21 Déc 2008 - 14:29 | |
| Yao
Moi il marche parfaitement mais comment faire plusieurs invocations et comment faire pour le message parce que moi ca fait un truc du genre: Yaori n'a pas eu d'effet sur le monstre ennemi >< (Rien a voir) |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: [VX] Invocations à la FF X Dim 21 Déc 2008 - 18:38 | |
| Déjà désolée pour le pop up qui s'affiche, je l'utilise lors de mes teste et j'ai oublié de l'enlever, c'bon il s'affiche plus ^^' Vincent : Si tu veux avoir plusieurs invocations : - Code:
-
Id_invoc = [4,5,6] # Les ID des invocations Id_sort_invoc = [12,25,16] # Les compétences qui invoquent les créatures
Tu fout l'ID des invocations (qui sont définie dans la base de données ou tu met tes héros) dans la première ligne et en face dans la deuxiéme ligne l'ID de la compétence qui les invoquent ^^ Je ferais bientôt une démo pour vous montrer ^^' |
|
| |
Templier Lv.15
Age : 33 Inscrit le : 19/07/2008 Messages : 1317
| Sujet: Re: [VX] Invocations à la FF X Dim 21 Déc 2008 - 19:39 | |
| Yao
Je sépare donc par des virgules ? |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: [VX] Invocations à la FF X Dim 21 Déc 2008 - 19:53 | |
| Oui tu sépare les différentes invoc par une virgule ^^ |
|
| |
Templier Lv.15
Age : 33 Inscrit le : 19/07/2008 Messages : 1317
| Sujet: Re: [VX] Invocations à la FF X Dim 21 Déc 2008 - 19:55 | |
| Okey
Y'aura du ifrit et du bahamut héhé ^^ |
|
| |
Invité
| Sujet: Re: [VX] Invocations à la FF X Dim 21 Déc 2008 - 20:08 | |
| Encore un fanatique des Final Fantasy... Nous preparerait-il un remake ? oO Sinon, effectivement le GTBS comporte un système d'invocation! Moi qui pensais ne pas pouvoir invoquer parce que je faisais un T-RPG... |
|
| |
Templier Lv.15
Age : 33 Inscrit le : 19/07/2008 Messages : 1317
| Sujet: Re: [VX] Invocations à la FF X Lun 22 Déc 2008 - 12:30 | |
| Nan C'est mon projet Akura Crisis (Une sorte de parodie de Crisis Core FF7 XD) Sinon moi ca marche parfaitement |
|
| |
Poulet carnivore Lv.2
Age : 32 Inscrit le : 23/05/2008 Messages : 29
| Sujet: Re: [VX] Invocations à la FF X Sam 24 Jan 2009 - 22:03 | |
| Salut je voulais savoir si sa marche avec le script SBS 2.6 ?? |
|
| |
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [VX] Invocations à la FF X Dim 25 Jan 2009 - 7:10 | |
| Je suppose qu'il marche avec tous les SBS ! |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: [VX] Invocations à la FF X Dim 25 Jan 2009 - 9:34 | |
| Euh avec le SBS 2.6 il y'a des problèmes je crois avec les personnages qui arrivent en cours de partie. |
|
| |
Mage Lv.11
Age : 27 Inscrit le : 02/03/2009 Messages : 513
| Sujet: Re: [VX] Invocations à la FF X Mar 10 Mar 2009 - 16:31 | |
| Salut j'ai pas compris où il faut mettre les scripts tu pourrais m'expliquer s'il te plait edite : sa marche a la perfection mais j'ai pas compris le truc suivant : 3. Configurer le script : - Code:
-
Id_invoc = [] # Les ID des invocations Id_sort_invoc = [] # Les compétences qui invoquent les créatures Sera à configurer comme cela : - Code:
-
Id_invoc = [[color=red]1[/color]] # Les ID des invocations Id_sort_invoc = [[color=blue]17[/color]] # Les compétences qui invoquent les créatures 4. L'id de celui qui invoque est définie ici : - Code:
-
Invoqueur = 1 # ID de l'invoqueur et aussi , comment faire pour changer le texte car sa me met Ulrika n'as pas eu d'effet sur Slime A comment faire pour mettre style : Ulrika invoque Ralph ! merci beaucoup a+ |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: [VX] Invocations à la FF X Mer 11 Mar 2009 - 5:44 | |
| Dans id_invoc tu place l'id des invoc' Et dans Id_sort_invoc tu place le sort qui appelle les invocs ^^ (Sans les balise ça c'est une erreur de ma part) Et invoqueur, c'est l'ID du héros qui invoque. |
|
| |
Mage Lv.11
Age : 27 Inscrit le : 02/03/2009 Messages : 513
| Sujet: Re: [VX] Invocations à la FF X Mer 11 Mar 2009 - 17:02 | |
| |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: [VX] Invocations à la FF X Mer 11 Mar 2009 - 19:12 | |
| |
|
| |
Mage Lv.11
Age : 27 Inscrit le : 02/03/2009 Messages : 513
| Sujet: Re: [VX] Invocations à la FF X Jeu 12 Mar 2009 - 17:12 | |
| Ok merci je vais voir sa
edit :
comment on fait pour que sa mette par exemple : Ulrika invoque machin-truc Car moi sa me met par exemple Ulrika n'as aucun effet sur slime donc j'aimerais savoir si c'est le script qui faut modifier ou autre ... merci |
|
| |
Invité
| Sujet: Re: [VX] Invocations à la FF X Jeu 9 Avr 2009 - 11:04 | |
| Blokade chaque fois que je trouve un script qui correspond a ce que je cherche, il vient de toi ! et a chaque fois je me retrouve bloquer par quelque chose que je ne comprend pas.
Pour autant tu est absolument géniale !!
Bon la mon souci, c'est que quand mon perso invoceur id 1 invoque ça créatur id 8 par le skill id 996, l'équipe part, mais la créatur ne vient pas ! il n'y a que l'invocateur qui reste et se bat...
Chose plus surprenant encore, si l'invoceur réutilise le skill d'invocation, il régène tous ses HP/MP...
de plus le script annule celui des "overdive"
Que faire ? revenir mes invocation de type FF7 ? (simple skill normal) ou demandé de l'aide ?
Oui je sais je ne suis vraiment pas doué, et oui je sais je fait du nécropost.... j'en suis profondément désolé |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: [VX] Invocations à la FF X Jeu 9 Avr 2009 - 11:59 | |
| T'a bien configuré l'événement commun ? Tu peux montrer le module de configuration s'il te plait ? ^^ |
|
| |
| Sujet: Re: [VX] Invocations à la FF X | |
| |
|
| |
| [VX] Invocations à la FF X | |
|