25.01.2013, 15:02
Estou fazendo um sistema de gangs em mysql e estou com problemas para carregar os dados da gang do player:
Tabelas:
Abaixo verifica se existe algo em ''Team'' no registro com o nome do player na tabela mteams, se existir armazena o conteudo da coluna Team em ''TeamInfo[playerid][tNome]'' e chama a callback MySQL_CarregarTeamm(playerid); que carrega os dados restantes.
seleciona tudo da tabela teams em que o tNome й o valor armazenado em TeamInfo[playerid][tNome] (armazena no codigo acima), e depois armazena o resto dos dados
No gm tem outros sistemas que usa esses dados da gang mais nгo funciona pq n armazena nada, Help! D=
Tabelas:
pawn Код:
// topo do gm
#define MAX_SOLTS (25)
enum tInfo
{
tNome,
tCor,
tBaseX,
tBaseY,
tBaseZ
}
new TeamInfo[MAX_SOLTS][tInfo];
new tQuery[500];
pawn Код:
public MySQL_seexisteteam(playerid){
format(tQuery,sizeof(tQuery),"SELECT `Team` FROM `mteams` WHERE `Nome` = '%s'",GetName(playerid)); // GetName й uma stock pra getar o nome do player e funciona normalmente
mysql_function_query(gSQL,tQuery,true,"r@MySQL_seexisteteam","d",playerid);
SendClientMessage(playerid, GREEN, "DEBUG seexisteteam");
return 1;
}
public r@MySQL_seexisteteam(playerid){
new rows,fields;
cache_get_data(rows,fields,gSQL);
if(rows){
cache_get_field_content(0,"Team",tQuery,gSQL);
TeamInfo[playerid][tNome] = strval(tQuery);
MySQL_CarregarTeamm(playerid);
SendClientMessage(playerid, GREEN, "DEBUG Exist_Team true");
HaveTeam[playerid] = true;
}
else
HaveTeam[playerid] = false;
SendClientMessage(playerid, GREEN, "DEBUG Exist_Team false");
return 1;
}
pawn Код:
public MySQL_CarregarTeamm(playerid){
format(tQuery,sizeof(tQuery),"SELECT * FROM `teams` WHERE `tNome` = '%s'",TeamInfo[playerid][tNome]);
mysql_function_query(gSQL,tQuery,true,"r@MySQL_CarregarTeamm","d",playerid);
SendClientMessage(playerid, GREEN, "DEBUG MySQL_CarregarTeamm");
return 1;
}
public r@MySQL_CarregarTeamm(playerid){
new rows,fields;
cache_get_data(rows,fields,gSQL);
if(rows){
cache_get_field_content(0,"tNome",tQuery,gSQL);
TeamInfo[playerid][tNome] = strval(tQuery);
cache_get_field_content(0,"tCor",tQuery,gSQL);
TeamInfo[playerid][tCor] = strval(tQuery);
cache_get_field_content(0,"tBaseX",tQuery,gSQL);
TeamInfo[playerid][tBaseX] = strval(tQuery);
cache_get_field_content(0,"tBaseY",tQuery,gSQL);
TeamInfo[playerid][tBaseY] = strval(tQuery);
cache_get_field_content(0,"tBaseZ",tQuery,gSQL);
TeamInfo[playerid][tBaseY] = strval(tQuery);
SendClientMessage(playerid, GREEN, "DEBUG r@MySQL_CarregarTeamm ");
}
else
SendClientMessage(playerid,-1,"Houve um erro com seu team");
return 1;
}