Sujet n°9426
Posté par YagamiRaito le 20 Mar - 01:25 (2011)
Titre : [TUTO] Cannes à pêche facile et complet
Bonsoir,

M'étant inspiré du tuto de Mortenkein : ./6896-Evenements-communs-Systeme-de-ca… j'ai créé un système semblable permettant cependant de définir précisément les pokémons que l'on peut pêcher.
J'ai fait cela sous PSP4G+, mais ça devrait marcher pour tout.

Voici une démo du système de cannes : http://www.megaupload.com/?d=X3LPEPM0

Il suffit d'associer à l'objet CANNE, l'appel vers l'évènement commun CANNE.

Il faut deux interrupteurs et trois variables :
Surf-Pêche
Apparence d'origine
et
Probabilité de pêcher
Niveau
Pêche, pokémon %

Voici l'évènement commun en question :



EDIT : Dans Variable Probabilité de pêcher rendre égale à. Il faut mettre de 0 à 3 pour faire une probabilité de 25%. J'ai mis de 1 à 1 pour avoir 100 % pendant mes essais.Vous pouvez également modifier ces valeurs tant que la valeur 1 est comprise dans la fourchette.

Voici la chose la plus importante, le script inséré :

peche=0
poke=0
for i in 0..$canne.size-1
  if(peche<=var(55) and (peche+$canne[3])>=var(55))
    poke=i
  end
  peche+=$supercanne[3]
end
demarrer_combat($canne[poke][0],(var(54)*($canne[poke][2]-$canne[poke][1])/100)+$canne[poke][1])


NOTE : dans ce script, car(55) et var(54) correspondent aux variables 55 et 54. Si elles ont des numéros différents chez vous, il vous suffit de mettre ceux-lmà comme suit : var(XX).

Pour faire fonctionner le tout, il vous suffit de créer un évènement (en Processus Parallèle) sur la map où vous désirez pêcher avec l'insertion de script :

$canne=[[Numéro du pokémon,niveau minimum,niveau maximum,taux d'apparition],[,,,],[,,,],[,,,]]


Pour Super et Méga Canne, il vous suffit de faire la même chose. Copier l'évènement commun CANNE dans SUPER CANNE et MEGA CANNE, appelés par les objets respectifs. Remplacer $canne par $supercanna ou $megacanne, dans le script.
Ensuite, il vous suffit d'ajouter dans l'évènement sur la MAP la même ligne mais avec $supercanne ou $megacanne à la place de $canne.

IMPORTANT : la somme des taux d'apparition doit valoir 100. De plus, il faut un évènement de ce type sur chaque Map où le joueur est susceptible de se servir de la Canne devant une étendue d'eau. Vous pouvez empêcher cela en ajoutant en condition l'activation d'un interrupteur spécifique...


Afin de finir le tout, quand le personnage a fini de pêcher, il retrouve son apparence normale.
Créez un évènement commun en Processus Parallèle avec l'interrupteur de déclenchement Apparence d'origine.




Avec ce Tuto, vous pouvez maintenant parfaitement paramétrer les pokémons à pêcher.


Vous verrez que j'ai supprimé le choix de l'apparence Garçon-Fille pour alléger.
Si vous prenez le tuto de Mortenkein, il vous suffit de supprimer tout ce qui se trouve entre Variable Probabilité de pêcher rendre égale à (entre 0 et 3) et Attendre 1 frame Condition si Script ($battle_var.result_win) tout à la fin. Remplacez ensuite par ma version.

Les characters Hiro7 et Hiro 4 doivent être le personnage lançant sa ligne en mode SURF et en mode à TERRE respectivement.

Voici le lien de la démo : http://www.megaupload.com/?d=X3LPEPM0

J'édite également mon premier post.
Si t'as besoin d'explication sur le script, pour je ne sais quelle raison, il n'y a aucun problème.

EDIT : Pour modifier l'arrière plan des combats pour la pêche :

Avant le script, insérez celui-ci
$temp = $game_map.battleback_name

Changez ensuite l'arrière plan à votre guise (toujours, avant le script)

Après le script, insérez celui-ci
$game_map.battleback_name = $temp
$game_temp.battleback_name = $temp

Le script en question étant évidemment :
peche=0
poke=0
for i in 0..$canne.size-1
  if(peche<=var(55) and (peche+$canne[i][3])>=var(55))
    poke=i
    break
  end
  peche+=$supercanne[i][3]
end
demarrer_combat($canne[poke][0],(var(54)*($canne[poke][2]-$canne[poke][1])/100)+$canne[poke][1])

qui se trouve vers la fin de l'évènement.



Premier tuto, j'espère qu'il vous plaira...
Si je dois rectifier des choses, dites-le moi...

Cordialement, YagamiRaito.

Posté par Tinei le 20 Mar - 10:49 (2011)
Les images ne s'affichent pas :(

Posté par YagamiRaito le 20 Mar - 11:01 (2011)
Moi je les ai bien...
Et de toute manière, tu peux les retrouver en cliquant sur les liens : http://img53.xooimage.com/views/0/2/1/sans-titre-26cb66b.png/ et http://img62.xooimage.com/views/4/1/5/sans-titre-26cb774.png/ respectivement.

Posté par Mortenkein le 26 Mar - 16:13 (2011)
Ce serait bien que tu fasses une petite démo, car j'aimerais faire quelques tests pour le plaisir. Ton système de cannes à pêche est beaucoup plus allégé que le mien, vu que je ne connais presque rien en ruby ^^.

Posté par YagamiRaito le 26 Mar - 16:20 (2011)
D'accord, je prépare ça.
Tu ne vois aucun inconvénient à ce que je prenne le tiens et que j'y apporte les modifications dont je parle...

Posté par Mortenkein le 26 Mar - 16:22 (2011)
Non, je déteste les licences propriétaires, donc tout ce que je fais (hormis les ressources; partage à l'identique) est entièrement libre de droit, donc modifiable à souhait.

En vérité, ça me fait plaisir que tu utilises mon tutoriel Système de cannes à pêche pour faire le tien, car ça veut dire que j'ai bien fait mon boulot de programmation en évènements :-).

Posté par Tinei le 26 Mar - 17:00 (2011)
YagamiRaito a écrit:
Moi je les ai bien...
Et de toute manière, tu peux les retrouver en cliquant sur les liens : http://img53.xooimage.com/views/0/2/1/sans-titre-26cb66b.png/ et http://img62.xooimage.com/views/4/1/5/sans-titre-26cb774.png/ respectivement.

Nan je t'embête, c'est normal je suis sur ma psp. Je regarderais et testerais plus tard Clin d'œil foireux

Posté par YagamiRaito le 29 Mar - 10:22 (2011)
Voici le lien de la démo : http://www.megaupload.com/?d=X3LPEPM0

J'édite également mon premier post.
Si t'as besoin d'explication sur le script, pour je ne sais quelle raison, il n'y a aucun problème.

EDIT : Pour modifier l'arrière plan des combats pour la pêche :

Avant le script, insérez celui-ci
$temp = $game_map.battleback_name

Changez ensuite l'arrière plan à votre guise (toujours, avant le script)

Après le script, insérez celui-ci
$game_map.battleback_name = $temp
$game_temp.battleback_name = $temp

Le script en question étant évidemment :
peche=0
poke=0
for i in 0..$canne.size-1
  if(peche<=var(55) and (peche+$canne[i][3])>=var(55))
    poke=i
    break
  end
  peche+=$supercanne[i][3]
end
demarrer_combat($canne[poke][0],(var(54)*($canne[poke][2]-$canne[poke][1])/100)+$canne[poke][1])

qui se trouve vers la fin de l'évènement.