|
|
Auteur | Message |
---|
Ex-Admin-Script
Age : 42 Inscrit le : 26/05/2008 Messages : 2360
| Sujet: [VX] Faim et soif Mer 28 Mai 2008 - 19:14 | |
| Auteur original : Berka Editer par : MirainoHikari Le script édité - Code:
-
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # Game_Faim # par berka # # http:\\www.rpgmakerxp.frbb.net # # Editer par MirainoHikari pour la soif # http://rpg-maker-vx.bbactif.com #-------------------------------------------------------------- # compatible RGSS2, RMvx # gestion de la faim, selon l'allure du heros, et du temps #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
COUL_FAIM_1 = Color.new(255, 0, 0, 200) # couleur barre a gauche COUL_FAIM_2 = Color.new(0, 255, 0, 255) # couleur barre a droite COUL_SOIF_1 = Color.new(0, 0, 255, 200) # couleur barre a gauche COUL_SOIF_2 = Color.new(0, 125, 125, 255) # couleur barre a droite POS_X_BARRE = 32 # position horizontale de la barre POS_Y_BARRE = 32 # position verticale de la barre LONG_BARRE = 200 # longueur de la barre HAUT_BARRE = 5 # hauteur de la barre POLICE = 14 # taille de la police TEXT = true # affiche le pourcentage de famine ^^ FAIM = 100 # "quantité de faim" disponible (dur a expliquer) SOIF = 100 # "quantité de soif" disponible ;) RAPIDITE_FAIM = 0.05 # rapidité d'augmentation de la faim RAPIDITE_SOIF = 0.10 # rapidité d'augmentation de la soif # message quand notre cher heros se tord de douleur, affamé... CREVE_FAIM = "Je suis mort de faim..." CREVE_SOIF = "Je suis mort déshydraté" # en cas de mal-bouffe... \x00 pour un saut de ligne, \x03 pour une pause PLUS_FAIM = "blurps...\x00je crois que j'ai trop mangé..." MESSAGES = true # activer ou non les messages si dessus ID_EVENT_COM_CREVE = 2 # id de l'event commun declenché en cas de mort de faim ID_MASQUER = 4 # id de l'interrupteur a activer pour masquer les barre
# utilisation # -> pour fixer la jauge selon un pourcentage: ex 50% : $game_faim.fixer(50) # -> pour recuperer un certain pourcentage: ex +24% : $game_faim.recuperer(24) # -> pour modifier en jeu, la rapidité de faim (apres lvl up): baisser de 0.01: $game_faim.rapidte -= 0.01 # -> creez un event commun en appel, qui ssera appelé lorsque la jauge sera completement vide # -> creez un objet pomme, qui declenchera un event commun avec $game_faim.recuperer(24) dedans # pour toutes questions, suggestions n'hésitez pas a me contacter...
class Game_Faim attr_accessor :faim, :rapidite def initialize @faim, @rapidite = FAIM, RAPIDITE_FAIM end def update if @faim > 0 and @faim <= FAIM if $game_player.moving? == true if $game_player.dash? == true @faim -= @rapidite.to_f #si course elsif $game_player.in_vehicle? == true @faim -= (@rapidite/6).to_f #si dans vehicule end @faim -= (@rapidite/4).to_f #si mouvement simple else @faim -= (@rapidite/10).to_f # si immobile end creve if @faim <= 0 plus_faim if @faim > FAIM end end def plus_faim @faim = FAIM if MESSAGES == true $game_message.new_page; $game_message.texts.push(PLUS_FAIM) end end def creve if MESSAGES == true $game_message.new_page; $game_message.texts.push(CREVE_FAIM) end $game_temp.common_event_id = ID_EVENT_COM_CREVE end def fixer(pourcent) @faim = (FAIM* pourcent.to_f)/100 end def recuperer(pourcent) if @faim + (FAIM* pourcent.to_f)/100 > FAIM @faim = FAIM else @faim += (FAIM* pourcent.to_f)/100 end end end
class Game_Soif attr_accessor :soif, :rapidite
def initialize @soif, @rapidite = SOIF, RAPIDITE_SOIF end
def update if @soif > 0 and @soif <= SOIF if $game_player.moving? == true if $game_player.dash? == true @soif -= @rapidite.to_f #si course elsif $game_player.in_vehicle? == true @soif -= (@rapidite/6).to_f #si dans vehicule end @soif -= (@rapidite/4).to_f #si mouvement simple else @soif -= (@rapidite/10).to_f # si immobile end creve if @soif <= 0 plus_soif if @soif > SOIF end end
def plus_soif @soif = SOIF if MESSAGES == true $game_message.new_page; $game_message.texts.push(PLUS_SOIF) end end
def creve if MESSAGES == true $game_message.new_page; $game_message.texts.push(CREVE_SOIF) end $game_temp.common_event_id = ID_EVENT_COM_CREVE end
def fixer(pourcent) @soif = (SOIF* pourcent.to_f)/100 end
def recuperer(pourcent) if @soif + (SOIF* pourcent.to_f)/100 > SOIF @soif = SOIF else @soif += (SOIF* pourcent.to_f)/100 end end end
class Scene_Title alias berka1 create_game_objects def create_game_objects berka1 $game_faim = Game_Faim.new $game_soif = Game_Soif.new end end
class Scene_Map alias berka1 update alias berka2 start alias berka3 terminate def start berka2 @faim_soif = Window_Faim.new(-32,-32,608,480) end
def terminate @faim_soif.dispose berka3 end
def update $game_faim.update $game_soif.update @faim_soif.visible = true @faim_soif.visible = false if $game_switches[ID_MASQUER] == true @faim_soif.update berka1 end end
class Window_Faim < Window_Base
def initialize(x, y, w, h) super(x, y, w, h) self.opacity = 0 refresh end
def refresh self.contents.clear b1 = LONG_BARRE * ($game_faim.faim/FAIM) p1 = b1.to_f/LONG_BARRE*100 b2 = LONG_BARRE * ($game_soif.soif/SOIF) p2 = b2.to_f/LONG_BARRE*100 self.contents.font.size = POLICE texte1 = "faim: #{p1.to_i.to_s}%" texte2 = "soif: #{p2.to_i.to_s}%" cx1 = contents.text_size(texte1).width cx2 = contents.text_size(texte2).width
#dessiner barre de faim self.contents.fill_rect(POS_X_BARRE-1, POS_Y_BARRE-1, LONG_BARRE+2, HAUT_BARRE+2, Color.new(0, 0, 0, 75)) self.contents.gradient_fill_rect(POS_X_BARRE, POS_Y_BARRE, b1, HAUT_BARRE, COUL_FAIM_1, COUL_FAIM_2) self.contents.draw_text(POS_X_BARRE+(LONG_BARRE - cx1)/2, POS_Y_BARRE-5, cx1, WLH, texte1) if TEXT == true #dessiner barre de soif self.contents.fill_rect(POS_X_BARRE-1, POS_Y_BARRE-1+32, LONG_BARRE+2, HAUT_BARRE+2, Color.new(0, 0, 0, 75)) self.contents.gradient_fill_rect(POS_X_BARRE, POS_Y_BARRE+32, b2, HAUT_BARRE, COUL_SOIF_1, COUL_SOIF_2) self.contents.draw_text(POS_X_BARRE+(LONG_BARRE - cx2)/2, POS_Y_BARRE-5+32, cx2, WLH, texte2) if TEXT == true
end
def update refresh end end
class Scene_File < Scene_Base alias berka1 write_save_data alias berka2 read_save_data def write_save_data(file) berka1(file) Marshal.dump($game_faim, file) Marshal.dump($game_soif, file) end def read_save_data(file) berka2(file) $game_faim = Marshal.load(file) $game_soif = Marshal.load(file) end end La preuve que ça marche
Dernière édition par MirainoHikari le Jeu 23 Avr 2009 - 20:09, édité 2 fois |
|
| |
Invité
| Sujet: Re: [VX] Faim et soif Mer 28 Mai 2008 - 19:45 | |
| Ce script est duper mais comment augmenter sa soif et sa faim après ? |
|
| |
Ex-Admin-Script
Age : 42 Inscrit le : 26/05/2008 Messages : 2360
| Sujet: Re: [VX] Faim et soif Mer 28 Mai 2008 - 19:51 | |
| Moi, j'ai seulement répondu à une demande de Drak41 pour les afficher https://rpg-maker-vx.bbactif.com/demande-de-scripts-f23/jauge-de-soif-et-jauge-de-fatigue-t797.htm Mais j'imagine facilement que Drak41 doit avoir un script qui fait en sort que lorsqu'il prends un objet de type nourriture ça augemente sa faim et le type boisson qui augmente sa soif... Avec ItemCategorize ou un script du genre ce serait facile (c'est d'ailleur ce qu'il doit utiliser)... C'était une demande spécial, je ne sais pas exactement ce que Drak41 en fait, mais bon... puisque le script a été fait, je me suis dit que ça pourrait servir à d'autre... Je ne suis pas l'auteur original de ce script. Il faut donc savoir que je ne me suis pas poser la question du après... |
|
| |
Habitant Lv.6
Age : 58 Inscrit le : 31/03/2008 Messages : 103
| Sujet: Jexplique un peut... Jeu 29 Mai 2008 - 16:15 | |
| Se script me sera très utile car je me suis dit qu'un héros qui ne mange jamais et ne bois jamais et n'est jamais fatigué n'est pas très réaliste. Dans la vraie vie il faut manger, boire et dormir. Donc dans mes jeux se sera pareil. Pour augmenter la faim ou la soif on crée un objet dans la base de donné nommé par exemple pomme, eau, alcool...il faut le faire de la même façon qu'un autre item curatif, sauf que cet item au lieu d'augmenter les points de vie, il augmente soit la faim ou la soif. Dans l'item il faut appeler un événement commun comme ceci: $game_faim.recuperer(24) (bien sûr on l'écrit dans l'onglet des événements commun et on l'appel sur l'item désiré. On peut mettre un nombre négatif pour diminuer la soif ou la faim aussi. On peut également modifier le niveau de soif et de faim si on est dans un désert, par exemple on aura soif plus vite. Voilà pour l'explication de se script des plus pratique si on veux des héros plus réalistes. J'espère que vous l'avez compris. Merci à Miraino pour l'avoir adapté. |
|
| |
dYeu retraité prématurément
Age : 29 Inscrit le : 09/02/2008 Messages : 5357
| Sujet: Re: [VX] Faim et soif Jeu 29 Mai 2008 - 16:24 | |
| T'assure MirainoHikari . En quelque jour tu as déjà la moitié des points d'aide à la vie du forum O-O ! T'as fait un record mondial apparemment ! Enfin on va pas se plaindre hein, au contraire xD. Pour l'auteur c'est Mr.Berka. |
|
| |
Voyageur Lv.10
Age : 30 Inscrit le : 17/04/2008 Messages : 493
| Sujet: Re: [VX] Faim et soif Jeu 29 Mai 2008 - 17:43 | |
| |
|
| |
Ex-Admin-Script
Age : 42 Inscrit le : 26/05/2008 Messages : 2360
| Sujet: Re: [VX] Faim et soif Jeu 29 Mai 2008 - 18:41 | |
| - fabY a écrit:
- T'assure MirainoHikari .
En quelque jour tu as déjà la moitié des points d'aide à la vie du forum O-O ! T'as fait un record mondial apparemment ! Enfin on va pas se plaindre hein, au contraire xD.
Pour l'auteur c'est Mr.Berka. Pour le reccord mondial, je ne sais pas, mais j'avoue que 50% en 2½jours, c'est très rapide Et ce n'est pas fini . - Vico a écrit:
- Merci pour le script ^^
Ce fut un plaisir. |
|
| |
Invité
| Sujet: Re: [VX] Faim et soif Lun 22 Juin 2009 - 8:06 | |
| Excuser moi mais je n'arrive pas a utiliser la commande $game_faim.recuperer(24) chez moi cette commande ne marche pas , je la met dans un commentaire masi rien ni fait ... Pouvez vous m'aider s'il vous plait.
Et un averto Ele' aussi ! |
|
| |
Roi des Lapinous
Age : 34 Inscrit le : 11/10/2008 Messages : 2292
| Sujet: Re: [VX] Faim et soif Lun 22 Juin 2009 - 9:05 | |
| Respecte les consignes du forum, va te présenter. Après tu auras une réponse, merci. |
|
| |
Invité
| Sujet: Re: [VX] Faim et soif Lun 22 Juin 2009 - 16:33 | |
| Je m'excuse me voila présenté mais j'avais pas eu le temps de passer sur le topic présentation il fallait que je parte passer le bac. Me voila présenté |
|
| |
Maître du destin
Age : 28 Inscrit le : 05/11/2008 Messages : 2955
| Sujet: Re: [VX] Faim et soif Lun 22 Juin 2009 - 16:36 | |
| Désolé, mais j'ai un problème avec le script. Il me dise Erreur à la ligne 220, et il est écrit: "End of file reached". La ligne en question: - Code:
-
$game_faim = Marshal.load(file) Est-ce que quelqu'un saurait d'où provient ce bug? Oh euh... et quand je fais une nouvelle partie, ça me fait un bug à la ligne 184. La ligne: - Code:
-
b1 = LONG_BARRE * ($game_faim.faim/FAIM) Merci d'avance pour votre aide. |
|
| |
Ex-Admin-Script
Age : 42 Inscrit le : 26/05/2008 Messages : 2360
| Sujet: Re: [VX] Faim et soif Lun 22 Juin 2009 - 17:30 | |
| - Darksmile a écrit:
- Désolé, mais j'ai un problème avec le script. Il me dise Erreur à la ligne 220, et il est écrit: "End of file reached". La ligne en question:
- Code:
-
$game_faim = Marshal.load(file) Est-ce que quelqu'un saurait d'où provient ce bug? Oh euh... et quand je fais une nouvelle partie, ça me fait un bug à la ligne 184. La ligne: - Code:
-
b1 = LONG_BARRE * ($game_faim.faim/FAIM) Merci d'avance pour votre aide. Tout ce que je peux voir rapidement comme ça, c'est une erreur de copier coller, car normalement, ce script foncitonne bien. - florent92 a écrit:
- Excuser moi mais je n'arrive pas a utiliser la commande $game_faim.recuperer(24) chez moi cette commande ne marche pas , je la met dans un commentaire masi rien ni fait ... Pouvez vous m'aider s'il vous plait.
C'est pas dans commentaire que tu dois mettre ça, c'est dans script (la dernière page, tu as un bouton pour ça) |
|
| |
Invité
| Sujet: Re: [VX] Faim et soif Lun 22 Juin 2009 - 18:35 | |
| Merci beaucoup de ta réponse ^^ ça marche très bien maintenant. |
|
| |
Va-nu-pieds Lv.4
Age : 28 Avertissements : 1 Inscrit le : 10/07/2009 Messages : 60
| Sujet: Re: [VX] Faim et soif Ven 10 Juil 2009 - 19:04 | |
| Oui mais qu'est ce que vous voulez dire par appeler un événement commun dans un objet? comment on fait?. P.S: je suis nouveau |
|
| |
Roi des Lapinous
Age : 34 Inscrit le : 11/10/2008 Messages : 2292
| Sujet: Re: [VX] Faim et soif Ven 10 Juil 2009 - 19:22 | |
| Oui tu es nouveau donc va te présenter s'il te plaît, cela fais parti des régles du forum. Merci d'avance =) Après quelqu'un répondra sans problème à ta demande. |
|
| |
Va-nu-pieds Lv.4
Age : 28 Avertissements : 1 Inscrit le : 10/07/2009 Messages : 60
| Sujet: Re: [VX] Faim et soif Ven 10 Juil 2009 - 19:26 | |
| me présenter? (riez pas ) je sais pas comment lol |
|
| |
Roi des Lapinous
Age : 34 Inscrit le : 11/10/2008 Messages : 2292
| Sujet: Re: [VX] Faim et soif Ven 10 Juil 2009 - 19:34 | |
| |
|
| |
Va-nu-pieds Lv.4
Age : 28 Avertissements : 1 Inscrit le : 10/07/2009 Messages : 60
| Sujet: Re: [VX] Faim et soif Ven 10 Juil 2009 - 19:37 | |
| merci |
|
| |
Va-nu-pieds Lv.4
Age : 28 Avertissements : 1 Inscrit le : 10/07/2009 Messages : 60
| Sujet: Re: [VX] Faim et soif Ven 10 Juil 2009 - 19:45 | |
| Je suis présenté maintenant je peux poser ma question ^^ . Pour retrouver la faim ou la soif qu'est que vous voulez dire par mettre un événement commun dans un objet? comment je fais pour toucher le script de cet objet? |
|
| |
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [VX] Faim et soif Ven 10 Juil 2009 - 19:51 | |
| Pas de double post ^^
Tu vas dans ta base de donnée, et tu sélectionnes un objet. Dans le sélectionneur appeler un event commun, tu sélectionnes l'event commun que tu veux.
Et les events communs se définissent à partir de l'onglet event commun de la BDD. |
|
| |
Mage Lv.11
Age : 28 Inscrit le : 13/07/2008 Messages : 587
| Sujet: Re: [VX] Faim et soif Ven 10 Juil 2009 - 19:53 | |
| Je pense qu'il ne sait pas non plus ce qu'il faut mettre dans l'évent commun pour que le perso n'ai plus fain (ou soif). |
|
| |
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [VX] Faim et soif Ven 10 Juil 2009 - 19:55 | |
| Bah, si je ne m'abuse, tu crées un appel de script dans ton event avec par exemple :
$game_faim.recuperer(24)
Pour augmenter la barre de faim. Bref, suffit de lire dans les com's du script ^^" |
|
| |
Va-nu-pieds Lv.4
Age : 28 Avertissements : 1 Inscrit le : 10/07/2009 Messages : 60
| Sujet: Re: [VX] Faim et soif Ven 10 Juil 2009 - 20:04 | |
| Merci ça fonctionne |
|
| |
Poulet Lv.1
Age : 32 Inscrit le : 19/12/2009 Messages : 9
| Sujet: Re: [VX] Faim et soif Jeu 31 Déc 2009 - 3:24 | |
| salut, moi j'ai un message d'érreur lorsque je veux tester mon jeu. voici le message: script 'faim et soif' line142: NameError occurred undefined method "create_game_objects" for class "scene_title" je n'y connais absolument rien en script alors est-ce a cause du nom qui ne convient pas ? est-ce que je me suis tromper d'emplacement pour le coller ? ... merci d'avance. |
|
| |
Habitant Lv.6
Age : 34 Inscrit le : 24/12/2009 Messages : 139
| Sujet: Re: [VX] Faim et soif Jeu 31 Déc 2009 - 9:04 | |
| Je pense que t'as une erreur de nom à la ligne 142 xd |
|
| |
| Sujet: Re: [VX] Faim et soif | |
| |
|
| |
|