[Ajuda] estou muito feliz !!!
#1

Finalmente estou conseguindo criar um cуdigo que funciona, й o meu sistema de casas, porйm estou com um problema :

o icone da casa e o texto sу aparecem quando eu crio a casa, se eu sair e entrar no servidor nгo aparece
se eu der gmx no servidor nгo aparece
se eu abrir o servidor de novo nгo aparece

porem estб salvando correctamente.

outro erro misterioso й que a palavra ninguйm nгo aparece no dono, no texto 3d

https://i.imgur.com/vpDMpGd.jpg




cуdigo do sistema completo :

Код:
#include < a_samp >
#include < sscanf >
#include < dof2 >
#include < zcmd >

#define MAX_HOUSES 100


enum InfoH
{
	hID,
	Float:hIcone[3],
	hPreco,
	hDono[120],

	hCofre,
	hAluguel,
	hCarro,
	Float:hCarroPos[3],
	hInterior,
 	Text3D:hText,
 	hPickUp
}


new HInfo[MAX_HOUSES][InfoH];
new arquivo_casa[120];

main(){	print("Sistema de casas");}

public OnGameModeInit()
{
	UsePlayerPedAnims();
	DisableInteriorEnterExits();
	SetGameModeText("HOUSE SCRIPT");
	AddPlayerClass(23, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
	
	// Criaзгo de casas automбticamente
	
 	for(new i = 0; i < MAX_HOUSES; ++i)
    {
    	Carregar_Casa(i);
        if(DOF2_FileExists(arquivo_casa[i]))
        {
            new str[120];
            format(str, sizeof(str), "Casa %d\nDono %s\nAluguel %d", HInfo[i][hID], HInfo[i][hDono], HInfo[i][hAluguel]);
        	Create3DTextLabel(str, -1, HInfo[i][hIcone][0], HInfo[i][hIcone][1], HInfo[i][hIcone][2], 40.0, 0, 0);
       	 	HInfo[i][hPickUp] = CreatePickup(1273, 1, HInfo[i][hIcone][0], HInfo[i][hIcone][1], HInfo[i][hIcone][2], -1);
        }
    }
	return 1;
}

public OnGameModeExit()
{
    DOF2_Exit();
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	SpawnPlayer(playerid);
	return 1;
}

public OnPlayerConnect(playerid)
{
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
 	for(new i = 0; i < MAX_HOUSES; ++i)
    {
		Salvar_Casa(i);
 	}
	return 1;
}

public OnPlayerSpawn(playerid)
{
 	for(new i = 0; i < MAX_HOUSES; ++i)
    {
        if(!DOF2_FileExists(arquivo_casa[i]))
        {
            new str[120];
            format(str, sizeof(str), "Casa %d\nDono %s\nAluguel %d", HInfo[i][hID], HInfo[i][hDono], HInfo[i][hAluguel]);
        	Create3DTextLabel(str, -1, HInfo[i][hIcone][0], HInfo[i][hIcone][1], HInfo[i][hIcone][2], 40.0, 0, 0);
       	 	HInfo[i][hPickUp] = CreatePickup(1273, 1, HInfo[i][hIcone][0], HInfo[i][hIcone][1], HInfo[i][hIcone][2], -1);
        }
    }
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	return 1;
}

CMD:criarcasa(playerid, params[])
{
	if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo tem permisгo para usar este comando!");

	new id, intr, preco;
	if(sscanf(params, "ddd", id, intr, preco)) return SendClientMessage(playerid, -1, "/criarcasa id interior preco");

	new Float:Pos[3];
	GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);

	HInfo[id][hInterior] = intr;
	HInfo[id][hID] = id;
	HInfo[id][hCofre] = 0;
	HInfo[id][hCarro] = 265;
	HInfo[id][hPreco] = preco;
	HInfo[id][hAluguel] = 0;
	HInfo[id][hCarroPos][0] = 0, HInfo[id][hCarroPos][1] = 0, HInfo[id][hCarroPos][2] = 0;

	new str[120];
	format (str, sizeof(str), "O Administrador %s criou uma casa id %d valor: %d", GetNome(playerid), id, preco);
	SendClientMessageToAll(-1, str);

	HInfo[id][hIcone][0] = Pos[0], HInfo[id][hIcone][1] = Pos[1], HInfo[id][hIcone][2] = Pos[2];
	
	Criar_Casa(id); // Funciona !
	SpawnPlayer(playerid);
	return 1;
}

Criar_Casa(casaid)
{
	format(arquivo_casa, sizeof(arquivo_casa), "casas/casa %d.ini", HInfo[casaid][hID]); // Cria um arquivo com o id da casa
    if(!DOF2_FileExists(arquivo_casa))          // verifica se existe
    {
		new xty[180];
 		format(xty, sizeof(xty), "casa %d", HInfo[casaid][hID]); // se nгo existir cria (ex: casa 1 )

        DOF2_CreateFile(arquivo_casa);                      // cria o arquivo serб isso que faltava ?
    }
    if(DOF2_FileExists(arquivo_casa))          // verifica se existe
    {
	    format(arquivo_casa, sizeof(arquivo_casa), "casas/casa %d.ini", HInfo[casaid][hID]);

	    DOF2_SetString(arquivo_casa, "Dono", "Ninguйm");
	    DOF2_SetInt(arquivo_casa, "ID", HInfo[casaid][hID]);
	    DOF2_SetInt(arquivo_casa, "Preco", HInfo[casaid][hPreco]);
	    DOF2_SetInt(arquivo_casa, "Aluguel", HInfo[casaid][hAluguel]);
	    DOF2_SetInt(arquivo_casa, "Carro", HInfo[casaid][hCarro]);
	    DOF2_SetInt(arquivo_casa, "Interior", HInfo[casaid][hInterior]);

	    DOF2_SetFloat(arquivo_casa, "Iconex",    HInfo[casaid][hIcone][0]);
	    DOF2_SetFloat(arquivo_casa, "Iconey",    HInfo[casaid][hIcone][1]);
	    DOF2_SetFloat(arquivo_casa, "Iconez",    HInfo[casaid][hIcone][2]);

	    DOF2_SetFloat(arquivo_casa, "CarroPosx", HInfo[casaid][hCarroPos][0]);
	    DOF2_SetFloat(arquivo_casa, "CarroPosy", HInfo[casaid][hCarroPos][1]);
	    DOF2_SetFloat(arquivo_casa, "CarroPosz", HInfo[casaid][hCarroPos][2]);

	    DOF2_SaveFile();
	}
}

Carregar_Casa(casaid)
{
    format(arquivo_casa, sizeof(arquivo_casa), "casas/%d.ini", HInfo[casaid][hID]);

	new txt[120];
	format(txt, sizeof(txt), "%s", DOF2_GetString(arquivo_casa, "Dono"));
	HInfo[casaid][hDono] = txt;
	
    HInfo[casaid][hID] = DOF2_GetInt(arquivo_casa, "ID");
    HInfo[casaid][hPreco] = DOF2_GetInt(arquivo_casa, "Preco");
    HInfo[casaid][hAluguel] = DOF2_GetInt(arquivo_casa, "Aluguel");
    HInfo[casaid][hCarro] = DOF2_GetInt(arquivo_casa, "Carro");
    HInfo[casaid][hInterior] = DOF2_GetInt(arquivo_casa, "Interior");

    HInfo[casaid][hIcone][0] = DOF2_GetFloat(arquivo_casa, "Iconex");
    HInfo[casaid][hIcone][1] = DOF2_GetFloat(arquivo_casa, "Iconey");
    HInfo[casaid][hIcone][2] = DOF2_GetFloat(arquivo_casa, "Iconez");

    HInfo[casaid][hCarroPos][0] = DOF2_GetFloat(arquivo_casa, "CarroPosx");
    HInfo[casaid][hCarroPos][1] = DOF2_GetFloat(arquivo_casa, "CarroPosy");
    HInfo[casaid][hCarroPos][2] = DOF2_GetFloat(arquivo_casa, "CarroPosz");
    
}

Salvar_Casa(casaid)
{
    format(arquivo_casa, sizeof(arquivo_casa), "casas/%d.ini", HInfo[casaid][hID]);

    DOF2_SetInt(arquivo_casa, "Dono", HInfo[casaid][hDono]);
    DOF2_SetInt(arquivo_casa, "ID", HInfo[casaid][hID]);
    DOF2_SetInt(arquivo_casa, "Preco", HInfo[casaid][hPreco]);
    DOF2_SetInt(arquivo_casa, "Aluguel", HInfo[casaid][hAluguel]);
    DOF2_SetInt(arquivo_casa, "Carro", HInfo[casaid][hCarro]);
    DOF2_SetInt(arquivo_casa, "Interior", HInfo[casaid][hInterior]);
    
    DOF2_SetFloat(arquivo_casa, "Iconex", HInfo[casaid][hIcone][0]);
    DOF2_SetFloat(arquivo_casa, "Iconey", HInfo[casaid][hIcone][1]);
    DOF2_SetFloat(arquivo_casa, "Iconez", HInfo[casaid][hIcone][2]);
    
    DOF2_SetFloat(arquivo_casa, "CarroPosx", HInfo[casaid][hCarroPos][0]);
    DOF2_SetFloat(arquivo_casa, "CarroPosy", HInfo[casaid][hCarroPos][1]);
    DOF2_SetFloat(arquivo_casa, "CarroPosz", HInfo[casaid][hCarroPos][2]);
    DOF2_SaveFile();
}

stock GetNome(playerid)
{
    new pNome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pNome, 24);
    return pNome;
}
estou aceitando voluntбrios para terminar esse sistema cmg.
Reply
#2

creio que o erro esteja aqui

Код:
public OnGameModeInit()
{
	UsePlayerPedAnims();
	DisableInteriorEnterExits();
	SetGameModeText("HOUSE SCRIPT");
	AddPlayerClass(23, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
	
	// Criaзгo de casas automбticamente
 	for(new i = 0; i < MAX_HOUSES; ++i)
    {
    	Carregar_Casa(i);
        if(DOF2_FileExists(arquivo_casa[i]))
        {
            new str[250];
            format(str, sizeof(str), "Casa %d\nDono %s\nValor %d\nAlguel %d", HInfo[i][hID], HInfo[i][hDono], HInfo[i][hPreco], HInfo[i][hAluguel]);
        	Create3DTextLabel(str, -1, HInfo[i][hIcone][0], HInfo[i][hIcone][1], HInfo[i][hIcone][2], 40.0, 0, 0);
       	 	HInfo[i][hPickUp] = CreatePickup(1273, 1, HInfo[i][hIcone][0], HInfo[i][hIcone][1], HInfo[i][hIcone][2], -1);
        }
    }
	return 1;
}
alguйm pode me orientar ?
Reply
#3

Irmгo, tu cria muitos tуpicos sobre o mesmo assunto, chill the fuck out.
Reply
#4

Quote:
Originally Posted by Ermanhaut
Посмотреть сообщение
Irmгo, tu cria muitos tуpicos sobre o mesmo assunto, chill the fuck out.
Depois vгo ficar tristes quando a board Br for apagada junta com as outras.
Reply
#5

Quote:
Originally Posted by Vithinn
Посмотреть сообщение
Depois vгo ficar tristes quando a board Br for apagada junta com as outras.
Gente desculpa, sйrio mesmo. vou parar de ficar criando muitos tуpicos.
Me ajuda ai, o que tem de errado na OnGameModeInit que nгo ta lendo as casas ?
Reply
#6

Alguйm me ajuda por favor ! Nгo adianta fazer nada, nunca dб certo !
Reply
#7

Cara para de ficar criando 2 Tуpicos inъteis !

Jб te ajudei nesse sistema ai na sua outra publicaзгo para de ser TANSO ! -.-'
Reply
#8

Em primeiro lugar, parabйns por nгo desistir e tentar criar um cуdigo prуprio, vocк teve esforзo e com isso vocк tem meu apreзo. Mas tem diversos problemas sйrios em seu cуdigo, as funcionalidades do seu sistema estгo muito acopladas e pouco coesas, recomendo firmemente que refaзa as suas funзхes. Por exemplo, Criar_Casa й dividida em dois lugares, e isso nгo й legal, o ideal seria que toda a lуgica da criaзгo de uma casa se concentrasse apenas na funзгo. Podemos tambйm observar que hб vбrios fragmentos de lуgicas espalhados pelas callbacks do seu script, e isso nгo й seguro.

Sobre o erro, vocк cria as pickups e 3dtexts toda vez que alguйm spawna caso o arquivo da casa exista, isso nгo vai funcionar como vocк quer, o problema estб aн. Imagine o que aconteceria caso 50 jogadores spawnassem? Pois bem, isso nгo vai funcionar. Pense em outra soluзгo, acredito que vocк possa lidar com isso.
Reply
#9

Quote:
Originally Posted by Artista
Посмотреть сообщение
Em primeiro lugar, parabйns por nгo desistir e tentar criar um cуdigo prуprio, vocк teve esforзo e com isso vocк tem meu apreзo. Mas tem diversos problemas sйrios em seu cуdigo, as funcionalidades do seu sistema estгo muito acopladas e pouco coesas, recomendo firmemente que refaзa as suas funзхes. Por exemplo, Criar_Casa й dividida em dois lugares, e isso nгo й legal, o ideal seria que toda a lуgica da criaзгo de uma casa se concentrasse apenas na funзгo. Podemos tambйm observar que hб vбrios fragmentos de lуgicas espalhados pelas callbacks do seu script, e isso nгo й seguro.

Sobre o erro, vocк cria as pickups e 3dtexts toda vez que alguйm spawna caso o arquivo da casa exista, isso nгo vai funcionar como vocк quer, o problema estб aн. Imagine o que aconteceria caso 50 jogadores spawnassem? Pois bem, isso nгo vai funcionar. Pense em outra soluзгo, acredito que vocк possa lidar com isso.
entгo mano, deixa eu te explicar.
botei a funзгo de spawnar o player no comando para testar, se tinha algo errado com meu script de gerar a casa.
Botei o script na onplayer spawn para testar, e vi que funciona, cria a pickup e o texto desta forma.

engraзado que o mesmo cуdigo na OnGameModeInit (que й o correto) nгo funciona lб !


as informaзхes da casa estгo sendo salvas corretamente, porйm quando eu crio ela da mt lag no servidor
se eu sair e voltar sem fechar o samp_server ela continua lб.
Se eu fechar o samp_server e abrir novamente ela some.

complicado ....

https://imgur.com/a/NUqqOxC
https://imgur.com/a/NUqqOxC


Код:
#include < a_samp >
#include < sscanf >
#include < dof2 >
#include < zcmd >

#define MAX_HOUSES 100


enum InfoH
{
	hID,
	Float:hIcone[3],
	hPreco,
	hDono[25],

	hCofre,
	hAluguel,
	hCarro,
	Float:hCarroPos[3],
	hInterior,
 	Text3D:hText,
 	hPickUp
}


new HInfo[MAX_HOUSES][InfoH];
new EstaEmCasa[MAX_PLAYERS];
new arquivo_casa[120];

main(){	print("Sistema de casas");}

public OnGameModeInit()
{
	UsePlayerPedAnims();
	DisableInteriorEnterExits();
	SetGameModeText("HOUSE SCRIPT");
	AddPlayerClass(23, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);

 	// Criaзгo de casas automбticamente
 	for(new i = 0; i < MAX_HOUSES; ++i)
    {
    	Carregar_Casa(i);

        if(DOF2_FileExists(arquivo_casa[i]))
        {
            new str[250];
            format(str, sizeof(str), "Casa %d\nDono %s\nValor %d\nAluguel %d", HInfo[i][hID], HInfo[i][hDono], HInfo[i][hPreco], HInfo[i][hAluguel]);
        	Create3DTextLabel(str, -1, HInfo[i][hIcone][0], HInfo[i][hIcone][1], HInfo[i][hIcone][2], 40.0, 0, 0);
       	 	HInfo[i][hPickUp] = CreatePickup(1273, 1, HInfo[i][hIcone][0], HInfo[i][hIcone][1], HInfo[i][hIcone][2], -1);
        }
    }

	return 1;
}
/*
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == KEY_YES )
    {
     	for(new i = 0; i < MAX_HOUSES; ++i)
    	{
         if (IsPlayerInRangeOfPoint(playerid, 2, HInfo[i][hIcone][0], HInfo[i][hIcone][1], HInfo[i][hIcone][2]));
	        {
	            new str[120];
	            format(str, sizeof(str),"Vocк entrou na casa %d", HInfo[i][hID]);
				SendClientMessage(playerid, -1, str);
	        }
   }
    }
    return 1;
}
*/

new cont;

public OnPlayerPickUpPickup(playerid, pickupid)
{
 	for(new i = 0; i < MAX_HOUSES; ++i)
    {
	    if(pickupid == HInfo[i][hPickUp]) // verifica corretamente a casa que o player estб em cima !
	    {
	        if(cont == 0) // pra nгo ficar floodando a mensagem
	        {
	//	        SetPlayerInterior(playerid, HInfo[i][hInterior]);
	   			EstaEmCasa[playerid] = HInfo[i][hID];
				new str[120];
	//			format(str, sizeof(str), "Vocк estб na casa %d", HInfo[i][hID]);
				format(str, sizeof(str), "Vocк estб na casa %d", EstaEmCasa[playerid]); //
				SendClientMessage(playerid, -1, str);
				cont ++;
			}
	    }
    }
    return 1;
}

CMD:zerar(playerid) // teste
{
	cont = 0;
	return 1;
}

public OnGameModeExit()
{
    DOF2_Exit();
    for(new i = 0; i < MAX_HOUSES; ++i) { Salvar_Casa(i); }
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	SpawnPlayer(playerid);
	return 1;
}

public OnPlayerConnect(playerid)
{
 	for(new i = 0; i < MAX_HOUSES; ++i)
    {
        if(!DOF2_FileExists(arquivo_casa[i]))
        {
            Carregar_Casa(i);

            new str[120];
            format(str, sizeof(str), "Casa %d\nDono: %s\nValor %d\nAluguel %d", HInfo[i][hID], HInfo[i][hDono], HInfo[i][hPreco], HInfo[i][hAluguel]);
        	Create3DTextLabel(str, -1, HInfo[i][hIcone][0], HInfo[i][hIcone][1], HInfo[i][hIcone][2], 40.0, 0, 0);
       	 	HInfo[i][hPickUp] = CreatePickup(1273, 1, HInfo[i][hIcone][0], HInfo[i][hIcone][1], HInfo[i][hIcone][2], -1);
        }
    }
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    for(new i = 0; i < MAX_HOUSES; ++i) { Salvar_Casa(i); }
    return 1;
}

public OnPlayerSpawn(playerid) // Mostra corretamente as informaзхes
{
 	for(new i = 0; i < MAX_HOUSES; ++i)
    {
        if(!DOF2_FileExists(arquivo_casa[i]))
        {
            Carregar_Casa(i);
            
            new str[120];
            format(str, sizeof(str), "Casa %d\nDono: %s\nValor %d\nAluguel %d", HInfo[i][hID], HInfo[i][hDono], HInfo[i][hPreco], HInfo[i][hAluguel]);
        	Create3DTextLabel(str, -1, HInfo[i][hIcone][0], HInfo[i][hIcone][1], HInfo[i][hIcone][2], 40.0, 0, 0);
       	 	HInfo[i][hPickUp] = CreatePickup(1273, 1, HInfo[i][hIcone][0], HInfo[i][hIcone][1], HInfo[i][hIcone][2], -1);
        }
	}
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	return 1;
}

CMD:criarcasa(playerid, params[])
{
//	if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Vocк nгo tem permisгo para usar este comando!");
	new id, intr, preco;
	if(sscanf(params, "ddd", id, intr, preco)) return SendClientMessage(playerid, -1, "/criarcasa id interior preco");

	new Float:Pos[3];
	GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);

	HInfo[id][hInterior] = intr;
	HInfo[id][hID] = id;
	HInfo[id][hCofre] = 250;
	HInfo[id][hCarro] = 265;
	HInfo[id][hPreco] = preco;
	HInfo[id][hAluguel] = 500;
	
	HInfo[id][hCarroPos][0] = 0;
	HInfo[id][hCarroPos][1] = 0;
	HInfo[id][hCarroPos][2] = 0;

	new str[120];
	format (str, sizeof(str), "O Administrador %s criou uma casa id %d valor: %d", GetNome(playerid), id, preco);
	SendClientMessageToAll(-1, str);

	HInfo[id][hIcone][0] = Pos[0], HInfo[id][hIcone][1] = Pos[1], HInfo[id][hIcone][2] = Pos[2];
	
	Criar_Casa(id); // Funciona !
	SpawnPlayer(playerid);
	return 1;
}

Criar_Casa(casaid)
{
	format(arquivo_casa, sizeof(arquivo_casa), "casas/casa %d.ini", HInfo[casaid][hID]); 
    if(!DOF2_FileExists(arquivo_casa))         
    {
        DOF2_CreateFile(arquivo_casa);
    }
    if(DOF2_FileExists(arquivo_casa))  
    {
	    format(arquivo_casa, sizeof(arquivo_casa), "casas/casa %d.ini", HInfo[casaid][hID]);

	    DOF2_SetInt(arquivo_casa, "ID", HInfo[casaid][hID]);
	    DOF2_SetString(arquivo_casa, "Dono", "Ninguem");
	    DOF2_SetInt(arquivo_casa, "Preco", HInfo[casaid][hPreco]);
	    DOF2_SetInt(arquivo_casa, "Aluguel", HInfo[casaid][hAluguel]);
	    
	    DOF2_SetInt(arquivo_casa, "Carro", HInfo[casaid][hCarro]);
	    DOF2_SetInt(arquivo_casa, "Interior", HInfo[casaid][hInterior]);
	    
	    DOF2_SetFloat(arquivo_casa, "Iconex",    HInfo[casaid][hIcone][0]);
	    DOF2_SetFloat(arquivo_casa, "Iconey",    HInfo[casaid][hIcone][1]);
	    DOF2_SetFloat(arquivo_casa, "Iconez",    HInfo[casaid][hIcone][2]);

	    DOF2_SetFloat(arquivo_casa, "CarroPosx", HInfo[casaid][hCarroPos][0]);
	    DOF2_SetFloat(arquivo_casa, "CarroPosy", HInfo[casaid][hCarroPos][1]);
	    DOF2_SetFloat(arquivo_casa, "CarroPosz", HInfo[casaid][hCarroPos][2]);

	    DOF2_SaveFile();
	}
}

Carregar_Casa(casaid)
{
/*
    format(arquivo_casa, sizeof(arquivo_casa), "casas/casa %d.ini", HInfo[casaid][hID]);
    format(HInfo[casaid][hDono], 25, HInfo[casaid][hDono], "%s", DOF2_GetString(arquivo_casa, "Dono"));
*/
	new string[25];
	format(string, sizeof(string), "%s", DOF2_GetString(arquivo_casa, "Dono"));

    HInfo[casaid][hID] = DOF2_GetInt(arquivo_casa, "ID");
    HInfo[casaid][hDono] = string;
    HInfo[casaid][hPreco] = DOF2_GetInt(arquivo_casa, "Preco");
    HInfo[casaid][hAluguel] = DOF2_GetInt(arquivo_casa, "Aluguel");
    HInfo[casaid][hCarro] = DOF2_GetInt(arquivo_casa, "Carro");
    HInfo[casaid][hInterior] = DOF2_GetInt(arquivo_casa, "Interior");

    HInfo[casaid][hIcone][0] = DOF2_GetFloat(arquivo_casa, "Iconex");
    HInfo[casaid][hIcone][1] = DOF2_GetFloat(arquivo_casa, "Iconey");
    HInfo[casaid][hIcone][2] = DOF2_GetFloat(arquivo_casa, "Iconez");

    HInfo[casaid][hCarroPos][0] = DOF2_GetFloat(arquivo_casa, "CarroPosx");
    HInfo[casaid][hCarroPos][1] = DOF2_GetFloat(arquivo_casa, "CarroPosy");
    HInfo[casaid][hCarroPos][2] = DOF2_GetFloat(arquivo_casa, "CarroPosz");
}

Salvar_Casa(casaid)
{
    format(arquivo_casa, sizeof(arquivo_casa), "casas/casa %d.ini", HInfo[casaid][hID]);

    DOF2_SetInt(arquivo_casa, "Dono", HInfo[casaid][hDono]);
    DOF2_SetInt(arquivo_casa, "ID", HInfo[casaid][hID]);
    DOF2_SetInt(arquivo_casa, "Preco", HInfo[casaid][hPreco]);
    DOF2_SetInt(arquivo_casa, "Aluguel", HInfo[casaid][hAluguel]);
    DOF2_SetInt(arquivo_casa, "Carro", HInfo[casaid][hCarro]);
    DOF2_SetInt(arquivo_casa, "Interior", HInfo[casaid][hInterior]);
    
    DOF2_SetFloat(arquivo_casa, "Iconex", HInfo[casaid][hIcone][0]);
    DOF2_SetFloat(arquivo_casa, "Iconey", HInfo[casaid][hIcone][1]);
    DOF2_SetFloat(arquivo_casa, "Iconez", HInfo[casaid][hIcone][2]);
    
    DOF2_SetFloat(arquivo_casa, "CarroPosx", HInfo[casaid][hCarroPos][0]);
    DOF2_SetFloat(arquivo_casa, "CarroPosy", HInfo[casaid][hCarroPos][1]);
    DOF2_SetFloat(arquivo_casa, "CarroPosz", HInfo[casaid][hCarroPos][2]);
    DOF2_SaveFile();
}

stock GetNome(playerid){
new pNome[MAX_PLAYER_NAME];
GetPlayerName(playerid, pNome, 24);
return pNome; }
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)