| Création d'une magie gravité [resolu] | |
|
|
Auteur | Message |
---|
Seigneur Lv.18
Age : 29 Avertissements : 3 Inscrit le : 20/12/2008 Messages : 2292
| Sujet: Re: Création d'une magie gravité [resolu] Sam 5 Sep 2009 - 11:44 | |
| Super *o* !!! Mais bug à la ligne 90... dans cette ligne il y a juste un end ^^ Je ne m'y connais pas en script donc je sais pas si il faut le supprimer en rajouter ou quoi ^^
PS : Le %hpuser marche avec les hps actuels ou MAX ? |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Création d'une magie gravité [resolu] Sam 5 Sep 2009 - 11:56 | |
| Reprend le script ! Je l'ai codé sur le forum donc j'ai oublié de virer deux end... %hpuser marche avec les hp actuels, mais si tu veux je rajoute avec les hpmax =) |
|
| |
Seigneur Lv.18
Age : 29 Avertissements : 3 Inscrit le : 20/12/2008 Messages : 2292
| Sujet: Re: Création d'une magie gravité [resolu] Sam 5 Sep 2009 - 11:57 | |
| Non non c'est bon; t'inquiètes C'est ce qu'il me fallait J'EDIT après l'avoir testé EDIT : Il y avait un bug ligne 105 ^^" J'ai rajouté un end à la fin, et je peux maintenant lancé le jeu, mais quand je veux utiliser la compétence, ça bug... j'ai essayé de rajouter un "=" à "%hpuser" mais ça ne marche pas non plus ^^" |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Création d'une magie gravité [resolu] Sam 5 Sep 2009 - 12:09 | |
| Voila c'est corrigé ca marche ! Sur le SBS ca affichera les dégâts en attendant tu peut mettre dans le sort, "Déclencher un message" : "Pert 50 % de ses Hp's" par exemple ! - Code:
-
#=============================================================== # ● [VX] ◦ Attaques du genre Demi (% des Hp's) #-------------------------------------------------------------- # ◦ Par Blockade, d'une requête # ◦ http://rpg-maker-vx.bbactif.com/forum.htm # ◦ Crée le 04/09/09 # ◦ Version 1.2 #-------------------------------------------------------------- # Description & installation # Permet de faire des attaque du genre Demi (Dégâts : % des hp's de l'ennemi) # Compatible avec le SBS, mais il inclus déjà cette fonction # # Juste mettre au dessus de Main et en dessous des scripts de combats que vous utilisez #-------------------------------------------------------------- # Notes de version : # ~ 1.0 # - Sortie du script # ~ 1.1 # - Correction de nombreux bugs # ~ 1.2 # - Rajout d'une option pour choisir entre le %hp actuel/maximum # - Rajout d'une option pour que l'utilisteur perde un %age de ses hps #===============================================================
module Block_Config # Le tag pour récupérer les valeurs Tag = "%hp=" # Pour le %hp des actuels Tag2 = "%maxhp=" # Pour le % hp maximum Tag3 = "%hpuser=" #Pour les %hp perdus a l'utilisateur end
#============================================================================== # **Game_Battler #~ #------------------------------------------------------------------------------ # Modifie les dommages si le sort est un sort de gravité #============================================================================== class Game_Battler alias make_obj_damage_value_block make_obj_damage_value def make_obj_damage_value(user,obj) make_obj_damage_value_block(user,obj) if obj.is_a?(RPG:Skill) if obj.pourcentagehp != nil @hp_damage = (self.hp * obj.pourcentagehp ) / 100 elsif obj.pourcentagemaxhp != nil @hp_damage = (self.maxhp * obj.pourcentagemaxhp ) / 100 elsif obj.userpourcentagehp != nil user.hp -= (user.hp * obj.userpourcentagehp ) / 100 end end end end
#============================================================================== # **RPG::Skill #------------------------------------------------------------------------------ # Classe qui gére les objets de type String. #============================================================================== module RPG class Skill #-------------------------------------------------------------------------- # * Prend les données pour le pourcentage des hp actuels #-------------------------------------------------------------------------- def pourcentagehp text = @note.decoupe for line in text pourcentage = line.delete(Block_Config::Tag).to_i if line.include?(Block_Config::Tag) end return pourcentage end #-------------------------------------------------------------------------- # * Prend les données pour le pourcentage des hp max #-------------------------------------------------------------------------- def pourcentagemaxhp text = @note.decoupe for line in text pourcentage = line.delete(Block_Config::Tag2).to_i if line.include?(Block_Config::Tag2) end return pourcentage end
#-------------------------------------------------------------------------- # * Prend les données pour le pourcentage des hp (Dégât à l'utilisateur) #-------------------------------------------------------------------------- def userpourcentagehp text = @note.decoupe for line in text pourcentage = line.delete(Block_Config::Tag3).to_i if line.include?(Block_Config::Tag3) end return pourcentage end end 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(/[\r\n]+/).each { |line| bloc.push(line) } return bloc end end
Dernière édition par Blockade le Dim 6 Sep 2009 - 20:09, édité 1 fois |
|
| |
Seigneur Lv.18
Age : 29 Avertissements : 3 Inscrit le : 20/12/2008 Messages : 2292
| Sujet: Re: Création d'une magie gravité [resolu] Sam 5 Sep 2009 - 12:14 | |
| Super !! Mais maintenant, ce serait bien de lui faire perdre ses 50% de vie à cet utilisateur xD A part ce "léger" problème ça marche niquel ! |
|
| |
Aventurier Lv.16
Age : 40 Inscrit le : 03/09/2009 Messages : 1503
| Sujet: Re: Création d'une magie gravité [resolu] Sam 5 Sep 2009 - 13:28 | |
| Blockade SBS c'est bien ça style de combat Sideview Battle System Version 3.3b (English Translation v2.4) ? Car enfaite j'ai vu les script dans la demo et je les ai rajouté à mon projet. Une autre chose le script du dessus c'est bien celui que je t'avais demander au un autre ? Je voulais que par exemple si l'ennemi possède 1 000 avec l'attaque Demi 50 % par exemple il perd 500 puis 250 et non 500 et 500 ! Merci de ta futur réponse EDIT: Est-il possible de se protéger contre le status Demi/Gravité ? Si oui, peut-on m'expliquer ? |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Création d'une magie gravité [resolu] Dim 6 Sep 2009 - 9:47 | |
| @zodiak : Ca marche pas ? Il enléve pas 50 % des hp's ? oO'
@CloudStrife : Oui le SBS c'est ca.
Si tu veux l'effet recherché c'est simple, tu prend le dernier script que j'ai posté : et à la place de "%maxhp=" dans ton sort tu met "%hp="
Pour protéger contre ca tu crée un nouvel élément "Gravité", par exemple (Système dans la base de données je crois), tu coche cet élément sur ton sort, puis sur ton monstre tu met résistance A, et le tour est joué. |
|
| |
Seigneur Lv.18
Age : 29 Avertissements : 3 Inscrit le : 20/12/2008 Messages : 2292
| Sujet: Re: Création d'une magie gravité [resolu] Dim 6 Sep 2009 - 18:43 | |
| Ben non.... Il enlève pas 50% de la vie de l'utilisateur lorsque je met %hpuser dans commentaire >o<" |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Création d'une magie gravité [resolu] Dim 6 Sep 2009 - 20:03 | |
| Essaye %hpuser=50 pour voir ! |
|
| |
Aventurier Lv.16
Age : 40 Inscrit le : 03/09/2009 Messages : 1503
| Sujet: Re: Création d'une magie gravité [resolu] Dim 6 Sep 2009 - 20:06 | |
| Moi j'ai un bug avec ce script, la magie gravité marche nikel, mais quand j'utilise une potion ça fait planter le jeu. |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Création d'une magie gravité [resolu] Dim 6 Sep 2009 - 20:10 | |
| Hop désolée, j'avais zappé que rmvx utilisait la même méthode pour les sorts et les objets (On a pas idée quand même --'). Bon la ca devrait marcher j'suis désolée pour le temps qu'il a fallut pour mettre un script aussi simple au point --' Je code plus jamais à vide sur le forum xD - Code:
-
#=============================================================== # ● [VX] ◦ Attaques du genre Demi (% des Hp's) #-------------------------------------------------------------- # ◦ Par Blockade, d'une requête # ◦ http://rpg-maker-vx.bbactif.com/forum.htm # ◦ Crée le 04/09/09 # ◦ Version 1.4 #-------------------------------------------------------------- # Description & installation # Permet de faire des attaque du genre Demi (Dégâts : % des hp's de l'ennemi) # Compatible avec le SBS, mais il inclus déjà cette fonction # # Juste mettre au dessus de Main et en dessous des scripts de combats que vous utilisez #-------------------------------------------------------------- # Notes de version : # ~ 1.0 # - Sortie du script # ~ 1.1 # - Correction de nombreux bugs # ~ 1.2 # - Rajout d'une option pour choisir entre le %hp actuel/maximum # - Rajout d'une option pour que l'utilisateur perde un %age de ses hps # ~ 1.3 # - Version stable # ~ 1.4 # - Bug avec les éléments corrigé. #===============================================================
module Block_Config # Le tag pour récupérer les valeurs Tag = "%hp=" # Pour le %hp des actuels Tag2 = "%maxhp=" # Pour le % hp maximum Tag3 = "%hpuser=" #Pour les %hp perdus a l'utilisateur end
#============================================================================== # **Game_Battler #~ #------------------------------------------------------------------------------ # Modifie les dommages si le sort est un sort de gravité #============================================================================== class Game_Battler alias make_obj_damage_value_block make_obj_damage_value def make_obj_damage_value(user,obj) make_obj_damage_value_block(user,obj) if obj.is_a?(RPG::Skill) if obj.pourcentagehp != nil @hp_damage = (self.hp * obj.pourcentagehp ) / 100 @damage *= elements_max_rate(obj.element_set) # elemental adjustment @damage /= 100 elsif obj.pourcentagemaxhp != nil @hp_damage = (self.maxhp * obj.pourcentagemaxhp ) / 100 @damage *= elements_max_rate(obj.element_set) # elemental adjustment @damage /= 100 elsif obj.userpourcentagehp != nil user.hp -= (user.hp * obj.userpourcentagehp ) / 100 end end end end
#============================================================================== # **RPG::Skill #------------------------------------------------------------------------------ # Classe qui gére les objets de type String. #============================================================================== module RPG class Skill #-------------------------------------------------------------------------- # * Prend les données pour le pourcentage des hp actuels #-------------------------------------------------------------------------- def pourcentagehp text = @note.decoupe for line in text pourcentage = line.delete(Block_Config::Tag).to_i if line.include?(Block_Config::Tag) end return pourcentage end #-------------------------------------------------------------------------- # * Prend les données pour le pourcentage des hp max #-------------------------------------------------------------------------- def pourcentagemaxhp text = @note.decoupe for line in text pourcentage = line.delete(Block_Config::Tag2).to_i if line.include?(Block_Config::Tag2) end return pourcentage end
#-------------------------------------------------------------------------- # * Prend les données pour le pourcentage des hp (Dégât à l'utilisateur) #-------------------------------------------------------------------------- def userpourcentagehp text = @note.decoupe for line in text pourcentage = line.delete(Block_Config::Tag3).to_i if line.include?(Block_Config::Tag3) end return pourcentage end end 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(/[\r\n]+/).each { |line| bloc.push(line) } return bloc end end
Dernière édition par Blockade le Lun 7 Sep 2009 - 20:07, édité 1 fois |
|
| |
Seigneur Lv.18
Age : 29 Avertissements : 3 Inscrit le : 20/12/2008 Messages : 2292
| Sujet: Re: Création d'une magie gravité [resolu] Lun 7 Sep 2009 - 19:36 | |
| Parfait Super, merci Blockade ! [Par %hpuser, je supposais %huser=[le nombre] ^^] |
|
| |
Aventurier Lv.16
Age : 40 Inscrit le : 03/09/2009 Messages : 1503
| Sujet: Re: Création d'une magie gravité [resolu] Lun 7 Sep 2009 - 19:45 | |
| Merci je vais tester ça. EDIT: Ca marche nikel merci. ^^ Par contre j'ai créer une attribut Gravité et j'ai mis les sorts Demi 1 etc... en tant qu'attribut de gravité j'ai mis résistance A à un monstre ensuite j'ai basculer sur F mais dans les deux cas il perd les 50% de vie.
Dernière édition par CloudStrife le Lun 7 Sep 2009 - 20:02, édité 1 fois |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Création d'une magie gravité [resolu] Lun 7 Sep 2009 - 19:48 | |
| C'bon Zodiak ca marche finalement ? XD |
|
| |
Seigneur Lv.18
Age : 29 Avertissements : 3 Inscrit le : 20/12/2008 Messages : 2292
| Sujet: Re: Création d'une magie gravité [resolu] Lun 7 Sep 2009 - 19:50 | |
| Ouais, à merveille ^^ Il perd bien 50% de sa vie maintenant °w° Encore merci |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: Création d'une magie gravité [resolu] Lun 7 Sep 2009 - 20:08 | |
| On va finir par y arriver vous inquiétez pas xD Voila prend cette version CloudStrife, Zodiak aussi et tout ceux qui veulent =) - Code:
-
#=============================================================== # ● [VX] ◦ Attaques du genre Demi (% des Hp's) #-------------------------------------------------------------- # ◦ Par Blockade, d'une requête # ◦ http://rpg-maker-vx.bbactif.com/forum.htm # ◦ Crée le 04/09/09 # ◦ Version 1.4 #-------------------------------------------------------------- # Description & installation # Permet de faire des attaque du genre Demi (Dégâts : % des hp's de l'ennemi) # Compatible avec le SBS, mais il inclus déjà cette fonction # # Juste mettre au dessus de Main et en dessous des scripts de combats que vous utilisez #-------------------------------------------------------------- # Notes de version : # ~ 1.0 # - Sortie du script # ~ 1.1 # - Correction de nombreux bugs # ~ 1.2 # - Rajout d'une option pour choisir entre le %hp actuel/maximum # - Rajout d'une option pour que l'utilisateur perde un %age de ses hps # ~ 1.3 # - Version stable # ~ 1.4 # - Bug avec les éléments corrigé. #===============================================================
module Block_Config # Le tag pour récupérer les valeurs Tag = "%hp=" # Pour le %hp des actuels Tag2 = "%maxhp=" # Pour le % hp maximum Tag3 = "%hpuser=" #Pour les %hp perdus a l'utilisateur end
#============================================================================== # **Game_Battler #~ #------------------------------------------------------------------------------ # Modifie les dommages si le sort est un sort de gravité #============================================================================== class Game_Battler alias make_obj_damage_value_block make_obj_damage_value def make_obj_damage_value(user,obj) make_obj_damage_value_block(user,obj) if obj.is_a?(RPG::Skill) if obj.pourcentagehp != nil @hp_damage = (self.hp * obj.pourcentagehp ) / 100 @hp_damage *= elements_max_rate(obj.element_set) # elemental adjustment @hp_damage /= 100 elsif obj.pourcentagemaxhp != nil @hp_damage = (self.maxhp * obj.pourcentagemaxhp ) / 100 @hp_damage *= elements_max_rate(obj.element_set) # elemental adjustment @hp_damage /= 100 elsif obj.userpourcentagehp != nil user.hp -= (user.hp * obj.userpourcentagehp ) / 100 end end end end
#============================================================================== # **RPG::Skill #------------------------------------------------------------------------------ # Classe qui gére les objets de type String. #============================================================================== module RPG class Skill #-------------------------------------------------------------------------- # * Prend les données pour le pourcentage des hp actuels #-------------------------------------------------------------------------- def pourcentagehp text = @note.decoupe for line in text pourcentage = line.delete(Block_Config::Tag).to_i if line.include?(Block_Config::Tag) end return pourcentage end #-------------------------------------------------------------------------- # * Prend les données pour le pourcentage des hp max #-------------------------------------------------------------------------- def pourcentagemaxhp text = @note.decoupe for line in text pourcentage = line.delete(Block_Config::Tag2).to_i if line.include?(Block_Config::Tag2) end return pourcentage end
#-------------------------------------------------------------------------- # * Prend les données pour le pourcentage des hp (Dégât à l'utilisateur) #-------------------------------------------------------------------------- def userpourcentagehp text = @note.decoupe for line in text pourcentage = line.delete(Block_Config::Tag3).to_i if line.include?(Block_Config::Tag3) end return pourcentage end end 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(/[\r\n]+/).each { |line| bloc.push(line) } return bloc end end
Dernière édition par Blockade le Lun 7 Sep 2009 - 20:11, édité 1 fois |
|
| |
Aventurier Lv.16
Age : 40 Inscrit le : 03/09/2009 Messages : 1503
| Sujet: Re: Création d'une magie gravité [resolu] Lun 7 Sep 2009 - 20:10 | |
| Je te fais confiance xD bon je vais tester et je reviens dire si ça marche mdr. EDIT: Ca marche nikel t'es trop forte Blockade Blockade au passage tu peux m'aider à réglé ce problème (je galère trop) , merci d'avance. |
|
| |
| Sujet: Re: Création d'une magie gravité [resolu] | |
| |
|
| |
| Création d'une magie gravité [resolu] | |
|