Day.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

307 connectés actuellement

29184917 visiteurs
depuis l'ouverture

5182 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Planète Glutko

RPG Maker Détente

Le Comptoir Du clickeur

Alex d'Or

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Entraide > [RESOLU] [RMVXAce] Sélectionner les items dont le disponibilité est "jamais"


Ephy - posté le 06/11/2022 à 09:55:34 (30083 messages postés) - honor

❤ 0

[BIG SHOT]

Domaine concerné: Script
Logiciel utilisé: RMVXAce
Et oui, encore moi.
Cette fois, j'aimerais savoir si il est possible de bidouiller (facilement) les scripts de base pour rendre les items réglé en disponibilité : jamais (dans la BDD) sélectionnables avec la commande d'event Selection d'un objet.

De base, cette commande ne permet de choisir que les items clé disponibles partout ou dans le menu. Sauf que, si on les rend dispo dans le menu, on peut les utiliser depuis le menu (au pire ils sont consommés et perdus, au moins pire on peut les utiliser sans que ça n'ai d'effet et ça fait pas propre).
J'aimerais que, dans la fenêtre de sélection d'objet de la commande d'event (et uniquement là), on ignore le type de disponibilité et que les items soient utilisable quoi qu'il arrive.

Actuellement, je suis obligé de tricher en retirant l'objet du menu pour ajouter une version dispo tout le temps avant la sélection puis en faisant l'inverse après sélection. Pour tous les objets clés possédés. A chaque sélection d'item. Non seulement c'est lourd à mettre en place mais surtout, c'est une source non négligeable de bugs à long terme.

Merci d'avance.



Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14


Mack - posté le 06/11/2022 à 10:31:44 (2286 messages postés)

❤ 0

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
42
43
44
45
46
47
48
49
50
class Window_ItemList < Window_Selectable
  #--------------------------------------------------------------------------
  # * Display in Enabled State?
  #--------------------------------------------------------------------------
  def enable?(item)
    if @category == :key_item2
      true
    else
      $game_party.usable?(item)
    end
  end
  #--------------------------------------------------------------------------
  # * Include in Item List?
  #--------------------------------------------------------------------------
  def include?(item)
    case @category
    when :item
      item.is_a?(RPG::Item) && !item.key_item?
    when :weapon
      item.is_a?(RPG::Weapon)
    when :armor
      item.is_a?(RPG::Armor)
    when :key_item
      item.is_a?(RPG::Item) && item.key_item?
    when :key_item2
      (item.is_a?(RPG::Item) && item.occasion == 3)  || (item.is_a?(RPG::Item) && item.key_item?)
    else
      false
    end
  end
end
 
class Window_KeyItem < Window_ItemList
  
  # Si tu veux un truc vraiment propre, remplace dans le script original la 
  #    ligne qui contient :key_item
 
  #--------------------------------------------------------------------------
  # * Start Input Processing
  #--------------------------------------------------------------------------
  def start
    self.category = :key_item2 # Ici
    update_placement
    refresh
    select(0)
    open
    activate
  end
end
 



J'avais un doute si tu voulais garder les KeyItems dans la sélection, donc j'ai laisser.
T'as une petite indication pour ne pas les afficher si tu veux.

( Je prend note de tout les commentaires, même si je n'y répond pas )


Ephy - posté le 06/11/2022 à 12:05:05 (30083 messages postés) - honor

❤ 0

[BIG SHOT]

J'ai essayé le script tel quel et j'ai cette erreur (que ce soit en remplaçant Windows_ItemList par ton script ou en ajoutant ton script dans Materials):
image

En supprimant la ligne ET en remplaçant Windows_ItemList

Portion de code : Tout sélectionner

1
2
      # Si tu ne veux pas les Key Items, supprime la ligne suivante :
      || (item.is_a?(RPG::Item) && item.key_item?)


j'ai cette erreur quand je vais dans le menu des objets:
image
et celle-là quand j'utilise la fonction de sélection d'objet des events:
image

En supprimant la ligne et en ajoutant ton script dans Materials, j'ai pas d'erreur. Les items sont bien sélectionnables dans la fonction de sélection d'objet mais ils le sont aussi dans le menu donc je reviens sur mon problème de base :-/



Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14


Mack - posté le 06/11/2022 à 12:40:24 (2286 messages postés)

❤ 0

Faut bien rajouter dans un script sous Materials, pas modifié Window_ItemList.

Et autant pour moi, je pensais que RM serait moins con :F
Je pensais qu'en coupant la ligne comme ça, RM considérerais les deux lignes comme étant une seule, mais évidemment c'est pas le cas !
( Du coup j'ai modifié le script plus haut. )


Par contre, effectivement, ça fait complètement bugguer le menu des Items, j'vais voir ça.


Edit :
J'avais juste oublié un "=" :F

( Merci le langage propriétaire de ma boite qui utilise un seul "=" pour les conditions >< )

( Je prend note de tout les commentaires, même si je n'y répond pas )


Ephy - posté le 06/11/2022 à 12:46:28 (30083 messages postés) - honor

❤ 0

[BIG SHOT]

Ca marche mieux mais oui, le menu est buggué :F
Enfin ça c'est certainement parce que RM ne fait pas la distinction entre le menu menu et le menu de sélection des items et qu'il pioche dans la même ItemList.

Visiblement le script Windows_KeyItem est utilisé par la commande sélectionner un objet. Y'a peut-être moyen de lui faire une ItemList à part? Comme ça le menu utilise l'ItemList de base et KeyItem la liste custom tel que tu l'a faite avec ton script.



Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14


Mack - posté le 06/11/2022 à 12:50:00 (2286 messages postés)

❤ 0

Vérifies que t'as bien la bonne version.
( Faut absolument qu'à la ligne 6 t'es 2 "=" )

Sinon, il considère ça comme une affectation et pas une condition, et du coup il comprend qu'on est tout le temps en mode KeyItem2

( Je prend note de tout les commentaires, même si je n'y répond pas )


Ephy - posté le 06/11/2022 à 13:06:40 (30083 messages postés) - honor

❤ 0

[BIG SHOT]

Yep j'ai corrigé, ça fonctionne nickel. Merci :D

J'en profite pour glisser une autre petite question. C'est quoi déjà le code pour donner une valeur à une variable RM dans les scripts?
Je reviens sur mon histoire de gérer le nombre de lignes de la boite de dialogue gérée par une variable et j'aimerais forcer cette variable à 4 au début des combats. Je pourrais remettre la variable à 4 après chaque dialogue mais c'est un coup à l'oublier une fois sur deux.



Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14


Mack - posté le 06/11/2022 à 13:08:15 (2286 messages postés)

❤ 0

Portion de code : Tout sélectionner

1
$game_variables[variable_id] = value



( Je prend note de tout les commentaires, même si je n'y répond pas )


Ephy - posté le 06/11/2022 à 14:25:00 (30083 messages postés) - honor

❤ 0

[BIG SHOT]

Merci :sourit

J'abuse mais dans le script précédent, est-ce qu'il y a moyen d'exclure les items consommables (ou non consommables peu importe)? J'ai certains items clés qui doivent être rangés dans items clés mais qui ne seront jamais utiles dans les items à sélectionner. J'aimerais les exclure pour faire un menu de sélection plus léger.
Comme le fait qu'un item soit consommable ou pas n'a aucune importance du moment qu'il est pas utilisable ça me semble une bonne option pour faire cette séparation.
Si c'est compliqué, c'est pas grave. C'est du chipotage à ce niveau.



Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14


Mack - posté le 06/11/2022 à 14:25:55 (2286 messages postés)

❤ 0

C'est à dire ?
Genre, qu'un item consommable, mais jamais utilisable soit pas dans le menu item ?

Ou faire en sorte que dans la commande de sélection d'item, on ne puisse sélectionner que certain items ?

Edit :
Si c'est la seconde option, il suffit de remplacer la def include?(item) par :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 def include?(item)
    case @category
    when :item
      item.is_a?(RPG::Item) && !item.key_item?
    when :weapon
      item.is_a?(RPG::Weapon)
    when :armor
      item.is_a?(RPG::Armor)
    when :key_item
      item.is_a?(RPG::Item) && item.key_item?
    when :key_item2
      ((item.is_a?(RPG::Item) && item.occasion == 3) || 
      (item.is_a?(RPG::Item) && item.key_item?) ) &&
      item.consumable 
    else
      false
    end
  end



( Je prend note de tout les commentaires, même si je n'y répond pas )


Ephy - posté le 06/11/2022 à 14:27:24 (30083 messages postés) - honor

❤ 0

[BIG SHOT]

Genre qu'un item consommable mais jamais utilisable soit affiché dans le menu menu mais pas dans la liste des objets de la commande d'event sélectionner un objet.


Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14


Mack - posté le 06/11/2022 à 14:31:14 (2286 messages postés)

❤ 0

Okay, donc il suffit de remplacer la def include?(item) par :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 def include?(item)
    case @category
    when :item
      item.is_a?(RPG::Item) && !item.key_item?
    when :weapon
      item.is_a?(RPG::Weapon)
    when :armor
      item.is_a?(RPG::Armor)
    when :key_item
      item.is_a?(RPG::Item) && item.key_item?
    when :key_item2
      ((item.is_a?(RPG::Item) && item.occasion == 3) || 
      (item.is_a?(RPG::Item) && item.key_item?) ) &&
      item.consumable 
    else
      false
    end
  end



Ça changera rien à ce que ça fait actuellement dans le menu d'Item, mais pour la sélection ça affichera seulement ceux qui sont consommable.

( Je prend note de tout les commentaires, même si je n'y répond pas )


Ephy - posté le 06/11/2022 à 14:49:27 (30083 messages postés) - honor

❤ 0

[BIG SHOT]

Nickel. Merci encore.
J'ai juste changé

Portion de code : Tout sélectionner

1
2
3
((item.is_a?(RPG::Item) && item.occasion == 3) || 
      (item.is_a?(RPG::Item) && item.key_item?) ) &&
      item.consumable 


par

Portion de code : Tout sélectionner

1
2
3
((item.is_a?(RPG::Item) && item.occasion == 3) && 
      (item.is_a?(RPG::Item) && item.key_item?) ) &&
      item.consumable 


sinon ça affiche tous les items non utilisables, y compris les items pas clé. A priori c'est pas un cas qui devrait se présenter mais on sait jamais.



Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14

Index du forum > Entraide > [RESOLU] [RMVXAce] Sélectionner les items dont le disponibilité est "jamais"

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