AccueilAccueil  PortailPortail  FAQFAQ  RechercherRechercher  MembresMembres  GroupesGroupes  S'enregistrerS'enregistrer  ConnexionConnexion  




Partagez | 
 

 [VX] Faim et soif

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2
AuteurMessage
Maître des Duels
Maître des Duels
avatar


Masculin Age : 25
Inscrit le : 29/07/2009
Messages : 7838

MessageSujet: 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...

_________________
Gimme a hell yeah.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Poulet Lv.1
Poulet Lv.1
avatar


Masculin Age : 25
Inscrit le : 19/12/2009
Messages : 9

MessageSujet: 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. Au revoir
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Illusionniste Lv.12
Illusionniste Lv.12
avatar


Masculin Age : 108
Inscrit le : 07/08/2009
Messages : 774

MessageSujet: 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.

_________________




Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Poulet Lv.1
Poulet Lv.1
avatar


Masculin Age : 25
Inscrit le : 19/12/2009
Messages : 9

MessageSujet: Re: [VX] Faim et soif   Mar 5 Jan 2010 - 22:24

ok ok merci beaucoup pour ton aide !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
avatar


Inscrit le : 07/10/2009
Messages : 54

MessageSujet: 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.

_________________
-Je ne fréquente plus ce forum -
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ex-Admin-Script
Ex-Admin-Script
avatar


Masculin Age : 35
Inscrit le : 26/05/2008
Messages : 2360

MessageSujet: 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).

_________________
Hikari.

«Si je comprenais mieux ce que tu ne comprends pas, ça m'aiderait à t'aider à mieux comprendre.», Hikari
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://mirainohikari.deviantart.com
Va-nu-pieds Lv.4
Va-nu-pieds Lv.4
avatar


Inscrit le : 07/10/2009
Messages : 54

MessageSujet: 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...

_________________
-Je ne fréquente plus ce forum -
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ex-Admin-Script
Ex-Admin-Script
avatar


Masculin Age : 35
Inscrit le : 26/05/2008
Messages : 2360

MessageSujet: 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.

_________________
Hikari.

«Si je comprenais mieux ce que tu ne comprends pas, ça m'aiderait à t'aider à mieux comprendre.», Hikari
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://mirainohikari.deviantart.com
Poulet carnivore Lv.2
Poulet carnivore Lv.2
avatar


Inscrit le : 16/04/2010
Messages : 14

MessageSujet: 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 ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Maire Lv.9
Maire Lv.9
avatar


Masculin Age : 27
Inscrit le : 15/10/2008
Messages : 351

MessageSujet: 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 Laughing

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é.

_________________
.: Je code, donc je suis :.

Rpgruby
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://rpgruby.olympe-network.com
Poulet carnivore Lv.2
Poulet carnivore Lv.2
avatar


Inscrit le : 16/04/2010
Messages : 14

MessageSujet: 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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ex-Admin-Script
Ex-Admin-Script
avatar


Masculin Age : 35
Inscrit le : 26/05/2008
Messages : 2360

MessageSujet: 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é.

_________________
Hikari.

«Si je comprenais mieux ce que tu ne comprends pas, ça m'aiderait à t'aider à mieux comprendre.», Hikari
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://mirainohikari.deviantart.com
Contenu sponsorisé




MessageSujet: Re: [VX] Faim et soif   

Revenir en haut Aller en bas
 

[VX] Faim et soif

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2

 Sujets similaires

-
» Système de faim/soif/sommeil avec jauges
» PGX, coupe faim
» SpaceCat
» Un novice qui à soif d'apprendre
» The curious expedition, ou comment comprendre que le cannibalisme n'est pas une fin (faim?) en soi

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Scripts :: Scripts VX - RGSS2 :: Divers-
Créer un forum | © phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit