[Ajuda] MySQL query
#1

Pessoal ainda estou aprendendo MySQL e tenho uma dъvida, como eu armazeno o dado de uma coluna numa variбvel para usa-la sem ter que criar callback? Estou criando um sistema de ban temporбrio e fiz assim

Primeiro й checado em Onplayerconnect se o nome do jogador estб numa tabela, usei mysql_tquery com uma callback que verifica se o jogador tб lб utilizando mysql_num_rows

mas e aн?

Код:
forward IsTempBanned(playerid);
public IsTempBanned(playerid)
{
	if(cache_num_rows() > 0)
	{
		new hourbanned[2], Cache:hoursql;
		new gName[24]; GetPlayerName(playerid, gName, 24);
		mysql_format(MySQL:banidos, str, sizeof(str), "SELECT `Horas` FROM `tempban` WHERE `NOME` = '%s'", gName);
		Cache:hoursql = mysql_query(MySQL:banidos, str, true);
		cache_set_active(Cache:hoursql);
		cache_get_value(0, "Horas", hourbanned[0]);
		cache_get_value(0, "Segundos", hourbanned[1]);
		if( (HourTimeStamp - hourbanned[0]) < hourbanned[1])
		{
			new str2[128];
			format(str2, sizeof(str2), "[X]: Vocк ainda estб banido do servidor por: %i Horas.", hourbanned[0]);
			SendClientMessage(playerid, Vermelho, str2);
			Kick(playerid);
                        cache_delete(Cache:hoursql);
		}
	}
}
Preciso pegar o horбrio do jogador banido e verificar com um timer no servidor que conta de 1 em 1 hora, tб correto dessa maneira?
Reply
#2

PHP код:
mysql_tquery(conexaostring); 
Reply
#3

use como base:

PHP код:
new String[80], aname[MAX_PLAYER_NAME];
GetPlayerName(playeridanamesizeof(aname));
format(Stringsizeof(String), "UPDATE `contas` SET ban = %d WHERE name = '%s'",ban[playerid], aname);
mysql_tquery(ConexaoString);
//para verificar
format(Stringsizeof(String), "SELECT `contas` FROM `ban` WHERE `name` = '%s'"aname);
mysql_tquery(ConexaoString);
cache_get_value_name_int(0"ban"ban[playerid]);
if(
ban[playerid] != 0
{
//funзгo caso ele esteja banido

Reply
#4

Quote:
Originally Posted by GSantana
Посмотреть сообщение
use como base:

PHP код:
new String[80], aname[MAX_PLAYER_NAME];
GetPlayerName(playeridanamesizeof(aname));
format(Stringsizeof(String), "UPDATE `contas` SET ban = %d WHERE name = '%s'",ban[playerid], aname);
mysql_tquery(ConexaoString);
//para verificar
format(Stringsizeof(String), "SELECT `contas` FROM `ban` WHERE `name` = '%s'"aname);
mysql_tquery(ConexaoString);
cache_get_value_name_int(0"ban"ban[playerid]);
if(
ban[playerid] != 0
{
//funзгo caso ele esteja banido

mysql_tquery por que? tenho que criar outra callback? nгo dб pra fazer tudo numa sу?
Reply
#5

Quote:
Originally Posted by Electrifying
Посмотреть сообщение
mysql_tquery por que? tenho que criar outra callback? nгo dб pra fazer tudo numa sу?
nгo precisa criar outra calback!, seu mysql estб atualizado para a versгo R41-4 ?, й sу nгo usar o parвmetro da callback que nгo precisa!
Reply
#6

Quote:
Originally Posted by GSantana
Посмотреть сообщение
nгo precisa criar outra calback!, seu mysql estб atualizado para a versгo R41-4 ?, й sу nгo usar o parвmetro da callback que nгo precisa!
Sim estб, entгo se eu utilizar cache_get_value em uma variбvel vai automaticamente armazenar o dado de uma row na variбvel depois da tquery?
Reply
#7

Quote:
Originally Posted by Electrifying
Посмотреть сообщение
Sim estб, entгo se eu utilizar cache_get_value em uma variбvel vai automaticamente armazenar o dado de uma row na variбvel depois da tquery?
sim, mas tem que ter selecionado a conta como no exemplo:
PHP код:
format(Stringsizeof(String), "SELECT `contas` FROM `name` = '%s' "aname); 
mysql_tquery(ConexaoString); 
no fуrum nгo tem bons tutoriais sobre mysql, acha que eu deveria fazer um ?
Reply
#8

Mano, na WIKI Samp jб explica praticamente todas as funзхes do MySQL, claro nгo й a versгo mais recente mas jб serve. E graзas a esses Sistemas de Registros que vocкs tanto reclamam que foi o que me fez entender MySQL, sу nгo aprende quem nгo quer.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)