stock LoadGangZone(gzid)
{
new query[256];
new field[7][25];
new Row, Field;
cache_get_data(Row, Field, xConexao);
format(query, 256,"SELECT * FROM `gangzoneinfo` WHERE id=%d",gzid);
mysql_function_query(xConexao, query, true, #, # );
printf("[GangZone] A gz [id%d] estб sendo carregada...", gzid);
gangzoneInfo[gzid][gzId] = GangZoneCreate(floatstr(field[2]) , floatstr(field[3]) , floatstr(field[4]) , floatstr(field[5]));
gangzoneInfo[gzid][gzName] = field[1];
gangzoneInfo[gzid][gzMinX] = floatstr(field[2]);
gangzoneInfo[gzid][gzMinY] = floatstr(field[3]);
gangzoneInfo[gzid][gzMaxX] = floatstr(field[4]);
gangzoneInfo[gzid][gzMaxY] = floatstr(field[5]);
gangzoneInfo[gzid][gzOwner] = strval(field[6]);
printf("[GangZone] A gz [id%d] foi carregada com os seguintes dados:" , gzid);
printf("[] ID: %d|Nome: %s|Owner: %d" , gangzoneInfo[gzid][gzId] , gangzoneInfo[gzid][gzName] , gangzoneInfo[gzid][gzOwner]);
printf("[] MinX: %f|MinY: %f|MaxX: %f|MaxY: %f|" , gangzoneInfo[gzid][gzMinX] , gangzoneInfo[gzid][gzMinY] , gangzoneInfo[gzid][gzMaxX] , gangzoneInfo[gzid][gzMaxY]);
printf("[GangZone] A gz [id: %d] foi carregada por inteiro." , gzid);
}
CREATE TABLE IF NOT EXISTS `gangzoneinfo` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(25) NOT NULL,
`minx` double NOT NULL,
`miny` double NOT NULL,
`maxx` double NOT NULL,
`maxy` double NOT NULL,
`dono` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Extraindo dados da tabela `gangzoneinfo`
--
INSERT INTO `gangzoneinfo` (`id`, `name`, `minx`, `miny`, `maxx`, `maxy`, `dono`) VALUES
(1, 'Idlewood', 1930.37, -1800.4869, 2202.9089, -1622.8649, 0);
[05:04:50] [GangZone] A gz [id0] estб sendo carregada...
[05:04:50] [GangZone] A gz [id0] foi carregada com os seguintes dados:
[05:04:50] [] ID: 5|Nome: |Owner: 0
[05:04:50] [] MinX: 0.000000|MinY: 0.000000|MaxX: 0.000000|MaxY: 0.000000|
[05:04:50] [GangZone] A gz [id: 0] foi carregada por inteiro.
mysql_function_query(handle,query,bool:cache,"CallbackDeResposta","parametros",valores...);
//mysql_function_query(handle,"SELECT * FROM `tabela` WHERE id='4'",true,"CallbackDeResposta","d",gzone);
// Entao ai sim vocк pode trabalhar com os valores recebidos do cache mysql
public CallbackDeResposta(gzone)
{
new rows,fields;
cache_get_data(rows,fields,handle);
if(rows)
{
// Se for encontrado pelo menos um resultado...
}
else
return print("Nгo foi encontrado nada...");
return 1;
}
public MySQL_CarregarConta(playerid)
{
new name[24];
GetPlayerName(playerid,name,24);
format(query,sizeof query,"SELECT * FROM `tabela` WHERE name='%s'",name); // SQL: Selecione tudo da 'tabela' onde nome for igual a 'name'.
mysql_function_query(handle,query,true,"r@MySQL_CarregarConta","d","playerid");
printf("Enviada a consulta %s ao mysql",query);
return 1;
}
// Entгo os dados ao serem recebidos do MySQL executaram a callback r@MySQL_CarregarConta, onde o 'd' й o placeholder para integer, no caso playerid й uma integer. Vocк pode chamar quantos parametros quiser, por exemplo: integer e string - "ds",playerid,"TEXTO");
public r@MySQL_CarregarConta(playerid)
{
new name[24];
GetPlayerName(playerid,name,24);
printf("O MySQL respondeu a sua consulta que solicitava TUDO do jogador %s",name);
new rows,fields; // rows = linhas, fields = colunas
cache_get_data(rows,fields,handle);
if(rows) // Se for encontrado uma quantidade de linhas diferente de 0
{
// printf("Existem dados de %s. Carregando...",name);
//cache_get_field_content(row,"campo",variavelparasalvarovalordocampo STRING,handle);
cache_get_field_content(0,"matou",query,handle);
PlayerInfo[playerid][matou] = strval(query);
}
else
return printf("Nгo foram encontrado dados de %s",name);
return 1;
}
A funзгo mysql_function_query pede para MySQL o que vocк estб consultando, e entгo o MySQL mostra os resultados, chamando a callback prй-escolhida.
Portanto vocк deve fazer assim: pawn Код:
|
Sim, utilize a funзгo format para isso...
format(var,sizeof var,"%f",Float:float); |
stock salvarGZ ( gzid ) {
new yQuery [ 200 ] ;
format ( yQuery, 200, "UPDATE gangzoneinfo SET MinimoX='%f', MinimoY='%f', MaximoX='%f', MaximoY='%f' WHERE id='%i'",
gangzoneInfo [ gzid ] [ gzMinX ], gangzoneInfo [ gzid ] [ gzMinY ], gangzoneInfo [ gzid ] [ gzMaxX ], gangzoneInfo [ gzid ] [ gzMaxY ] gzid );
mysql_function_query ( CONEXAO, yQuery, true, #, # ) ;
}
mais ou menos, mais ou menos assim:
pawn Код:
|
stock LoadGangZone(gzid)
{
new query[256];
new field[7][25];
format(query, 256,"SELECT * FROM `gangzoneinfo` WHERE id=%d",gzid);
mysql_function_query(xConexao, query, true, #, # );
//mysql_function_query(handle,"SELECT * FROM `gangzoneinfo` WHERE id='%d'",true,"CallbackDeResposta","d",gzid);
printf("[GangZone] A gz [id%d] estб sendo carregada...", gzid);
cache_get_field_content(0, "id", query, xConexao);
gangzoneInfo[gzid][gzId] = GangZoneCreate(floatstr(field[2]) , floatstr(field[3]) , floatstr(field[4]) , floatstr(field[5]));
cache_get_field_content(0, "name", query, xConexao);
gangzoneInfo[gzid][gzName] = field[1];
cache_get_field_content(0, "minx", query, xConexao);
gangzoneInfo[gzid][gzMinX] = floatstr(field[2]);
cache_get_field_content(0, "miny", query, xConexao);
gangzoneInfo[gzid][gzMinY] = floatstr(field[3]);
cache_get_field_content(0, "maxx", query, xConexao);
gangzoneInfo[gzid][gzMaxX] = floatstr(field[4]);
cache_get_field_content(0, "maxy", query, xConexao);
gangzoneInfo[gzid][gzMaxY] = floatstr(field[5]);
cache_get_field_content(0, "dono", query, xConexao);
gangzoneInfo[gzid][gzOwner] = strval(field[6]);
printf("[GangZone] A gz [id%d] foi carregada com os seguintes dados:" , gzid);
printf("[] ID: %d|Nome: %s|Owner: %d" , gangzoneInfo[gzid][gzId] , gangzoneInfo[gzid][gzName] , gangzoneInfo[gzid][gzOwner]);
printf("[] MinX: %f|MinY: %f|MaxX: %f|MaxY: %f|" , gangzoneInfo[gzid][gzMinX] , gangzoneInfo[gzid][gzMinY] , gangzoneInfo[gzid][gzMaxX] , gangzoneInfo[gzid][gzMaxY]);
printf("[GangZone] A gz [id: %d] foi carregada por inteiro." , gzid);
}
stock carregarGZ ( yID ) {
new yQuery [ 300 ], yValor [ 50 ] ;
mysql_function_query ( xConexao, "SELECT * FROM `gangzoneinfo` WHERE id='%d'", yID ) ;
cache_get_field_content ( 0, "id", yValor, xConexao ) ;
gangZoneInfo [ yID ] [ gzID ] = strval ( yValor ) ;
cache_get_field_content ( 0, "name", gangzoneInfo [ yID ] [ gzName ], xConexao ) ;
cache_get_field_content ( 0, "minx", yValor, xConexao ) ;
gangzoneInfo [ yID ] [ gzMinX ] = strval ( yValor ) ;
cache_get_field_content ( 0, "miny", yValor, xConexao ) ;
gangzoneInfo [ yID ] [ gzMinY ] = strval ( yValor ) ;
cache_get_field_content ( 0, "maxx", yValor, xConexao ) ;
gangzoneInfo [ yID ] [ gzMaxX ] = strval ( yValor ) ;
cache_get_field_content ( 0, "maxy", yValor, xConexao ) ;
gangzoneInfo [ yID ] [ gzMaxY ] = strval ( yValor ) ;
cache_get_field_content ( 0, "dono", gangzoneInfo [ yID ] [ gzOwner ], xConexao ) ;
gangZoneInfo [ yID ] [ gzID ] = GangZoneCreate ( gangzoneInfo [ yID ] [ gzMinX ], gangzoneInfo [ yID ] [ gzMinY ], gangzoneInfo [ yID ] [ gzMaxX ], gangzoneInfo [ yID ] [ gzMaxY ] ) ;
}