le_colosse - posté le 14/01/2015 à 03:09:06. (66 messages postés)
Domaine concerné: Script Logiciel utilisé: RPG MAker VX Ace Je viens de rencontrer un bug que je n'arrive pas du tout à résoudre. Lorsque je fais F12 pour resetter le jeu lors de mes tests, j'ai une exception RGSSReset de lancée et le jeu crash. De plus, l'erreur se produit aléatoirement et pas toujours au même endroit. Je peux la déclencher à l'écran titre tout comme dans le jeu ou les menus. Mes scripts custom de load n'ont pas d'erreurs en jeu normal pourtant. Voici quelques logs de la console:
Window_Selectable*:in`block in draw_all_items': (RGSSReset) from Window_Selectable*:530:in `times' from Window_Selectable*:530:in `draw_all_items'
from Window_Selectable*:561:in`refresh' from Window_Command:150:in `refresh' from Window_Command:15:in `initialize'
from Window_TitleCommand*:13:in`initialize' from Scene_Title:92:in `new' from Scene_Title:92:in `create_command_window'
from Scene_Title:17:in`start' from Scene_Base:12:in `main' from SceneManager:23:in `run'
from Main*:10:in`block in eval'
DataManager*:in`block (2 levels) in load_notetags': (RGSSReset) from DataManager*:88:in `each' from DataManager*:88:in `block in load_notetags'
from DataManager*:87:in`each' from DataManager*:87:in `load_notetags' from DataManager*:32:in `load_database'
from DataManager*:18:in`init' from SceneManager:20:in `run' from Main*:10:in `block in eval'
#--------------------------------------------------------------------------# * New Method # * Load Notetags for Each Object at Startup# * Source: Yanfly#--------------------------------------------------------------------------defself.load_notetags
data =[$data_actors,$data_classes,$data_skills,$data_items,$data_weapons,$data_armors,$data_enemies,$data_states]for group in data
for obj in group
nextif obj.nil?
obj.load_notetagsendendend
DataManager*:in`block in load_titles': (RGSSReset) from DataManager*:317:in `each_line' from DataManager*:317:in `load_titles'
from DataManager*:54:in`load_normal_database' from DataManager*:29:in `load_database' from DataManager*:18:in `init'
from SceneManager:20:in`run' from Main*:10:in `block ineval'
le_colosse - posté le 02/09/2014 à 22:39:22. (66 messages postés)
Support : RMVXAce
Question:
Est-ce qu'il est possible de modifier le ratio de réduction de la méthode draw_text? Par défaut, elle réduit à 60%, mais est-il possible de faire qu'il réduise de façon à ce que le texte prenne 100% de son espace alloué?
le_colosse - posté le 05/08/2013 à 19:35:57. (66 messages postés)
Mon menu n'est pas en event, mais directement dans les scripts Ruby. C'est pour ça que je cherche comment afficher le message via les scripts. Je peux toujours à la limite me servir une classe qui hérite de Window_Command et partir de là, mais je n'aime pas le fait de recoder quelque chose qui existe déjà. :/
le_colosse - posté le 05/08/2013 à 18:36:38. (66 messages postés)
D'accord. Par exemple, dans le menu Item, j'ai fait qu'on peut jeter un objet en appuyant sur une touche (:X ou A sur le clavier). Pour l'instant, l'action s'effectue automatiquement en appuyant sur la touche. J'aimerais qu'il y ait un message qui demande au joueur "Êtes-vous sur de vouloir jeter <Nom de l'objet>? Oui / Non" et effectuer ou non l'action selon son choix.
Un autre exemple pourrait être dans le menu de sauvegarde. Si le fichier existe déjà, demander au joueur s'il est certain de vouloir enregistrer par dessus les données.
Ce sont les exemples qui me viennent en tête pour l'instant en fonction de ce que j'ai déjà programmé. Une fois que j'aurais compris le principe de base, je pourrai ensuite l'appliquer à d'autres situations.
J'avais déjà pensé utiliser une fenêtre menu régulière et tenter d'imiter le comportement d'une fenêtre de message conventionnelle, mais je trouvais que c'était boiteux et redondant vu que le système existe déjà dans le code.
le_colosse - posté le 03/08/2013 à 03:14:54. (66 messages postés)
Domaine concerné: Script Logiciel utilisé: RPG MAKER VX ACE Bonjour. J'aimerais savoir comment je peux afficher un message avec des choix (comme en event) directement par les scripts. C'est pour faire des boîtes de dialogue dans les menus pour permettre au joueur de valider un choix par exemple.
le_colosse - posté le 14/07/2013 à 23:38:34. (66 messages postés)
Je suis désolé, je n'ai pas été capable de trouver de solution.
J'avais retrouvé par hasard une autre version du script Atoa_ATB sur mon ordinateur. Avec ce script, j'arrive à faire healer le monstre quand c'est à son tour. J'ai tenté d'appliquer les modifications que je considérais pertinentes à ton script, mais l'organisation des deux codes est tellement différente que j'avais plein d'incompatibilité.
J'ai regardé autour de l'usage des attributs et méthodes battler.current_action.forcing et $game_temp.forcing_battler
le_colosse - posté le 13/07/2013 à 18:06:04. (66 messages postés)
D'accord, je vais regarder ça. Je vais commencer par simplement faire un print depuis les événements de combat. Une fois ce problème réglé, le reste devrait tomber en place facilement.
EDIT: Je n'ai aucun problème avec les événements de combat de mon côté. C'est bien le script Atoa ATB que tu parlais? Je l'ai activé et tout fonctionne. Je suis capable de faire des print avec conditions durant le combat. Peut-être que le problème vient de ta condition elle-même, ou je n'ai pas du tout compris ce que tu cherches :P
le_colosse - posté le 13/07/2013 à 00:01:17. (66 messages postés)
Hmm, je ne comprends tellement rien du code :/
Il faudrait que je sois capable de le tester par moi-même dans un projet vide, mais il y a des dépendences avec d'autres scripts qui m'en empêche. Si tu pouvais me donner les autres scripts qui viennent avec (ou au moins la librairie N01) ça m'avancerait.
Ça ne fait que quelques semaines que je travaille avec Ruby, alors il se peut que ton problème soit au-delà de mes capacités, mais je vais faire mon possible pour t'aider.
le_colosse - posté le 12/07/2013 à 02:01:54. (66 messages postés)
Je viens de fouiller un peu dans la doc de XP et c'est dans la classe RPG::Troop que se trouve les informations reliées aux événements des commandes des groupes de monstres. De plus, dans les classes internes Page et Condition, tu as peut-être les informations que tu cherches aussi.
Ensuite, je crois que c'est la méthode setup_battle_event dans Scene_Battle1 qui s'occupe de l'interprétation des événements de combat. En fait, il délègue la job d'interprétation à un interpréteur dans la classe Game_System, mais qui est une référence à une instance de la classe Interpreter.
Je sais pas si tu vas trouver les infos que tu cherches là dedans. Si y'a de quoi, je regarderais plus. Mais je ne travaille pas avec XP, donc je ne suis pas au courant de la structure du code.
le_colosse - posté le 10/07/2013 à 15:27:06. (66 messages postés)
Si je ne me trompe pas, ce n'est pas possible. Le mieux que je peux te dire c'est de refaire tout à bras pour transférer ton projet d'un logiciel à l'autre. Cependant, tu vas surement avoir des trucs qui sont incompatible.
le_colosse - posté le 10/07/2013 à 15:24:34. (66 messages postés)
J'ai trouvé le problème. Comme tu disais, la fenêtre garde de l'espace dans le bas pour la flèche. Le problème venait de la méthode update_padding_bottom qui définissait un padding relativement à la taille de ma fenêtre et mes items.
le_colosse - posté le 09/07/2013 à 22:37:53. (66 messages postés)
Domaine concerné: Script Logiciel utilisé: RPG Maker VX Ace Bonjour à tous. Je suis en train de modifier la fenêtre d'utilisation d'objets pour afficher les faces des personnages sur deux colonnes. Mon problème est que la fenêtre coupe le bas du contenu.
J'ai tenté de repartir de la classe initiale (Window_MenuActor) quelques fois et je serais porté à dire que le problème vient du contents qui n'est pas de la bonne taille. Cependant, je n'arrive pas à mettre le doigt dessus. J'ai pourtant changé la taille du contents et de la fenêtre à plusieurs reprises, mais le problème persiste (la section coupée se dirige vers le bas). Le problème se présente aussi dans un projet vide.
Je vous laisse un screenshot ainsi que le code de la classe Window_MenuActor.
le_colosse - posté le 04/07/2013 à 23:29:30. (66 messages postés)
C'est la méthode update de la classe Window qui rafraîchit à chaque frame le curseur.
EDIT: J'ai mieux regarder mon affaire et effectivement, c'est beaucoup plus simple de changer la valeur de active avant et après l'update à chaque frame.
le_colosse - posté le 04/07/2013 à 23:23:15. (66 messages postés)
Le clignotement du curseur est géré à l'interne par la classe Window. Puisque c'est une classe built-in, le code n'est pas disponible. Dans la doc, il est spécifié que la propriété active gère le clignotement du curseur. Mais comme j'ai spécifié plus haut, l'activation d'une fenêtre est liée à cette propriété.
EDIT: Je peux te faire un petit script qui redirigera chaque appel à active vers un nouveau booléen active_window, ce qui te permetterait d'utiliser la propriété par défaut active uniquement pour le clignotement du curseur.
le_colosse - posté le 04/07/2013 à 22:10:43. (66 messages postés)
@paradoxII
C'est la propriété active de la classe Window qui gère le clignotement du curseur.
Citation:
active
The cursor's blink status. If TRUE, the cursor is blinking. The default is TRUE.
Le seul problème, c'est que cette propriété est prise en compte lors de l'activation et la déactivation d'une fenêtre. Donc, si active == false, le curseur ne peut plus bouger et tu ne peux pas faire de sélection. Il faudrait donc que tu modifies tous les appels à la propriété active dans le code par un second booléen qui lui, serait utilisé pour gérer l'activation des fenêtres.
VISIBLE_CATEGORY_INDEX ={#:item => "Common", #reserved symbol, but can be removed.#:weapon => "Weapons", #reserved symbol, but can be removed.#:armor => "Armor", #reserved symbol, but can be removed.#:key_item => "Special", #reserved symbol, but can be removed.:all_item=>"*ALL*",#reserved symbol, but can be removed.#:potion => "Potions",#:ammunition => "Ammo",}
Ensuite, pour la séléction du premier objet de la liste. Tu dois ajouter cette ligne à la fin de la méthode create_category_window
le_colosse - posté le 01/07/2013 à 21:38:26. (66 messages postés)
Regarde si la taille des derniers objets de ta liste débordent du contents. Ça peut être bête comme ça. Sinon tu peux peut être ajuster le padding dans le bas de ta fenêtre. je crois que c'est update_padding_bottom.
le_colosse - posté le 28/06/2013 à 22:52:56. (66 messages postés)
Je n'ai pas de script tout fait à te donner, mais je peux te donner des pistes pour que tu écrives le tien.
Pour commencer, tu pourrais créer une nouvelle technique appelée par exemple "Counter". Cette magie activerait un booléen, disons "countering" dans Game_Battler.
Ensuite, dans la fonction qui gère l'attaque, fait une condition qui check si countering est à true. Si oui, alors, ça by-pass l'appel de la fonction qui reçoit les dégâts et appelle une nouvelle fonction qui renvoit l'attaque, mais deux fois plus forte.
le_colosse - posté le 28/06/2013 à 22:42:32. (66 messages postés)
Tu peux conserver son script, mais ajouter une nouvelle méthode dans Game_Party, par exemple "reputation_title" qui te retourne le titre du personnage selon sa réputation. Ça pourrait te donner de quoi du genre:
#---------------------------# Les paliers sont laissés à ta discrétion.#---------------------------def reputation_title
return"Recherché"if@reputation<0return"Bienfaiteur"if@reputation>0return"Neutre"end
Ensuite dans la fenêtre de réputation, tu n'as qu'à appeler la nouvelle méthode au lieu d'afficher un chiffre.
#--------------------------------------------------------------------------# * Determine if Japanese Mode#--------------------------------------------------------------------------def japanese?
returnfalseend
le_colosse - posté le 10/06/2013 à 02:18:24. (66 messages postés)
Domaine concerné: Script Logiciel utilisé: RPG Maker VX Ace Bonjour, j'aimerais savoir quel est la bonne méthode à utiliser pour modifier les scripts par défaut dans Rpg Maker pour un projet de jeu personnel.
Par exemple, je veux modifier le fonctionnement et l'affichage du menu principal.
Est-ce que je :
- Modifie directement Scene_Menu dans les scripts par défaut
- Redéfini les méthodes de Scene_Menu dans un script à part
- Dérive une nouvelle class My_Menu de Scene_Menu
etc...
le_colosse - posté le 30/09/2012 à 22:12:40. (66 messages postés)
Je devrais quand même refaire une partie du code qui est déjà fait. Je garde la logique, mais je le modifie pour le rendre beaucoup plus générique. C'est pour ça que changer de logiciel ne me dérangerait pas. Ce qui est moins plaisant, c'est que je devrais apprendre le Ruby, et je suis déjà familier avec la programmation dans rm2003. Évidemment, je préfèrerais écrire mes propres scripts car j'ai beaucoup plus de contrôle.
Peut-être que le patch DynRPG de Cherry pourrait me permettre de faire plus sur 2003.
le_colosse - posté le 29/09/2012 à 23:41:50. (66 messages postés)
Domaine concerné: Programmation Logiciel utilisé: RM2003 et/ou autres Bonjour, ça fait depuis quelques temps que je désire faire un jeu dans le style de la série Tales Of, cependant, j'ai de la difficulté à me trouver un engine convenable.
J'avais déjà commencé sur Rpg Maker 2003, mais puisque que je m'éloigne largement des fonctinnalités de bases du logiciel, la programmation devenait compliquée et beaucoup de choses deviennent difficile, voire impossible à accomplir.
Je pourrais toujours me servir de VXAce, mais est-ce que le Ruby serait assez flexible pour faire ce genre de Custom Battle System?
Je connais aussi le Java, mais ce n'est pas du tout un langage fait pour créer des jeux et de toute façon, créer un engine à partir de rien est énormément difficile.
Alors, j'aimerais savoir ce que vous auriez à me conseiller pour ça.
Merci.
P.S. Voici 2 exemples de ce que j'avais commencé sur RM2003 à ce sujet. Un est un combat et l'autre est un survol de quelques menus.