Comando funcionar online/offline MYSQL -
warriorfrog - 28.09.2015
Queria fazer um comando pra admin que fosse /givedp, que seria pra dar donate points, mas seria um saco se eu fizese do jeito que eu sei fazer, pq sу ia funcionar com player online, ai cada player que donata-se eu teria que ir atй o phpmyadmin
Queria fazer um comando que fosse assim
Код:
CMD:givedp(playerid, params[])
{
new player, quantidade, string[128];
if(sscanf(params,"??", player, quantidade)) return SendClientMessage(playerid, -1, "Use: /givedp [player-name] [ammount]");
if(PLAYERONLINE) {
DP[player] += quantidade;
format(string, sizeof(string), "Vocк adicionou %i Donate Points para o jogador %s [ONLINE]", quantidade, NOMEDOPLAYER );
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else if(PLAYEROFFILINE) {
soma dp e atualiza na DB... como fazer ? XD
format(query, sizeof(query), "UPDATE `accounts` SET `DP` = '%d' WHERE Username = '%s'",
DP[playerid],
format(string, sizeof(string), "Vocк adicionou %i Donate Points para o jogador %s [OFFLINE]", quantidade, NOMEDOPLAYER );
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
}
Re: Comando funcionar online/offline MYSQL - Kamper - 28.09.2015
http://www.tech-recipes.com/rx/2139/...xisitng_value/
Re: Comando funcionar online/offline MYSQL -
n0minal - 28.09.2015
Vocк precisa executar uma query pra receber o valor atual e depois disso somar a quantidade, e executar uma nova query pra fazer o update, ou simplesmente usar a sintaxe SQL pra adcionar o valor + a quantidade como o amigo explicou acima. A segunda opзгo й a melhor, mais rбpida e mais fбcil.
Re: Comando funcionar online/offline MYSQL -
garotin - 28.09.2015
Vocк vai ter que fazer um comando tipo /givedp [nome do player] assim ele vai fazer uma busca no banco de dados se achar uma conta com o nome igual ele vai primeiro fazer o select para obter o valor e dps um update para atualizar o valor.
Re: Comando funcionar online/offline MYSQL -
garotin - 28.09.2015
Acho que dessa maneira deve funcionar, se houver algum problema me avisa ou chama skype garotin1408
PHP код:
CMD:givedp(playerid, params[])
{
new player, quantidade, string[128];
if(sscanf(params,"??", player, quantidade)) return SendClientMessage(playerid, -1, "Use: /givedp [player-name] [ammount]");
if(PLAYERONLINE) {
DP[player] += quantidade;
format(string, sizeof(string), "Vocк adicionou %i Donate Points para o jogador %s [ONLINE]", quantidade, NOMEDOPLAYER );
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else if(PLAYEROFFILINE) {
soma dp e atualiza na DB... como fazer ? XD
new query[200], dpatual;
format(query, sizeof(query), "SELECT * FROM accounts WHERE Username='%s'", player);
mysql_query(String da sua conexao aqui, 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(String da sua conexao aqui, query);
format(string, sizeof(string), "Vocк adicionou %i Donate Points para o jogador %s [OFFLINE]", quantidade, player);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
}
Lembrando que usei funзхes do plugin MySQL R33
Re: Comando funcionar online/offline MYSQL -
n0minal - 28.09.2015
Quote:
Originally Posted by garotin
Acho que dessa maneira deve funcionar, se houver algum problema me avisa ou chama skype garotin1408
PHP код:
CMD:givedp(playerid, params[])
{
new player, quantidade, string[128];
if(sscanf(params,"??", player, quantidade)) return SendClientMessage(playerid, -1, "Use: /givedp [player-name] [ammount]");
if(PLAYERONLINE) {
DP[player] += quantidade;
format(string, sizeof(string), "Vocк adicionou %i Donate Points para o jogador %s [ONLINE]", quantidade, NOMEDOPLAYER );
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else if(PLAYEROFFILINE) {
soma dp e atualiza na DB... como fazer ? XD
new query[200], dpatual;
format(query, sizeof(query), "SELECT * FROM accounts WHERE Username='%s'", player);
mysql_query(String da sua conexao aqui, 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(String da sua conexao aqui, query);
format(string, sizeof(string), "Vocк adicionou %i Donate Points para o jogador %s [OFFLINE]", quantidade, player);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
}
Lembrando que usei funзхes do plugin MySQL R33
|
MySQL store result nгo й necessaria na R33+
Re: Comando funcionar online/offline MYSQL -
garotin - 28.09.2015
Quote:
Originally Posted by ipsLeon
MySQL store result nгo й necessaria na R33+
|
Valeu pela dica, nn sabia dessa, vou arrumar isso na minha GM.
Engraзado pois acho o R33 melhor do que os plugins superiores, atй pelo motivo dele nгo precisar de uma callback para armazenar os dados do banco.