15/05/2024 00:15
(14/05/2024 18:09)White_Blue Escreveu:(14/05/2024 16:48)Cyclopeta Escreveu: como assim dar update mn? tipo, eu nao quero q prenda pelo id q fica no tab, e sim id do mysql q é de 1 em diante
Se você quer prender apenas pelo ID salvo no BD, basta fazer da seguinte forma:
Código PHP:CMD:prender(playerid, params[]) {
new id, query[255];
if(sscanf(params, "i", id)) return SendClientMessage(playerid, -1, "/prender [id]");
mysql_format(MYSQL_DEFAULT_HANDLE, query, sizeof(query), "UPDATE usuarios SET preso = 1 WHERE id = %i;", id);
mysql_query(MYSQL_DEFAULT_HANDLE, query, "PrenderPlayer");
return 1;
}
forward PrenderPlayer();
public PrenderPlayer() {
new cachedname[MAX_PLAYER_NAME+1], name[MAX_PLAYER_NAME+1];
if(!cache_num_rows()) return 1;
cache_get_value_name(0, "Nome", cachedname);
foreach(new i : Player) {
GetPlayerName(i, name, sizeof(name));
if(!strcmp(name, cachedname)) {
pDados[i][Preso] = 1;
break; // Verifica se o jogador está online no momento da prisão através do seu nome, caso estiver, seta a variável Preso no momento para 1.
}
}
return 1;
}
P.S.: Não testei o script acima, mas creio que deve funcionar, altere os nomes de variáveis e etc para os nomes correspondentes em seu script.
Deixar jogadores executarem comandos que lidam com o banco, principalmente update, vira uma baita brexa de segurança...