• 01 Juillet 2025, 21:00:43


Auteur Sujet: [Topic Général] Aide de Chneubeul - Lire en plusieurs fois sscanf  (Lu 7604 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne steve76

  • *
  • Tueur en série
  • Messages: 153
    • Voir le profil
Re : [Topic Général] Aide de Chneubeul - Plugin SQL ?
« Réponse #45 le: 04 Décembre 2010, 17:11:27 »
Le plugin que Xartick te conseille est pas mal.

Sinon moi je préfère de loin celui ci: http://forum.sa-mp.com/showthread.php?t=56564
Je l'utilise depuis le début et jamais été déçu, après c'est selon le point de vu.

Et pour t'aider, les pages wiki de chaque plugin:

Celui que Xartrick te conseille: http://wiki.sa-mp.com/wiki/MySQL_Plugin
Celui que je te conseille: http://wiki.sa-mp.com/wiki/MySQL

A toi de voir lequel te convient le mieux

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [Topic Général] Aide de Chneubeul - Plugin SQL ?
« Réponse #46 le: 04 Décembre 2010, 17:41:02 »
Excusé moi de mon erreur, mais celui que steve76 recommande est bien celui que j’utilise, donc je te conseil également de prendre celui-ci !
PS: J'édit mon message :P.

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : [Topic Général] Aide de Chneubeul - Plugin SQL ?
« Réponse #47 le: 04 Décembre 2010, 17:52:13 »
Ouki, merci beaucoup Xartrik et Steve ! :)
« Modifié: 04 Décembre 2010, 17:53:50 par chneubeul »

Hors ligne steve76

  • *
  • Tueur en série
  • Messages: 153
    • Voir le profil
Re : [Topic Général] Aide de Chneubeul - Plugin SQL ?
« Réponse #48 le: 04 Décembre 2010, 17:53:58 »
Ceci dit l'autre n'est pas mauvais mais je préfère quand même celui de G-sTyLeZzZ.

Par contre n'utilise surtout pas celui ADreNaLiNe-DJ, il n'est plus mit à jours, est pas mal buggé et provoque de nombreux crash

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [Topic Général] Aide de Chneubeul - Plugin SQL ?
« Réponse #49 le: 04 Décembre 2010, 18:21:29 »

Hors ligne steve76

  • *
  • Tueur en série
  • Messages: 153
    • Voir le profil
Re : [Topic Général] Aide de Chneubeul - Plugin SQL ?
« Réponse #50 le: 04 Décembre 2010, 19:08:29 »
Je l'avais vu aussi ^^, le plugin crash avant la fin du test. Et pour l'avoir testé je le conseille pas.

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : [Topic Général] Aide de Chneubeul - Opérateurs
« Réponse #51 le: 12 Décembre 2010, 21:03:08 »
Bonsoir,

J'ai une petite question qui me tracasse vous allez me dire, que je suis un perfectionniste mais bon ^^

Lorsque je dois imposer une condition, qui est par exemple 0 ou 1 ( non booléenne :p ) quel méthode est la mieux :

if(.. != 0)

if(.. == 1)

Sachant que ma variable ne sera jamais différent de 0 ou 1 (c'est pour l'exemple j'aurais pu prendre 1 et 2 ^^)
Il y a-t-il une différence entre les deux ?

Merci de vos réponses.
Sam.  :cheers

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : [Topic Général] Aide de Chneubeul - Valeur d'un tableau
« Réponse #52 le: 12 Décembre 2010, 21:10:07 »
tu peu faire ceci aussi

if(Var) qui est semblable a if(Var == 1) ou if(Var != 0)

est aussi if(!Var) qui est semblable a if(Var == 0)

Quoi qu'il en soit il me semble que le mieu pour toi lors de la relecture il vaut mieux utiliser if(Var==1) ou if(Var==0) sa revient au meme
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : [Topic Général] Aide de Chneubeul - Valeur d'un tableau
« Réponse #53 le: 12 Décembre 2010, 21:11:31 »
Oki, merci beaucoup. On ne sais jamais des fois avec le code, si des vérifications peuvent être instable ou imprécise :)

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Re : [Topic Général] Aide de Chneubeul - Valeur d'un tableau
« Réponse #54 le: 13 Décembre 2010, 02:38:16 »
Salut,

Oki, merci beaucoup. On ne sais jamais des fois avec le code, si des vérifications peuvent être instable ou imprécise :)

on peut le savoir, au pire tu fais des tests avec printf^^.
Par contre, fait attention car ces test ne sont pas équivalents.
Par exemple: if(var != 0) -> si la variable est différente de 0 alors que if(var == 1) si la variable vaut 1.
Ce n'est pas la même chose.

L'équivalence n'est vraie que dans le cas où la variable ne prend que les valeurs 0 ou 1.
Il vaut toujours mieux prendre l'option qui correspond le mieux à l'utilisation, même si tu utilise un entier comme un booléen.
Que tu le veule ou non, ce n'est pas vraiment un booléen...

ps. je préfère if(var == 0) à if(!var)

++Sim++





Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : [Topic Général] Aide de Chneubeul - Résolu
« Réponse #55 le: 13 Décembre 2010, 09:34:28 »
Salut Sim,

Merci d'avoir répondu. Moi aussi je préfère :

if(var == 0) à if(!var)

pour des conditions avec variables par contre lors de fonction j'utilise assez souvent le !

if(!IsPlayerConnected(playerid))

par exemple.

Bonne journée, Sam. :)

Double post
Bonsoir,

J'aimerais enregistrer les dommages causés sur une voiture et en cas de crash ou reboot du serveur que voit la voiture soit restauré avec tous ses dégâts. Donc pour réaliser un petit test, j'ai utiliser la callback OnVehicleDamageStatusUpdate pour ressortir les données décimales des dégâts.


public OnVehicleDamageStatusUpdate(vehicleid, playerid)
{
    #pragma unused playerid
    new panels, doors, lightss, tires, string[128];
    GetVehicleDamageStatus(vehicleid, panels, doors, lightss, tires);
format(string, sizeof(string), "Vehicle Status : [Panels] : %d - [Doors] : %d - [Lights] : %d - [Tires] : %d",panels,doors,lightss,tires);
SendClientMessage(playerid, COLOR_YELLOW, string);
return 1;
}


Les nombres qui m'en sont ressortis, je l'ai ai mis de coter et utiliser ceci :

UpdateVehicleDamageStatus(veh, 2162721, 67108868, 5, 0);

Avec un exemple de nombre. Le problème c'est lorsque je veut restituer les dommages, cela ne m'affiche qu'une partie. Donc j'ai eu une petite idée, sachant que les données étant en binaires 0 ou 1 pour casser ou non. On obtient une série de données et on transforme en binaire. Mais lorsque qu'on veut restituer des dégâts, la fonction gère peut être mal la conversion décimal > binaire. ( ce qui est long à faire lorsqu'on a de très grand nombre (division successive par 2 :happy))

Merci de votre aide.
Sam.  :cheers
« Modifié: 13 Décembre 2010, 20:08:22 par chneubeul »

Hors ligne denko

  • *
  • Tueur
  • Messages: 56
    • Voir le profil
Citation de: Chneubeul
public OnVehicleDamageStatusUpdate(vehicleid, playerid)
{
    #pragma unused playerid
    new panels, doors, lightss, tires, string[128];
    GetVehicleDamageStatus(vehicleid, panels, doors, lightss, tires);
   format(string, sizeof(string), "Vehicle Status : [Panels] : %d - [Doors] : %d - [Lights] : %d - [Tires] : %d",panels,doors,lightss,tires);
   SendClientMessage(playerid, COLOR_YELLOW, string);
   return 1;
}

Ton erreur est toute simple.  ;) Et pourquoi ne pas mettre string[256]; ? Mieux vaut prévoir un peu plus pour une récupération qui demande beaucoup.
« Modifié: 13 Décembre 2010, 20:41:42 par denko »

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Le nom de la variable n'influe en rien le chargement des données. La variable string, à un tableau de 128, ce qui est amplement suffisant, sachant que la limite de caractères dans le chat est de 128, même je vois pas en quoi cela changerais la récupération des données a part l'affichage, le message serais juste coupé ce qui n'est pas le cas  :happy

Hors ligne steve76

  • *
  • Tueur en série
  • Messages: 153
    • Voir le profil
Essaye en mettant directement tes variables dans la fonction UpdateVehicleDamageStatus

Comme ceci : UpdateVehicleDamageStatus(veh, panels, doors, lightss, tires);

Je ne sais pas si cela va changer grand chose mais sur le wiki c'est comme ca qu'ils font.

Ça évite d'avoir des modif en cours de route, et peut-être que la fonction gère mieux de cette façon.
Je ne sais pas ce que ca va donner mais je n'ai jamais utilisé cette fonction. Ça coute rien d'essayer

@denko: Faut arrêter de vouloir mettre des 256 partout, beaucoup ont tendance à surestimer mais il faut mieux chercher à voir le maximum que la variable peut contenir plutôt que de mettre une valeur beaucoup trop grande

EDIT: Je viens de voir un post sur le forum de SAMP, apparemment on ne peut utiliser cette fonction uniquement si il y a un Conducteur dans le véhicule.
« Modifié: 13 Décembre 2010, 23:01:50 par steve76 »

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Chneubeul normalement le code est bon c'est juste que tu affiche mal tes variables ^^


format(string, sizeof(string), "Vehicle Status : [Panels] : %d - [Doors] : %d - [Lights] : %d - [Tires] : %d",panels,doors,lightss,tires);
j'aurai plutôt mis

format(string, sizeof(string), "Vehicle Status : [Panels] : %b - [Doors] : %b - [Lights] :  %b - [Tires] : %b",panels,doors,lightss,tires);



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog