Pokémon Script Project Forum Index

Manuel | Search
 Information des admins 
Si vous désirez parler de PSP ou obtenir du soutient là dessus, merci d'aller faire un tour sur https://pokemonworkshop.com/forum/index.php Imbécile heureux

Pokémons Voyageurs [Correctif n°5 disponible]
Goto page: 1, 2, 3, 4  >
 
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources graphiques -> Ressources [Archive]
Previous topic :: Next topic   
Author Message
Ku'rei
Membre


Joined: 10 Aug 2010
Posts: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

PostPosted: Sun 22 Aug - 23:48 (2010)    Post subject: Pokémons Voyageurs [Correctif n°5 disponible]

LE SCRIPT EST TERMINE, TOUT MARCHE TRES BIEN. N'hesitez pas à faire part des choses a améliorer
Je liste ici tous les correctifs
-Correctif n°1 : Les messages inutiles a la création du pokemon voyageur /27 aout/
-Correctif n°2 : Lorsque le pokémon voyageur n'apparaît que dans une seule carte le jeu plante /27 aout/
-Correctif n°3 : LE POKEMON Voyageur FUIT !! /27 aout/
-Correctif n°4 : probleme de fuite régler /28 aout/
-Correctif n°5 : Musique spéciale pour le pokémon voyageur = OK /19 Septembre/
:!: PENSEZ A REINSTALLER COMPLETEMENT, DU DEBUT A LA FIN LE SCRIPT A CHAQUE NOUVEAU CORRECTIF :!:





Je suis sûr que beaucoup de pokémakers(comme je les appelle) voudraient pouvoir faire un pokémon qui voyage. C'est toujours un challenge de capturer un pokémon comme ça !


L'INSTALLATION

Première partie :
¤ Coller ce tout petit morceau de code a la ligne 54 (environ) du script Pokemon_Battle_Wild :
Quote:
$combat = true


¤ Ensuite : remplacez dans le script Pokemon_Battle_Core 1 (aux environs de la ligne 522 selon les versions) :
Quote:
# Round: Attaques
def phase3

if @strike_first
if @actor_action == 1 and not(@actor.dead?)
attack_action(@actor, @actor_skill, @enemy)
end
else
if not(@enemy_caught) and @enemy_action == 1 and not(@enemy.dead?)
attack_action(@enemy, @enemy_skill, @actor)
end
end

faint_check

if @actor.dead? or @enemy.dead? or $battle_var.battle_end?
return
end

if not(@strike_first)
if @actor_action == 1 and not(@actor.dead?)
attack_action(@actor, @actor_skill, @enemy)
end
else
if not(@enemy_caught) and @enemy_action == 1 and not(@enemy.dead?)
attack_action(@enemy, @enemy_skill, @actor)
end
end

faint_check

if @actor.dead? or @enemy.dead? or $battle_var.battle_end?
return
end
end


Par ceci :
Quote:
# Round: Attaques
def phase3
if @strike_first
if @actor_action == 1 and not(@actor.dead?)
attack_action(@actor, @actor_skill, @enemy)
end
else
if not(@enemy_caught) and @enemy_action == 1 and not(@enemy.dead?) and $combat_pokemon_voyageur == false
attack_action(@enemy, @enemy_skill, @actor)
elsif not(@enemy_caught) and $combat_pokemon_voyageur == true and not(@enemy.dead?)
$combat_pokemon_voyageur = false
run_enemy
end_battle_check
end
end

faint_check

if @actor.dead? or @enemy.dead? or $battle_var.battle_end?
return
end

if not(@strike_first)
if @actor_action == 1 and not(@actor.dead?)
attack_action(@actor, @actor_skill, @enemy)
end
else
if not(@enemy_caught) and @enemy_action == 1 and not(@enemy.dead?) and $combat_pokemon_voyageur == false
attack_action(@enemy, @enemy_skill, @actor)
elsif not(@enemy_caught) and $combat_pokemon_voyageur == true and not(@enemy.dead?)
$combat_pokemon_voyageur = false
run_enemy
end_battle_check
end
end

faint_check

if @actor.dead? or @enemy.dead? or $battle_var.battle_end?
return
end
end


Cela fera pour que le pokémon fuit le combat (la fonction est intégré dans PSP, il fallait juste l'utiliser : MERCI KROSK !)

¤ Pour changer la musique uniquement pour le combat avec le pokémon voyageur :
Dans le script Pokemon_Battle_Wild, remplacer au environ de la ligne 127 :
Quote:
def pre_battle_transition
# Jingle et BGM
$game_system.bgm_play($game_system.battle_bgm)
Audio.me_play("Audio/ME/battle_jingle.mid")
Graphics.freeze

Par ceci :
Quote:
def pre_battle_transition
# Jingle et BGM
if $i_pkm_voy_combat != nil and $pokemons_voyageurs[$i_pkm_voy_combat][9] != nil
Audio.bgm_play("Audio/BGM/" + $pokemons_voyageurs[$i_pkm_voy_combat][9], 100, 100)
$i_pkm_voy_combat = nil
else
$game_system.bgm_play($game_system.battle_bgm)
Audio.me_play("Audio/ME/battle_jingle.mid")
end
Graphics.freeze


Seconde partie :

Créez un nouveau script que vous appellerez Pokemons_Voyageurs
copier-y ce code :
Quote:
#====================================================================
# by MadRob
#====================================================================

class Pokemon_Voyageur

def initialize(donnees = [nom = "SUICUNE", #0
niveau = 40, #1
shiny = false, #2
rarete_locale = 50, #3
slot = 1, #4
tags_terrain = [1], #5
maps_frequentees = [37,39], #6
map_actuelle = 37, #7
fuyard = true, #8
musique]) #9

if donnees[7] == nil or donnees[7] == 0
donnees[7] = donnees[6][rand(donnees[6].length)]
end
if donnees[4] == nil
print("ERREUR : Il n'y a pas de slot de sauvegarde")
break
end
if not(donnees[5].is_a?(Array))
print("ERREUR : Le compartiment \"tags_terrain\" du pokemon voyageur " + $pokemons_voyageurs[index][0].to_s + "n'est pas un Array \nCorrigez ce bug")
break
end
if not(donnees[6].is_a?(Array))
print("ERREUR : Le compartiment \"map_frequentees\" du pokemon voyageur " + pokemon_voyageur[0].to_s + "n'est pas un Array \nCorrigez ce bug")
break
end
if $pokemons_voyageurs.is_a?(Array)
$pokemons_voyageurs << donnees
else
$pokemons_voyageurs = Array.new(1)
$pokemons_voyageurs[0] = donnees
end
end
end

def bon_terrain?(index)
for tag_terrain in $pokemons_voyageurs[index][5]
if tag_terrain == $game_player.terrain_tag
return true
end
end
end

def bonne_map?(index)
if $game_map.map_id == $pokemons_voyageurs[index][7]
return true
end
end

def changement_de_map(index)
if $pokemons_voyageurs[index][6].length != 1
loop do
x = rand($pokemons_voyageurs[index][6].length)
new_id = $pokemons_voyageurs[index][6][x]
if new_id != $pokemons_voyageurs[index][7]
$pokemons_voyageurs[index][7] = new_id
break
end
end
end
end

def gestion_pokemons_voyageurs
if $combat == false and $pokemons_voyageurs != nil
index_final = ($pokemons_voyageurs.length)
for index in 0...index_final
$combat_pokemon_voyageur = $pokemons_voyageurs[index][8]
if $pokemons_voyageurs[index] != nil
if bonne_map?(index) == true and bon_terrain?(index) == true and (rand(100) <= $pokemons_voyageurs[index][3])

$combat = true
$i_pkm_voy_combat = nil
if $pokemons_voyageurs[index][9] != nil
$i_pkm_voy_combat = index
end

enregistrer_pokemon($pokemons_voyageurs[index][4],$pokemons_voyageurs[index][0],$pokemons_voyageurs[index][1],$pokemons_voyageurs[index][2])
demarrer_combat_existant(appel_pokemon($pokemons_voyageurs[index][4]))

if $battle_var.result_win == true
$pokemons_voyageurs[index] = nil
else
changement_de_map(index)
end

break
end
end
end
end
end

#cheat test ... a ne pas mettre dans le jeu bien sûr^^
def zone_pkm_voy
for pkm in $pokemons_voyageurs
print(pkm[0].to_s + " est dans la map : " + pkm[7].to_s)
end
end


Je suis désolé, je n'arrive pas à mettre mes script en code. Il y a toujours du Html ou du BB code ou autre chose qui s'y glisse.

Troisième partie :
Créer un évènement commun POKEMON VOYAGEUR en processus parallèle, dommage qu'il faille un interrupteur, créez aussi 4 variables :
-Héros_X
-Héros_Y
-Héros_X'
-Héros_Y'
Elles serviront à détecter le mouvement du héros.

Personnellement j'ai créer un interrupteur SYSTEME PERSONNALISEE ACTIF que j'active au début de mon jeu et que j'utilise dans tout mes évènements communs en processus parallèle. Faites-comme vous voulez mais pour que les combats contre les pokémons voyageurs se déclanchent il faut IMPERATIVEMENT que cet évent soit actif !

Voici l'évènement :

Voila, faîtes attention de bien recopier les script, ils servent a détecter les mouvements du héros. Car le script fonctionne indépendamment du systeme de rencontre aléatoire de Krosk.


CREER UN POKEMON VOYAGEUR

C'est la partie ou intervient le pokémaker. C'est parti !

Dans l'évènement où vous créez le pokémon voyageur (le pokémon lui-même quand le héros le touche, un mini-jeu ou il faut capturer un pokémon spécial dans un parc, etc) utilisez la commande insérer script et tapez-y ceci :
Quote:
$nom_pokemon_voyageur = Pokemon_Voyageur.new([
"NOM",
niveau,
shiny,
rarete_locale,
slot_de_sauvegarde,
tags_terrain,
id_maps_frequentees,
id_map_départ,
fuyard ?,musique])


:arrow: "NOM" est à remplacer par le nom du pokémon en majuscule ET entre guillemets, ou par son id.

:arrow: niveau est à remplacer par le niveau du pokémon voyageur, si par hasard le niveau a la rencontre est aléatoire, mettez rand(ecart_de_niveau)+niveau_le_plus_faible.

:arrow: shiny est a remplacer par true ou par false, si true, le pokémon voyageur sera shiny si false il aura une faible chance d'être shiny.

:arrow: rarete_locale est à remplacer par le pourcentage de chance de tomber sur le pokémon voyageur a CHAQUE pas, tenez compte de cela quand vous réglez la rarete locale, moi je met 20, on peut mettre plus. Par exemple, à 100, le joueur tombera sur le pokemon voyageur dès le premier pas dans l'herbe ou autre.

:arrow: slot_de_sauvegarde est à remplacer par le numero du slot sur lequel seront sauvegardées les données sur le pokémon voyageur. :!: TRES IMPORTANT :!: et faites attention de ne pas attribuer le meme slot de sauvegarde a deux pokémon dans votre jeu !

:arrow: tags_terrain est à remplacer par un tableau contenant tout les tags de terrain où peut apparaître le pokémon voyageur. Exemple : si le pokémon peut-apparaître sur l'herbe de tag 1 et sur la roche de tag 2 alors tags_terrain sera égal à [1,2] ou juste sur l'herbe de tag terrain 1 : [1]. :!: même s'il n'y a qu'un seul tag dans le tableau, il faut mettre des crochets, sinon vous aurez droit a un message d'erreur.

:arrow: id_maps_fréquentees est à remplacer par un tableau comprenant les id de toutes les maps où peut apparaître le pokémon voyageur. Par exemple, si mon pokémon voyageur peut apparître dans les carte 34, 12 et 56, id_maps_fréquentees sera remplacé par [34,12,56] peut-importe l'ordre. Encore une fois, :!: même s'il n'y a qu'une map où le pokémon apparaît (on ne sais jamais Yeux motorisés) il faut mettre des crochets !

:arrow: id_map_depart est à remplacer par l'id de la map où le pokémon voyageur apparaîtera pour la premier fois. Pour que ce soit aléatoire, c'est un peu plus simple : il suffit de mettre nil.

:arrow: fuyard ? est a remplacer par true ou par false si le pokemon voyageur fuit le combat ou se bat jusqu'au bout.

:arrow: musique est a remplacer par le nom de la musique du combat avec le pokémon voyageur entre guillemets, :!: Vous DEVEZ mettre le type de fichier a la fin du nom :!:
Si vous ne voulez pas spécifier de musique spéciale, mettez nil


Au passage, la variable $nom_pokemon_voyageur peut être remplacer par n'importe quelle autre variables.
Exemple : $pok = Pokemon_Voyageur.new([
ou : pok = Pokemon_Voyageur.new([
etc, elle peut être remplacer par N'IMPORTE qu'elle nom de variable (locale ou globale)


Ce Code doit être écrit dans l'évènement "lâchant" le pokémon voyageur dans la nature, c'est-à-dire que ce code doit être écrit au bon moment dans les évènement en rapport avec le scénario. Comme me l'a fait remarquer sUiCuNe31, ce script permet de générer un pokémon voyageur et non de lancer le combat. Celui-ci se lance automatiquement comme dans les jeux officiels.

[hr]LA VIDEO


Ici : http://www.dailymotion.com/video/xelv1n_presentation-du-script-pokemon-voya_videogames



CE QU'IL FAUT AMELIORER

-Au moment du déclenchement du combat, le perso s'arrete entre deux herbes 8)

Voila tout, j'espere avoir été utile bien que tout cela soit compliqué. Bon making a tous !


Last edited by Ku'rei on Sun 19 Sep - 14:02 (2010); edited 40 times in total
Back to top
Publicité






PostPosted: Sun 22 Aug - 23:48 (2010)    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
Dakin Quelia
Guest





PostPosted: Sun 22 Aug - 23:55 (2010)    Post subject: Pokémons Voyageurs [Correctif n°5 disponible]

Bonsoir,

Meuporg,

Meuporg wrote:
C'est nul ça sert à rien !
Non mais sérieux on a pas idée de faire de telle inepties!


Pour être franc, la seule chose est qui ne sert à rien: ta réponse !!

Si tu avais fait une remarque constructive, cela eut été plus judicieux. Or ici, tu n'apportes pas réellement quelque chose. Clin d'œil foireux

MadRob,

A mon avis, une vidéo serait plus adaptée qu'une capture pour nous montrer à quoi cela sert. Clin d'œil foireux

A bientôt,
Back to top
Ku'rei
Membre


Joined: 10 Aug 2010
Posts: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

PostPosted: Sun 22 Aug - 23:59 (2010)    Post subject: Pokémons Voyageurs [Correctif n°5 disponible]

Oui ... t'as raison, j'aurais dù y penser. Merci du conseil Dakin ! Je m'en occupe de suite
Back to top
Solfay1
Guest





PostPosted: Mon 23 Aug - 11:45 (2010)    Post subject: Pokémons Voyageurs [Correctif n°5 disponible]

Hum, tout ça est très intéressant, je demande une petite vidéo : ).
Back to top
Ku'rei
Membre


Joined: 10 Aug 2010
Posts: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

PostPosted: Mon 23 Aug - 11:55 (2010)    Post subject: Pokémons Voyageurs [Correctif n°5 disponible]

oui je sais que ce serait pas mal mais la le script est moche, et j'essaie d'améliorer certains bugs et surtout de rendre le script plus clair... mais j'ai un gros bug si vous pouvez m'aider.
Back to top
FinalArt
Membre


Joined: 25 Nov 2009
Posts: 1,573
Graphiste & Développeur
Localisation: Où je me trouve actuellement
Masculin

PostPosted: Wed 25 Aug - 18:35 (2010)    Post subject: Pokémons Voyageurs [Correctif n°5 disponible]

Ca pourrait être cool. Par contre, ce n'est pas une suggestion pour moi, je pense que la place de ce topic serrais dans la catégories Script, nan ?
Back to top
Pois-Sky
Membre


Joined: 11 Jun 2010
Posts: 207
Localisation: Quelque part où vous me trouverez pas, peut-être sur la lune, qui sait ?

PostPosted: Wed 25 Aug - 19:03 (2010)    Post subject: Pokémons Voyageurs [Correctif n°5 disponible]

Je pense l'utiliser Clin d'œil foireux

Vraiment c'est une bonne idée et bonne chance pour que ça réussisse ! Clin d'œil foireux
Back to top
RevengeOfShadow
Membre


Joined: 10 Jan 2009
Posts: 652
Localisation: Devant son PC
ID Steam: RL77LUC

PostPosted: Thu 26 Aug - 06:17 (2010)    Post subject: Pokémons Voyageurs [Correctif n°5 disponible]

Vu que j'ai horreur des tutos Vidéos et que je trouve le texte assez bien présenté je le trouve GENIAL ! (Je suis content de l'avoir ajouté sur le projet :D (Pas le tuto, MadRob !!! xD)).
Back to top
Visit poster’s website
Ku'rei
Membre


Joined: 10 Aug 2010
Posts: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

PostPosted: Thu 26 Aug - 18:52 (2010)    Post subject: Pokémons Voyageurs [Correctif n°5 disponible]

Vous rejouissez pas trop vite ^^
ya plein de bug que je peine a corriger

RL77LUC : je suis desolé, je t'enverai quelques event de temps a autres si tu veux mais étant donné que je suis en terminal S... j'ai pas mal de boulot et de truc a faire a coté de Rpg maker. Donc voila, dis moi ce que tu souhaite par MP.

EDIT : J'ai fini les modif, le script marche bien
et pour la video, desolé j'ai fait ce script sur un coup de tête en lisant des articles a droite a gauche dans le forum. Je ferai une video si l'envie me prend, un jour ...
Back to top
Miatshan
Membre


Joined: 29 Jun 2009
Posts: 644

PostPosted: Fri 27 Aug - 19:33 (2010)    Post subject: Pokémons Voyageurs [Correctif n°5 disponible]

Manquerait plus que la fuite et ça serais parfait!
Back to top
Visit poster’s website
Ku'rei
Membre


Joined: 10 Aug 2010
Posts: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

PostPosted: Fri 27 Aug - 22:42 (2010)    Post subject: Pokémons Voyageurs [Correctif n°5 disponible]

Finalement je me suis rendu compte en fouillant dans les script Battle Core et battle wild que la fonction de fuite de l'adversaire existait déja, j'ai juste eu a l'adaptée a mon script
Back to top
Solfay1
Guest





PostPosted: Sat 28 Aug - 10:12 (2010)    Post subject: Pokémons Voyageurs [Correctif n°5 disponible]

Bonjour, je demande toujours une vidéo et je devrais pas être le seul...
Si tu veux attirer du monde fait une vidéo 42 .
Back to top
Ku'rei
Membre


Joined: 10 Aug 2010
Posts: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

PostPosted: Sat 28 Aug - 11:21 (2010)    Post subject: Pokémons Voyageurs [Correctif n°5 disponible]

t'es pas ch.. pénible toi nan ?
XD je vais la faire la vidéo... mais ce sera pas de la grande qualité.

EDIT : La vidéo est là
Back to top
Ouilah
Guest





PostPosted: Wed 1 Sep - 12:57 (2010)    Post subject: Pokémons Voyageurs [Correctif n°5 disponible]

J'aime vraiment beaucoup <3 Mais je trouve qu'ils s'échappent trop vite, es qu'on peux régler sa? (Je tombe de someil donc j'ai pas lu x.x)
Back to top
Ku'rei
Membre


Joined: 10 Aug 2010
Posts: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

PostPosted: Wed 1 Sep - 13:28 (2010)    Post subject: Pokémons Voyageurs [Correctif n°5 disponible]

Qu'ils s'échappent trop vite ?
Bah ils s'échappent comme dans les jeux pokémons c'est-à-dire dès qu'ils peuvent ^^
Back to top
Contenu Sponsorisé






PostPosted: Today at 18:37 (2019)    Post subject: Pokémons Voyageurs [Correctif n°5 disponible]

Back to top
Display posts from previous:   
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources graphiques -> Ressources [Archive] All times are GMT + 1 Hour
Goto page: 1, 2, 3, 4  >
Page 1 of 4

 
Jump to:  

Index | Free forum | Free support forum | Free forums directory | Report a violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Thème par Thomas et l'équipe de la refonte PSP 2012 (version 1.0)