GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Xolokos le 02 Novembre 2012, 14:50:12

Titre: SQL Problème ?
Posté par: Xolokos le 02 Novembre 2012, 14:50:12
Bonjour j'ai un problème et je n'arrive pas a le voir sur PAWN...
Code: (pawn) [Sélectionner]
new Nom[24];
GetPlayerName(playerid, Nom, sizeof(Nom));
new A = GetPlayerCash(playerid);
new S = GetPlayerScore(playerid);
new ZPS = ZP[playerid];//1031
new VIPS = VIP[playerid];
new AR = GetPlayerCash(playerid);
new SC = GetPlayerScore(playerid);
new LV = Levels[playerid];
new PR = Prisonnier[playerid];
new JA = TJail[playerid];
new RA = Rang[playerid];
new ME = Medikit[playerid];
new AN = Antidote[playerid];
new BI = Bidon[playerid];
new KI = Kitreparation[playerid];
new MDS = Medicament[playerid];
new BA = Bandage[playerid];
new CI = Cigarette[playerid];
new AC = Alcool[playerid];
new BD = BDC[playerid];
new Query[1500];
  format(Query, sizeof(Query), "UPDATE `Comptes` SET `ZPs` = '%d', `VIP` = '%d', `AR` = '%d', `SC` = '%d', `LV` = '%d', `PR` = '%d', `JA` = '%d', `RA` = '%d', `ME` = '%d', `AN` = '%d', `BI` = '%d', `KI` = '%d', `MD` = '%d', `BA` = '%d', `AB` = '%d', `AL` = '%d', `CI` = '%d', `AC` = '%d', `BD` = '%d' WHERE `Nom` ='%s'",A,S,ZPS,VIPS,AR,SC,LV,PR,JA,RA,ME,AN,AN,BI,KI,MDS,BA,CI,AC,BD,Nom);//1049
  mysql_query(Query);
  return 1;

Les erreurs :
Code: (pawn) [Sélectionner]
(1031) error 001: expected token: "-identifier-", but found "="
(1049) error 029: invalid expression, assumed zero
(1049) warning 215: expression has no effect // Il y'en a 16...

Titre: Re : SQL Problème ?
Posté par: Xolokos le 02 Novembre 2012, 22:20:39
Résolu j'ai fais plusieurs requêtes...
:
Code: (Pawn) [Sélectionner]
forward CreateTable();

public CreateTable()
{
new QueryFirst[500],QueryScd[500];
mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
format(QueryFirst, sizeof(QueryFirst), "CREATE TABLE IF NOT EXISTS Comptes(Nom VARCHAR(24), MDP VARCHAR(35), ZPs INT(20), VIP INT(20), AR INT(20), SC INT(20), LV INT(20), PR INT(20), JA INT(20), RA INT(20), ME INT(20), AN INT(20), BI INT(20), KI INT(20), MD INT(20), BA INT(20), AL INT(20), CI INT(20), AC INT(20), BD INT(20), AT INT(20), BO INT(20), RAD INT(20), VE INT(20))");
    mysql_query(QueryFirst);
    format(QueryScd, sizeof(QueryScd), "ALTER TABLE Comptes ADD PDM INT(20), ADD DET INT(20), ADD ADH INT(20), ADD BOI INT(20), ADD AVERT INT(20), ADD MIN INT(20), ADD RESPECT INT(20), ADD PX INT(20), ADD PY INT(20), ADD PZ INT(20), ADD SP INT(20), ADD FORC INT(20), ADD ENDU INT(20), ADD AGIL INT(20), ADD SKI INT(20), ADD ETAT INT(20), ADD FACTION INT(20), ADD SEX INT(20)");
  mysql_query(QueryScd);
mysql_debug(1);
}
Titre: Re : SQL Problème ?
Posté par: Xolokos le 02 Novembre 2012, 22:22:16
Citer
(Desoler du double post.)

Code: (Pawn) [Sélectionner]
stock Disconnect(playerid)
{
new Nom[24];
new FirstQuery[500],ScdQuery[500], ThirdQuery[500], QuartQuery[500];
GetPlayerName(playerid, Nom, sizeof(Nom));
  format(FirstQuery, sizeof(FirstQuery), "UPDATE `Comptes` SET `ZPs` = '%d', `VIP` = '%d' , `AR` = '%d', `SC` = '%d', `LV` = '%d', `PR` = '%d', `JA` = '%d', `RA` = '%d', `ME` = '%d', `AN` = '%d' WHERE `Nom` ='%s'",ZP[playerid],VIP[playerid],GetPlayerCash(playerid),GetPlayerScore(playerid),Levels[playerid],Prisonnier[playerid],TJail[playerid],Rang[playerid],Medikit[playerid],Antidote[playerid],Nom);
  mysql_query(FirstQuery);
  format(ScdQuery, sizeof(ScdQuery), "UPDATE `Comptes` SET `BI` = '%d', `KI` = '%d', `MD` = '%d', `BA` = '%d', `AL` = '%d', `CI` = '%d', `BD` = '%d', `AT` = '%d', `BO` = '%d', `RAD` = '%d' WHERE `Nom` ='%s'",Bidon[playerid],Kitreparation[playerid],Medicament[playerid],Bandage[playerid],Alcool[playerid],Cigarette[playerid],BDC[playerid],Atele[playerid],Antibiotique[playerid],Radio[playerid],Nom);
  mysql_query(ScdQuery);
  format(ThirdQuery, sizeof(ThirdQuery), "UPDATE `Comptes` SET `VE` = '%d', `PDM` = '%d', `DET` = '%d', `ADH` = '%d', `BOI` = '%d', `AVERT` = '%d', `MIN` = '%d', `RESPECT` = '%d', `PX` = '%d', `PY` = '%d' WHERE `Nom` ='%s'",Vetement[playerid], PlaqueDeMetal[playerid],Detergent[playerid],Adhesif[playerid],Boi[playerid],AvertissementJoueur[playerid],JMinutes[playerid],Respect[playerid],floatround(PositionJX[playerid]),floatround(PositionJY[playerid]),Nom);
  mysql_query(ThirdQuery);
  format(QuartQuery, sizeof(QuartQuery), "UPDATE `Comptes` SET `PZ` = '%d', `SP` = '%d', `FORC` = '%d', `ENDU` = '%d', `AGIL` = '%d', `SKI` = '%d', `ETAT` = '%d', `FACTION` = '%d', `SEX` = '%d' WHERE `Nom` ='%s'",floatround(PositionJZ[playerid]),Special[playerid],Force[playerid],Endurance[playerid],Agilite[playerid],Skin[playerid],Etat[playerid],Faction[playerid],Sex[playerid],Nom);
  mysql_query(QuartQuery);
SaveWeaponsInFile(playerid);
Logguer[playerid]=false;
  return 1;
}
Titre: Re : SQL Problème ?
Posté par: Xolokos le 04 Novembre 2012, 18:53:00
Yop bonjour, bonsoir,
j'ai un new problème j'aimerais afficher tout les joueurs (Le nom) qui font partie de telle faction...
Donc j'ai fait :
Code: (sql) [Sélectionner]
SELECT DISTINCT Nom FROM Comptes WHERE FACTION = 1Donc jusque là tout va bien mais comment bien les afficher (avec un while ou bien for ?).
Merci de me donner un exemple. (Je n'ai pas mi d'ID pour les joueurs.)