[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


Messages In This Thread
estou muito feliz !!! - by Duun - 21.10.2018, 23:25
Re: estou muito feliz !!! - by Duun - 21.10.2018, 23:28
Re: estou muito feliz !!! - by Ermanhaut - 21.10.2018, 23:32
Re: estou muito feliz !!! - by Vithinn - 21.10.2018, 23:42
Re: estou muito feliz !!! - by Duun - 21.10.2018, 23:45
Re: estou muito feliz !!! - by Duun - 22.10.2018, 00:31
Re: estou muito feliz !!! - by [BOPE]Seu._.Madruga - 22.10.2018, 00:42
Re: estou muito feliz !!! - by Artista - 22.10.2018, 00:59
Re: estou muito feliz !!! - by Duun - 22.10.2018, 01:33

Forum Jump:


Users browsing this thread: 3 Guest(s)