Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.phpMédailles   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 
  FAQFAQ World Editor   UploadUploader une map ou une image    UploadAjouter sa map à l'annuaire   UploadConsulter l'annuaire

Bug de Region
Aller à la page 1, 2  Suivante
 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Autre
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 Wareditor
The Master of Nothing


Inscrit le: 22 Déc 2008
Messages: 1638
Sujets: 88
Spécialité en worldedit: Effacer


MessagePosté le: 30/01/12 20:13    Sujet du message: Bug de Region Citer

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 :
Secret:


Input
[url=currentmapscript.j]CurrentMapScript[/url]
Output



Merci
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


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...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 30/01/12 20:38    Sujet du message: Citer

Citation:
"On" c'est un con


J'ai cherché le mot clef region et je suis tombé sur cette ligne de code , qui se situe dans le trigger Change Stage :

Jass:
if(GetTriggeringRegion() == gg_rct_Zone_W11_Next)then


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
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Wareditor
The Master of Nothing


Inscrit le: 22 Déc 2008
Messages: 1638
Sujets: 88
Spécialité en worldedit: Effacer


MessagePosté le: 30/01/12 20:41    Sujet du message: Citer

Non mais ça je l'ai rajoute pour arrêter le spam de mon event. Sans cette fonction tout bug toujours...

EDIT : mais merci pour cette leçon. même si c'est pas celle que je souhaitais Smile

EDIT 2 : "Sans cette fonction" : je voulais dire sans cette condition
_________________


Dernière édition par Wareditor le 30/01/12 20:46; édité 2 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


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...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 30/01/12 20:44    Sujet du message: Citer

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.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1846
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 30/01/12 20:47    Sujet du message: Citer

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
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Wareditor
The Master of Nothing


Inscrit le: 22 Déc 2008
Messages: 1638
Sujets: 88
Spécialité en worldedit: Effacer


MessagePosté le: 30/01/12 20:49    Sujet du message: Citer

Non mais normalement cette fonction devrait se declancher que quand une unité rentre dans la zone indiquée :/ donc pas besoin de mettre de condition.

Comme préciser mon edit 2, le bug était déjà avant que je mette cette condition et il persiste après que je l'ai enlevée.

Je vais étudier ta remarque triviale... (je vais surement edit)
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


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...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 30/01/12 20:55    Sujet du message: Citer

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 ?
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Wareditor
The Master of Nothing


Inscrit le: 22 Déc 2008
Messages: 1638
Sujets: 88
Spécialité en worldedit: Effacer


MessagePosté le: 30/01/12 21:21    Sujet du message: Citer

Troll-Brain a écrit:
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.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


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...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 30/01/12 21:29    Sujet du message: Citer

Relis moi et imprime bien que rect != region.

EDIT : N'oublies pas aussi que utilises 2 fois le même rect dans 2 triggers, si tu as fait une modif, partage le nouveau code.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Wareditor
The Master of Nothing


Inscrit le: 22 Déc 2008
Messages: 1638
Sujets: 88
Spécialité en worldedit: Effacer


MessagePosté le: 30/01/12 21:36    Sujet du message: Citer

J'ai compris que rct != region mais alors
Jass:
call TriggerRegisterEnterRectSimple( gg_trg_Change_Stage, gg_rct_Zone_W11_Next )


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...
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kungfu-sheep
Anomalie floodiforme


Inscrit le: 14 Avr 2011
Messages: 1846
Sujets: 119
Spécialité en worldedit: fonctions paramétriques, équation de mouvement.


MessagePosté le: 30/01/12 21:42    Sujet du message: Citer

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
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Troll-Brain
Ri1kamoua


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...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 30/01/12 22:08    Sujet du message: Citer

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).
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Wareditor
The Master of Nothing


Inscrit le: 22 Déc 2008
Messages: 1638
Sujets: 88
Spécialité en worldedit: Effacer


MessagePosté le: 31/01/12 17:11    Sujet du message: Citer

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 )

Je met la map a disposition : ici

Note : double array inutile, je sais.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


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...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 31/01/12 18:41    Sujet du message: Citer

Je ne comprends pas ce que tu ne comprends pas :s
Les creeps qui rentrent dans les régions déclenchent les event comme prévu.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Wareditor
The Master of Nothing


Inscrit le: 22 Déc 2008
Messages: 1638
Sujets: 88
Spécialité en worldedit: Effacer


MessagePosté le: 31/01/12 19:09    Sujet du message: Citer

Non mais c'est bon j'ai corrigée ;D
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Autre Toutes les heures sont au format GMT + 1 Heure
Aller à la page 1, 2  Suivante
Page 1 sur 2

 
Sauter vers:  
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


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com