Accueil du SiteAccueil du Site  AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  ConnexionConnexion  S'enregistrerS'enregistrer  



-20%
Le deal à ne pas rater :
Drone Dji DJI Mini 4K (EU)
239 € 299 €
Voir le deal

Partagez
 

 Gagner un objet aléatoirement

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Zexion
Administrateur
Administrateur
Zexion

Masculin
Messages postés : 6228
Date d'inscription : 04/01/2012
Jauge LPC :
Gagner un objet aléatoirement 891527140097 / 10097 / 100Gagner un objet aléatoirement 8915271400

Gagner un objet aléatoirement Membre15
Gagner un objet aléatoirement Event-10
Gagner un objet aléatoirement Altrui10
Gagner un objet aléatoirement Action10
Gagner un objet aléatoirement Travai10
Gagner un objet aléatoirement Collec10
Gagner un objet aléatoirement Collec11
Gagner un objet aléatoirement Collec12
Gagner un objet aléatoirement Staffe11
Gagner un objet aléatoirement Dessin10


Gagner un objet aléatoirement Empty
MessageSujet: Gagner un objet aléatoirement   Gagner un objet aléatoirement EmptyMar 9 Juil 2013 - 19:49

Ce script permet, en une ligne de "Insérer un script" de faire gagner au joueur un objet choisi au hasard parmi une liste. Il est possible de spécifier en pourcentage quelle chance le joueur a exactement de gagner chaque objet. C'est utile pour gérer des drops dans un A-RPG par exemple, ou faire une loterie.
Son auteur est Bahamut 1.2, merci de ne pas l'oublier dans les crédits de votre jeu.

En premier lieu, voici le code à coller dans un nouveau script, au-dessus de main :
Code:
class Objets_hasard
  #Par Bahamut 1.2
 
 def initialize(objet, proba=0)
    #ID de la variable qui contiendra le nom de l'objet (effacer ou mettre en commentaire pour n'utiliser aucune variable)
    variable=1  
 
   #premier tableau : les objets qu'il est possible de trouver
    #deuxieme tableau : les probabilités pour chaque objet
  
   if proba==0
      #Proba n'est pas defini par l'utilisateur (vaut 0) => Meme proba pour chaque objet
      hasard=rand(objet.size)
      id_objet=objet[hasard]    
   else
    #Proba est defini (c'est un array)
     hasard = rand(100)+1
     curseur=1
      for i in 0..objet.size-1
        if hasard >= curseur and hasard < curseur+proba[i]
          id_objet=objet[i]
          break
        end
        curseur += proba[i]
      end
    end
  
   $game_party.gain_item(id_objet, 1)
    $game_variables[variable] = $data_items[id_objet].name
  end
 
end
Ensuite, pour l'utiliser, vous avez 2 possibilités :

Méthode 1
Avec cette méthode, chaque objet à autant de chance d'être gagné que les autres objets.
A mettre dans la commande événement "Insérer un script":
Code:
Objets_hasard.new([objet1, objet2, objet3])
Il vous suffit alors de remplacer "objet1", "objet2",etc... par les ID des objets que le joueur a une chance de gagner.
Note : vous pouvez mettre plus ou moins que 3 objets.

Méthode 1
Avec cette méthode, vous pouvez indiquer précisément quel pourcentage de chance chaque objet a d'être gagné.
A mettre dans la commande événement "Insérer un script":
Code:
Objets_hasard.new([objet1, objet2, objet3], [p1, p2, p3])
Pour les objets, c'est pareil que dans la première méthode. La seconde liste de chiffres "p1", "p2",etc... indique le pourcentage de chance de gagner chaque objet.
Note : vous pouvez mettre plus ou moins que 3 objets.
Note² : pour éviter les bugs, la somme des pourcentages doit être égale à 100 et il doit y avoir autant d'objets que de pourcentages associés.

Comment savoir quel objet a été gagné ?
Le script enregistre le nom (et pas l'ID) de l'objet que vous avez gagné dans une variable (la variable 1 par défaut). Ceci est modifiable en début du script.
Vous pouvez ensuite utiliser un message du type : ""Vous avez reçu : \v[1] !""

Merci Bahamut 1.2 !
Revenir en haut Aller en bas
 
Gagner un objet aléatoirement
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [RPG Maker 2003 ] Qui veut gagner des million
» Objet
» objet telecharger
» [XP] Menu Objet
» [VXA] Couleur sur objet

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ PARTAGE ~ :: Scripts et plugins :: RPG Maker XP :: Autres-
Sauter vers: