06.06.2016, 18:23
(
Последний раз редактировалось Eymeric69; 07.06.2016 в 15:40.
)
hi everybody i have some errors when i do this code :
i don't know why it's making me errors
thank for the help
PHP код:
public OnGameModeInit()
{
// Don't use these lines if it's a filterscript
SetGameModeText("Blank Script");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
mysql_log(LOG_ALL); // Crйe les logs des Debugs, avertissements et erreurs.
mysql = mysql_connect(MYSQL_HOST, MYSQL_COMPTE, MYSQL_BDD, MYSQL_MDP); // Connecte le serveur a la base de donnйes
if(mysql_errno() != 0) // verifie si la connection a йtй rйussite
{
printf("[MySQL] Connection ratйe!");
}
else
{
printf("[MySQL] Connection rйussie!");
}
return 1;
}
PHP код:
public OnPlayerConnect(playerid)
{
TogglePlayerSpectating(playerid, true);
new requete[128], nom[24];
GetPlayerName(playerid, nom, sizeof(nom));
mysql_format(mysql, requete, sizeof(requete), "SELECT `Mot De Passe`, `ID` FROM `comptes` WHERE `Nom` = '%e' LIMIT 1", nom);
mysql_tquery(mysql, requete, "VerificationCompte", "i", playerid);
}
PHP код:
forward VerificationCompte(playerid);
public VerificationCompte(playerid)
{
new lignes, champs;
cache_get_data(lignes, champs, mysql); // Assigne le nombre de lignes et champs trouver aprиs notre requete dans "OnPlayerConnect"
if(lignes) // Si la ligne qui correspond a notre requete existe
{
cache_get_field_content(0, "MDP", iJoueur[playerid][MDP], mysql, 66); // Transfиre le contenu de MDP de notre BDD et l'assigne а iJoueur[playerid][MDP]
iJoueur[playerid][ID] = cache_get_field_content_int(0, "ID"); // Transfиre le contenu de ID de notre BDD et l'assigne а iJoueur[playerid][ID]
ShowPlayerDialog(playerid, DialogConnection, DIALOG_STYLE_PASSWORD, "Connection...", "Tapez votre mot de passe pour vous connecter", "Connecter", "Quitter"); // On lui montre le dialogue de connection.
}
else // Si elle n'existe pas
{
ShowPlayerDialog(playerid, DialogInscription, DIALOG_STYLE_INPUT, "Inscription...", "Tapez un mot de passe pour inscrire ce compte.", "S'inscrire", "Quitter"); // On lui montre le dialogue d'inscription
}
}
PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DialogInscription:
{
if(!response) return Kick(playerid); // Si le joueur clique sur "Quitter" on va la Kicker du serveur
if(strlen(inputtext) < 5) // Si le MDP insйrй fais moins de 5 charactиres
{
SendClientMessage(playerid, -1, "Votre mot de passe doit contenir au moins 5 charactиres"); // On lui envoye un message disant que le MDP doit contenir au moins 5 charactиres.
ShowPlayerDialog(playerid, DialogInscription, DIALOG_STYLE_INPUT, "Inscription...", "Tapez un mot de passe pour inscrire ce compte.", "S'inscrire", "Quitter"); // On lui remontre le dialogue.
}
else // Si le MDP insйrй contient au moins 5 charactиres
{
new requete[512], hashpass[64+1], Nom[24];
GetPlayerName(playerid, Nom, sizeof(Nom));
SHA256_PassHash(inputtext, "ADAWAD11AWD41ASDA2L222KDH", hashpass, sizeof(hashpass));
mysql_format(mysql, query, sizeof(query), "INSERT INTO `comptes` (`Nom`, `Mot De Passe`) VALUES ('%e', '%e')", Nom, hashpass);
mysql_tquery(mysql, query, "CreationCompte", "i", playerid);
}
case DialogConnection:
{
if(!response) return Kick(playerid); // Si le joueur appuie sur "Quitter" on le Kick du serveur.
new hashpass[64+1];
SHA256_PassHash(inputtext, "ADAWAD11AWD41ASDA2L222KDH", HashMDP, sizeof(HashMDP));
if(!strcmp(HashMDP, iJoueur[playerid][MDP], true)) // Si le MDP insйrй est йgal au MDP de la BDD
{
new requete[100];
mysql_format(mysql, requete, sizeof(requete), "SELECT * FROM `comptes` WHERE `Nom` = '%e' LIMIT 1", Nom); // On prend la ligne ou le nom est йgal au nom du joueur
mysql_tquery(mysql, requete, "ChargerCompte", "i", playerid); // On envoye la requete.
}
else // Si le MDP insйrй n'est pas йgal au MDP de la BDD
{
SendClientMessage(playerid, -1, "Mot de passe incorrect, essayer encore!"); // On envoie le message disant que le MDP est incorrect!
ShowPlayerDialog(playerid, DialogConnection, DIALOG_STYLE_PASSWORD, "Connection...", "Tapez votre mot de passe pour vous connecter", "Connecter", "Quitter"); // On lui remontre le dialogue
}
}
return 1;
}
Код:
C:\Users\mickael\Desktop\Script Pour Friends\gamemodes\MainGamemode.pwn(33) : error 017: undefined symbol "mysql_log" C:\Users\mickael\Desktop\Script Pour Friends\gamemodes\MainGamemode.pwn(64) : error 035: argument type mismatch (argument 3) C:\Users\mickael\Desktop\Script Pour Friends\gamemodes\MainGamemode.pwn(65) : error 017: undefined symbol "mysql_tquery" C:\Users\mickael\Desktop\Script Pour Friends\gamemodes\MainGamemode.pwn(75) : warning 202: number of arguments does not match definition C:\Users\mickael\Desktop\Script Pour Friends\gamemodes\MainGamemode.pwn(76) : error 017: undefined symbol "cache_get_field_content_int" C:\Users\mickael\Desktop\Script Pour Friends\gamemodes\MainGamemode.pwn(99) : warning 219: local variable "Nom" shadows a variable at a preceding level C:\Users\mickael\Desktop\Script Pour Friends\gamemodes\MainGamemode.pwn(100) : error 035: argument type mismatch (argument 2) C:\Users\mickael\Desktop\Script Pour Friends\gamemodes\MainGamemode.pwn(100) : error 035: argument type mismatch (argument 2) C:\Users\mickael\Desktop\Script Pour Friends\gamemodes\MainGamemode.pwn(101) : error 017: undefined symbol "SHA256_PassHash" C:\Users\mickael\Desktop\Script Pour Friends\gamemodes\MainGamemode.pwn(101) : warning 202: number of arguments does not match definition C:\Users\mickael\Desktop\Script Pour Friends\gamemodes\MainGamemode.pwn(102) : error 017: undefined symbol "query" C:\Users\mickael\Desktop\Script Pour Friends\gamemodes\MainGamemode.pwn(102) : error 017: undefined symbol "query" C:\Users\mickael\Desktop\Script Pour Friends\gamemodes\MainGamemode.pwn(102) : error 029: invalid expression, assumed zero C:\Users\mickael\Desktop\Script Pour Friends\gamemodes\MainGamemode.pwn(102) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase