Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: [VX] Faim et soif Jeu 31 Déc 2009 - 10:45 | |
| Alors quand vous avez un problème de script c'est mieux de donner des informations. C'est comme téléphoner a la police pour signaler un vol mais ne pas donner d'adresse ou de détails.
Donc tu as d'autres scripts ? Si oui lesquels ? Tu as modifié quoique ce soit dans le script ? Si oui quoi ? Pourrais tu nous donner cette fameuse ligne aussi... |
|
Poulet Lv.1
Age : 32 Inscrit le : 19/12/2009 Messages : 9
| Sujet: Re: [VX] Faim et soif Jeu 31 Déc 2009 - 14:32 | |
| j'ai enfin trouver ! je n'avais pas mis le scrip édité par MirainoHikari a bon edroi et le nom ne marchait pas non plus. je vient de le mettre au-dessus de "main" et je l'ai meme renommé "berka1" et sa marche ! je suis trop heureux ! merci quand meme pour l'aide. comme quoi, a force de chercher et d'éssayer, on fini toujours par y arriver ! désolé de vous avoir déranger pour rien. |
|
Illusionniste Lv.12
Age : 115 Inscrit le : 07/08/2009 Messages : 774
| Sujet: Re: [VX] Faim et soif Jeu 31 Déc 2009 - 14:35 | |
| Osef du nom, mais forcément si tu le mets pas au dessus de Main ça va pas aller, tu dois mettre tout les scripts au dessus de main, sauf si une indication dans le script, ou à l'endroit où tu l'as trouvé te dit de le mettre ailleurs. |
|
Poulet Lv.1
Age : 32 Inscrit le : 19/12/2009 Messages : 9
| Sujet: Re: [VX] Faim et soif Mar 5 Jan 2010 - 22:24 | |
| ok ok merci beaucoup pour ton aide ! |
|
Va-nu-pieds Lv.4
Inscrit le : 07/10/2009 Messages : 54
| Sujet: Re: [VX] Faim et soif Ven 19 Fév 2010 - 13:09 | |
| Bon désolé pour le UP mais j'auras besoin d'un peu d'aide.
Je ovudrais savoir comment faire pour avoir plus de barres genre 5 ou 6.
Je sais si c'est possible (surement) mais merci d'avance. |
|
Ex-Admin-Script
Age : 42 Inscrit le : 26/05/2008 Messages : 2360
| Sujet: Re: [VX] Faim et soif Ven 19 Fév 2010 - 13:17 | |
| Oui c'est facile... Regarde le pattern et fait des copiez coller pour chaque barre que tu veux en ajustant un minimum... Ça, presque tous les apprentis scripteur rendu au moins au cours 3 sauraient te le faire, donc je leur laisse ce problème pour qu'ils se fassent la main (à moins que tu préfère t'essayer par toi-même). |
|
Va-nu-pieds Lv.4
Inscrit le : 07/10/2009 Messages : 54
| Sujet: Re: [VX] Faim et soif Ven 19 Fév 2010 - 13:22 | |
| J'éspère que ça prendra pas torp longtemps. Moi j'ai essayé mais j'ai rien compris... |
|
Ex-Admin-Script
Age : 42 Inscrit le : 26/05/2008 Messages : 2360
| Sujet: Re: [VX] Faim et soif Ven 19 Fév 2010 - 14:27 | |
| Je ne te le ferai pas au complet car je ne sais pas ce que tu veux exactement, mais je vais te guider pas-à-pas pour que tu le fasse toi-même. C'est vraiment simple ce script. - Code:
-
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 Ce bout de code sert à décider de la couleur des barre. De toute évidence, tu devras te créer tes couleurs pour tes autres barres. Les paramètres de couleurs sont le Rouge, le Vert, le Bleu, la Transparence (alpha). C'est un code RGBa tout simple. Je te conseille de laisser 200 et 255 comme alpha pour garder une certaine homogénéité. Pour les couleurs, utilise MSPaint ou n'importe quel outil de dessin et regarde le code de couleur de la couleur de ton choix. (ils seront probablement en hexadécimal, donc tu devra convertir en décimal). Tu as besoin d'une couleur de début et une couleur de fin. Donc copie toi trois autre bloc de deux et tu auras tes 10 couleurs pour tes 5 barres. N'oublie pas de donner des noms différents. - Code:
-
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 ^^ Ça, tu n'as pas besoin d'y toucher. - Code:
-
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é..." C'est assez bien commenter... Tu ajoutes en conséquence ce qu'il manque pour tes trois barre manquante. Encore une fois, n'oublie pas de changer les noms. - Code:
-
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 À modifier au choix pour la configuration, mais sinon en soit, tu peux laisser tel quel en te rappelant que les interrupteur 2 et 4 sont utilisé pour contrôler le script dans la configuration actuelle. Bon c'est ici que le vrai fun commence. En fait, tu vas copier toute ce code et tu vas le recoller 3 fois Après la fin de soif ou avant celui de la faim (ça n'a pas vraiment d'importance, du moment que c'Est avant la dernière section de script que je vais te présenter. Tu vas changer chaque occurence de Faim par ce que toi tu as fait en haut... Donc supposant que tu as fait "fatigue", bien tes variables doivent toute avoir le mot fatigue plutôt que faim (si tu as fait tes modification intelligemment en haut). Donc tu mets le noms de tes variables pour correspondre... - Code:
-
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 C'est ce que j'avais fait pour la soif. Regarde le résultat. - Code:
-
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 Donc voici la dernière section du code. Celle que tu ne dois pas dépasser quand tu fera ton copier coller. Tu vas ajouter tes barres et leur valeur au jeu ici... Regarde Faim et Soif. Tu n'as qu'a ajouter en conséquence. - Code:
-
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 Tu as une autre petite modification à faire ici - Code:
-
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 Et c'est ici qu'on dessine les barre (enfin). Donc simpelemnt à suivre le pattern pour décaler tes barre. - Code:
-
#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 Et finalement, le code pour sauvegarder tes donner de jeu avec les barre : (ajoute ce que tu as besoin pour tes nouvelles barres) - Code:
-
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 Ce n'est pas plus compliquer que ça. |
|
Poulet carnivore Lv.2
Inscrit le : 16/04/2010 Messages : 14
| Sujet: Re: [VX] Faim et soif Sam 17 Avr 2010 - 20:26 | |
| Coucou moi j'ai une demande comment faire en sorte de perdre de la vie au fil du temps quand on a les barre des faim et soif vides ? |
|
Maire Lv.9
Age : 34 Inscrit le : 15/10/2008 Messages : 351
| Sujet: Re: [VX] Faim et soif Dim 18 Avr 2010 - 0:11 | |
| Coucou moi j'ai une solution pour faire en sorte de perdre de la vie au fil du temps quand on a les barres de faim et soif vides - Citation :
- ID_EVENT_COM_CREVE = 2 # id de l'event commun declenché en cas de mort de faim
Si la faim est égale à 0, l'interrupteur 2 s'active. Tu n'as qu'à faire un event qui retire de la vie en processus parallèle qui se déclenche lorsque ce meme interrupteur est activé. |
|
Poulet carnivore Lv.2
Inscrit le : 16/04/2010 Messages : 14
| Sujet: Re: [VX] Faim et soif Dim 18 Avr 2010 - 11:30 | |
| Merci ,Mais je ne sais pas trop comment faire lol je débute =p |
|
Ex-Admin-Script
Age : 42 Inscrit le : 26/05/2008 Messages : 2360
| Sujet: Re: [VX] Faim et soif Lun 19 Avr 2010 - 10:30 | |
| Heu, Berka viens de te l'expliquer. Tu fait un événement commun (base de donnée du jeu où tu crées entre autre tes personnage, tes monstre et tout le reste). L'événement commun te fait perdre de la vie OU t'afflige d'un état "AFFAMÉ". Affamé a le même effet que Poison en te faisant perdre de la vie avec le temps. Quand tu manges, tu désactive l'événement commun ou tu retire l'état affamé. |
|
| Sujet: Re: [VX] Faim et soif | |
| |
|