| Script pour annuler X temps combat Aléatoire | |
|
Auteur | Message |
---|
Maire Lv.9
Age : 36 Inscrit le : 18/12/2009 Messages : 360
| Sujet: Script pour annuler X temps combat Aléatoire Mer 5 Mai 2010 - 12:32 | |
| Yop yop all !
Désolé pour le titre j'ai du faire court car sinon c'était un peu long ^^
Alors si le titre n'est pas très compréhensible, voici ma demande:
Est-ce qu'il existe un script qui permet d'utiliser un objet qui a pour efficacité d'annuler les combats aléatoire pendant X temps ?
Je n'ai pas trouvé un tel script sur le fofo et je me demandais si celui-ci existait...
Merci de vos futurs réponses ! |
|
| |
Voyageur Lv.10
Age : 27 Inscrit le : 12/03/2010 Messages : 465
| Sujet: Re: Script pour annuler X temps combat Aléatoire Mer 5 Mai 2010 - 13:13 | |
| C'est possible en évent, mais sans l'option "combats aléatoires"...
Sinon, je ne sait pas ^^ |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Script pour annuler X temps combat Aléatoire Mer 5 Mai 2010 - 13:40 | |
| Je peux te faire ca ouais. Au bout de X temps ou X pas ? |
|
| |
Maire Lv.9
Age : 36 Inscrit le : 18/12/2009 Messages : 360
| Sujet: Re: Script pour annuler X temps combat Aléatoire Mer 5 Mai 2010 - 13:49 | |
| Hum X pas c'est pas mal du tout Si tu pourrais le faire, ça serais génial de ta part !! Il y aurait la possibilité de faire plusieurs niveaux genre un objet qui fait 30 pas, un autre plus puissant qui fait 60 pas, etc ? |
|
| |
Illusionniste Lv.12
Age : 115 Inscrit le : 07/08/2009 Messages : 774
| Sujet: Re: Script pour annuler X temps combat Aléatoire Mer 5 Mai 2010 - 14:20 | |
| Il y a un tuto sur ce forum pour le faire en évènement commun |
|
| |
Poulet trizo Lv.3
Age : 32 Inscrit le : 18/11/2009 Messages : 42
| Sujet: Re: Script pour annuler X temps combat Aléatoire Mer 5 Mai 2010 - 14:56 | |
| Je te grille Blockade! - Spoiler:
- Code:
-
=begin ############################# Aza_Battle_Pause Author: Azuma-01 Version: 1.0 Date: 05 / 05 / 2010 =end ############################## #----------------------------------------------------------- Instructions ------------------------------------------------------------ # plug 'n' play #---------------------------------------------------------------------------------------------------------------------------------------- module Aza module No_Battle #=============================================# # ● BEGIN Customization ● # #=============================================#
METHOD_USE = 2 # 1 => utiliser le temps # 2 => un nombre de pas After_Battle = true # No_Battle_Time = 500 # en frames (60 frames = 1 seconde) No_Battle_Stept = 10 # nombre de pas Flashing_Player = true # l'acteur clignotant?
#============================================# # ● END Customization ● # #============================================# end end
$AzaScritps ||= {} $AzaScritps['Azuma-01_Battle_Pause'] = true #============================================================================== # ■ Game Temp #============================================================================== class Game_Temp attr_accessor :no_battle_time #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- alias aza_no_battle_time_initialize initialize def initialize aza_no_battle_time_initialize @no_battle_time = 0 end end
#============================================================================== # ■ Game Interpreter #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # * Avtive Rappel Mode #-------------------------------------------------------------------------- def rappel_item(value) if Aza::No_Battle::METHOD_USE == 1 $game_temp.no_battle_time = value elsif Aza::No_Battle::METHOD_USE == 2 $game_temp.no_battle_time = value + $game_party.steps end end end
#============================================================================== # ■ Spriteset Map #============================================================================== class Spriteset_Map #-------------------------------------------------------------------------- # * Get The Player Sprite #-------------------------------------------------------------------------- def player_sprite return @character_sprites[@character_sprites.size - 1] end end
#============================================================================== # ■ Scene Battle #============================================================================== class Scene_Battle #-------------------------------------------------------------------------- # * Alias End Battle #-------------------------------------------------------------------------- alias aza_no_battle_time_battle_end battle_end def battle_end(result) aza_no_battle_time_battle_end(result) if Aza::No_Battle::After_Battle if Aza::No_Battle::METHOD_USE == 1 $game_temp.no_battle_time = Aza::No_Battle::No_Battle_Time elsif Aza::No_Battle::METHOD_USE == 2 $game_temp.no_battle_time = Aza::No_Battle::No_Battle_Stept + $game_party.steps end end end end
#============================================================================== # ■ Scene Map #============================================================================== class Scene_Map < Scene_Base #-------------------------------------------------------------------------- # * Alias Encounter Processing #-------------------------------------------------------------------------- alias aza_no_battle_time_update_encounter update_encounter def update_encounter if Aza::No_Battle::METHOD_USE == 1 if $game_temp.no_battle_time != 0 $game_temp.no_battle_time -= 1 if Aza::No_Battle::Flashing_Player player = @spriteset.player_sprite player.opacity = (100 + rand(156)) player.opacity = 255 if $game_temp.no_battle_time == 0 end return end elsif Aza::No_Battle::METHOD_USE == 2 if $game_temp.no_battle_time >= $game_party.steps if Aza::No_Battle::Flashing_Player player = @spriteset.player_sprite player.opacity = (100 + rand(156)) player.opacity = 255 if $game_temp.no_battle_time == $game_party.steps end return end end end end
Le script est simple, facile et efficace. Modifie les constantes dans le module et le tour est joué. Pour créé des objets de type rappel, crée un évènement commun ayant l'appelle de script suivant: - Code:
-
rappel_item(nombre de pas/temps) |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Script pour annuler X temps combat Aléatoire Mer 5 Mai 2010 - 15:13 | |
| Essaye ca : - Code:
-
#=============================================================== # ° [VX] Empêcher les rencontres pour X pas. # ° Par Blockade # ° Fait le 05/05/10 # ° Version 1.0 # ° http://rpg-maker-vx.bbactif.com/forum.htm # _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ # ° Notes de versions # ~ Version 1.0 # - Création du script #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ # ° Installation # Mettez le script au dessus de main. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ # ° Utilisation # Il faut juste mettre dans la note d'un objet : # Nb_pas=x où x est le nombre de pas. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#============================================================================== # ** Game_Party #------------------------------------------------------------------------------ # Class qui gére l'équipe. #============================================================================== class Game_Party < Game_Unit #-------------------------------------------------------------------------- # * Augmente le nombre de pas #-------------------------------------------------------------------------- def increase_steps @steps += 1 if $game_system.last_steps != nil if $game_system.last_steps + $game_system.time_encounter == @steps $game_system.encounter_disabled = false $game_player.make_encounter_count $game_system.last_steps = nil $game_system.time_encounter = nil end end end end
#============================================================================== # ** Scene_Item #------------------------------------------------------------------------------ # Class qui gére l'inventaire #============================================================================== class Scene_Item < Scene_Base #-------------------------------------------------------------------------- # * Utilisation d'un objet #-------------------------------------------------------------------------- alias use_item_nontarget_block use_item_nontarget unless $@ def use_item_nontarget use_item_nontarget_block nb_pas = @item.nb_pas.nil? ? 0 : @item.nb_pas $game_system.time_encounter = nb_pas $game_system.last_steps = $game_party.steps $game_system.encounter_disabled = true end end #============================================================================== # ** Game_System #------------------------------------------------------------------------------ # Class qui gére plusiseurs variable lié au jeu #============================================================================== class Game_System attr_accessor :time_encounter # Nombre de pas avant la réactivation des combat aléatoires attr_accessor :last_steps # Retourne le nombre de pas quand l'objet à été activé end
#============================================================================== # **String #------------------------------------------------------------------------------ # Classe qui gére les objets de type String. #============================================================================== class String #-------------------------------------------------------------------------- # * Découpe la note ligne par ligne #-------------------------------------------------------------------------- def decoupe bloc = [] self.split(/[rn]+/).each { |line| bloc.push(line) } return bloc end end
#============================================================================== # **RPG #------------------------------------------------------------------------------ # Gére toute la BBD #============================================================================== module RPG class Item #-------------------------------------------------------------------------- # * Renvoye le nombre de pas limite #-------------------------------------------------------------------------- def nb_pas text = @note.decoupe nb_pas_stop = 0 text.each { |line| nb_pas_stop = line.delete("Nb_pas=").to_i if line.include?("Nb_pas=") } return nb_pas_stop end end end Beuh =( Moi il marche plus simplement xD. Tu crée ton objet normal, avec cible aucune, et utilisable dans le menu uniquement. Dans la note tu met : Nb_pas=x où x est ton nombre de pas. Voila ! Bon j'ai pas la p'tite animation j'avoue xD |
|
| |
Age : 33 Inscrit le : 02/02/2010 Messages : 4692
| Sujet: Re: Script pour annuler X temps combat Aléatoire Mer 5 Mai 2010 - 15:23 | |
| Ah c'est sympa. Un sorte de Repousse à la Pokémon.
Enfin ça m'est pas utile mais j'approuve l'initiative. ^^ |
|
| |
Maire Lv.9
Age : 36 Inscrit le : 18/12/2009 Messages : 360
| Sujet: Re: Script pour annuler X temps combat Aléatoire Jeu 6 Mai 2010 - 20:47 | |
| Merci à vous 2 Edit : Franchement.... j'aime la programmation mais le ruby... j'y comprend vraiment pas grand chose.... Aucun des 2 script ne fonctionne correctement chez moi. Pour celui d'Azuma, je fait mon objet, je lui met appeler un évènement commun "Pause combat", dans l'évènement j'ai fait "appeler script : rappel_item(10)" Sur ton script j'ai les lignes suivantes : - Spoiler:
METHOD_USE = 2 # 1 => utiliser le temps # 2 => un nombre de pas After_Battle = true # No_Battle_Time = 120 # en frames (60 frames = 1 seconde) No_Battle_Stept = 5 # nombre de pas Flashing_Player = true # l'acteur clignotant?
Et je sais pas si il prend le nombre de pas que j'ai mit dans le script (donc 5) ou celui de l'appelle de script (donc 10) bref je lance le jeu et j'ai mit combat aléatoire, nombre de pas 1, pour bien tester le script mais dès que je lance le jeu sans avoir l'objet, aucun combat ^^ Pour celui de Blockade, je fait également mon objet, je lui met en commentaire : Nb_pas=10, avec cible aucune et utilisable menu uniquement puis je lance le jeu, les combats aléatoire sont activé, je prend l'objet, puis plus de combat... mais après mes 10 pas... toujours pas de combat Je suis désolé de vous embêter pour ça mais je ne comprend pas pourquoi cela ne fonctionne pas. Merci de vos futurs réponses. |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Script pour annuler X temps combat Aléatoire Jeu 6 Mai 2010 - 21:15 | |
| Essaye de placer mon script en dessous de ceux que tu utilise ! Ou sinon teste dans un projet vierge, mais j'ai testé ca marche normalement. |
|
| |
Maire Lv.9
Age : 36 Inscrit le : 18/12/2009 Messages : 360
| Sujet: Re: Script pour annuler X temps combat Aléatoire Ven 7 Mai 2010 - 14:58 | |
| J'ai trouvé le problème, et j'ai réussi à le résoudre. En fait j'utilise le Menu objet avancé de KGC qui fait que je peux classer mes items par catégorie. Pour l'objet avec le commentaire Nb_pas=x, j'avais mit en-dessus
Ce qui faisait buger ton script.
Ensuite j'ai essayé de mettre la catégorie en-dessous de Nb_pas=x et ça fonctionne à merveille
Merci pour le script ! |
|
| |
| Sujet: Re: Script pour annuler X temps combat Aléatoire | |
| |
|
| |
| Script pour annuler X temps combat Aléatoire | |
|