Night.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: Star Trek: Glorious Wolf - (...) / Sorties: Dread Mac Farlane - episode 3 / News: Plein d'images cools créées par (...) / Sorties: Star Trek: Glorious Wolf - (...) / Jeux: Final Fantasy 2.0 / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

272 connectés actuellement

29186476 visiteurs
depuis l'ouverture

1527 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Offgame

Le Temple de Valor

RPG Maker Détente

RPG Fusion

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [Rpg Maker VX] Afficher les objets trouvés/reçu sur la map


Narak - posté le 02/07/2013 à 15:19:05 (62 messages postés)

❤ 0

Domaine concerné: Script
Logiciel utilisé: Rpg Maker VX
Bonjour, ceci est une demande de script.


Mon jeu fonctionne sous systèmes de combat en abs et je souhaite pouvoir afficher les objets, or gagnés. Je vois cette fenêtre à la manière des mmorpg (chat) (en bas à gauche) affiche les objets, or, ... reçut du bas vers le haut sur 4/5 lignes.



Un script à déjà été réalisé par blockade, mais ouvre une fenêtre qui m’empêche de faire des actions (attaquer, bouger) dans le jeu.
http://www.rpg-maker.fr/scripts-251-afficher-les-objets-trouvesrecu-sur-la-map.html

Pour avoir des renseignements par rapport à la non utilisation du précédent script :
http://www.rpg-maker.fr/index.php?page=forum&id=22282

Merci d'avance.

viens voir :http://www.rpg-maker.fr/index.php?page=forum&id=22418&deb=1&ancre=967250


Cortez - posté le 04/07/2013 à 10:54:57 (523 messages postés)

❤ 0

Tu peux aussi le faire en event/script.
En prenant le script de l'évent extender (version VX).
Et en cherchant dans les script de base une ligne qui dit :
item.party.gain? = [ID objet] (ou un truc dans le genre pour
tester si le joueur gagne un objet ou pas)

Ensuite il faut un event parallèle dans la base de donnée qui :

Récupère les id des objets obtenus dans une variable et leur
quantité dans une autre variable.
Affiche une image sur l'écran qui représente l'icone + le nom de l'objet.
Affiche une autre image "obtenu x 1" (ou x2 x3 ...).
Et aussi pour faire un effet déroulant.
On ajoute un déplacer l'image vers le haut.

Donc tout l'affichage est dans une boucle qui ajoute un déplacement
vers le haut à chaque fois que l'on trouve un item.
Et on ajoute une condition de hauteur pour les images
si la position en Y de l'image 1 est supérieure à 50 alors on l'efface.

Mais il faut que tu bosse un peu pour créer les images :
De texte + icones pour chaque item du jeu (avec le même nom
que l'ID de la BDD.)
Et des textes pour la quantité.

C'est une méthode longue mais tu peux commencer tout de suite
et je peux t'aider à trouver les lignes de script qu'il faut.
(envoie par mp les scripts de base dans un .txt)
Sache aussi que j'ai crée un système semblable pour donner au héro
des items en fonction d'une variable pour mon projet
Sword Quest (dans le système de pêche en event)


Narak - posté le 05/07/2013 à 12:37:05 (62 messages postés)

❤ 0

Erreur au niveau du script (lancé sous projet vide)
Cela doit venir de "item.party.gain? = [ID objet]"

Je poste quand même mon événement.
3 lignes 2 objets

image

viens voir :http://www.rpg-maker.fr/index.php?page=forum&id=22418&deb=1&ancre=967250


Cortez - posté le 05/07/2013 à 19:58:33 (523 messages postés)

❤ 0

Il faut pas prendre tout au pied de la lettre.
La ligne en script est un exemple de ce que tu dois chercher dans
les script (crtl+Maj+F)
Il faut que tu cherche dans le script qui gère les commandes en
évent. (sur XP le script s'appelle Interpreter)
Et tu vas tomber sur la ligne qui gère les ajouts d'objets.

Et recopie la ligne sur le forum afin que je voie la syntaxe.
Normalement la ligne commence par $. (sur XP c'est
$game_party.gain_item(@parameters[0], value)).


Narak - posté le 05/07/2013 à 20:50:53 (62 messages postés)

❤ 0

J'avais remarqué après avoir posté mon message ^^ tu avais écrit "ou un truc dans le genre"

Merci, de me donner l'endroit où chercher x)

viens voir :http://www.rpg-maker.fr/index.php?page=forum&id=22418&deb=1&ancre=967250


arttroy - posté le 06/07/2013 à 05:53:54 (2394 messages postés)

❤ 0

Just working

Pour ce qui est du script qu'il doit modifier c'est le Game_Interpreter ligne 678 tu as ça :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
  #--------------------------------------------------------------------------
  # * Change Items
  #--------------------------------------------------------------------------
  def command_126
    value = operate_value(@params[1], @params[2], @params[3])
    $game_party.gain_item($data_items[@params[0]], value)
  end
 



Mais je ne suis pas certain que ce soit ce que tu cherches... Mais c'est le seul truc qui parle des objets dans le Game_Interpreter.

Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ?


Cortez - posté le 06/07/2013 à 12:26:00 (523 messages postés)

❤ 0

Ok, ok.
Alors il faut d'abord tester si le script en condition marche.

Un event parallèle :
Condition -script "$game_party.gain_item?"
Afficher un message
fin

Un event auquel il faut parler pour avoir un objet.

Teste ça et si ça marche on va passer à la suite.
Avec une modification :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
#--------------------------------------------------------------------------
  # * Change Items
  #--------------------------------------------------------------------------
  def command_126
    # Get value to operate
    value = operate_value(@parameters[1], @parameters[2], @parameters[3])
    # Increase / decrease items
    $game_party.gain_item(@parameters[0], value)
    # On enregistre la quantités dans la variable 9
    $game_variables[9] = @params[3].to_s #Quantité
    # On enregistre l'ID de l'objet dans la bonne variable
    $game_variables[10] = @params[0].to_s #Objets
  end
  #--------------------------------------------------------------------------
  # * Change Weapons
  #--------------------------------------------------------------------------
  def command_127
    # Get value to operate
    value = operate_value(@parameters[1], @parameters[2], @parameters[3])
    # Increase / decrease weapons
    $game_party.gain_weapon(@parameters[0], value)
    # On enregistre la quantités dans la variable 9
    $game_variables[9] = @params[3].to_s #Quantité
    # On enregistre l'ID de l'objet dans la bonne variable
    $game_variables[11] = @params[0].to_s #Armes
  end
  #--------------------------------------------------------------------------
  # * Change Armor
  #--------------------------------------------------------------------------
  def command_128
    # Get value to operate
    value = operate_value(@parameters[1], @parameters[2], @parameters[3])
    # Increase / decrease armor
    $game_party.gain_armor(@parameters[0], value)
    # On enregistre la quantités dans la variable 9
    $game_variables[9] = @params[3].to_s #Quantité
    # On enregistre l'ID de l'objet dans la bonne variable
    $game_variables[12] = @params[0].to_s #Armures
  end
 



Note : l'ordre des params[] est le même que dans l'éditeur, donc il
faut vérifier que l'ordre de haut en bas c'est :
- Objet
- Arme
- Armure
Sinon tu change juste le nom de la variable dans ton éditeur.

Si tout ce passe bien, il faut que tu fasse un évent commun parallèle :

Variable 5 Rendre égal à 1
Variable 6 Rendre égal à 11
Boucle début
Condition si variable 9 différent de 0
<>Condition si variable 10 différent de 0
<>Script "$game_screen.pictures[$game_variables[6]].show($game_variables[10].to_s, A, X, Y, ZoomX, ZoomY, Opacité, B)"
<> #commentaire le A vaut 0 si l'image est affiché par son coin en haut à gauche ou 1 si elle s'affiche par son centre.
<>#commentaire B vaut 0, 1 ou 2 si l'image est normale, éclaircie ou obscurcie.
<>#commentaire $game_variables[6] est utilisé pour choisir le numéro de l'image.
<> Script "$game_screen.pictures[$game_variables[5]].show("Obtenu"+$game_variables[9].to_s, A, X, Y, ZoomX, ZoomY, Opacité, B)"
<># "Obtenu"+$game_variables[9].to_s c'est la quantité d'objet obtenus donc tes images "Obtenu x1" doivent s'appeler "Obtenu1.png"
<># On vient d'afficher l'icone et le texte. Donc on modifie les variables pour l'affichage.
<> Variable 5 Ajouter 1
<> Variable 6 Ajouter 1
<> Variable 10 Rendre égal à 0
<> Déplacer image 1 Vers le haut 30 pixel
<> Déplacer image 2 Vers le haut 30 pixel
<> ... jusqu'à l'image 10
<> Fin

<>Condition si variable 11 différent de 0
<>Script "$game_screen.pictures[$game_variables[6]].show($game_variables[11].to_s, A, X, Y, ZoomX, ZoomY, Opacité, B)"
<> #commentaire le A vaut 0 si l'image est affiché par son coin en haut à gauche ou 1 si elle s'affiche par son centre.
<>#commentaire B vaut 0, 1 ou 2 si l'image est normale, éclaircie ou obscurcie.
<>#commentaire $game_variables[6] est utilisé pour choisir le numéro de l'image.
<> Script "$game_screen.pictures[$game_variables[5]].show("Obtenu"+$game_variables[9].to_s, A, X, Y, ZoomX, ZoomY, Opacité, B)"
<># On vient d'afficher l'icone et le texte. Donc on modifie les variables pour l'affichage.
<> Variable 5 Ajouter 1
<> Variable 6 Ajouter 1
<> Variable 11 Rendre égal à 0
<> Déplacer image 1 Vers le haut 30 pixel
<> Déplacer image 2 Vers le haut 30 pixel
<> ... jusqu'à l'image 10
<> Fin

<>Condition si variable 12 différent de 0
<>Script "$game_screen.pictures[$game_variables[6]].show($game_variables[12].to_s, A, X, Y, ZoomX, ZoomY, Opacité, B)"
<> #commentaire le A vaut 0 si l'image est affiché par son coin en haut à gauche ou 1 si elle s'affiche par son centre.
<>#commentaire B vaut 0, 1 ou 2 si l'image est normale, éclaircie ou obscurcie.
<>#commentaire $game_variables[6] est utilisé pour choisir le numéro de l'image.
<> Script "$game_screen.pictures[$game_variables[5]].show("Obtenu"+$game_variables[9].to_s, A, X, Y, ZoomX, ZoomY, Opacité, B)"
<># On vient d'afficher l'icone et le texte. Donc on modifie les variables pour l'affichage.
<> Variable 5 Ajouter 1
<> Variable 6 Ajouter 1
<> Variable 12 Rendre égal à 0
<> Déplacer image 1 Vers le haut 30 pixel
<> Déplacer image 2 Vers le haut 30 pixel
<> ... jusqu'à l'image 10
<> Fin

<> Condition la variable 5 est Supérieur à 10
<> Variable 5 Rendre égal à 1
<> Fin

<> Condition la variable 6 est Supérieur à 21
<> Variable 6 Rendre égal à 11
<> Fin

Fin
Attendre 1 frame
Fin boucle

Voilà, j'ai condensé au maximum le codage de l'évent.
Car on ne fait pas 99 condition pour les objets.
Et les images s'effacent seules si il y a plus de 10 lignes.
En fait l'évent-extender n'est pas utile pour ce que tu veux.
Mais c'est pratique pour les évent complexes.

Edit : Si le script évent
Script "$game_screen.pictures[$game_variables[5]].show("Obtenu"+$game_variables[9].to_s, A, X, Y, ZoomX, ZoomY, Opacité, B)"
Ne marche pas, copie / colle le script Game_intepreter sur le forum
car il se peut qu'il y ai moins d'argument dans VX que XP.

Petit résumé :
Variables utilisés :
5 numéro de l'image des icones d'objet
6 numéro de l'image de texte "Obtenu x1, 2, 3 ..."
7 inutile (utilisé avant optimisation)
8 inutile (utilisé avant optimisation)
9 Quantité d'item gagné
10 Id de l'objet gagné
11 Id de l'arme gagnée
12 Id de l'armure gagnée

Il se peux que l'affichage ne se déclenche pas lors de ton ARPG.
Car le script que tu utilise donne les objet sans appeler le script
Interpreter.
Donc il faut que tu recherche dans le script d'actionRPG toute les
lignes

Portion de code : Tout sélectionner

1
$game_party.gain_item


Et que tu les copie / colle sur le forum car leur syntaxe est différente
et il faut que je les voient pour te donner les lignes à ajouter après.
Cependant ce sera la même chose (ou presque) que l'ajout dans le
Game_Interpreter.


Narak - posté le 06/07/2013 à 15:30:08 (62 messages postés)

❤ 0

Merci les gens!!!
Je reviendrais sous peu aux nouvelles
Je vais tester ça

viens voir :http://www.rpg-maker.fr/index.php?page=forum&id=22418&deb=1&ancre=967250


Cortez - posté le 06/07/2013 à 15:32:13 (523 messages postés)

❤ 0

Attention ! je viens de corriger le script et le codage event !
Il faut que tu F5 la page afin de voir mes changements.


Narak - posté le 06/07/2013 à 16:42:29 (62 messages postés)

❤ 0

Erreur sur projet vierge avec pour événement en parallèle


condition script : $game_party.gain_item?
message
fin


Je me suis dit normal il n'y a pas l'ID de l'objet

condition script : $game_party.gain_item?=[1]
message
fin

mais sa ne marche toujours pas >.<

viens voir :http://www.rpg-maker.fr/index.php?page=forum&id=22418&deb=1&ancre=967250


Cortez - posté le 06/07/2013 à 22:27:28 (523 messages postés)

❤ 0

Alors oublie ça et fait directement la suite du post.
En réalité je n'ai pas édité cette partie mais
$game_party.gain_item?
sert à rien dans l'évent que tu dois faire !
(Juste pour la petite histoire on l'utiliser comme ça
$game_party.gain_item? == true)

Donc continue avec ma modif de script et le codage en évent.
Et si l'insertion script
$game_screen.pictures[$game_variables[6]].show...
Ne marche pas, fait un screen de la fenêtre afficher une image pour
que je voie les champs possibles.(et que j'en déduise le nombre
d'argument dans la methode.)

Index du forum > Entraide > [Rpg Maker VX] Afficher les objets trouvés/reçu sur la map

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers