Checar se existe o player MYSQL -
warriorfrog - 12.11.2015
Ajuda nesse comando aqui nгo quero que de problemas, pra ver se o player offline existe na DB
Code:
// creditos comando: @garotin forumsamp
CMD:givedp(playerid, params[])
{
new player, quantidade, string[128];
if(sscanf(params,"si", player, quantidade)) return SendClientMessage(playerid, -1, "Use: /givedp [player-name] [ammount]");
new idplayer;
idplayer = GetPlayerIdFromName(player);
if(idplayer >= 0) {
new idplayer;
idplayer = GetPlayerIdFromName(player);
DP[idplayer] += quantidade;
format(string, sizeof(string), "O admin %s adicionou %i DONATE POINTS para %s (ONLINE)", PlayerName(playerid), quantidade, PlayerName(idplayer) );
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
SendClientMessage(idplayer, COLOR_LIGHTBLUE, string);
}
else {
// COMO CHECAR AQUI SE O PLAYER EXISTE OU NГO PRA N DAR MERDA NA HORA DE DAR A CONSULTA
new query[200], dpatual;
format(query, sizeof(query), "SELECT * FROM accounts WHERE Username='%s'", player);
mysql_query(ConnectMYSQL,query);
mysql_store_result();
while(mysql_fetch_row_format(query,"|"))
{
dpatual = cache_get_field_content_int(0, "DP");
}
mysql_free_result();
format(query, sizeof(query), "UPDATE accounts SET DP=%d WHERE Username='%s'",
dpatual + quantidade,
player);
mysql_query(ConnectMYSQL,query);
format(string, sizeof(string), "O admin %s adicionou %i DONATE POINTS para %s (OFFLINE)", PlayerName(playerid), quantidade, player );
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
SendClientMessage(idplayer, COLOR_LIGHTBLUE, string);
}
}
Re: Checar se existe o player MYSQL -
willttoonn - 12.11.2015
Olha, pra eu checar se existe algum player no banco de dados eu faзo assim:
Code:
CMD:verplayer(playerid, params[])
{
if (isnull(params) || strlen(params) > 24)
return SendClientMessage(playerid, -1, "/verplayer [nome do personagem]");
static
query[128];
format(query, sizeof(query), "SELECT `Character` FROM `characters` WHERE `Character` = '%s'", SQL_ReturnEscaped(params));
mysql_function_query(g_iHandle, query, true, "OnResolvePlayer", "ds", playerid, params);
return 1;
}
forward OnResolvePlayer(extraid, character[]);
public OnResolvePlayer(extraid, character[])
{
new
rows,
fields,
name[24];
cache_get_data(rows, fields, g_iHandle);
if (!rows)
return SendClientMessage(extraid, -1, "Nгo hб nenhum player com esse nome.");
cache_get_row(0, 0, name, g_iHandle);
SendClientMessage(extraid, -1, "Existe um jogador com esse nome.");
return 1;
}
Re: Checar se existe o player MYSQL -
warriorfrog - 14.11.2015
Vlw pela base +rep, tentei, tentei e tentei, fiz esse codigo que sу me restaram 3 erros, me ajuda a corrigir? Os erros estгo comentados
Code:
CMD:givedp(playerid, params[]) {
new player[MAX_PLAYER_NAME], quantidade, string[128];
if(sscanf(params,"si", player, quantidade)) return SendClientMessage(playerid, -1, "Use: /givedp [player-name] [ammount]");
new idplayer;
idplayer = GetPlayerIdFromName(player);
if(idplayer >= 0) {
idplayer = GetPlayerIdFromName(player);
DP[idplayer] += quantidade;
format(string, sizeof(string), "O admin %s adicionou %i DONATE POINTS para %s (ONLINE)", PlayerName(playerid), quantidade, PlayerName(idplayer) );
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
SendClientMessage(idplayer, COLOR_LIGHTBLUE, string);
}
else {
new rows, fields;
cache_get_data(rows, fields);
if (!rows) return SendClientMessage(playerid, -1, "Nгo hб nenhum player com esse nome.");
new query[200], dpatual;
format(query, sizeof(query), "SELECT * FROM accounts WHERE Username='%s'", player);
mysql_query(ConnectMYSQL,query);
mysql_store_result(); // error 017: undefined symbol "mysql_store_result"
while(mysql_fetch_row_format(query,"|")) // error 017: undefined symbol "mysql_fetch_row_format"
{
dpatual = cache_get_field_content_int(0, "DP");
}
mysql_free_result(); // error 017: undefined symbol "mysql_store_result"
format(query, sizeof(query), "UPDATE accounts SET DP=%d WHERE Username='%s'",
dpatual + quantidade,
player);
mysql_query(ConnectMYSQL,query);
format(string, sizeof(string), "O admin %s adicionou %i DONATE POINTS para %s (OFFLINE)", PlayerName(playerid), quantidade, player );
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
SendClientMessage(idplayer, COLOR_LIGHTBLUE, string);
}
return 1;
}