Topic d
Suite de la page 3...
Nuri Yuri - 15 avril 2017 à 19:20
Oh mon dieu. N'utilise pas le PSDK Downloader :v Il écrit explicitement que c'est une version 18.xxx si je te dis que tu dois avoir la version 19.4 c'est qu'il te faut la 19.4. PSDK est téléchargeable depuis un site Web : https://download.psdk.pokemonworkshop.com/
Tu télécharges d'abord la version Alpha 19, tu la décompresse et ensuite tu télécharge la version 19.4 que tu décompresse dans le dossier de la version 19.
T'oublies pas les ressources complémentaires sinon PSDK sera un peu vide.
Pour l'indication, tu peux toujours utiliser l'ancienne version de Ruby Host (que le Downloader t'as téléchargé => dossier Tools), sinon il suffit d'attendre un peu, c'est pas dramatique en soit si tes zones intérieur/extérieures sont mal définies.
Pour tes lampadaires, tu coches la case "Au dessus de tout" (dernière check box en bas à gauche) et il sera forcément au dessus de tout. Si il est allumé en plein jour c'est que le switch utilisé pour la condition n'est pas le bon.
Antoane - 15 avril 2017 à 20:12
Okay, merci.
Je devrais juste refaire mes maps, j'ai fais une grosse erreur
Joltik5 - 4 mai 2017 à 20:49
Yo :D
J'ai un soucis quand je crée un dresseur :(
J'ai bien suivi les étapes de ce lien
http://krosk.free.fr/manuel/manuel.htm#C47
Mais quand je tente de combattre le dresseur en question il ya ce bug:
(Erreur dans le scripr loading,inspectez le rapport Log.txt)
Puis
(?????'Pokemon_Battle_Trainer'?214???TypeError??????)
(cannot convert nil into String)
Merci pour vos reponses :D
Nuri Yuri - 4 mai 2017 à 21:54
Rapport log ?
Antoane - 6 mai 2017 à 21:53
Hey, pour mon projet, j'aurais besoins de votre aide sur une chose : c'est possible de faire un vendeur de Pokémon, ou existe-t'il une commande, un script ?
Cordialement.
Nuri Yuri - 6 mai 2017 à 22:24
Tu as une commande pour retirer de l'argent, donc tu peux faire un évènement du genre "Tu veux un magicarpe contre 500$", si oui, si argent >= 500, retirer 500, ajouter_pokemon.
Antoane - 7 mai 2017 à 09:39
J'y avais pensé, mais je parle plus d'un système comme au Shop, on peut acheter des objets, mais aussi des Pokémons, avec une liste de noms.
Merci quand même.
Puis ce serais possible un magasin de vêtement ? à la manière de changer de couleur de Pokémon Eclat Pourpre, même si c'est du Rom Hacking ?
Nuri Yuri - 7 mai 2017 à 14:44
C'est possible mais t'as intérêt de savoir scripter.
Joltik5 - 12 mai 2017 à 18:11
Yo
Quelqu'un sait comment ajouter des talents(notamment 6g) sur PSP 08 ? :D
Nuri Yuri - 12 mai 2017 à 19:22
Il faut savoir programmer, c'est le seul moyen.
Joltik5 - 12 mai 2017 à 19:37
Pour l'instant je me base sur déguisement pour créer protéen
when 125 # Proteen / Protean (ab)
type = user_skill.type
if [user.type1, user.type2].include?(user_skill_type) and type != 0 and
type != user.skill_type and damage > 0
user.ability_token = type
string = type_string(type)
draw_text("#\{user.ability_name\} de #\{user.given_name\}", "change le type en " + string + "!"
wait(40)
end
J'ai test le jeu et ca m'indique une erreur sur la premiére ligne :domo:
Antoane - 13 mai 2017 à 12:13
Bonjour, j'ai plusieurs "gros soucis" que je rencontre sur PSDK, Premièrement au lancement du gens on me dit qu'il manque des tags etc.. Donc au lancement je lance le psdk debug, je fais mes tags, l'herbe, l'eau, les herbes encore plus grandes, Mais ensuite comment sauvegarder ? à chaque fois ca ne sauvegarde pas, donc impossible de tester mon jeu.
Ensuite à chaque fois que je veux écouter une musique bgm depuis RPG Xp il me met un fenetere "Critical Error 800000..."
Et en rapport avec les musiques, j'ai vu qu'il y avait des musiques x/y déjà présentes, tu aurais le reste des musiques ?
Cordialement.
Nuri Yuri - 13 mai 2017 à 13:55
CTRL + S pour sauvegarder.
Pour le problème d'RMXP, je sais pas d'où ça vient, sinon les rares musiques X/Y qu'il y a dans PSDK sont coupés à 10 secondes pour des raisons de droit d'auteur. Les musiques que t'entend InGame sont cryptés.
Antoane - 13 mai 2017 à 16:04
Sinon Nuri, tu pourrais me dire ou je peut modifier des trucs pour le menu de combat ?
Nuri Yuri - 13 mai 2017 à 18:41
Est-ce que tu sais scripter ?
Parce que le code du menu de combat, il date de 2013 et... Il est incompréhensible pour le commun des mortels '^'
(Tu dois ouvrir Data/__.rxdata et modifier le script Scene_Battle::Action_Selector, bien entendu n'oublie pas de générer un plugin pour ce script sinon les mises à jour vont supprimer tes modifications)
Antoane - 13 mai 2017 à 21:07
Ah, au moins je sais que je ne pourrais rien y faire :'
Sinon j'ai eu un bug là maintenant, tu pourrais savoir d'ou il viens ?
Script Scène map 183 Typeerror occurred
Can't clone NilClass
Puis je n'ai pas de dossier "Scripts" c'est normal ?
Nuri Yuri - 13 mai 2017 à 22:36
T'as pas défini de BGM sur ta map ^^
Antoane - 13 mai 2017 à 22:44
Justement avec le critical error etc... je ne peut pas en mettre ...
Nuri Yuri - 14 mai 2017 à 18:43
T'es pas obligé d'écouter les musiques pour les mettre ^^'
Tu peux d'ailleurs utiliser un autre logiciel pour les écouter (VLC par exemple).
Onchistes - 4 juillet 2017 à 00:57
Bonjour/Bonsoir !
J'aurais une question, pour le script FollowME ! Il faut renommer tous les .jpg en "pkm +ID" du genre "pkm 001.jpg" pour Bulbizarre
Mais le soucis c'est qu'il y a énormément de sprites et je me vois mal les renommer 1 par 1 en rajoutant " pkm " au début ! Et le script me demande absolument ça sinon il crash !
J'obtiens cette image : https://gyazo.com/426263a6d4bbdda17c59efcc7c3fbd0b
Parcontre quand je renomme bien le fichier ça marche ! Mais c'est beaucoup trop long y'en a plus de 500...
Vous aurez une solution svp ?
Merci !
Nuri Yuri - 4 juillet 2017 à 01:04
Déjà il faut pas les mettre en JPG, tu les laisse en PNG.
Après pour le renommage, tu peux aussi changer la ligne :
string = "pkm #{sprintf('%03d', @pkm_id)}.png"
En quelque chose qui correspond au format du nom des fichiers.
momo81 - 4 juillet 2017 à 01:09
tu peux faire une macro avec ant renammer pour du renommage multiple, non ?
Onchistes - 4 juillet 2017 à 01:15
Oui petite erreur ils sont bien en PNG autant pour moi !
Ok merci mais le soucis c'est que j'ai enlevé le "pkm" pour ne laisser que "id.png" dans la ligne que tu as indiqué, et ça me donne ça maintenant : https://gyazo.com/b478e26e25b10caae12dcf48e8bf362d
Nuri Yuri - 4 juillet 2017 à 01:20
Soit t'as pas modifié la ligne soit tu as reposté le même screen.
Sinon dans l'image l'id c'est 000 donc t'as du faire une erreur en ajoutant ton premier Pokémon.
Onchistes - 4 juillet 2017 à 01:23
La ligne doit bien donner ça : string = "pkm #{sprintf('%03d', @id)}.png"
Si oui c'est justement ce que j'ai ! Il n'y a plus le "pkm" juste avant et pourtant le logiciel me le demande encore (screen2)
Nuri Yuri - 4 juillet 2017 à 01:25
La ligne en question doit devenir : string = sprintf('%03d', @id)
Onchistes - 4 juillet 2017 à 01:31
Super ça marche ! Merci beaucoup !
Bonne soirée ^^
Onchistes - 4 juillet 2017 à 13:58
Hmm.. Je me permet de reposter concernant le même script !
Enfaite maintenant, pour chaque pokémon on me demande de renommer en 000.png ! Quel que soit le pokémon qui se situe en 1er dans ma liste.
Hier ça marchait bien parce que j'avais renommé le fichier mais finalement ça me le fais pour chaque pokémon j'obtiens ça : https://gyazo.com/05e3668b5878e8244015e91728b31436
P.S : Au passage, dans le pack où il y a tous les sprites des pokémons + les pokémons shineys, ils sont renommés de la sorte : 001_0(bulbizarre) et pour les shineys 001s_0 pour bulbizarre shiney par exemple. Tu as la bonne ligne à mettre pour modifier ça correctement en prenant en compte le _0 a la fin ? J'imagine que pour les shineys ça peut poser problème et qu'il faut les renommer 1 par 1 mais pour les pokémons normaux vu qu'il y a "_0" a la fin de chaque fichier comment faire ? Merci
Nuri Yuri - 4 juillet 2017 à 18:41
Tu utilise quel starter kit au juste ?
J'ai l'impression que quelque soit ce que t'as dans ton équipe, la variable @pkm_id vaut nil...
Onchistes - 4 juillet 2017 à 19:39
PSP version 0.9.2 !
J'ai pas la version pour DS c'est la version normale !
Oui ça me demande toujours "000.png" même si j'ai un Mew par exemple.
Déjà qu'il n'y a pas de pokémon qui a pour référence 000 vu que ça commence à 1 avec Bulbizarre :/
Nuri Yuri - 4 juillet 2017 à 20:09
Oh, c'est moi qui me suis trompé en te donnant la ligne :v (Je me suis basé sur ton code qui était faux)
La ligne doit être : string = sprintf('%03d', @pkm_id)
Onchistes - 4 juillet 2017 à 20:21
Oh, c'est moi qui me suis trompé en te donnant la ligne :v (Je me suis basé sur ton code qui était faux)
La ligne doit être : string = sprintf('%03d', @pkm_id)
Le soucis c'est qu'avec la ligne que tu m'as mis le jeu se ferme directement quand je le lance ^^'
Et également si tu saurais comment faire pour rajouter le " _0 " qui se trouve apres le nom des fichiers du style 001_0 pour éviter que je renomme 1 par 1.
Nuri Yuri - 4 juillet 2017 à 20:30
string = sprintf('%03d_0', @pkm_id)
Comment ça il se ferme directement ?
Onchistes - 4 juillet 2017 à 20:35
Ok nickel ! Ca marche maintenant c'est parfait merci beaucoup :D
Et pour les pokémons shineys faudra que je renomme les fichiers 1 par 1 ? Et que je créé les pokémons 1 par 1 dans la base de donnée c'est ça ?
Nuri Yuri - 4 juillet 2017 à 20:37
Non il faudra complexifier le script.
Onchistes - 4 juillet 2017 à 20:50
Ok je vois, je m'intéresserais là dedans quand j'aurais plus d'éxperience alors.
Juste dernière question, à propos des tilesets !
Sur cette photo : https://gyazo.com/f532abefc4d3db67bd3c7d8131dce320
J'aimerais savoir comment faire pour que quand je marche, mon personnage prends en compte la rambarde de l'escalier que j'ai pointé avec une fleche noire sur le screen, pour éviter qu'il passe à travers tout simplement !
Parce que dans le tileset ca se présente comme ça https://gyazo.com/1c2d1a1d17f7b79e313a6e257cfd73d6 donc si je coche la croix de la rembarde elle déborde sur l'escalier et donc je pourrais pas descendre l'escalier pour me téléporter ! J'espère que tu vois de quoi je veux parler xD
Nuri Yuri - 4 juillet 2017 à 20:55
Dans la configuration des tilesets tu as un bouton qui te permet d'interdire une des 4 directions. Sois un peu curieux et essaie de voir ce que font chacun des boutons de l'interface de la BDD.
Onchistes - 4 juillet 2017 à 20:57
Ok je vais aller voir ça merci en tout cas bonne soirée !
CrazyPhylis - 4 juillet 2017 à 21:25
Bonjour ! Je suis actuellement en train de créer mon propre jeux pokemon dans une nouvelle région : Alydris également avec de nouveaux pokemon etc...
Le problème : le style graphique de mes création ne colle pas a l'univers du jeux pokemon (style de Rouge feu / Émeraude)
Je cherche donc quelqu'un pouvant m'aider ou du moins me rediriger ^^'
merci d'avoir lu et j'espère trouver de l'aide ici ^^'
recherche :
-spriteur
Aura Azure - 4 juillet 2017 à 21:33
Bon courage... tu ne nous fournis rien, si tu reçois des réponses, ce sera de gens moins doués que toi qui veulent leur nom dans les crédits...
CrazyPhylis - 4 juillet 2017 à 21:40
oh.... :(
Cela m'aiderai tellement :'
Enfin bon je vais prier haha
mais merci de me prévenir ^^
Nuri Yuri - 4 juillet 2017 à 22:48
Tu peux sinon adapter le style graphique de ton jeu à ton propre style :v
CrazyPhylis - 7 juillet 2017 à 16:43
Oui merci ^^'
C'est ce que je commence a faire du coup :'
DrBisounours - 16 juillet 2017 à 17:34
Bonjour,
J'ai cherché à créer une fonction qui retirerait les pokémons KO (pour reprendre une contrainte du Nuzlocke challenge). N'étant pas très bon en script, j'ai tenté de créer cela au travers d'un événement commun qui s'active via un interrupteur (pour activer ou désactiver ce mode à souhait).
J'ai donc tenté de coder la chose suivante : est-ce qu'un pokémon de l'équipe est KO ? / Quel est l'index de ce Pokémon dans l'équipe ? / Retirer de l'équipe le Pokémon à l'index déterminé (j'ai tenté la fonction .remove en m'inspirant de la fonction relâcher du PC de stockage)
Ce qui donne cela :
<> Script : $on_map_call = false
<> Condition : Interrupteur [0025: Nuzlocke ON] == Activé
<> Condition : Script $pokemon_party.dead?
<> Script : for i in 0..5
: if $pokemon_party.actors*.hp <= 0*
: $pokemon_party.actors*.remove*
<>
: Fin condition
<>
: Fin condition
<>
Cependant mon jeu crash lorsque l'un de mes Pokémons tombe KO. Pourriez-vous m'indiquer l'erreur que j'ai commise ?
Voici le rapport de log :
---------- Erreur de script : évènement ----------
----- Type
SyntaxError
----- Message
(eval):3:in `command_355'compile error
(eval):3: syntax error
----- Position de l'évènement
MAP 6 EVENT 0
SCRIPT
for i in 0..5
if $pokemon_party.actors*.hp <= 0*
$pokemon_party.actors*.remove*
----- Backtrace
Script : Interpreter Bis | Ligne : 444 | Méthode : in `command_355'
Script : Interpreter 2 | Ligne : 215 | Méthode : in `eval'
Script : Interpreter Bis | Ligne : 444 | Méthode : in `command_355'
Script : Interpreter 2 | Ligne : 215 | Méthode : in `execute_command'
Script : Interpreter 1 | Ligne : 199 | Méthode : in `update'
Script : Interpreter 1 | Ligne : 113 | Méthode : in `loop'
Script : Interpreter 1 | Ligne : 204 | Méthode : in `update'
Script : Game_CommonEvent | Ligne : 66 | Méthode : in `update'
Script : Game_Map | Ligne : 397 | Méthode : in `update'
Script : Game_Map | Ligne : 396 | Méthode : in `each'
Script : Game_Map | Ligne : 396 | Méthode : in `update'
Script : Scene_Map | Ligne : 47 | Méthode : in `alias_update'
Script : Scene_Map | Ligne : 46 | Méthode : in `loop'
Script : Scene_Map | Ligne : 59 | Méthode : in `alias_update'
Script : MAPPANEL | Ligne : 90 | Méthode : in `update'
Script : Scene_Map | Ligne : 25 | Méthode : in `main'
Script : Scene_Map | Ligne : 19 | Méthode : in `loop'
Script : Scene_Map | Ligne : 30 | Méthode : in `main'
Script : Main | Ligne : 52
Je voulais aussi améliorer mon mini-script en utilisant des choses comme actors.length mais j'ai eu peur de rajouter plus d'erreurs et de ne pas trouver ce qui clochait.
Je vous remercie par avance
Nuri Yuri - 16 juillet 2017 à 19:30
Le Ruby c'est ni du Python, ni du C++.
Si tu commence une ligne par for, if, case, unless, while, until, il y a forcément un end qui traine quelques lignes en dessous.
Ensuite, y'a aucune méthode remove dans les objets Pokémon, ils sont pas capable de se supprimer par magie de la variable dans laquelle ils sont stockés. C'est à l'objet dans lequel le Pokémon est stocké de le supprimer et pas l'inverse. Ensuite, quand il n'y a pas de Pokémon, y'a pas d'accès à la propriété hp donc quand tu fais des itérations, tu dois faire attention.
Le code dont tu as besoin est celui-ci :
$pokemon_party.actors.delete_if \{ |pkmn| pkmn and pkmn.hp == 0 \}
DrBisounours - 16 juillet 2017 à 21:16
D'accord. Je connais très mal le Ruby, j'essaie d'apprendre en lisant les scripts déjà implémentés dans le jeu ^^'
En tout cas, merci beaucoup pour cette réponse rapide, efficace et instructive, ça marche au poil.
Siriem - 19 juillet 2017 à 15:12
---------- Erreur de script : MAP ----------
----- Type
NoMethodError
----- Message
- ARGS - [20]
undefined method `y=' for nil:NilClass
----- Position dans MAP
Ligne 93
----- Backtrace
Script : MAP | Ligne : 93 | Méthode : in refresh_map_window' Script : MAP | Ligne : 60 | Méthode : in check_world_map'
Script : MAP | Ligne : 58 | Méthode : in each' Script : MAP | Ligne : 58 | Méthode : in check_world_map'
Script : Scene_Map | Ligne : 127 | Méthode : in alias_update' Script : MAPPANEL | Ligne : 90 | Méthode : in update'
Script : Scene_Map | Ligne : 25 | Méthode : in main' Script : Scene_Map | Ligne : 19 | Méthode : in loop'
Script : Scene_Map | Ligne : 30 | Méthode : in `main'
Script : Main | Ligne : 57
On peu m'aider je conprend pas d'ou vien l'erreur ?
Nuri Yuri - 20 juillet 2017 à 13:48
T'as bien mis l'évènement nommé ~ sur la carte du monde ?
DrBisounours - 7 août 2017 à 15:17
Bonjour Nuri (je m'adresse directement à toi car tu es toujours le premier à me répondre ^^),
J'essaie toujours de me débrouiller seul dans un premier temps pour ne pas abuser de ton temps et de ta gentillesse mais je ne trouve pas les réponses à plusieurs questions que je me pose.
J'ai tenté de créer un script qui enregistre les données des Pokémons morts (les K.O. retirés de l'équipe) afin d'ensuite pouvoir les voir à la tour de Lavanville (en parlant à une tombe par exemple). Pour cela j'ai voulu utiliser les commandes enregistrer_pokemon(slot, ID, niveau, shiny) et appel_pokemon(slot). Déjà : est-ce que ces commandes conviennent pour ce que je veux faire ? J'ai vu sur internet que certains scripts utilisaient plutôt une fonction de stockage des Pokémons morts (comme une boîte PC à part).
Quelle syntaxe dois-je utiliser pour utiliser la commande enregistrer_pokemon(slot, ID, niveau, shiny) avec des variables ? J'ai écrit des choses comme enregistrer_pokemon ($game_variables[31], #{pokemon.id.to_i}, #{pokemon.level}, false) mais je ne suis pas bien sûr de comprendre quand il faut mettre un # ou les {}.
J'ai finalement écrit le script suivant mais il ne fonctionne pas (sans doute à cause du point que j'ai cité au-dessus). Pourrais-tu m'éclairer sur les erreurs que j'ai commises ?
begin
@idList = []
for i in 0..$pokemon_party.size-1
if $pokemon_party.actors*.dead*
@idList* = i*
end
@idList.compact!
end
for i in 0..@idList.size-1
pokemon = $pokemon_party.actors[@idList*]*
pokemon_existant? ($game_variables[31])
$game_variables[31] += 1
enregistrer_pokemon ($game_variables[31], #\{pokemon.id.to_i\}, #\{pokemon.level\}, false)
else
enregistrer_pokemon ($game_variables[31], #\{pokemon.id.to_i\}, #\{pokemon.level\}, false)
end
$pokemon_party.actors[idList*].delete*
end
end
Et voici le rapport d'erreur :
---------- Erreur de script : évènement ----------
----- Type
SyntaxError
----- Message
(eval):19:in `command_355'compile error
(eval):14: syntax error
(eval):19: syntax error
----- Position de l'évènement
MAP 11 EVENT 16
SCRIPT
begin
@idList = []
for i in 0..$pokemon_party.size-1
if $pokemon_party.actors*.dead*
@idList* = i*
end
@idList.compact!
end
for i in 0..@idList.size-1
pokemon = $pokemon_party.actors[@idList*]*
pokemon_existant? ($game_variables[31])
$game_variables[31] += 1
enregistrer_pokemon ($game_variables[31], (pokemon.id.to_i).to_s, pokemon.level.to_s, false)
else
enregistrer_pokemon ($game_variables[31], (pokemon.id.to_i).to_s, pokemon.level.to_s, false)
end
$pokemon_party.actors[idList*].delete*
end
end
----- Backtrace
Script : Interpreter Bis | Ligne : 444 | Méthode : in `command_355'
Script : Interpreter 2 | Ligne : 215 | Méthode : in `eval'
Script : Interpreter Bis | Ligne : 444 | Méthode : in `command_355'
Script : Interpreter 2 | Ligne : 215 | Méthode : in `execute_command'
Script : Interpreter 1 | Ligne : 199 | Méthode : in `update'
Script : Interpreter 1 | Ligne : 113 | Méthode : in `loop'
Script : Interpreter 1 | Ligne : 204 | Méthode : in `update'
Script : Scene_Map | Ligne : 48 | Méthode : in `alias_update'
Script : Scene_Map | Ligne : 46 | Méthode : in `loop'
Script : Scene_Map | Ligne : 59 | Méthode : in `alias_update'
Script : MAPPANEL | Ligne : 90 | Méthode : in `update'
Script : Scene_Map | Ligne : 25 | Méthode : in `main'
Script : Scene_Map | Ligne : 19 | Méthode : in `loop'
Script : Scene_Map | Ligne : 30 | Méthode : in `main'
Script : Main | Ligne : 52
Un très grand merci !
Nuri Yuri - 7 août 2017 à 17:36
C'est pas très très clair mais je vais essayer de te donner une explication...
Utiliser la fonction enregistrer_pokemon est une mauvaise idée car elle n'est pas destiné à ça (je suppose).
Il vaudrait mieux créer un conteneur dans Pokemon_Party que t'utiliseras pour stocker les Pokémon mort et les récupérer au niveau des tombes.
Pour créer une variable dans Pokémon party c'est assez simple, tu trouve le script "Pokemon_Party" et à la ligne juste après class Pokemon_Party, tu écris :
attr_accessor :dead_pokemon
Normalement, dans ce même script tu devrais avoir un "def initialize", juste après cette ligne, tu écris :
@dead_pokemon = []
Normalement quand tu feras une nouvelle partie tu auras les données préinitialisées. (Si tu continue les parties existante, tu auras un bug parce que la variable n'existait pas avant, pour les joueur de ton projet, s'ils n'avaient pas le projet avant aujourd'hui ils n'auront pas de bug).
Ensuite, pour gérer la mort et l'ajout dans le tableau il te faudra le script suivant :
$pokemon_party.actors.delete_if do |pokemon|
next(false) unless pokemon
if(pokemon.dead?)
$pokemon_party.dead_pokemon << pokemon
next(true)
end
next(false)
end
$pokemon_party.actors.compact!
Tu devras faire gaffe à ce qu'il reste un Pokémon dans l'équipe sinon il y aura plein de bug, je te recommande de mettre un Game Over si y'a plus de Pokémon.
(Pour le code que tu avais fait, il y avait des erreurs de syntaxe mais j'ai pas chercher à la trouver ^^'
PS : Pour récupérer un Pokémon mort tu écris la ligne suivant :
pokemon = $pokemon_party.dead_pokemon[index]
index est un numéro. Tu dois vérifier qu'il n'est pas supérieur ou égal à $pokemon_party.dead_pokemon.size
Michaël250904 - 7 août 2017 à 18:40
Salut j'essaie en se moment même de tester mon jeux pokemon confectionner avec rpg maker xp et PSP 0.9.2 mais je n'en suis pas capable car sa lance le mini jeux pokemon déjà présent, je commence dans le centre rouge pourriez vous m'aider s.v. p😣
Michaël250904 - 7 août 2017 à 18:48
: ????0
Nuri Yuri - 7 août 2017 à 18:54
Si RMXP et le projet PSP 0.9.2 se trouvent dans le même dossier, la sauvegarde ne fonctionnera pas car RMXP met tous les fichier de son propre dossier en lecture seule.
Sinon, vérifies que t'as bien placé ton point de départ au bon endroit.
PS : Je fusionne avec le sujet d'aide.
DrBisounours - 7 août 2017 à 20:28
D'accord, merci beaucoup. J'ai compris les explications. Pour le faire seul c'était encore un peu au-dessus de mes compétences en script ^^ mais je vois que je progresse si je n'ai fait qu'une erreur de syntaxe ! :p
Quand tu dis pour "récupérer" un Pokémon mort. Tu veux dire que cela va le remettre dans l'équipe (le ressusciter) ou bien que je vais pouvoir en afficher les informations ?
Est-ce qu'un script comme celui-ci pourrait fonctionner pour afficher les informations des Pokémons décédés ? Je l'ai récupéré dans les scripts permettant d'afficher les Pokémons de l'équipe.
@party_window = []
for i in 0..($pokemon_party.dead_pokemon.size-1)
pokemon = $pokemon_party.dead_pokemon[@order*]*
@party_window.push(Pokemon_Party_Window.new(pokemon, i, @z_level, @mode, @data))
end
Nuri Yuri - 7 août 2017 à 21:59
Récupérer = pouvoir afficher ses informations.
Sinon, je doute que ce soit une bonne idée d'utiliser Pokemon_Party_Window car c'est simplement pas prévu pour afficher plus de 6 Pokémon.
Si tu veux afficher les informations, tu peux utiliser "Pokemon_Status".
scene = Pokemon_Status.new(pokemon, 0, 1100)
scene.main
Pour la selection du Pokémon, il faudrait réaliser un script qui afficherait le niveau et le front du Pokémon mais sous PSP je ne connais pas la fonction qui permet d'obtenir le nom du front du Pokémon donc je ne peux pas écrire le script ^^'
DrBisounours - 8 août 2017 à 14:20
OK j'ai tout disposé et j'ai fait un event sur une tombe pour afficher les infos. J'ai voulu bidouillé un truc qui vérifie lorsqu'on veut faire défiler qu'il reste bien des Pokémons à afficher (pour pas que l'index dépasse $pokemon_party.dead_pokemon.size comme tu m'as dit). Tout fonctionne sauf une chose : les pokémons KO sont bien affichés jusqu'à ce que, je comprend pas pourquoi, les Pokémons de l'équipe commencent à être affichés aussi. Et à partir de là les Pokémons KO ne s'affichent plus et on tourne en rond dans un menu d'équipe traditionnel.
Est-ce à cause de la méthode "pokemon_status" qui est normalement destiné à l'affichage de l'équipe ?
J'ai trouvé cette fonction pour afficher le front du pokémon
@pokemon_sprite.bitmap = RPG::Cache.battler(@pokemon.battler_face, 0)
a la ligne 373 du script pokemon_status. Je n'en ai pas bien saisi les détails en revanche ^^
Nuri Yuri - 8 août 2017 à 16:29
Essaie plutôt :
scene = Pokemon_Status.new(pokemon, -1, 1100)
scene.main
Ca empêchera la navigation dans l'équipe normalement ^^
Pour le système du coup :
class DeadPokemon_Display
GreyColor = Color.new(128, 128, 128, 128)
def initialize
@text_sprite = Sprite.new
@text_sprite.z = 10001
@text_sprite.bitmap = Bitmap.new(640, 480)
@sprite = Sprite.new
@sprite.z = 10001
@sprite.x = 320
@sprite.y = 240
@running = true
@locked = false
@index = -1
end
def main
fill_bitmap
if $pokemon_party.dead_pokemon.size == 0
@text_sprite.bitmap.draw_text(0, 0, 640, 480, "Vous n'avez pas perdu de Pokémon.", 1)
@locked = true
else
update_pokemon(1)
end
while @running
Graphics.update
Input.update
update
end
dispose
end
def update
return @running = false if Input.trigger?(Input::B)
return if @locked
update_pokemon(1) if Input.trigger?(Input::RIGHT)
update_pokemon(-1) if Input.trigger?(Input::LEFT)
if Input.trigger?(Input::C)
scene = Pokemon_Status.new($pokemon_party.dead_pokemon[@index], -1, 1100)
scene.main
end
end
def update_pokemon(add)
@index += add
if @index < 0
@index = $pokemon_party.dead_pokemon.size - 1
elsif @index >= $pokemon_party.dead_pokemon.size
@index = 0
end
return @running = false unless $pokemon_party.dead_pokemon[@index] #> Gros problème
fill_bitmap
pokemon = $pokemon_party.dead_pokemon[@index]
@sprite.bitmap = RPG::Cache.battler(@pokemon.battler_face, 0)
@sprite.ox = @sprite.bitmap.width / 2
@sprite.oy = @sprite.bitmap.height / 2
y = 240 + @sprite.oy
@text_sprite.bitmap.draw_text(0, y, 640, 32, "#\{pokemon.given_name\} Nv.#\{pokemon.level\}", 1)
end
def fill_bitmap
@text_sprite.bitmap.clear
@text_sprite.bitmap.fill_rect(0, 0, 640, 480, GreyColor)
end
def dispose
@text_sprite.bitmap.dispose
@text_sprite.dispose
@sprite.dispose
end
end
Il faut ajouter ce script sur sur la pierre tombale ajoute la commande :
DeadPokemon_Display.new.main
@wait_count = 2
J'ai pas testé le script ^^
DrBisounours - 8 août 2017 à 17:52
Il semblerait que la seule chose que j'avais trouvée fasse planter le script :'
Le log me renvoie "in update_pokemon'undefined method battler_face' for nil:NilClass"
J'ai placé le script dans l'éditeur de script et la commande sur la tombe.
En tout cas merci beaucoup pour ce script et pour ton aide.
Nuri Yuri - 8 août 2017 à 18:02
Remplace la ligne "@sprite.bitmap = RPG::Cache.battler(@pokemon.battler_face, 0)" par "@sprite.bitmap = RPG::Cache.battler(pokemon.battler_face, 0)"
Petite erreur de ma part ^^'
DrBisounours - 8 août 2017 à 18:32
Super ça marche ! :D
Il y a juste un bug bizarre : si on presse la touche entrée lorsque le pokémon est affiché ça fait planter le jeu.
Le log dit "in `update'uninitialized constant DeadPokemon_Display::Pokemon_Status"
Nuri Yuri - 9 août 2017 à 00:49
Essaie voir de remplacer la ligne :
scene = Pokemon_Status.new($pokemon_party.dead_pokemon[@index], -1, 1100)
par
scene = POKEMON_S::Pokemon_Status.new($pokemon_party.dead_pokemon[@index], -1, 1100)
DrBisounours - 9 août 2017 à 11:23
Ca ne plante plus. Ca fonctionne même plutôt bien.
Il reste juste un dysfonctionnement mineur : pour quitter le menu "Status" affiché avec entrée, il faut appuyer au moins trois fois sur Echap pour le quitter (ce qui nous renvoie sur la map avec le Menu ouvert) et il est impossible de faire défiler les autres Pokémons (on reste bloqué sur la page "Status" ouverte). Par contre appuyer sur droite et gauche dans le menu Status nous montre bien les informations sur le Pokémon en question (attaques, stats, etc...).
Sankora - 9 août 2017 à 21:19
Yo les gens! Je debute un jeu avec PSP. Tout allait tres bien quand j'eus un bug quand je recois mon starter. Donc j'ecris ce message mais quand je relance mon jeu pour copier ici le message d'erreur, le jeu ne lance meme pas l'intro et dit : "Script is hanging" quelqu'un a une solution svp ?
Merci d'avance :maxwell:
Nuri Yuri - 9 août 2017 à 22:11
Il faut appuyer plusieurs fois sur entrée au lancement du jeu (quand l'écran est noir).
Sankora - 9 août 2017 à 22:15
Ca marche! Merci! Mais maintenant, quand je recois mon starter, ca crash. Voici le message d'erreur:
"script 'sprite_Picture' line 40: Errno::ENOENT occurred. No such file or directory - graphics/Pictures/starter"
DrBisounours - 9 août 2017 à 22:25
De ce que j'en comprends tu as demandé à ton jeu d'afficher une image nommée "starter" et qui se trouve dans ton dossier graphics/pictures cependant le jeu ne la trouve pas. Vérifie si l'image est bien à cet endroit et si elle se nomme bien "starter".
Sankora - 9 août 2017 à 22:35
Oui ca marche merci sauf que... :fail: 'y a un autre message d'erreur :skin: "Script 'Pokemon_Data' line 51: TypeError occurred. no implicit conversion from nil to integer"
DrBisounours - 9 août 2017 à 22:43
Hmm... Je suis pas assez doué pour trouver l'erreur juste avec ça ^^"
Pourrais-tu me montrer l'événement ou bien le script que tu as utilisé pour donner un starter à ton personnage ?
Sankora - 9 août 2017 à 22:51
Spoiler
DrBisounours - 9 août 2017 à 23:06
Je suis désolé, je vois pas ce qui cloche :/
J'ai recopié fidèlement ton événement et il fonctionne parfaitement chez moi. J'ai même tenté volontairement quelques approximations pour voir si ça venait de là, mais ça fonctionne quand même. Tu n'as pas modifié les scripts d'origine ? :/
Sankora - 9 août 2017 à 23:09
Nan, j'ai meme copier/coller sur un PSP "vierge" bon, je vais essayer de changer l'event, mais merci qd meme
Nuri Yuri - 9 août 2017 à 23:14
Règle n°1 : Ne jamais ajouter de pokémon par leur nom. C'est à cause de ça que ça bug.
Sankora - 9 août 2017 à 23:20
Tres bien, je tacherais de retenir, merci.
DrBisounours - 15 août 2017 à 13:18
Bonjour Nuri,
Je suis tombé sur ton script casino de PSP 0.8. Je voulais l'utiliser (si ça ne te dérange pas) mais après l'avoir inspecté je ne le comprends pas en détails : tu n'utilises pas de variables du jeu pour stocker les gains? Comment faire pour que le joueur puisse acheter des jetons ou les échanger contre des prix ?
Nuri Yuri - 16 août 2017 à 16:52
L'id de la variable qui contient le nombre de jetons du joueur doit être la 16 ou "VAR_J" dans le script du casino. (Je suis pas sûr puis-ce que ça fait longtemps en tout cas le total est forcément stocké dans une variable de jeu ^^'
DrBisounours - 18 août 2017 à 01:03
D'accord, j'étais perturbé parce qu'en effet la variable se nomme Var_J. Je n'avais pas fait attention qu'au début du script tu avais indiqué la valeur choisie pour Var_J. J'ai mis celle qui m'arrangeait
Je viens de rencontrer un nouveau problème (encore ^^". J'ai voulu imiter le système des spectres de la tour de Lavanville. Ne sachant pas comment scripter cela, j'ai voulu juste créer un nouveau Pokémon nommé "Spectre" avec une seule attaque prioritaire qui Flinch l'ennemi à chaque tour sans faire de dégâts.
J'ai suivi toutes les manips (dont remplir le pokemon_data.txt)... Je lance le jeu et là : "Script Pokemon_Encounter line 214 NoMethodError occurred. undefined method '[]' for nil:NilClass".
Bon je me dis que j'ai sans doute fait une erreur en bidouillant mon nouveau Pokémon, je le supprime donc et tout remarche. Pour contourner le problème, j'ai sacrifié Arceus en le transformant en mon nouveau Pokémon. Je ne change chez lui que son image, son nom et lui attribue pour seule attaque celle qui Flinch. Lorsque je relance mon jeu, la même erreur se produit. Je ne comprend plus trop : est-ce que c'est mon attaque sur mesure qui fait planter le jeu ?
Nuri Yuri - 18 août 2017 à 01:31
Je pense que c'est le groupe de combat qui est mal configuré. Le bug vient de Pokemon_Encounter qui est le script de gestion des données de rencontre.
DrBisounours - 18 août 2017 à 01:45
Le groupe de combat que j'avais créé pour ce Pokémon était classique. J'ai simplement mis en condition un interrupteur (pour que les spectres disparaissent lorsque le Scope Sylph est récupéré) et un taux de rencontre de 100%.
Après je l'ai mis sur le même numéro de tileset qu'un autre groupe (les vrais pokémons spectres). Ils partagent donc tous deux le numéro 1/ des rencontres de la zone. Est-ce que cela créé un conflit ?
Nuri Yuri - 18 août 2017 à 03:48
Non
Le problème c'est que soit le data pokémon en question n'existe pas, soit la case 9 du tableau de configuration du Pokémon n'est pas définie. (Me demande pas à quoi ça correspond, je n'utilise plus PSP depuis des années.)
DrBisounours - 18 août 2017 à 10:48
Apparemment le problème venait d'une case de résistance à l'attribut K.O. que j'avais cochée (je voulais le spectre invincible mais je suppose que ça ne correspond pas vraiment à ça). La rencontre avec le spectre marche bien à part qu'il se met à utiliser lutte au lieu de la compétence que je lui ai pourtant attribuée.
Bon c'est pas grave, je sens que rien ne va marcher comme prévu pour un effet pas si extraordinaire. Je vais juste pas mettre ces rencontres ^^
Merci de ton aide Nuri
Shallow - 1 octobre 2017 à 10:10
Salut j'ai installer Rpg Maker Xp avec le psp ds mais quand j'appui sur play pour tester le logiciel me dit qu'il y un (jesaispastropquoi) dans l'APIs ! Même quand je lance un fangame sa me fait la même chose ! J'ai essayer de lancer un projet sans le psp sa marche ... je pense que c'est le psp qui beug ... Si quelque un peut m'aider sa serrait super sympa :'(
Nuri Yuri - 1 octobre 2017 à 17:51
Sans précisions on ne peut pas t'aider sur ton bug.
Minirock - 14 octobre 2017 à 19:21
Salut les gens, de retour après quelques mois d'absences, j'étais parti pour faire une hack rom à partir d'un pokemon RF...mais finalement pas assez de temps de mon coté pour aborder tous les cotés techniques.
Je me rebats donc sur RPG maker en partant du fameux Pokemon Script Project avec la version PSP 0.8. J'ai commencé à bidouiller un peu, mais je n'arrive pas à tester pour une raison des plus bêtes, je ne connais pas les touches correspondantes sur le clavier pour le jeu. Ex sur une rom GBA avec un émulateur basique j'avais W pour A et X pour B.
Ici je ne trouve pas à quoi correspondent les touches du coup je ne peux pas pleinement tester^^
Ex: J'ai simplement modifié un début d'intro:
Je sais juste que l'espace me permet de faire la touche start.
Voici par exemple un cas de problème, j'ai rédigé un message, volontairement assez long pour qu'il ne puisse pas s'afficher dans sa totalité...mais je ne trouve pas la touche de clavier me permettant de faire défiler la suite du message.
(Faites pas attention à la qualité de l'image, c'est surtout pour faire un test^^)
Bref comme vous voyez, il y a vraisemblablement une flèche rouge qui me montre que le texte n'est pas complet, mais je sais pas comment faire défiler la suite du texte.
Si vous connaissez les touches ce serait salvateur
Le moteur de l'application semble être lié à RPG maker, mais peut-être que c'est possible de lire avec autre chose pour faire les tests..j'ai pas encore regardé.
Merci à vous, Minirock
Nuri Yuri - 15 octobre 2017 à 21:01
Enter, Space, C(?) = A
X, Echap = B / Start
Et normalement tu as toute les touches dispo sur PSP 0.8 (le texte défile avec la touche C/Entrée/Espace)
Si jamais tu t'intéresse à PSDK :
A = C, Enter, Space
B = X, Echap, Shift gauche
Y = W, CTRL gauche, Alt Gr
X = V
Note, sur les versions actuelles de Pokémon, Y a le rôle de Select et X a le rôle de Start.
Minirock - 19 octobre 2017 à 00:20
Salut, désolé pour la réponse tardive^^
En effet j'avais fini par trouver en bidouillant, merci.
J'aurais une autre question, mais j'avoue que pour celle-ci je n'ai pas cherché de doc.
Si je veux mettre à disposition l'exe du jeu généré par RPG maker; cet exe contient toutes les sources nécessaires à lui tout seul de sorte qu'il suffit de donner l'exe à quelqun pour qu'il soit lancé ?
Ou bien il faut des pré-requis du style un émulateur ou des fichiers de données du jeu ?
Nuri Yuri - 19 octobre 2017 à 21:27
Si tu donnes l'exe généré avec "compiler le projet", c'est un installateur donc c'est suffisant de donner ça. Le jeu se lancera avec le Game.exe qui se trouve dans le dossier où l'utilisateur a installé le jeu. Par contre Game.exe tout seul n'est pas suffisant.
Minirock - 19 octobre 2017 à 22:40
Ok ça roule Merci.
Minirock - 20 octobre 2017 à 23:03
Il semblerait que l'insctruction suivante provoque une erreur
Script: ajouter_pokemen("CANINOS",5)
Lorsque je consulte le fichier de log
----- Message
Section127:51:in `[]'no implicit conversion from nil to integer
----- Position de l'évènement
MAP 13 EVENT 7
SCRIPT
ajouter_pokemon("CANINOS", 5)
----- Backtrace
Script : Interpreter Bis | Ligne : 444 | Méthode : in command_355' Script : Pokemon_Data | Ligne : 51 | Méthode : in id_bis'
Script : Pokemon | Ligne : 264 | Méthode : in temp_initialize' Script : Pokemon_Custom | Ligne : 34 | Méthode : in initialize'
Script : Interpreter | Ligne : 135 | Méthode : in new' Script : Interpreter | Ligne : 135 | Méthode : in ajouter_pokemon'
Script : Loading | Ligne : 1 | Méthode : in command_355' Script : Interpreter 2 | Ligne : 215 | Méthode : in eval'
Script : Interpreter Bis | Ligne : 444 | Méthode : in command_355' Script : Interpreter 2 | Ligne : 215 | Méthode : in execute_command'
Script : Interpreter 1 | Ligne : 199 | Méthode : in update' Script : Interpreter 1 | Ligne : 113 | Méthode : in loop'
Script : Interpreter 1 | Ligne : 204 | Méthode : in update' Script : Scene_Map | Ligne : 48 | Méthode : in alias_update'
Script : Scene_Map | Ligne : 46 | Méthode : in loop' Script : Scene_Map | Ligne : 59 | Méthode : in alias_update'
Script : MAPPANEL | Ligne : 90 | Méthode : in update' Script : Scene_Map | Ligne : 25 | Méthode : in main'
Script : Scene_Map | Ligne : 19 | Méthode : in loop' Script : Scene_Map | Ligne : 30 | Méthode : in main'
Script : Main | Ligne : 57
Cela vous dit quelque chose ?
La commande vient de la doc ici donc ça devrait être ok...je vois pas du coup. J'ai surement raté un truc.
http://krosk.free.fr/manuel/manuel.htm#C31
Merci
EDIT: Problem solved. En fait la doc se trompe le nom doit commencé par une majuscule seulement
erwan622221 - 23 octobre 2017 à 18:42
Bonjour voila je voudrais commence un crée des map Pokemon pour le plaisir ( pour le moment et débuter ) . j'ai bon suivre plusieurs tuto sur le net ou même sur le site la j'arrive toujours a se problème la
URL=https://www.hostingpics.net/viewer.php?id=415927Sanstitre.png]
Vous pouvais vous foutre de moi :p mais aidez moi svp
Ps: je ne c'est pas ou poser se topic pour se genre de problème
Minirock - 23 octobre 2017 à 21:40
Quelqun saurait-il s'il y a une façon de tester le résultat d'un combat ?
En fonction du fait que ce soit une victoire ou une défaite du héros, j'aimerais partir sur deux suites d'event différentes et je ne peux pas le faire sans justement tester ce résultat du combat.
Exemple type un champion d'arène...qui fera pas la même chose qu'on le batte ou pas.
L'idée étant de ne pas pouvoir continuer à avancer dans l'aventure avant d'avoir battu un certain dresseur. La démo proposé sur script project ne montre pas ce genre d'interaction ou alors je n'ai pas su la voir.
Enfin bref, si quelqun a une idée je suis preneur, je suis sûr que j'ai raté un petit quelque chose mais je ne vois pas :(
Nuri Yuri - 23 octobre 2017 à 23:26
Y'a des cases à cocher dans le démarrage d'un combat via RMXP, essaie les et vois.
Sinon le manuel de PSP parle d'une $battler_var, je te conseille d'inspecter ça :p
Minirock - 24 octobre 2017 à 10:31
C'est ce que je me disais aussi qu'il devait bien y avoir un truc à cocher quelque part..;sauf que...ben je le vois pas x)
Ou alors je cherche pas au bon endroit

Je vais voir si je peux me renseigner sur cette variable.
Merci.
Nuri Yuri - 24 octobre 2017 à 23:10
Si tu vois pas les truc à cocher, franchement je ne peux que te conseiller d'aller voir un ophtalmologue... C'est littéralement écrit sur ton screen, y'a les cases et à quoi elles servent '^'
Minirock - 25 octobre 2017 à 00:19
Si tu vois pas les truc à cocher, franchement je ne peux que te conseiller d'aller voir un ophtalmologue... C'est littéralement écrit sur ton screen, y'a les cases et à quoi elles servent '^'
C'est vrai qu'il faut que je change de lunette dans pas longtemps en plus :D
Mais blague à part: Autoriser la défaite....oui c'est vrai x) Je sais pas pourquoi avant que tu fasses la remarque ça m'avait pas fait tilt.
Mea culpa
J'accepte le fouet :p
Minirock - 28 octobre 2017 à 23:37
Lorsque je teste le script en cas de défaite avec le premier pokémon, je me retrouve avec l'erreur suivante.
Une idée du problème ?
---------- Erreur de script : Pokemon_Battle_Trainer ----------
----- Type
NoMethodError
----- Message
- ARGS - []
undefined method `dead?' for nil:NilClass
----- Position dans Pokemon_Battle_Trainer
Ligne 126
----- Backtrace
Script : Pokemon_Battle_Trainer | Ligne : 126 | Méthode : in initialize' Script : Interpreter | Ligne : 62 | Méthode : in new'
Script : Interpreter | Ligne : 62 | Méthode : in call_battle_trainer' Script : Interpreter Bis | Ligne : 181 | Méthode : in command_301'
Script : Interpreter 2 | Ligne : 151 | Méthode : in execute_command' Script : Interpreter 1 | Ligne : 199 | Méthode : in update'
Script : Interpreter 1 | Ligne : 113 | Méthode : in loop' Script : Interpreter 1 | Ligne : 204 | Méthode : in update'
Script : Scene_Map | Ligne : 48 | Méthode : in alias_update' Script : Scene_Map | Ligne : 46 | Méthode : in loop'
Script : Scene_Map | Ligne : 59 | Méthode : in alias_update' Script : MAPPANEL | Ligne : 90 | Méthode : in update'
Script : Scene_Map | Ligne : 25 | Méthode : in main' Script : Scene_Map | Ligne : 19 | Méthode : in loop'
Script : Scene_Map | Ligne : 30 | Méthode : in `main'
Script : Main | Ligne : 57
EDIT: Pour ceux qui bloqueraient sur ce problème. Je n'avais pas fait de téléportation hors de la zone après défaite pour un simple test. Hors j'avais un event automatique qui relançait un combat...et la team étant morte...ça plante. Normal donc
Nuri Yuri - 29 octobre 2017 à 13:31
Quand tu démarre le combat, avant tu dois désactiver l'interrupteur qui déclenche la page du combat (l'évènement tourne jusqu'à ce qu'il arrive à la fin de la page puis la page qui répond aux condition reprend la main).
Petite précision à noter qui peut t'être utile pour beaucoup de choses :p
Minirock - 29 octobre 2017 à 21:28
A vrai dire je fais mes combats sur une page unique même si les tutos montre de le faire sur plusieurs pages^^
Nuri Yuri - 29 octobre 2017 à 23:26
C'est un peu comme avoir un script illisible de 10000 lignes plutôt que 10 scripts de 1000 lignes organisés, clair et dont on est sûr qu'ils fonctionnent comme attendu.
Minirock - 30 octobre 2017 à 02:05
C'est un peu comme avoir un script illisible de 10000 lignes plutôt que 10 scripts de 1000 lignes organisés, clair et dont on est sûr qu'ils fonctionnent comme attendu.
T'inquiètes pas que faisant un master dev logiciel je suis bien conscient des normes de codage et des trucs crades que l'on peut croiser....de la duplication de code dans des méthodes de plus de 1000 lignes j'en ai vu pas mal pendant mes stages sur les applis foireuses que j'ai eu à retaper :domo:
Mais bon ici c'est tellement simple que rajouter la gestion des interrupteurs rendrait presque la chose plus obscures je trouve :p
Je dis pas que c'est pas mieux, je dis juste que pour un simple combat c'est pas forcément utile....après si le combat est un élément d'un plus gros event là je dis pas^^
Nuri Yuri - 1 novembre 2017 à 18:20
Oui, faut voir la pratique mais bon ^^'
DrBisounours - 1 décembre 2017 à 16:30
Bonjour,
J'ai pas mal avancé sur mon jeu et je me posais deux questions pour l'améliorer :
Connaissez-vous une technique pour rendre l'eau animée sans que cela ne ralentisse le jeu ? J'ai créé des tilesets d'eau et un système d'event qui change l'apparence de chaque case au bout de X frames, mais cela est trop lourd à gérer pour le jeu et ça le ralentit.
J'avais aussi en tête de créer un mode New Game +, c'est à dire lorsque le joueur a terminé sa partie qu'il puisse la recommencer avec des options différentes. J'avais en tête deux manières de faire cela : un interrupteur qui s'active à la fin du jeu et qui est détecté lorsqu'on crée une nouvelle partie (mais je ne sais pas activer des interrupteurs entre les sauvegardes). Ou bien réinitialiser la sauvegarde en cours mais cela me semble beaucoup plus difficile ...
CinéAsle - 4 décembre 2017 à 13:32
Salut
Alors moi ,j'ai un petit problème... :(
Au début de mon fangame, un pnj nous donne un Pokémon qui est sensé avoir déjà un surnom... Sauf que je ne sais pas comment faire... En fait, c'est expliqué sur le site de Krosk (avec les variables) sauf qu'il manque des informations, l'explication est incomplète... Du coup je rame et je ne sais pas comment m'y prendre...
D'ailleurs, ce Pokémon doit toujours être avec nous et on ne doit pas le mettre au pc... Il doit surement y avoir un script pour ça non ?
Merci d'avance?
Docteur13 - 9 décembre 2017 à 19:51
Bonjour ou bonsoir,
Alors voilà, je crée mon jeu pokémon, mais quand tu perds un combat.
Sa marque choisit ton point retour, donc j'ai cherché mais je n'est pas trouvé.
Quelqu'un peut-il m'aider.
la phrase Réglez votre point de retour! :domo: !!!!!!!!!!!
Nuri Yuri - 11 décembre 2017 à 18:20
J'ai répondu par MP à Docteur13, pour le reste, je pourrais pas spécialement répondre, mon HDD est mort et par conséquent ce qu'il y avait dedans aussi :v
Gweath - 28 janvier 2018 à 02:49
Salut je suis actuellement entrain de me faire un petit projet pokemon j'ai PSP 0.7+ j'aimerais savoir comment faire plus de 8 badges (j'aimerais en faire 16) mais je ne comprend pas comment éditer le script intégrer que faut t-il modifier ?
Nuri Yuri - 28 janvier 2018 à 11:38
C'est surement le script CDD qu'il faudrait modifier mais après je ne l'ai pas donc je peux pas vraiment t'aider ^^'
Gweath - 28 janvier 2018 à 18:11
D'accord je te fait un copier coller du script ^^
Spoiler
# ■ Carde Dresseur # Script Communauté PSP - Louro # Remis en forme par Krosk #----------------------------------------------------------------------------- # Support de carte dresseur #----------------------------------------------------------------------------- # Pour changer l'image de vos badges, réglez les noms juste en dessous # Pour afficher un badge, Insérez un script: badgex où x est le num du badge # Pour afficher un objectif, Insérez un script: objectifx où x est le num de # l'objectif #----------------------------------------------------------------------------- # Variables occupées : 200, 1000, 1500 # Interrupteurs occupés : 1001-1008, 1500-1505 #-----------------------------------------------------------------------------module POKEMON_S_TCARD
Script crée par Louro pour les membres de la communautée de PSP
qui veulent s'en servir
Les noms d'icones pour chaque badge
BADGE1 = "badgeroch.png"
BADGE2 = "baie02.png"
BADGE3 = "baie03.png"
BADGE4 = "baie04.png"
BADGE5 = "baie05.png"
BADGE6 = "baie06.png"
BADGE7 = "baie07.png"
BADGE8 = "baie08.png"
Réglez les coordonnées horizontales de vos badges ici,
si vous avez un décalage !
BADGE1_X = 59
BADGE2_X = 128
BADGE3_X = 197
BADGE4_X = 266
BADGE5_X = 335
BADGE6_X = 404
BADGE7_X = 473
BADGE8_X = 542
Numéro de la variable stockant le nombre de badge acquit
VAR = 200
Nom des objectifs
OBJECTIF1 = "PREMIER OBJECTIF"
OBJECTIF2 = "EUXIEME OBJECTIF"
OBJECTIF3 = "TROISIEME OBJECTIF"
OBJECTIF4 = "QUATRIEME OBJECTIF"
OBJECTIF5 = "CINQUIEME OBJECTIF"
end
class TrainerCardWindow < Window_Base
attr_accessor :devant
include POKEMON_S_TCARD
include POKEMON_S
def initialize(devant)
super(0, 0, 640, 480)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsizebig
self.contents.font.color = Color.new(60,60,60)
@captured = 0
@devant = devant
for i in 1..$data_pokedex.length-1
if $data_pokedex[1]
@captured += 1
end
end
refresh
end
def refresh
self.contents.clear
if @devant == true
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
temps = sprintf("%02d:%02d", hour, min)
wd1 = self.contents.text_size($pokemon_party.money.to_s+"$".width
wd2 = self.contents.text_size(@captured.to_s).width
wd3 = self.contents.text_size(Player.id.to_s).width
self.contents.font.color = Color.new(110,110,110, 85)
self.contents.draw_text(48+2, 99+2+12, 160, 64, "NOM "
self.contents.draw_text(48+3, 99+2+12, 160, 64, "NOM "
self.contents.draw_text(48+3, 99-1+12, 160, 64, "NOM "
self.contents.draw_text(48+2, 99-1+12, 160, 64, "NOM "
self.contents.font.color = Color.new(60,60,60)
self.contents.draw_text(48, 99+12, 160, 64, "NOM "
self.contents.draw_text(48+1, 99+12, 160, 64, "NOM "
self.contents.draw_text(48, 99-1+12, 160, 64, "NOM "
self.contents.font.color = Color.new(110,110,110, 85)
self.contents.draw_text(130+2, 99+2+12, 160, 64, Player.name)
self.contents.draw_text(130+2, 99-1+12, 160, 64, Player.name)
self.contents.font.color = Color.new(110,110,110)
self.contents.draw_text(130, 99+12, 160, 64, Player.name)
self.contents.draw_text(130, 99-1+12, 160, 64, Player.name)
self.contents.font.color = Color.new(60,60,60)
self.contents.font.color = Color.new(110,110,110, 85)
self.contents.draw_text(48+2, 171+2+12, 160, 64, "ARGENT "
self.contents.draw_text(48+3, 171+2+12, 160, 64, "ARGENT "
self.contents.draw_text(48+3, 171-1+12, 160, 64, "ARGENT "
self.contents.draw_text(48+2, 171-1+12, 160, 64, "ARGENT "
self.contents.font.color = Color.new(60,60,60)
self.contents.draw_text(48, 171+12, 160, 64, "ARGENT "
self.contents.draw_text(48+1, 171+12, 160, 64, "ARGENT "
self.contents.draw_text(48, 171-1+12, 160, 64, "ARGENT "
self.contents.font.color = Color.new(110,110,110, 85)
self.contents.draw_text(340 - wd1+2, 171+2+12, 160, 64, $pokemon_party.money.to_s+"$"
self.contents.draw_text(340 - wd1+2, 171-1+12, 160, 64, $pokemon_party.money.to_s+"$"
self.contents.font.color = Color.new(110,110,110)
self.contents.draw_text(340 - wd1, 171+12, 160, 64, $pokemon_party.money.to_s+"$"
self.contents.draw_text(340 - wd1, 171-1+12, 160, 64, $pokemon_party.money.to_s+"$"
if $data_pokedex[0] == true
self.contents.font.color = Color.new(110,110,110, 85)
self.contents.draw_text(48+2, 220+2+12, 160, 64, "POKéDEX "
self.contents.draw_text(48+3, 220+2+12, 160, 64, "POKéDEX "
self.contents.draw_text(48+3, 220-1+12, 160, 64, "POKéDEX "
self.contents.draw_text(48+2, 220-1+12, 160, 64, "POKéDEX "
self.contents.font.color = Color.new(60,60,60)
self.contents.draw_text(48, 220+12, 160, 64, "POKéDEX "
self.contents.draw_text(48+1, 220+12, 160, 64, "POKéDEX "
self.contents.draw_text(48, 220-1+12, 160, 64, "POKéDEX "
self.contents.font.color = Color.new(110,110,110, 85)
self.contents.draw_text(340 - wd2+2, 220+2+12, 160, 64, @captured.to_s)
self.contents.draw_text(340 - wd2+2, 220-1+12, 160, 64, @captured.to_s)
self.contents.font.color = Color.new(110,110,110)
self.contents.draw_text(340 - wd2, 220+12, 160, 64, @captured.to_s)
self.contents.draw_text(340 - wd2, 220-1+12, 160, 64, @captured.to_s)
end
self.contents.font.color = Color.new(110,110,110, 85)
self.contents.draw_text(48+2, 268+2+12, 160, 64, "UREE JEU "
self.contents.draw_text(48+3, 268+2+12, 160, 64, "UREE JEU "
self.contents.draw_text(48+3, 268-1+12, 160, 64, "UREE JEU "
self.contents.draw_text(48+2, 268-1+12, 160, 64, "UREE JEU "
self.contents.font.color = Color.new(60,60,60)
self.contents.draw_text(48, 268+12, 160, 64, "UREE JEU "
self.contents.draw_text(48+1, 268+12, 160, 64, "UREE JEU "
self.contents.draw_text(48, 268-1+12, 160, 64, "UREE JEU "
self.contents.font.color = Color.new(110,110,110, 85)
self.contents.draw_text(257+2, 268+2+12, 160, 64, temps)
self.contents.draw_text(257+2, 268-1+12, 160, 64, temps)
self.contents.font.color = Color.new(110,110,110)
self.contents.draw_text(257, 268+12, 160, 64, temps)
self.contents.draw_text(257, 268-1+12, 160, 64, temps)
self.contents.font.color = Color.new(230,230,230, 225)
self.contents.draw_text(370, 25+1+12, 160, 64, "N°ID"
self.contents.draw_text(370, 25+2+12, 160, 64, "N°ID "
self.contents.draw_text(370+1, 25+1+12, 160, 64, "N°ID"
self.contents.draw_text(370+1, 25+2+12, 160, 64, "N°ID "
self.contents.draw_text(370+2, 25+12, 160, 64, "N°ID "
self.contents.draw_text(370+3, 25+12, 160, 64, "N°ID "
self.contents.font.color = Color.new(60,60,60)
self.contents.draw_text(370, 25+12, 160, 64, "N°ID "
self.contents.draw_text(370+1, 25+12, 160, 64, "N°ID "
self.contents.draw_text(370, 25-1+12, 160, 64, "N°ID"
self.contents.font.color = Color.new(230,230,230, 225)
self.contents.draw_text(370 + wd3+2, 25+2+12, 160, 64, Player.id.to_s)
self.contents.draw_text(370 + wd3+2, 25-1+12, 160, 64, Player.id.to_s)
self.contents.font.color = Color.new(110,110,110)
self.contents.draw_text(370 + wd3, 25+12, 160, 64, Player.id.to_s)
self.contents.draw_text(370 + wd3, 25-1+12, 160, 64, Player.id.to_s)
elsif @devant == false
wd1 = self.contents.text_size($pokemon_party.money.to_s+"$".width
wd2 = self.contents.text_size(@captured.to_s).width
wd3 = self.contents.text_size(Player.id.to_s).width
self.contents.font.color = Color.new(110,110,110, 85)
self.contents.draw_text(30+2, 25+2+12, 550, 64, "CARTE DRESSEUR de "+Player.name, 2)
self.contents.draw_text(30+3, 25+2+12, 550, 64, "CARTE DRESSEUR de "+Player.name, 2)
self.contents.draw_text(30+3, 25-1+12, 550, 64, "CARTE DRESSEUR de "+Player.name, 2)
self.contents.draw_text(30+2, 25-1+12, 550, 64, "CARTE DRESSEUR de "+Player.name, 2)
self.contents.font.color = Color.new(60,60,60)
self.contents.draw_text(30, 25+12, 550, 64, "CARTE DRESSEUR de "+Player.name, 2)
self.contents.draw_text(30+1, 25+12, 550, 64, "CARTE DRESSEUR de "+Player.name, 2)
self.contents.draw_text(30, 25-1+12, 550, 64, "CARTE DRESSEUR de "+Player.name, 2)
if $game_switches[1500] == true
wd4 = self.contents.text_size($game_variables[1500].to_s).width
self.contents.font.color = Color.new(110,110,110, 85)
self.contents.draw_text(48+2, 99+15+2, 160, 64, "PANTHEON"
self.contents.draw_text(48+3, 99+15+2, 160, 64, "PANTHEON"
self.contents.draw_text(48+3, 99+15-1, 160, 64, "PANTHEON"
self.contents.draw_text(48+2, 99+15-1, 160, 64, "PANTHEON"
self.contents.font.color = Color.new(60,60,60)
self.contents.draw_text(48, 99+15, 160, 64, "PANTHEON "
self.contents.draw_text(48+1, 99+15, 160, 64, "PANTHEON"
self.contents.draw_text(48, 99+15-1, 160, 64, "PANTHEON"
self.contents.font.size += 2
self.contents.font.color = Color.new(242,118,214)
self.contents.draw_text(570-wd4+3, 99+15, 160, 64, $game_variables[1500])
self.contents.draw_text(570-wd4, 99+15+3, 160, 64, $game_variables[1500])
self.contents.draw_text(570-wd4+1, 99+15+3, 160, 64, $game_variables[1500])
self.contents.draw_text(570-wd4+2, 99+15+3, 160, 64, $game_variables[1500])
self.contents.draw_text(570-wd4+3, 99+15+3, 160, 64, $game_variables[1500])
self.contents.font.color = Color.new(190,0,0)
self.contents.draw_text(570-wd4, 99+15, 160, 64, $game_variables[1500])
self.contents.font.size -= 2
end
if $game_switches[1501] == true
wd4 = self.contents.text_size($game_variables[1501].to_s).width
self.contents.font.color = Color.new(110,110,110, 85)
self.contents.draw_text(48+2, 147+15+2, 380, 64, OBJECTIF1)
self.contents.draw_text(48+3, 147+15+2, 380, 64, OBJECTIF1)
self.contents.draw_text(48+3,147+15-1, 380, 64, OBJECTIF1)
self.contents.draw_text(48+2, 147+15-1, 380, 64, OBJECTIF1)
self.contents.font.color = Color.new(60,60,60)
self.contents.draw_text(48, 147+15, 380, 64, OBJECTIF1)
self.contents.draw_text(48+1, 147+15, 380, 64, OBJECTIF1)
self.contents.draw_text(48, 147+15-1, 380, 64, OBJECTIF1)
self.contents.font.size += 2
self.contents.font.color = Color.new(242,118,214)
self.contents.draw_text(570-wd4+3, 147+15, 160, 64, $game_variables[1501].to_s)
self.contents.draw_text(570-wd4, 147+15+3, 160, 64, $game_variables[1501].to_s)
self.contents.draw_text(570-wd4+1, 147+15+3, 160, 64, $game_variables[1501].to_s)
self.contents.draw_text(570-wd4+2, 147+15+3, 160, 64, $game_variables[1501].to_s)
self.contents.draw_text(570-wd4+3, 147+15+3, 160, 64, $game_variables[1501].to_s)
self.contents.font.color = Color.new(190,0,0)
self.contents.draw_text(570-wd4, 147+15, 160, 64, $game_variables[1501].to_s)
self.contents.font.size -= 2
end
if $game_switches[1502] == true
wd4 = self.contents.text_size($game_variables[1502].to_s).width
self.contents.font.color = Color.new(110,110,110, 85)
self.contents.draw_text(48+2, 195+15+2, 380, 64, OBJECTIF2)
self.contents.draw_text(48+3, 195+15+2, 380, 64, OBJECTIF2)
self.contents.draw_text(48+3,195+15-1, 380, 64, OBJECTIF2)
self.contents.draw_text(48+2, 195+15-1, 380, 64, OBJECTIF2)
self.contents.font.color = Color.new(60,60,60)
self.contents.draw_text(48, 195+15, 380, 64, OBJECTIF2)
self.contents.draw_text(48+1, 195+15, 380, 64, OBJECTIF2)
self.contents.draw_text(48, 195+15-1, 380, 64, OBJECTIF2)
self.contents.font.size += 2
self.contents.font.color = Color.new(242,118,214)
self.contents.draw_text(570-wd4+3, 195+15, 160, 64, $game_variables[1502].to_s)
self.contents.draw_text(570-wd4, 195+15+3, 160, 64, $game_variables[1502].to_s)
self.contents.draw_text(570-wd4+1, 195+15+3, 160, 64, $game_variables[1502].to_s)
self.contents.draw_text(570-wd4+2, 195+15+3, 160, 64, $game_variables[1502].to_s)
self.contents.draw_text(570-wd4+3, 195+15+3, 160, 64, $game_variables[1502].to_s)
self.contents.font.color = Color.new(190,0,0)
self.contents.draw_text(570-wd4, 195+15, 160, 64, $game_variables[1502].to_s)
self.contents.font.size -= 2
end
if $game_switches[1503] == true
wd4 = self.contents.text_size($game_variables[1503].to_s).width
self.contents.font.color = Color.new(110,110,110, 85)
self.contents.draw_text(48+2, 243+15+2, 380, 64, OBJECTIF3)
self.contents.draw_text(48+3, 243+15+2, 380, 64, OBJECTIF3)
self.contents.draw_text(48+3,243+15-1, 380, 64, OBJECTIF3)
self.contents.draw_text(48+2, 243+15-1, 380, 64, OBJECTIF3)
self.contents.font.color = Color.new(60,60,60)
self.contents.draw_text(48, 243+15, 380, 64, OBJECTIF3)
self.contents.draw_text(48+1, 243+15, 380, 64, OBJECTIF3)
self.contents.draw_text(48, 243+15-1, 380, 64, OBJECTIF3)
self.contents.font.size += 2
self.contents.font.color = Color.new(242,118,214)
self.contents.draw_text(570-wd4+3, 243+15, 160, 64, $game_variables[1503].to_s)
self.contents.draw_text(570-wd4, 243+15+3, 160, 64, $game_variables[1503].to_s)
self.contents.draw_text(570-wd4+1, 243+15+3, 160, 64, $game_variables[1503].to_s)
self.contents.draw_text(570-wd4+2, 243+15+3, 160, 64, $game_variables[1503].to_s)
self.contents.draw_text(570-wd4+3, 243+15+3, 160, 64, $game_variables[1503].to_s)
self.contents.font.color = Color.new(190,0,0)
self.contents.draw_text(570-wd4, 243+15, 160, 64, $game_variables[1503].to_s)
self.contents.font.size -= 2
end
if $game_switches[1504] == true
wd4 = self.contents.text_size($game_variables[1504].to_s).width
self.contents.font.color = Color.new(110,110,110, 85)
self.contents.draw_text(48+2, 291+15+2, 380, 64, OBJECTIF4)
self.contents.draw_text(48+3, 291+15+2, 380, 64, OBJECTIF4)
self.contents.draw_text(48+3,291+15-1, 380, 64, OBJECTIF4)
self.contents.draw_text(48+2, 291+15-1, 380, 64, OBJECTIF4)
self.contents.font.color = Color.new(60,60,60)
self.contents.draw_text(48, 291+15, 380, 64, OBJECTIF4)
self.contents.draw_text(48+1, 291+15, 380, 64, OBJECTIF4)
self.contents.draw_text(48, 291+15-1, 380, 64, OBJECTIF4)
self.contents.font.size += 2
self.contents.font.color = Color.new(242,118,214)
self.contents.draw_text(570-wd4+3, 291+15, 160, 64, $game_variables[1504].to_s)
self.contents.draw_text(570-wd4, 291+15+3, 160, 64, $game_variables[1504].to_s)
self.contents.draw_text(570-wd4+1, 291+15+3, 160, 64, $game_variables[1504].to_s)
self.contents.draw_text(570-wd4+2, 291+15+3, 160, 64, $game_variables[1504].to_s)
self.contents.draw_text(570-wd4+3, 291+15+3, 160, 64, $game_variables[1504].to_s)
self.contents.font.color = Color.new(190,0,0)
self.contents.draw_text(570-wd4, 291+15, 160, 64, $game_variables[1504].to_s)
self.contents.font.size -= 2
end
if $game_switches[1505] == true
wd4 = self.contents.text_size($game_variables[1505].to_s).width
self.contents.font.color = Color.new(110,110,110, 85)
self.contents.draw_text(48+2, 339+15+2, 380, 64, OBJECTIF5)
self.contents.draw_text(48+3, 339+15+2, 380, 64, OBJECTIF5)
self.contents.draw_text(48+3,339+15-1, 380, 64, OBJECTIF5)
self.contents.draw_text(48+2, 339+15-1, 380, 64, OBJECTIF5)
self.contents.font.color = Color.new(60,60,60)
self.contents.draw_text(48, 339+15, 380, 64, OBJECTIF5)
self.contents.draw_text(48+1, 339+15, 380, 64, OBJECTIF5)
self.contents.draw_text(48, 339+15-1, 380, 64, OBJECTIF5)
self.contents.font.size += 2
self.contents.font.color = Color.new(242,118,214)
self.contents.draw_text(570-wd4+3, 339+15, 160, 64, $game_variables[1505].to_s)
self.contents.draw_text(570-wd4, 339+15+3, 160, 64, $game_variables[1505].to_s)
self.contents.draw_text(570-wd4+1, 339+15+3, 160, 64, $game_variables[1505].to_s)
self.contents.draw_text(570-wd4+2, 339+15+3, 160, 64, $game_variables[1505].to_s)
self.contents.draw_text(570-wd4+3, 339+15+3, 160, 64, $game_variables[1505].to_s)
self.contents.font.color = Color.new(190,0,0)
self.contents.draw_text(570-wd4, 339+15, 160, 64, $game_variables[1505].to_s)
self.contents.font.size -= 2
end
end
end
end
class TCARD
include POKEMON_S_TCARD
def main
@tcard = TrainerCardWindow.new(true)
@tcard.opacity = 0
@background = Plane.new(Viewport.new(0,0,640,480))
@background.bitmap = RPG::Cache.picture("tcard.png"
@badge1 = Sprite.new
@badge2 = Sprite.new
@badge3 = Sprite.new
@badge4 = Sprite.new
@badge5 = Sprite.new
@badge6 = Sprite.new
@badge7 = Sprite.new
@badge8 = Sprite.new
$game_variables[VAR] = 0
unless $game_switches[1001] == true then @badge1.visible = false else @badge1.visible = true and $game_variables[VAR] += 1 end
unless $game_switches[1002] == true then @badge2.visible = false else @badge2.visible = true and $game_variables[VAR] += 1 end
unless $game_switches[1003] == true then @badge3.visible = false else @badge3.visible = true and $game_variables[VAR] += 1 end
unless $game_switches[1004] == true then @badge4.visible = false else @badge4.visible = true and $game_variables[VAR] += 1 end
unless $game_switches[1005] == true then @badge5.visible = false else @badge5.visible = true and $game_variables[VAR] += 1 end
unless $game_switches[1006] == true then @badge6.visible = false else @badge6.visible = true and $game_variables[VAR] += 1 end
unless $game_switches[1007] == true then @badge7.visible = false else @badge7.visible = true and $game_variables[VAR] += 1 end
unless $game_switches[1008] == true then @badge8.visible = false else @badge8.visible = true and $game_variables[VAR] += 1 end
@badge1.bitmap = RPG::Cache.icon(BADGE1)
@badge2.bitmap = RPG::Cache.icon(BADGE2)
@badge3.bitmap = RPG::Cache.icon(BADGE3)
@badge4.bitmap = RPG::Cache.icon(BADGE4)
@badge5.bitmap = RPG::Cache.icon(BADGE5)
@badge6.bitmap = RPG::Cache.icon(BADGE6)
@badge7.bitmap = RPG::Cache.icon(BADGE7)
@badge8.bitmap = RPG::Cache.icon(BADGE8)
@badge1.x = BADGE1_X
@badge1.y = 363 + 12
@badge2.x = BADGE2_X
@badge2.y = 363 + 12
@badge3.x = BADGE3_X
@badge3.y = 363 + 12
@badge4.x = BADGE4_X
@badge4.y = 363 + 12
@badge5.x = BADGE5_X
@badge5.y = 363 + 12
@badge6.x = BADGE6_X
@badge6.y = 363 + 12
@badge7.x = BADGE7_X
@badge7.y = 363 + 12
@badge8.x = BADGE8_X
@badge8.y = 363 + 12
@perso = Sprite.new
if $game_variables[1000] == nil or $game_variables[1000] == 0
@perso.bitmap = RPG::Cache.picture("persogars.png"
end
if $game_variables[1000] == 1
@perso.bitmap = RPG::Cache.picture("persogars.png"
end
if $game_variables[1000] == 2
@perso.bitmap = RPG::Cache.picture("persofille.png"
end
@perso.x = 434
@perso.y = 150 + 12
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
unless @tcard == nil then @tcard.dispose end
unless @background == nil then @background.dispose end
unless @badge1 == nil then @badge1.dispose end
unless @badge2 == nil then @badge2.dispose end
unless @badge3 == nil then @badge3.dispose end
unless @badge4 == nil then @badge4.dispose end
unless @badge5 == nil then @badge5.dispose end
unless @badge6 == nil then @badge6.dispose end
unless @badge7 == nil then @badge7.dispose end
unless @badge8 == nil then @badge8.dispose end
unless @perso == nil then @perso.dispose end
end
def update
if Input.trigger?(Input::C)
if @tcard.devant == false
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if @tcard.devant == true
@tcard.devant = false
$game_system.se_play($data_system.decision_se)
@badge1.dispose
@badge2.dispose
@badge3.dispose
@badge4.dispose
@badge5.dispose
@badge6.dispose
@badge7.dispose
@badge8.dispose
@perso.dispose
@tcard.dispose
@tcard = TrainerCardWindow.new(false)
@tcard.opacity = 0
@background.bitmap = RPG::Cache.picture("backcard.png"
end
end
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
end
end
class Interpreter
def ligue_finie
@total_sec = Graphics.frame_count / Graphics.frame_rate
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
temps = sprintf("%02d:%02d:%02d", hour, min, sec)
$game_variables[1500] = temps
$game_switches[1500] = true
end
def objectif1
$game_switches[1501] = true
end
def objectif2
$game_switches[1502] = true
end
def objectif3
$game_switches[1503] = true
end
def objectif4
$game_switches[1504] = true
end
def objectif5
$game_switches[1505] = true
end
def fille
$game_variables[1000] = 2
end
def gars
$game_variables[1000] = 1
end
def badge1
$game_switches[1001] = true
end
def badge2
$game_switches[1002] = true
end
def badge3
$game_switches[1003] = true
end
def badge4
$game_switches[1004] = true
end
def badge5
$game_switches[1005] = true
end
def badge6
$game_switches[1006] = true
end
def badge7
$game_switches[1007] = true
end
def badge8
$game_switches[1008] = true
end
def carte_dresseur
$scene = TCARD.new
end
end
Merci à Zellyunie qui a changé les couleurs de l'ancienne version pour
arranger la mise en page, ce qui m'a donné envi de l'améliorer entièrement.
Gweath - 29 janvier 2018 à 16:04
Hmm et j'ai un autre petit problème j'ai changer le niveau max des pokémons dans config panel (j'ai mis 250) mais lorque je me give un pokémon
de niveau 100 la barre d'expérience bleu est bloquer comment puis-je remédier à sa ?
Minirock - 3 février 2018 à 17:13
Salutation,
petit problème relatif aux défaites. En espérant que vous aurez une idée.
Lorsque je meurs en combat; dresseur ou pokémon sauvage, je suis bien transféré au point de retour où l'équipe est soignée.
Par contre, lorsque je meurs hors combat (poison). L'équipe est bien soignée, et je suis bien téléportée, mais l'aspect graphique ne change pas.
En gros si je suis dans une zone de 50-50 je continuerais à voir le héros dans la même zone mais réduite à la taille de mon centre pokémon 15-15 par exemple. Je peux me déplacer dans la zone de la même façon... mais je suis obligé d'ouvrir le menu pour voir l'aspect visuel de la map changer.
Si quelqun a une idée je suis preneur
Nuri Yuri - 6 février 2018 à 18:00
Quel starter kit utilises tu ?
Minirock - 7 février 2018 à 01:30
Quel starter kit utilises tu ?
PSP 0.8 Si je dis pas de connerie. Pour résumé, il m'amène bien aux coordonnées x y de la map; mais pour voir la map changer...obligation d'ouvrir le menu. Et c'est bien juste un problème graphique parce que si j'essaie d'interagir avec des events visible de l'ancienne map...ils n'existent plus sur cette map là.
Un autre point,
J'ai aussi remarqué quelque chose en testant le combat contre mon premier champion d'arène avec pour moi un magicarpe niveau 100 à coup de trempette pour bien voir comment ça se passait ^^
En face j'avais un Tartard : Gonflette / Coup croix / Poing glace/ Cascade
Je me demandais s'il n'y avait pas une "probabilité caché" sur les attaques faisant que la plus forte attaque est lancé la plus souvent.
Parce que en gros il m'a utilisé les 5 coup croix d'affilé; avant de passer sur des cascades ...il a bien alterné une ou deux fois avec gonflette et poing glace...mais c'était tellement minime par rapport à la succession du reste que j'en viens à me poser la question^^
Est-ce qu'il y a une option pour paramétrer la probabilité d'une attaque ? Un truc de ce genre.
["COUP CROIX"=>20,"GONFLETTE"=>50,"POING GLACE"=>10,"CASCADE"=>20]
J'ai farfouillé un peu mais j'ai pas réussi à voir.
Merci à toi
Gweath - 7 février 2018 à 16:49
Salut désoler je ne sais pas du tout si ont peut changer les probabilité des attaques par contre je suis embêter j'aurais aimer faire plus de 100 niveau dans
mon jeu mais je n'arrive pas à savoir comment faire j'ai changer le level max à 250 mais rien à faire la barre d'exp ce bloque au level 100 si une solution
existe je suis prenant merci ^^
Nuri Yuri - 7 février 2018 à 23:15
@Minirock : Ouhla, bah non pour le coup c'est pas possible de changer ça. Pour ce qui est du bug graphique, je pense que ça vient du MapLink mais je suis pas sûr ^^ Essaie de désactiver complètement le script pour voir. Après PSP 0.8 est pas la dernière version de PSP donc je te conseille de télécharger PSP 0.9.2 qui a plusieurs corrections (et certaines sur l'IA je crois, cela dit tu pourras pas dire d'attaquer plus une attaque qu'une autre ^^'.
@Gweath : Si tu as bien changé la constante MAX_LEVEL de Config Pannel normalement les Pokémon devraient dépasser le niveau 100. Après il y a un bug dans la courbe d'expérience (Erratique) qui fait qu'il failles un nombre de point d'expérience négatif du niveau 100 (ou 99) à 101 (ou 100) du coup ça fait ptet le blocage de la courbe d'expérience.
Gweath - 8 février 2018 à 00:25
D'accord merci donc en gros si j'ai bien comprit ces juste un bug visuel par exemple si je suis niveau 100 ma barre et du coup au max à cause du bug
imaginons qu'il faut 1000 xp pour être 101 ma barre ne bougera pas mais une fois les 1000 xp atteint automatiquement je passerai 101 ces bien sa ? (la barre d'exp bleu reste bloquer au niveau 100 mais ce n'est que visuel) ?
Gweath - 8 février 2018 à 01:01
Ou alors j'ai pas comprit et il faut faire perdre de l'expérience quand la barre est à fond au lvl 100 mais dans ce cas la comment faire pour faire perdre de l'expérience ?
Minirock - 8 février 2018 à 03:18
@Minirock : Ouhla, bah non pour le coup c'est pas possible de changer ça. Pour ce qui est du bug graphique, je pense que ça vient du MapLink mais je suis pas sûr ^^ Essaie de désactiver complètement le script pour voir. Après PSP 0.8 est pas la dernière version de PSP donc je te conseille de télécharger PSP 0.9.2 qui a plusieurs corrections (et certaines sur l'IA je crois, cela dit tu pourras pas dire d'attaquer plus une attaque qu'une autre ^^'.
Dac merci. Tu aurais un lien pour le 0.9.2 ? Je vais voir si j'arrive à trouver ça. Dans le cas où je le téléchargerais tout est compatible normalement dans le sens où en transférant les fichiers je ne devrais rien perdre en terme de gestion de map et d'event ?
Que veux-tu dire par désactiver le script ? J'ai essayé d'aller voir dans scripts.rxdata s'il n'y avait pas un truc à bidouiller mais le fichier doit être une composante assembleur vu que je n'ai pas le bon encodage pour le lire.
Autre question sans rapport mais un peu du coup^^
Le code source de tout ça il est disponible quelque part, sur un repository github ou autre ? J'avoue que je serais curieux d'y jeter un coup d'oeil, voir si je pourrais pas bidouiller quelques trucs par dessus; j'ai pas spécialement de connaissance en C++; mais ça doit pas être bien différent d'un langage objet classique. En fait je sais pas du tout si PSP est open source donc^^
Nuri Yuri - 8 février 2018 à 21:50
@Gweath : Bah c'est pas forcément un bug visuel, tu as vraiment bien changé la variable MAX_LEVEL dans Config Pannel ?
@Minirock : Pour les scripts ça s'ouvre avec RPG Maker XP, c'est la touche F11 sous RMXP.
Tu peux télécharger PSP 0.9.2 ici : https://pokemonworkshop.com/forum/index.php?topic=1385.0
Je te recommande de relire intégralement le manuel de PSP, la solution pour désactiver le Maplink est dedans : https://pokemonworkshop.com/psp/psp_manuel.html
Pour mettre à jour ton projet tu as juste besoin de coller tes Map (Fichiers Data/Map***.rxdata) dans le dossier Data de PSP 0.9.2.
Minirock - 10 février 2018 à 19:53
Bon, j'ai fais la migration, en rajoutant les graphics, mais là je me heurte à un petit hic^^
Lorsque je teste, j'arrive à un point où j'ai l'erreur suivante: No such file or directory - Audio/BGM/005-Boss01
Ce fichier 005-Boss01 correspond au fond musical de ma première map. Je me suis donc dis qu'il suffisait que je rajoute 005-Boss01 de l'ancien dossier Audio/BGM dans le nouveau....sauf que....il n'est pas non plus présent dans mon ancien projet (ou en tout cas pas dans le répertoire BGM).
Du coup je comprends que ça plante...mais je comprends pas pourquoi l'ancien ne plante pas x)
La fonction étant la même dans les deux scripts
def bgm_play(bgm)
@playing_bgm = bgm
if bgm != nil and bgm.name != ""
Audio.bgm_play("Audio/BGM" + bgm.name, bgm.volume, bgm.pitch)
else
Audio.bgm_stop
end
Graphics.frame_reset
end
Nuri Yuri - 10 février 2018 à 22:11
L'ancien avait les RTP d'RPG Maker, le nouveau les a pas. Tu devrais copier le fichier depuis les RTP pour l'avoir et être sûr que tous les joueurs n'auront pas de problèmes.
Gweath - 20 février 2018 à 16:17
Salut je suis bloqué sur la cs flash je n'arrive pas à comprendre le système comme faire pour qu'une grotte soit sombre puis éclairer via le cs flash sans que toutes les maps soit sombre après ? c'est à dire assombrir que cette map et l'éclairer avec le cs flash merci d'avance .
Nuri Yuri - 20 février 2018 à 21:25
Faut que tu désactive le système de flash dans les évènements de sortie de la grotte.
Gweath - 21 février 2018 à 13:59
Parfait merci de ton aide
Minirock - 28 février 2018 à 16:51
Hello,
bon je reviens un peu par ici au gré de mes pauses^^
Bref, j'ai un peu farfouillé pour chercher ou on faisait la décision des attaques dans les combats.
J'ai fini par trouver le script en question.
Il s'agit du script Pokemon_Battle_Trainer
Et plus particulièrement la méthode suivante:
#------------------------------------------------------------
# Déroulement
#------------------------------------------------------------
def enemy_skill_decision
action = true
# ------- ---------- --------- --------
# Saut de phase de sélection (ennemi)
# action = false : saut
# action = true : pas de saut
# ------- ---------- --------- --------
action = phase_jump(true)
@enemy_action = 1
# Décision skill ennemi
if not(@actor.dead?) and action
list = []
for i in 0..@enemy.skills_set.size - 1
list.push(i)
end
list.shuffle!
# Skill sans PP // Lutte
@enemy_skill = Skill.new(165)
# ----------
for i in list
if @enemy.skills_set*.usable?*
@enemy_skill = @enemy.skills_set
end
end
end
# Trainer IA
if @ia and not(@actor.dead?) and action
# Skill sans PP // Lutte
@enemy_skill = Skill.new(165)
rate_list = \{\}
i = 0
for skill in @enemy.skills_set
if skill.usable?
rate_list* = ia_rate_calculation(skill, @enemy, @actor)*
else
rate_list* = 0*
end
i += 1
end
# Tri dans l'ordre decroissant de valeur
sorted_list = rate_list.sort \{|a,b| b[1]<=>a[1]\}
#for element in sorted_list
# print(@enemy.skills_set[element[0]].name)
# print(element[1])
#end
# Decision prioritaire: max dégat ou soin
# Valeur seuil: 200
# si une attaque/défense dépasse ce seuil, il est choisi
if sorted_list[0][1] > 200
@enemy_skill = @enemy.skills_set[sorted_list[0][0]]
else
# Decision par pallier
i = rand(100)
# Taux de decision
taux = [100, 25, 5, 0]
for a in 0..3
if i <= taux[a] and sorted_list[a] != nil and sorted_list[a][1] != 0
@enemy_skill = @enemy.skills_set[sorted_list[a][0]]
end
end
end
end
if not(action) # Reprise du skill précédent
@enemy_skill = $battle_var.enemy_last_used
end
end
Comme vous pouvez le voir, le script indique bel et bien que le choix de la compétence se fait par rapport au dégât max des compétences.
Il y a donc clairement quelque chose à bidouiller ici pour essayer d'obtenir une IA de bien meilleure qualité.
Je vais essayer d'étudier le problème, de remonter les attributs des objets concernés pour essayer de pondre un truc potable mais ça va pas être facile vu que je sais pas de quel langage il s'agit et que je vais devoir décrypter un peu en profondeur une partie des com en asiatique si je dois remonter dans les méthodes :(
Fin bref si j'arrive à un résultat je vous tiens au courant, je pense que ça peut intéresser des gens d'avoir une IA potable dans les combats qui se contente pas de bêtement lancer l'attaque la plus puissante.
Nuri Yuri - 1 mars 2018 à 10:18
C'est du Ruby, sinon tu utilises quelle version de PSP car il me semble que sur la dernière version l'IA est un peu plus performante.
Minirock - 1 mars 2018 à 13:43
J'avais dl la version 0.9.2 mais j'ai pas retouché au RTP du coup mon truc est pas tout à fait fonctionnel.
En ce qui concerne l'IA justement, j'ai check entre la version 0.9 et 0.8 et c'est la même chose, du moins sur le passage sélectionné.
Ce qui me gène avec la version actuelle c'est que si tu veux un pokémon d'arène un peu "fort" qui aurait comme compétences quelque chose comme gonflette ou malédiction...le skill sera jamais utilisé avant la fin, car sans dégat.
Après je t'avouerais que j'ai pas re-testé les combats sur la version 0.9, possible qu'il y ait des changements dans l'IA à un autre niveau, mais en tout cas sur cette méthode en particulier, c'est exactement la même.
Ok pour Ruby, ça me fera une bonne occasion de rajouter ça sur mon CV :D
Nuri Yuri - 3 mars 2018 à 19:05
Ok, ptet que l'amélioration n'est pas encore sortie alors ^^'
Je pourrais pas spécialement plus t'aider sur ce soucis car une IA c'est très complexe ^^
TUT7P - 19 mars 2018 à 10:57
bonjour , si ça se trouve vous avez déjà répondu a cette question , mais j'ai un problème, comment on teste le jeu (chuis sur psp0.8) je veux dire quand j'appuie sur play ça me met le jeu de psp , vous savez comment allez dans les villes qu'on a crées? car a cause de ça je peux pas tester mon jeu :domo:
Nuri Yuri - 19 mars 2018 à 11:19
Il faut utiliser des téléportations (commande d'évènement page 2).
Minirock - 27 mars 2018 à 22:36
Un autre "problème" dont je me suis rendu compte.
La commande effacer l'événement n'est pas permanente.
Ex: On ramasse un objet, on efface l'objet, on change de map, on revient sur la map de l'objet qui est apparu de nouveau.
Bien entendu on peut gérer ça avec des variables en mode afficher l'event que si une variable x n'a pas été modifié. Mais je trouve ça un peu fastidieux ce qui me fait penser que je m'y prends peut-être pas de la bonne façon pour ramasser des objets^^
Aura Azure - 28 mars 2018 à 14:21
Au lieu d'effacer l'event quand tu ramasses l'objet, modifie la variable, et quand tu rentres dans la map, efface l'objet si cette variable est modifiée.
Nuri Yuri - 28 mars 2018 à 15:18
Tu mets une deuxième page activée selon l'interrupteur local A.
Quand tu donnes l'objet, tu actives l'interrupteur local A, ceci rend l'objet "effacé" pour toujours.
Minirock - 28 mars 2018 à 15:35
Tu mets une deuxième page activée selon l'interrupteur local A.
Quand tu donnes l'objet, tu actives l'interrupteur local A, ceci rend l'objet "effacé" pour toujours.
Effectivement ça règle le problème, bien vu et plus besoin de se trimbaler des variables pour chaque objet (l'enfer ^^)
Merci.
Minirock - 28 mars 2018 à 22:24
Pour le coup je ne sais pas si la question a vraiment sa place dans ce topic, mais je me vois pas non plus créer un topic exprès juste pour ça :D
Je voulais avoir un avis sur la texture des personnages.
Celui de droite existant de base dans le jeu, celui de gauche ayant été ajouté. N'ayant que de pauvres qualités graphiques, je n'arrive pas à savoir si la différence est choquante ou pas...et plus je regarde et moins je sais x)
Bref, merci pour vos avis^^

Mickey` - 28 mars 2018 à 22:26
Oui, c'est beaucoup trop flou :/
Minirock - 28 mars 2018 à 22:54
C'est bien ce qui me semblait :( j'en ai plusieurs comme ça x)
Celui de droite est pixelisée et celui de gauche est "lissé".
En fait j'aurais tendance à dire que celui de gauche est de meilleure qualité mais ça fait tache avec le ton global du reste du jeu :/
Bon bah faudra que j'essaie de trouver une fonction pour bidouiller ça dans paint ou photofiltre x)
Mickey` - 28 mars 2018 à 23:17
Bah tu es un environnement de pixel art, donc faut que tout soit dans cet esprit-là
Nuri Yuri - 28 mars 2018 à 23:34
Tu peux trouver des tas de characters sur internet que t'as juste à assembler pour RMXP s'ils sont libres de droit.
Minirock - 29 mars 2018 à 18:13
Je me doute, après même si j'ai des sprites de cette qualité là, je pense qu'il doit bien exister quelques logiciel pour pixeliser tout ça, donc je me fais pas trop de soucis
Et puis dans le fond, mon projet en est qu'au début et au stade ou je me fais mes trucs moi même...j'ai à peine fini ma 2nde ville avec le premier badge.
Si cela devient plus sérieux ou plus fournis je demanderais surement l'aide d'un graphiste s'il est intéressé...mais pour le moment je vais pas faire chier les gens pour un projet embryonnaire...
====================================
Ceci mis à part, en testant le combat contre mon premier champion d'arène je me suis rendu compte que les baies (en tout cas la baie oran) n'avait pas d'effet en combat. Et effectivement impossible à utiliser en combat et lorsque je vais voir dans la base de donnée c'est logique puisque pas de modification de stats sur l'objet.
Par conséquent je pourrais manuellement rajouter 10 d'augmentation de PV pour rendre l'objet utilisable j'imagine...mais dans ce cas là, qu'est-ce qui va différencier une baie oran à +10 pv d'une potion à +20 pv ? Dans le sens ou la baie oran est censé pouvoir être utilisé en étant tenu par un pokémon; ce qui n'est pas le cas de la potion. Je ne vois rien permettant de gérer ça. Sa fait peut-être parti des trucs ajouté dans 0.9 et qui n'étaient pas présent dans 0.8 (j'ai pas vérifié).
Nuri Yuri - 30 mars 2018 à 13:08
Si ta version de PSP n'est pas à jour, fais la MAJ peut-être que ça va résoudre le problème des baies car effectivement à l'époque les baies et des tas d'autres objets tenus ne fonctionnaient pas sur PSP.
Minirock - 30 mars 2018 à 14:06
Oui je vais check, mais disons qu'à chaque fois que je veux faire la maj...je vois mes tilesets sur lesquels j'ai passé au moins une semaine à configurer les priorités de passage...tous à refaire, ça me déprime un peu :p
D'ailleurs c'est dommage de pas trouver un système qui permette de garder ces infos.
A moins que ce soit moi qui ne soit pas doué, en fait il doit surement y avoir un truc à bidouiller pour garder les tilesets présent dans la BDD tels quels, mais j'ai pas trouvé où :(
Nuri Yuri - 30 mars 2018 à 17:49
Il y aurait suffit de ne pas copier le fichier Data/Tilesets.rxdata de la MAJ dans ton projet
Minirock - 30 mars 2018 à 19:24
Je suis pas certains d'avoir compris.
Ce que j'ai fais c'est que j'ai pris le fichier Data/Tilesets de la 0.8 sur laquelle j'avais mon projet et je l'ai mis dans la 0.9.
Du coup normalement je pensais que j'allais garder mes tilesets. Sauf que non. Ou alors j'ai foiré mes copié collé la dernière fois que j'avais testé, c'est bien possible x)
EDIT: Ah bah j'avais bien foiré mon copié collé x)
IronHearts - 7 avril 2018 à 00:58
Salut à tous, je viens vous demander de l'aide, voilà je suis entrain de créer un jeu pokemon avec RPG Maker XP et j'aimerais savoir s'il existe une commande permettant de créer une condition qui s'exécute lorsque l'on a 6 pokemon dans l'équipe.
Je vous remercie par avance
Nuri Yuri - 9 avril 2018 à 19:12
Dans la condition tu mets un script : $pokemon_party.size == 6
IronHearts - 13 avril 2018 à 14:49
Super merci !
Mearyuh - 28 mai 2018 à 19:05
Bonjour,
J'aimerais savoir où je pourrais trouver une liste des "ID effet" déjà existants afin de personnaliser des attaques. Je trouve aucun endroit où la liste est mentionnée (hormis les changements de statuts). Merci. ^^
Nuri Yuri - 28 mai 2018 à 22:37
A part dans les scripts, y'a pas d'endroits où trouver les id effets ^^'
Amras Anárion - 7 juillet 2018 à 16:47
Bonjour,
Je pense que cette question te siéra tout particulièrement Nuri Yuri, mais tout le monde pourra y répondre.
Voici le projet de Fan-Game que je souhaite réaliser : http://nuzlocke-france.forumgratuit.org/t1629-scenario-de-fan-game-pokemon-sacred-phoenix.
Le scénario est déjà très clair et très développé dans mon esprit (il n'y a qu'a voir la longueur du récit que j'ai créé), mais j'ai aussi plein d'idées novatrices de gameplay pour rendre les combats Pokémon beaucoup plus stratégiques.
Voici une capture d'écran de ce que j'imagine pour ce jeu Pokémon médiéval-fantasy qui a lieu à une époque reculée de 2500 ans, et où les Légendaires étaient honorés tels des dieux :
Spoiler
Mes deux questions sont :
- Si je me lance dans ce projet (en espérant pouvoir implémenter au mieux mes idées de gameplay), quelle version de RPG Maker me conseilles tu ? Le site officiel propose pas moins de 6 versions, et je n'ai pas trouvé de comparatifs clairs.
- Ais-je droit avec tout ce que j'ai écrit d'ouvrir ici un topic pour ce projet, où me faut-il atteindre le stade d'une démo de démonstrationn ? Car tout projet nait d'un scénario, d'une idée d'un rêve qu'on veut partager. Nous sommes tous passés par là.
Merci à vous.
Aura Azure - 7 juillet 2018 à 16:52
Alors le topic de présentation ça attendra la démo.
...Pour la version de RPGMK, bonne question, je laisserai quelqu'un d'autre y répondre (mais jette un oeil sur Pokémon Workshop, premier lien sur Google).
Maintenant, niveau design, ce que tu montres ne donne absolument pas envie. Le mélange de sprites pixellisés, d'artworks style aquarelle/crayon, d'autres artworks et logos 100% lisses, etc. Il n'y a absolument aucune consistence graphique, et ça donne un résultat tout simplement immonde.
Et je ne parle même pas du mélange "Pokémon" - "Médiéval".
...et "médiéval" = Moyen-Âge, dont la période s'étend entre les années ~500 - ~1500. Pas -500.
Amras Anárion - 7 juillet 2018 à 17:15
Merci de ta critique constructive Weby. Je prends note qu'il faut atteindre le stade de la démo jouable. C'est chose toute logique, vu le nombre de candidats, mais le peu d'élus qui arrivent à achever un fan-game Pokémon.
Je suis conscient qu'il est capital d'avoir une unicité dans la charte graphique du jeu. N'ayant pas codé encore une seule ligne, j'ai fait de mon mieux pour reconstituer ma vision du jeu, qui veut innover en proposant plus de choix stratégiques et une nouvelle manière d'afficher les menus.
Les spirites officielles des Pokémon vues de dos sont vraiment en basse résolution. Bien entendu qu'il faudra homogénéiser tout cela si le projet se lance pour de vrai. (Tu n'es pas le premier à m'avoir reproché le Draby pixelisé.)
Dans le contexte du PokéWorld (qui ne possède pas la même Histoire que sur la planète Terre), peut-être devrais-je dire "antique". Ce qu'il faut comprendre, c'est qu'à cette période reculée, il n'y a aucune technologie moderne (centre Pokémon, médicaments...), et la fabrication des Noigrumes en Pokéballs n'est que récente. Les soins se font avec des objets naturels (Baies, Lait Meumeu...) ou en se reposant dans des auberges / en campant le temps qu'il faut.
D'ailleurs, le passé lointain du PokéWorld est un terrain très peu explorer. C'est une excellente terre pour offrir un vent nouveau.
Cette originalité est un pari risqué, car aucun Fan-Game Pokémon n'a été crée
Dans le pire des cas, je prévois de faire de mon scénario une fan-fiction écrite. Cela me permettra de "vivre" mon aventure à travers mes mots et de permettre aux autres d'en être spectateurs (mais ils ne pourront pas y être acteurs, chose que permet un jeu vidéo.) Et si jamais un fan-maker passionné et endurci se retrouvait enchanté de mon récit, je suis donnerai ma bénédiction pour en faire un Fan-Game Pokémon.
Henri Bernard Mitsu - 7 juillet 2018 à 19:55
Alors le topic de présentation ça attendra la démo.
...Pour la version de RPGMK, bonne question, je laisserai quelqu'un d'autre y répondre (mais jette un oeil sur Pokémon Workshop, premier lien sur Google).
Maintenant, niveau design, ce que tu montres ne donne absolument pas envie. Le mélange de sprites pixellisés, d'artworks style aquarelle/crayon, d'autres artworks et logos 100% lisses, etc. Il n'y a absolument aucune consistence graphique, et ça donne un résultat tout simplement immonde.
Et je ne parle même pas du mélange "Pokémon" - "Médiéval".
...et "médiéval" = Moyen-Âge, dont la période s'étend entre les années ~500 - ~1500. Pas -500.
Ce n'est pas un peu hâtif comme réponse ?
Et puis "immonde" franchement... :roll:
Pour le design,certes c'est perfectible sur plusieurs points,mais c'est un premier screenshot venant justement d'une personne dont le graphisme n'est pas le domaine.
C'est plutôt pas mal donc pour un premier screen non ?
Quand une équipe aura été réunie autour du projet, ce sera évidemment bien plus soigné et homogène,c'est évident.
Pour l'instant,prend en compte que ce n'est qu'une esquisse
Ensuite, pour le mélange Pokémon et médiéval, je trouve que c'est audacieux (ça a deja le mérite d'être inédit), et au vu de la profondeur et de la maturité du [[acronym=non, pas de lien ici]scénario[/acronym]](http://non, pas de lien ici) ,ça promet
Enfin j'veux dire,pas besoin d'être un génie pour se rendre compte de la qualité du scénario qui,rien qu'en le lisant,nous entraîne déjà dans l'univers d'Amras.
Et médiéval,ça décrit aussi un style,donc même si l'époque n'est pas historiquement exact,ce n'est pas grave pour le coup puisque c'est pour cadrer l'ambiance du jeu o/
Bref,moi j'espère bien le voir aboutir un jour ce fan-game ^^
Navigation: <- Page précédente | Page suivante ->

