GTAOnline.net

IV : Multiplayer (iv:mp) => Scripting IV:MP [Squirrel center] => Discussion démarrée par: MrFredo le 01 Juin 2010, 14:39:11

Titre: Recuperer le numero de la ligne dans le script
Posté par: MrFredo le 01 Juin 2010, 14:39:11
Salut, vla j'ai une ptite question j'sais pas si quelqu'un pourra me repondre.

Enfet pour avoir un debugage efficace j'aimerai pouvoir recupere le numero de la ligne et l'afficher via un print ou un log.

Pour l'instant j'utilise une methode un peux trop complexe a mon avis.

Vla ma methode actuel:

function onScriptInit() {
      print("la ligne actuel est: "+getLineScript(getstackinfos(1)));
      return 1;
}
function getLineScript(info) {
      return info["line"];
}

Sa marche parfaitement mais je trouve sa beaucoup trop chiant donc j'aimerai savoir si il ya un autre moyen pour recupere le numero d'une ligne plus facilement?


Titre: Re : Recuperer le numero de la ligne dans le script
Posté par: Barto le 01 Juin 2010, 19:43:34
Ici, il n'y pas de personnes qui s'y connaissent suffisamment. Peut être Lalu, mais il passe rarement.
Je ne pourrais donc pas t'aider mais si tu veux de l'aide, tu peux aller poster sur le forum officiel de IVMP (à poster en anglais bien sûr) si tu veux avoir une réponse de "pros".
Si tu n'es pas très bon en anglais, je peux aller faire la demande sur leur forum si tu le souhaites.

++
Barto
Titre: Re : Recuperer le numero de la ligne dans le script
Posté par: MrFredo le 01 Juin 2010, 20:04:21
Na tkt j'irait demander directement sur le IRC j'pref demander tjr ici avant au cas ou (mon anglais etant tres aproximatif mdr)
Titre: Re : Recuperer le numero de la ligne dans le script
Posté par: Barto le 01 Juin 2010, 20:39:42
Ok, tu pourras poster la reponse ? ca en aidera certains :)
Titre: Re : Recuperer le numero de la ligne dans le script
Posté par: MrFredo le 01 Juin 2010, 20:41:00
Pas de soucis dé que j'ai une reponse j'vous la donne , en attendant le truc que j'ai donné plu haut marche au cas ou ^^
Titre: Re : Recuperer le numero de la ligne dans le script
Posté par: Bayshore le 13 Juin 2010, 10:50:43
Je n'en vois pas, mais as-tu réellement besoin d'afficher la ligne ?
Un print("Debug: onScriptInit()") suffit pour débugger efifcacement.
Titre: Re : Recuperer le numero de la ligne dans le script
Posté par: MrFredo le 13 Juin 2010, 19:48:07
C'est pour pouvoir aficher des erreur qui se serait produit dans une requete MySQL donc oui j'ai besoin du numero de ligne pour savoir ou se situe la requete qui a foiré
Titre: Re : Recuperer le numero de la ligne dans le script
Posté par: Bayshore le 15 Juin 2010, 16:42:22
Ma méthode suffit.

print("Debug: Requete MySQL x");
x = le numéro de la requête.
Titre: Re : Recuperer le numero de la ligne dans le script
Posté par: MrFredo le 15 Juin 2010, 18:51:22
Tu comprend pas ;) fin pas grave j'continuerai d'utiliser ma methode ...
Titre: Re : Recuperer le numero de la ligne dans le script
Posté par: Bayshore le 21 Juin 2010, 20:35:01
Explique, donne des exemples si tu peux stp, je suis curieux.
Titre: Re : Recuperer le numero de la ligne dans le script
Posté par: MrFredo le 21 Juin 2010, 20:46:46
Les requete c'est pas toujours les meme mais elle se resemble parfois , donc quand ya une erreur a une requete j'ai plus facil de retrouver le bout de code si ya le numero de ligne (+ la requete avec les parametre) que de chercher un message precis que j'devrait changer a chaque fois.

Il arrive meme que j'ai 2 requete identique a des endroit different du code donc encore une fois dans c'est cas la j'ai plus simple a retrouver une possible erreur si lorsque cette erreur ce produit j'ai le numero de la ligne ou ya eu cette erreur.

Un peu comme en PHP lorsqu'il ya une erreur PHP te retourne la ligne de l'erreur (avec d'autre info comme la requete ect)

Je trouve sa beaucoup plus simple que de mettre des truc du genre print("Debug mysql 1"); c'est bcp moin chiant de faire un pti copier coller du genre print("[ERROR] line:"getstackinfos(1)["line"]); j'copie cole sa partout ou j'veux mon debug (je peux aussi ajouter la requete si besoin) et le tour est jouer j'ai pas bsoin de chaque fois modifier le message pour pas avoir un message en double et apres ne plu retrouver la ligne ou ya eu une erreur =)

EDIT: Double post du 27/06/10:

Bonne nouvelle :p

me suis codé une tite fonction dans un module (en C++) qui m'recupere directement le numero de ligne

maintenant que j'commence doucement a comprendre comment fonctionne le SDK j'pense que j'vais tenter de developer un module MySQL car j'aime pas celui qui existe pour l'instant j'veux tenter de faire un module MySQL proche du fonctionnement de MySQL en PHP (voir ptet meme un fonctionement dans le style de MySQLi (en POO) car j'ai vu qu'il etait possible de cree une class en C++ et de pouvoir utiliser les methode de cette class depuis le Squirrel (bon c'est pas facil mais c'est fesable si j'ai bien pigé)

La pour l'instant je cherche a voir si c'est possible de renvoyer un pointeur (qui pointe vers une instance de MySQL) vers squirrel (jusque la j'pense pas avoir de soucis) mais ensuite j'aimerai que depuis le squirrel je puisse renvoyer se pointeur et le recuperer dans mon code C++ (et c'est la qu'est le soucis :/)