Posté le: 30/01/12 20:13 Sujet du message: Bug de Region
J'ai un bug assez embêtant qui après une action bien précise ( Trig_Peon_Mode_Actions , enfin il me semble ) fait bugger l’événement d'une autre action.
Cette événement est : Unit enters Region X ( gg_rct_Zone_W11_Next ). Donc le bug fait qu'il se declanche a chaque région. Donc si je rentre dans la zone Y, l’événement X se déclenchera comme même.
On m'a dit que c'est un bug connu. Mais je poste comme même le script pour plus de compréhension :
J'ai pas cherché plus loin mais l'erreur est évidente, en effet :
Jass:
rect gg_rct_Zone_W11_Next = null
constant native GetTriggeringRegion takes nothing returns region
C'est donc un bug connu, situé entre le clavier et la chaise, souvent commis par les anciens adeptes du GUI, car le GUI n'appelle pas un chat un chat, pour lui un rect s'appelle aussi une région ><
Cela dit, normalement une telle erreur devrait être détectée quand le code est parsé, faudrait essayer avec l'éditeur officiel, pour voir si c'est japi qui ne détecte pas cette erreur.
Remarque triviale :
J'ai pendant quelques secondes survolé le script de la lao en partie, vraiment rien de signifiant mais la fonction I2B de Tirlititi pourrait se résumer en une ligne :
Jass:
return i != 0
Un B2S (boolean to string) pourrait être pas mal pour le debug aussi. _________________
Le violet, c'est moche.
Dernière édition par Troll-Brain le 30/01/12 20:45; édité 3 fois
Inscrit le: 14 Avr 2011 Messages: 1846 Sujets: 119 Spécialité en worldedit: fonctions paramétriques, équation de mouvement.
Posté le: 30/01/12 20:47 Sujet du message:
moi aussi j'avais buggé un moment su rle fait que rect =! de region et qu'on construit des rect et des région sur la map, maps que les fonctions différencient bien les deux.
mais moi l'éditeur me disait quand j'me trompais la dessus. _________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Inscrit le: 23 Aoû 2007 Messages: 7146 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
Posté le: 30/01/12 20:55 Sujet du message:
Bah je ne comprends pas, dans le input que tu m'as donné tu n'as que 3 TriggerRegisterEnter...
2 se contentent d'afficher du texte, le troisième a cette erreur que j'ai identifié.
2 des triggers utilisent le même rect.
D'ailleurs 2 de ces triggers utilisent le même rect.
Ce code n'est cependant pas valide, il n'existe pas de GetTriggeringRect().
Supprime le ou fixe le et si ça bug toujours dis le moi.
Mais comment ça pas valide ? Je pensais que tu parlais du fait qu'il avait la condition citée au dessus. Ou est l’erreur ?
Troll-Brain a écrit:
Bah je ne comprends pas, dans le input que tu m'as donné tu n'as que 3 TriggerRegisterEnter...
2 se contentent d'afficher du texte, le troisième a cette erreur que j'ai identifié.
2 des triggers utilisent le même rect.
D'ailleurs 2 de ces triggers utilisent le même rect.
Mauvais fichier ?
Non, mais je comprend pas pourquoi le code est pas valide. Même sans cette condition. _________________
Ne devrait s'activer que quand l'unit rentre dans ce rect, non ?
les rect doivent être crée par trigger ?
Aussi je ne comprend pas l’intérêt de cette distinction :S
Quels sont les différences rect / region ?
Rect est la zone ?
Région est le cadre que l'on voit dans l’éditeur ?
EDIT : Je l'utilise deux fois car j'avais bloquer le premier avec la condition.
Aussi je ne comprend toujours pas ta remarque avec B2I... _________________
Inscrit le: 14 Avr 2011 Messages: 1846 Sujets: 119 Spécialité en worldedit: fonctions paramétriques, équation de mouvement.
Posté le: 30/01/12 21:42 Sujet du message:
non il a dit I2B.
en gros (j'ai pas vu le script perso) tu as du faire une convertion I2B en plusieurs étapes, alors qu'avec ce qu'il t'a dit ça prend qu'une ligne.
et il te disait que pour le débug, au lieu de faire ce que tu as fait, réutiliser la même méthode pour un B2S était plus malin
comme ça tu passes de ton I2S. (c'est ça ?) _________________
22:27:43<Seiraw> Bah y a deux genre de personnes
22:27:57<Seiraw> les soumis et les soumises
Inscrit le: 23 Aoû 2007 Messages: 7146 Sujets: 147 Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance Médailles: 2 (En savoir plus...)
Posté le: 30/01/12 22:08 Sujet du message:
Pour ma remarque je disais simplement que I2B pourrait se résumer à une ligne avec un simple return au lien d'un bloc if et du return.
Et que B2S est utile pour le debug, m'enfin ça ne t'était même pas directement adressé, j'aurais mieux fait de me taire :p
Il se peut que je loupes un truc énorme, mais là je ne vois pas, tu dis que même en supprimant le trigger avec l'erreur de code, ca bug encore ?!
Si oui, partage la map, ca ira plus vite si je la teste, tant pis pour mon reboot nécessaire.
Faut vraiment que t'apprennes à différencier les fonctions natives des autres et à utiliser jasscraft.
Jass:
function TriggerRegisterEnterRectSimple takes trigger trig, rect r returns event
local region rectRegion = CreateRegion()
call RegionAddRect(rectRegion, r)
return TriggerRegisterEnterRegion(trig, rectRegion, null)
endfunction
Un rect c'est un rectangle, on peut faire pas mal de choses avec, c'est à dire appeler des fonctions qui prennent un rect en argument.
Une région à la base est vide, on peut lui rajouter/enlever des rect/cell.
Une cell est un mini rect de taille 32*32. (la plus petite grille possible visible avec l'éditeur). _________________
Je pense que tu as du regarder dans des libs externe pour trouver l'erreur avec le I2B.
J'ai compris que les régions sont des ensembles contenant des rects / cells. Mais le truc cest que avec un évènement en GUI - Unit enters region : l’évènement se déclenche comme même !
En plus de tout cela j’utilise que des régions crée a la main ( via l'outil ).
Je ne comprends donc pas :S
Le pire dans tout cela c'est que cela ne bug que sur cette région ( on peut le voir avec les deux triggers GUI )
Toutes les heures sont au format GMT + 1 Heure Aller à la page 1, 2Suivante
Page 1 sur 2
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum