Post subject: probleme avec le lua script
Experienced player (945)
Joined: 10/13/2014
Posts: 408
Location: nowhereatthemiddleofnoone
Salut à tous Je suis actuellement sur le TAS de "golden axe warrior" sur SMS, avec l'émulateur Bizhawk... Ayant bien avancé dans mes recherches concernant le RNG des drops, je cherche tout simplement à monter un petit programme me permettant d'appuyer sur une touche du clavier pour rappeler une certaine valeur sur une adresse précise (en gros je souhaite que quand j'appuie sur la touche "f" de mon clavier, l'adresse "0 xA1A1" inscrive une valeur de "10" dans la RAM principal). J'ai essayé avec ceci: while true do local keys = input.get () if keys.f then memory.writebyte (0xA1A1,10) end emu.frameadvance() end Je n'aie aucune connaissance dans ce domaine donc si quelqu'un a une idée pour mon souci il serrat le bienvenue! merci d'avance
GAW sms... Totally destroyed
Experienced player (945)
Joined: 10/13/2014
Posts: 408
Location: nowhereatthemiddleofnoone
Pokota wrote:
input.get met en place sa table en lettres majuscules ; essayer " keys.F " au lieu de " keys.f " (Traduction gracieuseté de Google )
thank you so much for your quickly answer and find the problem with the "F" uppercase, it works very well. have a nice day merci beaucoup pour votre reponse rapide et trouver le probleme avec le "F" majuscule, ça fonctionne très bien. bonne journée
GAW sms... Totally destroyed
Experienced player (945)
Joined: 10/13/2014
Posts: 408
Location: nowhereatthemiddleofnoone
Re a tous... J'ai fait des recherches plus poussé sur le "LUA scripting", que je trouve très intéressant et plutôt pratique pour gagner du temps en therme de recherche. J'ai donc fait un bout de code plus complexe qu'a la base (pour moi qui ne suis qu'un novice en la matière), pour me permettre d'obtenir les "drops" que je souhaite quand je tue un ennemi. Bien sur cela facilite grandement la tache sur mon TAS, mais une petite question concernant la légitimité du script utilisé au niveau d'une soumission me tourmente.... ...En effet, est il recevable d'user d'un script lua pour manipuler des drops en les rendant favorables a coups surs??? Le script ne fait que renvoyer certaines valeurs à des adresses bien précises, mais cependant je me dis qu'il ne s'agit tout bonnement que d'un retour de valeur, qui pourrait très bien être effectué par un "gamme génie" ou autres cheat code! Du coup est-ce légitime ou non? En 2 iem lieux j'aimerais savoir s'il est normal que "bizhawk" ralentisse au point d'en devenir agaçant (3 FPS max a 1 FPS min....un calvaire qui n'en finit plus!!!), quand j'utilise un script? Je pense qu'il fait des vérifications à chaque frame et que cela peut entraîner quelques ralentissements! Est-il possible de contrer cela? En espérant avoir été claire... Merci par avance
GAW sms... Totally destroyed
Active player (303)
Joined: 8/21/2012
Posts: 429
Location: France
zoboner wrote:
Re a tous... J'ai fait des recherches plus poussé sur le "LUA scripting", que je trouve très intéressant et plutôt pratique pour gagner du temps en therme de recherche. J'ai donc fait un bout de code plus complexe qu'a la base (pour moi qui ne suis qu'un novice en la matière), pour me permettre d'obtenir les "drops" que je souhaite quand je tue un ennemi. Bien sur cela facilite grandement la tache sur mon TAS, mais une petite question concernant la légitimité du script utilisé au niveau d'une soumission me tourmente.... ...En effet, est il recevable d'user d'un script lua pour manipuler des drops en les rendant favorables a coups surs??? Le script ne fait que renvoyer certaines valeurs à des adresses bien précises, mais cependant je me dis qu'il ne s'agit tout bonnement que d'un retour de valeur, qui pourrait très bien être effectué par un "gamme génie" ou autres cheat code! Du coup est-ce légitime ou non? En 2 iem lieux j'aimerais savoir s'il est normal que "bizhawk" ralentisse au point d'en devenir agaçant (3 FPS max a 1 FPS min....un calvaire qui n'en finit plus!!!), quand j'utilise un script? Je pense qu'il fait des vérifications à chaque frame et que cela peut entraîner quelques ralentissements! Est-il possible de contrer cela? En espérant avoir été claire... Merci par avance
La question 1 a une réponse simple. Le TAS (fichier movie) doit se suffire à lui-même, avec l'émulateur et la rom, pour voir la run. Si ça ne marche pas sans le LUA script, c'est pas valide. Donc si ton LUA écrit dans la RAM pendant la run, c'est équivalent à l'utilisation d'un action replay ou game genie. En gros, le LUA peut servir à faire des tests (sur le RNG, ou par exemple se téléporter ailleurs, etc...), à se fabriquer un HUD qui affiche plein d'infos à l'écran (de manière plus pratique que le RAM watch) ou carrément faire du brute force pour optimiser certains passages (un bot, quoi, qui cherchera la meilleure série d'inputs), pour des exemples fréquents. De ce que j'ai compris, tu l'utilises pour modifier la RAM de façon à avoir les bons drops; ça rentre dans le domaine du "test", mais ça ne peut pas être utilisé dans le "vrai" TAS, puisque ça revient à tricher, effectivement ^^. N'hésite pas à l'utiliser quand même pour t'amuser ou justement tester plein de trucs, surtout si ça te fait progresser dans la compréhension du LUA. Mais comme j'ai écrit plus haut, un TAS final ne doit pas dépendre du LUA script (même un WIP). La question suivante... Bah je crois que t'as déjà la réponse. Selon ce que fait un script, il peut bouffer pas mal de ressources et ralentir l'émulation. Je suis pas un expert (j'ai rarement utilisé le LUA), mais c'est logique que si on ajoute un script qui fait des choses à chaque frame, selon la complexité du script et autres paramètres, ça va être plus ou moins gourmand. C'est normal que ça ralentisse, en résumé. Ensuite, savoir si c'est normal que ça ralentisse à ce point, je peux pas savoir (même si je penche pour un "oui"), ça dépend de ton ordi, du système émulé et du script. Voilà, j'espère que j'ai répondu au mieux ;)
Experienced player (945)
Joined: 10/13/2014
Posts: 408
Location: nowhereatthemiddleofnoone
Grincevent wrote:
zoboner wrote:
Re a tous... J'ai fait des recherches plus poussé sur le "LUA scripting", que je trouve très intéressant et plutôt pratique pour gagner du temps en therme de recherche. J'ai donc fait un bout de code plus complexe qu'a la base (pour moi qui ne suis qu'un novice en la matière), pour me permettre d'obtenir les "drops" que je souhaite quand je tue un ennemi. Bien sur cela facilite grandement la tache sur mon TAS, mais une petite question concernant la légitimité du script utilisé au niveau d'une soumission me tourmente.... ...En effet, est il recevable d'user d'un script lua pour manipuler des drops en les rendant favorables a coups surs??? Le script ne fait que renvoyer certaines valeurs à des adresses bien précises, mais cependant je me dis qu'il ne s'agit tout bonnement que d'un retour de valeur, qui pourrait très bien être effectué par un "gamme génie" ou autres cheat code! Du coup est-ce légitime ou non? En 2 iem lieux j'aimerais savoir s'il est normal que "bizhawk" ralentisse au point d'en devenir agaçant (3 FPS max a 1 FPS min....un calvaire qui n'en finit plus!!!), quand j'utilise un script? Je pense qu'il fait des vérifications à chaque frame et que cela peut entraîner quelques ralentissements! Est-il possible de contrer cela? En espérant avoir été claire... Merci par avance
La question 1 a une réponse simple. Le TAS (fichier movie) doit se suffire à lui-même, avec l'émulateur et la rom, pour voir la run. Si ça ne marche pas sans le LUA script, c'est pas valide. Donc si ton LUA écrit dans la RAM pendant la run, c'est équivalent à l'utilisation d'un action replay ou game genie. En gros, le LUA peut servir à faire des tests (sur le RNG, ou par exemple se téléporter ailleurs, etc...), à se fabriquer un HUD qui affiche plein d'infos à l'écran (de manière plus pratique que le RAM watch) ou carrément faire du brute force pour optimiser certains passages (un bot, quoi, qui cherchera la meilleure série d'inputs), pour des exemples fréquents. De ce que j'ai compris, tu l'utilises pour modifier la RAM de façon à avoir les bons drops; ça rentre dans le domaine du "test", mais ça ne peut pas être utilisé dans le "vrai" TAS, puisque ça revient à tricher, effectivement ^^. N'hésite pas à l'utiliser quand même pour t'amuser ou justement tester plein de trucs, surtout si ça te fait progresser dans la compréhension du LUA. Mais comme j'ai écrit plus haut, un TAS final ne doit pas dépendre du LUA script (même un WIP). La question suivante... Bah je crois que t'as déjà la réponse. Selon ce que fait un script, il peut bouffer pas mal de ressources et ralentir l'émulation. Je suis pas un expert (j'ai rarement utilisé le LUA), mais c'est logique que si on ajoute un script qui fait des choses à chaque frame, selon la complexité du script et autres paramètres, ça va être plus ou moins gourmand. C'est normal que ça ralentisse, en résumé. Ensuite, savoir si c'est normal que ça ralentisse à ce point, je peux pas savoir (même si je penche pour un "oui"), ça dépend de ton ordi, du système émulé et du script. Voilà, j'espère que j'ai répondu au mieux ;)
Merci pour ce pavé, qui répond très clairement à mon roman. Bien que le LUA ne soit pas obligatoire pour faire un TAS, je dois bien avouer que je le trouve bien pratique pour réaliser certains essais qui pourraient trainer bien plus en longueur sans cet outil. De plus comme tu la si bien dit, il permet aussi de s'amuser tout en apprenant de multitudes d'infos sur le jeu que l'on TAS, c'est plutôt drôle le finir un jeu en 30 secondes ou de voir l'armure de son perso changer de couleur toutes les 10 frames... Mais de tout cela je retiens plus particulièrement le fait de m'éviter d'avoir à refaire sans cesse certaines taches trop récurrentes (comme des séries d'inputs qui reviennent trop souvent...). Je trouve qu'il mériterait un tuto (tout du moins pour une utilisation basique), car pour ma part je me moque d'aller fouiner sur la toile pour m'informer, quite à me casser la tete pendant des heures, mais ça n'ait pas le cas de tous et puis si honnêtement il y avait eu un quelconque tuto pour les noob bah...j'aurais commencé par là!! Tout ça pour dire que quand j'aurais le temps et que j'aurais plus de notions sur le LUA, je ferais ce tuto... Pour l'heure je retourne sur ce TAS de GAW faire mumuse avec dame la chance, armé de save state. Merci encore a toi pour toutes ces infos très intéressantes ;) En espérant te recroiser su twitch, d'ici la bonne continuation.
GAW sms... Totally destroyed