17.02.2015, 14:16
Primeiramente, utilize a versгo mais atualizada do MySQL. Vocк terб que readaptar todo seu cуdigo, mas terб um sistema muito mais rбpido, estбvel e mais funcional.
https://github.com/pBlueG/SA-MP-MySQL/releases
Essa versгo do MySQL trabalha com cache, leia este tutorial:
https://sampforum.blast.hk/showthread.php?tid=337810
E agora para resolver seu problema, a soluзгo й simples.
Faзa a consulta de inserзгo, e entгo na callback de resposta do MySQL, pegue o ID ъnico da ъltima linha inserida. Este serб o ID da facзгo:
https://github.com/pBlueG/SA-MP-MySQL/releases
Essa versгo do MySQL trabalha com cache, leia este tutorial:
https://sampforum.blast.hk/showthread.php?tid=337810
E agora para resolver seu problema, a soluзгo й simples.
Faзa a consulta de inserзгo, e entгo na callback de resposta do MySQL, pegue o ID ъnico da ъltima linha inserida. Este serб o ID da facзгo:
pawn Код:
CMD:criarfacao(playerid,params[])
{
// Seu comando de criar facзгo bla bla bla
format(query,sizeof query,"INSERT INTO factions (facname) VALUES ('%s');",localfname);
mysql_function_query(mysqlhandle,query,true,"r@MySQL_CreateFaction","d",playerid) // importante deixar o cache como TRUE.
return 1;
}
// Declarar a callback de resposta (topo do GM)
forward r@MySQL_CreateFaction(playerid); // Playerid й quem criou a facзгo.
public r@MySQL_CreateFaction(playerid)
{
// A partir daqui, o MySQL pode retornar um erro (caso algo tenha dado errado)
// Ou o ID da facзгo criada, que pode ser acessado pela funзгo mysql_insert_id();
Player[playerid][faccao] = mysql_insert_id();
SendClientMessage(playerid,-1,"Sua facзгo foi criada com sucesso!");
// outras coisas bla bla bla
return 1;
}