[Ajuda] Salvando / Pegando / Setando udb,s e variaveis Atuais.
#1


Pessoal estou com problemas quando o player desloga e logar de salvar e setar os dados de algumas coisas tipo udb de posiзгo etc. vou mostrar meu logarplayer e o playerdisconect.

Code:
public LogarPlayer(playerid) //Quando Logar pega os dados logando
{
	GivePlayerMoney(playerid, udb_getAccState(PlayerName(playerid)) - GetPlayerMoney(playerid));
	Profissao[playerid] = udb_getProf(PlayerName(playerid));
	Petrol[playerid] = udb_getGasoline(PlayerName(playerid));
	Level[playerid] = pap_CarregarInt(playerid, "level");
	SendClientMessage(playerid, COLOR_GREEN, "Logado");
	SendClientMessage(playerid, COLOR_GREEN, "Dinheiro Carregado.");
	SendClientMessage(playerid, COLOR_GREEN, "Primeramente digite /profs e /ajuda, ou pessa ajuda a um ADMIN");
	if(udb_getPrisao(PlayerName(playerid)) == 1 || Procurados[playerid] == 1){
		Procurados[playerid] = 0;
		new cela;
		Presos[playerid] = 1;
		cela = random(4);
		SetPlayerFacingAngle(playerid,0);
		if(cela == 1){
		  SetPlayerPos(playerid,227.6684,110.1895,999.0156);
		  SetPlayerInterior(playerid,10);
		}
		else if(cela == 2){
		  SetPlayerPos(playerid,223.0134,110.3193,999.0156);
		  SetPlayerInterior(playerid,10);
		}
		else if(cela == 3){
		  SetPlayerPos(playerid,219.3730,110.2772,999.0156);
		  SetPlayerInterior(playerid,10);
		}
		else if(cela == 4){
		  SetPlayerPos(playerid,214.9654,109.4626,999.0156);
		  SetPlayerInterior(playerid,10);
		}
		SendClientMessage(playerid,COLOR_RED,"Vocк deve ter cometido algum crime, por isso foi preso.");
		SendClientMessage(playerid,COLOR_RED,"Para sair mais cedo da prisгo, vocк pode pagar a fianзa de $1500,");
		SendClientMessage(playerid,COLOR_RED,"escrevendo /fianca.");
	}
	else{
		SpawnPlayer(playerid);
	}
	
}
Code:
public OnPlayerDisconnect(playerid, reason)
{
	  if (PLAYERLIST_authed[playerid] == 1) {
	  // Was loggedin, so save the data!
		udb_setAccState(PlayerName(playerid),GetPlayerMoney(playerid));//Dinheiro
		new Float:health;
		Presos[playerid] = 0; //obs: Deixa o cara livre?
		Procurados[playerid] = 0; //obs: o cara procurado fica livre?
		GetPlayerHealth(playerid, health); //Vida Pega a atual vida do personagem
		udb_setHealth(PlayerName(playerid), health); //Seta a vida no SAVE ??? talves
		udb_setGasoline(PlayerName(playerid), Petrol[playerid]);//Seta Gasolina
		udb_setProf(PlayerName(playerid), Profissao[playerid]);//Seta profissao?
    pap_SalvarInt(playerid, "level", Level[playerid]);	// salvar level final player.txt

		PLAYERLIST_authed[playerid] = 0; //zera algo que nгo sei o que й sera o ID?
		TextDrawHideForPlayer(playerid, SPClock); // linha adicionada para o tempo real.
		printf("Jogador %s (ID: %d) deixou o servidor. Seus dados foram salvos com sucesso",PlayerName(playerid),playerid);
		printf("Jogador %s (ID: %d) saiu do server. OnPlayerDisconnect processou",PlayerName(playerid),playerid);
	  }
 	  else {
       printf("Jogador %s (ID: %d) deixou o servidor sem se registrar/logar",PlayerName(playerid),playerid);
       return 0;
    }
    return 1;
}
A pergunta й: como eu pego a posiзгo atual minha e guardo em um arquivo udb de posiзгo e depois quando eu digitar /logar que abre o LogarPlayer de ele pegar a posiзгo guardada e setar minha posiзгo atual pra eu nacer no mesmo local que eu desloguei.

Bem eu sou bem leigo entгo seria o sequinte quais as linhas de comando corretas pra por no disconnect e no logarplayer?

Obs: Meu GM й RPG mas й similar a quase todos de salvar e pegar dados de udb,s

Desde ja agradeзo Muito quem souber e puder me falar
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 2 Guest(s)