CMD:fcreate(playerid, params[]) {
new string[40], query[128];
if(scorelevel[playerid] < 500) return SendClientMessage(playerid, COLOR_RED, "Vocк precisa ter score/level 500 para criar uma faction");
if(GetPlayerMoney(playerid) < 5000000) return SendClientMessage(playerid, COLOR_RED, "You do not have 5000000");
if(fmembro[playerid] > 0) return SendClientMessage(playerid, COLOR_RED, "Vocк jб tem uma faction");
new localfname[32];
if(sscanf(params,"s", localfname)) return SendClientMessage(playerid, -1, "Use: /fcreate [name]");
format(query, sizeof(query), "INSERT INTO `factions` (`facname`) VALUES ('%s')"
,
localfname );
mysql_query(ConnectMYSQL,query);
new novafacid, consulta;
consulta = cache_get_field_content_int(0, "ID"); novafacid = consulta;
fmembro[playerid] = novafacid;
fcargo[playerid] = 5;
GivePlayerMoney(playerid,-5000000);
new facid = fmembro[playerid];
FactionInfo[facid][facname] = localfname;
format(string, sizeof(string), "%s (id:%i) criada! (/fhelp)", FactionInfo[facid][facname], novafacid );
SendClientMessage(playerid, COLOR_GREEN, string);
return 1;
}
CMD:insertuser(playerid)
{new name[24], query[128];
GetPlayerName(playerid, name, 24);
mysql_format(handler, query, sizeof(query), "INSERT INTO `users` VALUES('NULL', '%s', 1234)", name);
//NULL = coluna do auto_increment (id), serб ignorado pelo mysql quando criado e terб um valor automбtico
mysql_tquery(handler, query, "OnInsert", " ", " ");//sem parвmetros na public
return 1;
}
forward OnInsert();
public OnInsert()
{new PlayerInfo[playerid][id] = mysql_insert_id();
//...
}
|
Essa funзгo retorna o insert_id (valor inteiro do auto_increment), essa funзгo jб salvou minha vida xD
OBS: Essa funза й R33+ se nгo me engano, usabilidade: Код:
mysql_format(handler, query, sizeof(query), "INSERT INTO `users` VALUES('NULL', ...);
mysql_tquery(handler, query, "OnInsert", "");
//NULL = coluna do auto_increment, serб ignorado pelo mysql
forward OnInsert();
public OnInsert()
{
new PlayerInfo[playerid][id] = mysql_insert_id();
//...
}
|
|
Nгo consegui pegar como usar, pode fazer com o codigo dele como exemplo pra eu tentar adaptar pro meu?
|
CMD:fcreate(playerid, params[]) {
new string[40], query[128];
if(scorelevel[playerid] < 500) return SendClientMessage(playerid, COLOR_RED, "Vocк precisa ter score/level 500 para criar uma faction");
if(GetPlayerMoney(playerid) < 5000000) return SendClientMessage(playerid, COLOR_RED, "You do not have 5000000");
if(fmembro[playerid] > 0) return SendClientMessage(playerid, COLOR_RED, "Vocк jб tem uma faction");
new localfname[32];
if(sscanf(params,"s", localfname)) return SendClientMessage(playerid, -1, "Use: /fcreate [name]");
format(query, sizeof(query), "INSERT INTO `factions` (`facname`) VALUES ('%s')"
,
localfname );
mysql_query(ConnectMYSQL,query);
new novafacid, consulta;
//consulta = cache_get_field_content_int(0, "ID"); novafacid = consulta;
novafacid = mysql_insert_id();
fmembro[playerid] = novafacid;
fcargo[playerid] = 5;
GivePlayerMoney(playerid,-5000000);
new facid = fmembro[playerid];
FactionInfo[facid][facname] = localfname;
format(string, sizeof(string), "%s (id:%i) criada! (/fhelp)", FactionInfo[facid][facname], novafacid );
SendClientMessage(playerid, COLOR_GREEN, string);
return 1;
}
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;
}