CMD:daradmin(playerid, parms[]){
new id, level, query[128], nome[MAX_PLAYER_NAME], Msg[100];
GetPlayerName(id, nome, sizeof(nome));
if(sscanf(parms, "us[128]", id, level)) SendClientMessage(playerid,-1,"Use /daradmin ID <Level: 2 - 5 > VIP Level 2 ");
format(query, sizeof(query),"UPDATE `contas` SET level = '%d' WHERE `nome` = '%s'", level, id);
mysql_function_query(mysql, query, false, "", "");
format(Msg, sizeof(Msg), "{00FF80}Parabens, %s foi promovido !",id);
SendClientMessageToAll(-1,Msg);
return 1;
}
CMD:daradmin(playerid, parms[]) { new id, level, query[128], nome[MAX_PLAYER_NAME], Msg[100]; if(sscanf(parms, "us[128]", id, level)) return SendClientMessage(playerid,-1,"Use /daradmin ID <Level: 2 - 5 > VIP Level 2 "); GetPlayerName(id, nome, sizeof(nome)); mysql_format(mysql, query, sizeof(query), "UPDATE `contas` SET level = '%d' WHERE `nome` = '%s'", level, nome); mysql_query(mysql, query); format(Msg, sizeof(Msg), "{00FF80}Parabens, %s foi promovido !",nome); SendClientMessageToAll(-1,Msg); return 1; }
Vocк getou o noem do player corretamente, sу nгo soube representar depois. Vocк getou o nome do player promovido para a variavel 'nome', sendo assim na query onde vc colocou 'id' seria 'nome' e a mesma coisa na frase.
Код:
CMD:daradmin(playerid, parms[]) { new id, level, query[128], nome[MAX_PLAYER_NAME], Msg[100]; GetPlayerName(id, nome, sizeof(nome)); if(sscanf(parms, "us[128]", id, level)) SendClientMessage(playerid,-1,"Use /daradmin ID <Level: 2 - 5 > VIP Level 2 "); format(query, sizeof(query),"UPDATE `contas` SET level = '%d' WHERE `nome` = '%s'", level, nome); mysql_function_query(mysql, query, false, "", ""); format(Msg, sizeof(Msg), "{00FF80}Parabens, %s foi promovido !",nome); SendClientMessageToAll(-1,Msg); return 1; } |
Errado, pois quando se cria uma variavel ela automaticamente se denomina 0, e para ela receber o valor do ID que ele setou como admin, ele precisa Usar GetPlayerName, apуs a formataзгo no sscanf
Fora isto tu ta certo abrзs |
if(sscanf(parms, "us[128]", id, level)) SendClientMessage(playerid,-1,"Use /daradmin ID <Level: 2 - 5 > VIP Level 2 ");
if(sscanf(parms, "ud", id, level)) SendClientMessage(playerid,-1,"Use /daradmin ID <Level: 2 - 5 > VIP Level 2 ");
new query[300];
mysql_format(MySQL, query, sizeof(query), "SELECT * FROM `Colum` WHERE `Local` = 'DefinirLocal'");
mysql_tquery(MySQL, query, "MySQLTeste", "");
forward MySQLTeste();
public MySQLTeste()
{
new rows,fields;
cache_get_data(rows,fields,MySQL);
if(rows) // Caso exista o que vocк chamou
{
variavelquevocequer = cache_get_field_content/*(_int, _float)qual voce quiser*/(Linha, "Colum", ConectionHandle));
}
else // Caso nгo exista o que vocк chamou
{
}
return true;
}
if(level < 1 || level > 5) return SendClientMessage(playerid, -1, "[ERRO] Level invбlido"):
No OnplayerConnect: new nomeplayer[32], query[256]; GetPlayerName(playerid, nomeplayer, sizeof nomeplayer); mysql_format(query, sizeof query, "SELEC * FROM `contas` WHERE `nome` = '%s'", nomeplayer); mysql_tquery(mysql, query, "VerificarConta", "i", playerid); // mysql = nome da sua conexao com o banco / query й a string que vai ser passada para fazer a consulta Final do GM: stock VerificarConta(playerid) { new resultado[32]; cache_get_data(rows, fields, conexao); // Geta o resultado da consulta if(rows) // Se existe a conta do player { cache_get_field_content(0, "level", resultado), PlayerInfo[playerid][Level] = strval(resultado); // resultado = a string que armazena o dado da coluna / "level" = a coluna level dentro do banco / PlayerInfo[playerid][Level] = sua enum de dados dos players / strval(resultado) = converte a string com o resultado do campo level em numero inteiro } return 1; }
new name[MAX_PLAYER_NAME], query[1024];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(query, sizeof(query), "SELECT * FROM `contas` WHERE `nome` = '%s'", name);
mysql_function_query(mysql, query, true, "RequerLogin", "d", playerid);