Pokémon Script Project Index du Forum

S’enregistrer | Rechercher | Connexion
 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]
Aller à la page: 1, 2, 3, 4  >
 
Poster un nouveau sujet   Répondre au sujet    Pokémon Script Project Index du Forum -> Game Making -> Ressources graphiques -> Ressources [Archive]
Sujet précédent :: Sujet suivant   
Auteur Message
Ku'rei
Membre


Inscrit le: 10 Aoû 2010
Messages: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

MessagePosté le: Dim 22 Aoû - 23:48 (2010)    Sujet du message: 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 :
Citation:
$combat = true


¤ Ensuite : remplacez dans le script Pokemon_Battle_Core 1 (aux environs de la ligne 522 selon les versions) :
Citation:
# 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 :
Citation:
# 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 :
Citation:
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 :
Citation:
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 :
Citation:
#====================================================================
# 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 :
Citation:
$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 !


Dernière édition par Ku'rei le Dim 19 Sep - 14:02 (2010); édité 40 fois
Revenir en haut
Publicité






MessagePosté le: Dim 22 Aoû - 23:48 (2010)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Dakin Quelia
Invité





MessagePosté le: Dim 22 Aoû - 23:55 (2010)    Sujet du message: Pokémons Voyageurs [Correctif n°5 disponible]

Bonsoir,

Meuporg,

Meuporg a écrit:
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,
Revenir en haut
Ku'rei
Membre


Inscrit le: 10 Aoû 2010
Messages: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

MessagePosté le: Dim 22 Aoû - 23:59 (2010)    Sujet du message: 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
Revenir en haut
Solfay1
Invité





MessagePosté le: Lun 23 Aoû - 11:45 (2010)    Sujet du message: Pokémons Voyageurs [Correctif n°5 disponible]

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


Inscrit le: 10 Aoû 2010
Messages: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

MessagePosté le: Lun 23 Aoû - 11:55 (2010)    Sujet du message: 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.
Revenir en haut
FinalArt
Membre


Inscrit le: 25 Nov 2009
Messages: 1 573
Graphiste & Développeur
Localisation: Où je me trouve actuellement
Masculin

MessagePosté le: Mer 25 Aoû - 18:35 (2010)    Sujet du message: 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 ?
Revenir en haut
Pois-Sky
Membre


Inscrit le: 11 Juin 2010
Messages: 207
Localisation: Quelque part où vous me trouverez pas, peut-être sur la lune, qui sait ?

MessagePosté le: Mer 25 Aoû - 19:03 (2010)    Sujet du message: 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
Revenir en haut
RevengeOfShadow
Membre


Inscrit le: 10 Jan 2009
Messages: 652
Localisation: Devant son PC
ID Steam: RL77LUC

MessagePosté le: Jeu 26 Aoû - 06:17 (2010)    Sujet du message: 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)).
Revenir en haut
Visiter le site web du posteur
Ku'rei
Membre


Inscrit le: 10 Aoû 2010
Messages: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

MessagePosté le: Jeu 26 Aoû - 18:52 (2010)    Sujet du message: 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 ...
Revenir en haut
Miatshan
Membre


Inscrit le: 29 Juin 2009
Messages: 644

MessagePosté le: Ven 27 Aoû - 19:33 (2010)    Sujet du message: Pokémons Voyageurs [Correctif n°5 disponible]

Manquerait plus que la fuite et ça serais parfait!
Revenir en haut
Visiter le site web du posteur
Ku'rei
Membre


Inscrit le: 10 Aoû 2010
Messages: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

MessagePosté le: Ven 27 Aoû - 22:42 (2010)    Sujet du message: 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
Revenir en haut
Solfay1
Invité





MessagePosté le: Sam 28 Aoû - 10:12 (2010)    Sujet du message: 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 .
Revenir en haut
Ku'rei
Membre


Inscrit le: 10 Aoû 2010
Messages: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

MessagePosté le: Sam 28 Aoû - 11:21 (2010)    Sujet du message: 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à
Revenir en haut
Ouilah
Invité





MessagePosté le: Mer 1 Sep - 12:57 (2010)    Sujet du message: 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)
Revenir en haut
Ku'rei
Membre


Inscrit le: 10 Aoû 2010
Messages: 546
Adepte du NoMoreExcuses
Localisation: Chambéry
Masculin

MessagePosté le: Mer 1 Sep - 13:28 (2010)    Sujet du message: 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 ^^
Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 14:55 (2018)    Sujet du message: Pokémons Voyageurs [Correctif n°5 disponible]

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Pokémon Script Project Index du Forum -> Game Making -> Ressources graphiques -> Ressources [Archive] Toutes les heures sont au format GMT + 1 Heure
Aller à la page: 1, 2, 3, 4  >
Page 1 sur 4

 
Sauter vers:  

Index | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une 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)
Traduction par : phpBB-fr.com