Age : 30 Inscrit le : 22/12/2011 Messages : 1600
| Sujet: [VXAce] Contrôle du nombre de pas en rencontres aléatoires Sam 9 Fév 2013 - 13:36 | |
| Simple c/c dans la section Ace. Crédit: Tiroflan - Tiroflan a écrit:
- Salut ! Un mini code qui m'est venu à la suite de rencontres aléatoires intempestives. Rien de plus rageant que d'avoir des combats aléatoires toutes les deux cases, et malheureusement le système de base de rmvx rend ce genre de désagréments possibles.
Donc, ce code propose de réduire considérablement la probabilité qu'il y ait deux combats très rapprochés en terme de pas marchés sur la carte. Si par exemple, vous avez mis rencontre tous les 10 pas en moyenne sur votre map, alors le combat aura vraisemblablement lieu entre 6 et 14 pas, alors que dans le combat de base l'intervalle serait plutôt de 2 à 18 pas.
Le code est plug&play, il suffit de le mettre au dessus de main dans l'éditeur de scripts. Cependant, il est possible d'agir vous même sur la taille des intervalles qui vous intéressent. Pour cela il faut modifier la valeur de p à la ligne 25 (par défaut à 0.5) par une valeur comprise entre 0 et 1 (et différente de 0 et de 1). Si vous vous approchez de 1, les intervalles seront serrés (par exemple, avec 0.9 on aurait l'intervalle 8-12 pas), et si vous vous approchez de 0, a contraire, l'intervalle s'élargit (auquel cas je recommande de laisser le système normal, ça aurait le même effet).
Avec quelques chiffres pour illustrer l'effet de p et l'effet du script, pour un nombre de pas moyens égal à 10 :
Système normal -> Intervalle = [2,18] p = 0.1 -> Intervalle = [4,16] p = 0.5 -> Intervalle = [6,14] p = 0.9 -> Intervalle = [8,12] L'intervalle signifie que le nombre de pas calculé a 95% de chances de se trouver à l'intérieur de cet intervalle.
Voilà, si vous avez pas du tout envie de vous embrouiller avec des chiffres, contentez vous de copier coller, et les chances d'avoir deux rencontres simultanées sur une carte avec moyenne de 10 passeront de 1/100 à 1/50000.
Le même pour Ace : (une ligne de modif dans le code source)
- Code:
-
### Contrôle du nombre de pas en rencontres aléatoires ### ### Par Tiroflan, le 10/08/2012 ### ########################### # # Ce code est a destination des joueurs utilisant les rencontres aléatoires pour affronter des monstres. # Dans le système de base, il est possible d'être attaqué 1 case à peine après le combat précédent. # Ce script propose de modifier l'intervalle autour de la valeur du nombre de pas moyen. # (celle qui est entrée dans l'éditeur de maps) # Aucune configuration n'est nécessaire, cependant, si vous voulez changer la taille des intervalles, c'est possible, # en modifiant la valeur du nombre p (ligne 25) dans le script. Si vous vous rapprochez de 1, # vous resserez l'intervalle autour de la valeur moyenne, au contraire, vous l'élargissez en vous approchant de 0. # Attention à ne pas entrer 0 ou 1, cela causerait une erreur ! # Se rapprocher trop près de 0 augmente le calcul inutilement, pour un effet équivalent au système normal. # Des exemples numériques sont disponibles sur le topic de présentation du script. # # # Note : la méthode make_encounter_count est réécrite. Si un autre script propose ce genre de fonctionnalité, # il peut y avoir incompatibilité. # class Game_Player < Game_Character
def make_encounter_count n = $game_map.encounter_step p = 0.5 # Nombre compris entre 0 et 1 (attention, différent de 0 et de 1 !) nb_bernouilli = (n/p) @encounter_count = 1 for i in 1...nb_bernouilli if rand(0)<p @encounter_count +=1 end end end end |
|