SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 15/07/2019, 11:36 PM   #1
Japis
Big Clucker
 
Join Date: Mar 2017
Posts: 150
Reputation: 0
Unhappy /Comprar /Vender (casas)

Fale galera to com um problema chato nesses dois comandos, o primeiro é que ta dizendo que os comandos não existem ao serem executados, o comando comprar e vender funcionam mas ta dizendo que nao existe.

meu comando de /vendercasa ta bugado, ele não ta atualizando o arquivo da pasta, o que é estranho porque eu utilizo o mesmo save pro /comprarcasa e lá os dados carregam nos arquivos e salvam, ai no /vendercasa ocorre as funções todas la no serv porém lá no arquivo o cara continua como dono não atualiza é estranho mas vou deixar os comandos pra analise se alguém souber o motivo desses conflitos ficaria grato ^^^^^

Code:
CMD:vendercasa(playerid, params[])
	{
			GetPlayerName(playerid, playername, sizeof(playername));
			if(PlayerInfo[playerid][pPHousekey] == 500)
			{
				SendClientMessage(playerid, -1, "Você não tem casa.");
				return true;
			}
			if(PlayerInfo[playerid][pPHousekey] != 500 && strcmp(playername, HouseInfo[PlayerInfo[playerid][pPHousekey]][hOwner], true) == 0)
			{
			new House = PlayerInfo[playerid][pPHousekey];
				if(PlayerInfo[playerid][pLocal] == House)
				{
					SetPlayerInterior(playerid,0);

					SetPlayerPos(playerid,HouseInfo[House][hEntrancex],HouseInfo[House][hEntrancey],HouseInfo[House][hEntrancez]);
					PlayerInfo[playerid][pInt] = 0;
				}
			    new string[128];
				HouseInfo[House][hHealthx] = 0;
				HouseInfo[House][hHealthy] = 0;
				HouseInfo[House][hHealthz] = 0;
				HouseInfo[House][hArmorrx] = 0;
				HouseInfo[House][hArmorry] = 0;
				HouseInfo[House][hArmorrz] = 0;
				HouseInfo[House][hLock] = 1;
				HouseInfo[House][hOwned] = 0;
				HouseInfo[House][hVec] = 587;
				HouseInfo[House][hVcol1] = -1;
				HouseInfo[House][hVcol2] = -1;
				GetPlayerName(playerid, sendername, sizeof(sendername));
				strmid(HouseInfo[House][hOwner], "O estado", 0, strlen("O estado"), 255);
				GivePlayerMoney(playerid,HouseInfo[House][hValue]);
				PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
				format(string, sizeof(string), "~w~Parabens~n~ Voce vendeu a casa por ~n~~g~R$%d", HouseInfo[House][hValue]);
				GameTextForPlayer(playerid, string, 10000, 3);
				format(string, sizeof(string), "%s vendeu sua propriedade ID: %d", Nome(playerid), House);
				ServLogs("casas", string);
				PlayerInfo[playerid][pPHousekey] = 500;
				DestroyDynamicMapIcon(HouseInfo[House][hMapIcon]);
				HouseInfo[House][hMapIcon] = CreateDynamicMapIcon(HouseInfo[House][hEntrancex], HouseInfo[House][hEntrancey], HouseInfo[House][hEntrancez], 31, 0xE6E6E6E6, -1, -1, -1, 250.0);
				Atualizar3Dtexts();
				SaveCasa(House);
			}
			 return 1;
		}



Comando de comprar:

Code:
CMD:comprarcasa(playerid, params[])
	{
			new Float:oldposx, Float:oldposy, Float:oldposz,gstring[100];
			GetPlayerName(playerid, playername, sizeof(playername));
			GetPlayerPos(playerid, oldposx, oldposy, oldposz);
			for(new h = 0; h < sizeof(HouseInfo); h++)
			{
				if(PlayerToPoint(2.0, playerid, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]) && HouseInfo[h][hOwned] == 0)
				{
					format(gstring, sizeof(gstring), "Casa VIP");

					new string[128];
					if(PlayerInfo[playerid][pPHousekey] != 500 && strcmp(playername, HouseInfo[PlayerInfo[playerid][pPHousekey]][hOwner], true) == 0)
					{
						SendClientMessage(playerid, LARANJA, "Você tem uma casa para vender digite /vendercasa, você receberá o mesmo valor que foi pago!");
						return true;
					}
					if(GetPlayerMoney(playerid) > HouseInfo[h][hValue])
					{
						PlayerInfo[playerid][pPHousekey] = h;
	        	    	PlayerInfo[playerid][pPHouseCarKey] = HouseInfo[h][hIdCarro];
						HouseInfo[h][hOwned] = 1;
					    HouseInfo[h][hRentabil] = 1;
					    HouseInfo[h][hLock] = 0;
					    HouseInfo[h][hRent] = 200;

						GetPlayerName(playerid, sendername, sizeof(sendername));
						strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255);
						GivePlayerMoney(playerid,-HouseInfo[h][hValue]);
						GameTextForPlayer(playerid, "~w~Bem vindo em casa~n~Para sair digite /sair", 5000, 3);
						SendClientMessage(playerid, -1, "Parabéns pela sua nova casa!");
						SetPlayerInterior(playerid,HouseInfo[h][hInt]);
						SetPlayerVirtualWorld(playerid,HouseInfo[h][hWorld]);
						SetPlayerPos(playerid,HouseInfo[h][hExitx],HouseInfo[h][hExity],HouseInfo[h][hExitz]);
						PlayerInfo[playerid][pInt] = HouseInfo[h][hInt];
						PlayerInfo[playerid][pLocal] = h;
						HouseEntered[playerid] = h;
						UnLockCar(HouseInfo[h][hIdCarro]);
						SetPlayerVirtualWorld(playerid,HouseInfo[h][hWorld]);
						SendClientMessage(playerid, -1, "Digite /ajudacasa Em caso de duvidas, Use /mudarlocal para nascer na casa !!!");
						format(string, sizeof(string), "%s comprou a casa ID: %d", Nome(playerid), h);
						ServLogs("casas", string);
					    DateProp(playerid);

						DestroyDynamicMapIcon(HouseInfo[h][hMapIcon]);
						HouseInfo[h][hMapIcon] = CreateDynamicMapIcon(HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 32, 0xE6E6E6E6, -1, -1, -1, 250.0);

                        Atualizar3Dtexts();
						SaveCasa(h);
						return true;
					}
					else
					{
						SendClientMessage(playerid, -1, "   Você não tem dinheiro o suficiente. !");
						return true;
					}
				}
			}
			return true;
	}








Static stock que ta salvando os dados:

Code:
static stock SaveCasa(idx)
{
	new files[75];
 	format(files, sizeof files, "Bens/Casas/%d.ini", idx);
   	if(DOF2_FileExists(files))
    {
			DOF2_SetFloat(files, "hEntx", HouseInfo[idx][hEntrancex]);
			DOF2_SetFloat(files, "hEnty", HouseInfo[idx][hEntrancey]);
			DOF2_SetFloat(files, "hEntz", HouseInfo[idx][hEntrancez]);

			DOF2_SetFloat(files, "hExitx", HouseInfo[idx][hExitx]);
			DOF2_SetFloat(files, "hExity", HouseInfo[idx][hExity]);
			DOF2_SetFloat(files, "hExitz", HouseInfo[idx][hExitz]);

			DOF2_SetInt(files, "hHx", HouseInfo[idx][hHealthx]);
			DOF2_SetInt(files, "hHy", HouseInfo[idx][hHealthy]);
			DOF2_SetInt(files, "hHz", HouseInfo[idx][hHealthz]);

			DOF2_SetInt(files, "hAx", HouseInfo[idx][hArmorrx]);
			DOF2_SetInt(files, "hAy", HouseInfo[idx][hArmorry]);
			DOF2_SetInt(files, "hAz", HouseInfo[idx][hArmorrz]);

			DOF2_SetString(files, "Dono", HouseInfo[idx][hOwner]);
			DOF2_SetString(files, "Descricao", HouseInfo[idx][hDiscription]);
			DOF2_SetString(files, "VerData", HouseInfo[idx][hVerData]);

			DOF2_SetInt(files, "Valor", HouseInfo[idx][hValue]);
			DOF2_SetInt(files, "Interior", HouseInfo[idx][hInt]);
			DOF2_SetInt(files, "Lock", HouseInfo[idx][hLock]);
			DOF2_SetInt(files, "TemDono", HouseInfo[idx][hOwned]);
			DOF2_SetInt(files, "Rent", HouseInfo[idx][hRent]);
			DOF2_SetInt(files, "Rentabil", HouseInfo[idx][hRentabil]);
			DOF2_SetInt(files, "Veiculo", HouseInfo[idx][hVec]);
			DOF2_SetInt(files, "color1", HouseInfo[idx][hVcol1]);
			DOF2_SetInt(files, "color2", HouseInfo[idx][hVcol2]);
			DOF2_SetInt(files, "Data", HouseInfo[idx][hDate]);
			DOF2_SetInt(files, "World", idx);

			DOF2_SetFloat(files, "Carrox", HouseInfo[idx][hCarrox]);
			DOF2_SetFloat(files, "Carroy", HouseInfo[idx][hCarroy]);
			DOF2_SetFloat(files, "Carroz", HouseInfo[idx][hCarroz]);
			DOF2_SetFloat(files, "Carroa", HouseInfo[idx][hCarroa]);
			DOF2_SaveFile();
	}
}

essa stock parece que só ta funcionando la no /comprarcasa não to entendendo o por que de não pegar também la no /vendercasa
Japis is offline   Reply With Quote
Old 16/07/2019, 02:03 AM   #2
AutoMatic2
Huge Clucker
 
AutoMatic2's Avatar
 
Join Date: Apr 2018
Location: Patrocínio MG
Posts: 435
Reputation: 10
Default Re: /Comprar /Vender (casas)

Pq não faz seu sistema? Já vi que ele deu problemas e tá dando mais agora, e outra stocks são inúteis quando vc ta chamando ela.

PHP Code:
SaveHouse(i)
{
    
// ...
    
return 1;

Se quiser eu te do até uma base.
__________________
Você nunca vai aprender desistindo!
AutoMatic2 is offline   Reply With Quote
Old 16/07/2019, 05:53 PM   #3
Japis
Big Clucker
 
Join Date: Mar 2017
Posts: 150
Reputation: 0
Default Re: /Comprar /Vender (casas)

Obrigado pela oferta, mas o sistema aqui já ta todo aplicado não sei qual foi o detalhe no código /vendercasa que está interferindo no salvamento dos dados, já que eu estou checando na pasta o arquivo não sofre alteração nenhuma nos dados, já no /comprarcasa ele salva e altera deixei ambos comandos a fins de alguém desvendar esse mistério já tentei e não acho solução pra isso :_
Japis is offline   Reply With Quote
Old 16/07/2019, 06:21 PM   #4
FerrariL
Gangsta
 
FerrariL's Avatar
 
Join Date: Sep 2016
Location: Goiânia
Posts: 649
Reputation: 32
Default Re: /Comprar /Vender (casas)

Quote:
Originally Posted by Japis View Post
Obrigado pela oferta, mas o sistema aqui já ta todo aplicado não sei qual foi o detalhe no código /vendercasa que está interferindo no salvamento dos dados, já que eu estou checando na pasta o arquivo não sofre alteração nenhuma nos dados, já no /comprarcasa ele salva e altera deixei ambos comandos a fins de alguém desvendar esse mistério já tentei e não acho solução pra isso :_
Debug seu código, tanto o comando /vendercasa quanto a função de salvamento. Veja se a função chega a ser chamada.
__________________
Desenvolvo sistemas por encomenda.
Discord: FerrariL#5104
FerrariL is offline   Reply With Quote
Old 16/07/2019, 08:44 PM   #5
Japis
Big Clucker
 
Join Date: Mar 2017
Posts: 150
Reputation: 0
Default Re: /Comprar /Vender (casas)

Já fiz isso, no comando /comprarcasa ele chama o SaveCasa, mas la no /vender não chega a salvar porém acontecem as funções de venda mas não salva
Japis is offline   Reply With Quote
Old 16/07/2019, 09:38 PM   #6
NWDMadara
Huge Clucker
 
NWDMadara's Avatar
 
Join Date: Mar 2018
Posts: 251
Reputation: 5
Default Re: /Comprar /Vender (casas)

Não estou entendendo muito o que está acontecendo.

Você possui 2 comandos que chamam a mesma stock, e só em um deles a stock é executada corretamente?
NWDMadara is online now   Reply With Quote
Old 16/07/2019, 10:18 PM   #7
Japis
Big Clucker
 
Join Date: Mar 2017
Posts: 150
Reputation: 0
Default Re: /Comprar /Vender (casas)

Quote:
Originally Posted by NWDMadara View Post
Não estou entendendo muito o que está acontecendo.

Você possui 2 comandos que chamam a mesma stock, e só em um deles a stock é executada corretamente?
Isso mesmo, no comando /ComprarCasa essa stock é chamada e funciona vi isso no console, agora no comando /vendercasa o comando em si funciona mas a parte de acionar a stock não funciona não chama ela.

Ambos comandos dão aquele bug de não existirem/inválidos/inexistentes não sei se é o return que ta bugado la
Japis is offline   Reply With Quote
Old 16/07/2019, 10:19 PM   #8
NWDMadara
Huge Clucker
 
NWDMadara's Avatar
 
Join Date: Mar 2018
Posts: 251
Reputation: 5
Default Re: /Comprar /Vender (casas)

manda
o comando que está bugando
NWDMadara is online now   Reply With Quote
Old 16/07/2019, 10:23 PM   #9
Japis
Big Clucker
 
Join Date: Mar 2017
Posts: 150
Reputation: 0
Default Re: /Comprar /Vender (casas)

Code:
CMD:vendercasa(playerid, params[])
	{
			GetPlayerName(playerid, playername, sizeof(playername));
			if(PlayerInfo[playerid][pPHousekey] == 500)
			{
				SendClientMessage(playerid, -1, "Você não tem casa.");
				return true;
			}
			if(PlayerInfo[playerid][pPHousekey] != 500 && strcmp(playername, HouseInfo[PlayerInfo[playerid][pPHousekey]][hOwner], true) == 0)
			{
			new House = PlayerInfo[playerid][pPHousekey];
				if(PlayerInfo[playerid][pLocal] == House)
				{
					SetPlayerInterior(playerid,0);

					SetPlayerPos(playerid,HouseInfo[House][hEntrancex],HouseInfo[House][hEntrancey],HouseInfo[House][hEntrancez]);
					PlayerInfo[playerid][pInt] = 0;
				}
			    new string[128];
				HouseInfo[House][hHealthx] = 0;
				HouseInfo[House][hHealthy] = 0;
				HouseInfo[House][hHealthz] = 0;
				HouseInfo[House][hArmorrx] = 0;
				HouseInfo[House][hArmorry] = 0;
				HouseInfo[House][hArmorrz] = 0;
				HouseInfo[House][hLock] = 1;
				HouseInfo[House][hOwned] = 0;
				HouseInfo[House][hVec] = 587;
				HouseInfo[House][hVcol1] = -1;
				HouseInfo[House][hVcol2] = -1;
				GetPlayerName(playerid, sendername, sizeof(sendername));
				strmid(HouseInfo[House][hOwner], "O estado", 0, strlen("O estado"), 255);
				GivePlayerMoney(playerid,HouseInfo[House][hValue]);
				PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
				format(string, sizeof(string), "~w~Parabens~n~ Voce vendeu a casa por ~n~~g~R$%d", HouseInfo[House][hValue]);
				GameTextForPlayer(playerid, string, 10000, 3);
				format(string, sizeof(string), "%s vendeu sua propriedade ID: %d", Nome(playerid), House);
				ServLogs("casas", string);
				PlayerInfo[playerid][pPHousekey] = 500;
				DestroyDynamicMapIcon(HouseInfo[House][hMapIcon]);
				HouseInfo[House][hMapIcon] = CreateDynamicMapIcon(HouseInfo[House][hEntrancex], HouseInfo[House][hEntrancey], HouseInfo[House][hEntrancez], 31, 0xE6E6E6E6, -1, -1, -1, 250.0);
				Atualizar3Dtexts();
				SaveCasa(House);
			}
			 return 1;
		}
Ta ai, o outro de /comprar e a stock de save tão aqui no 1#tópico
Japis is offline   Reply With Quote
Old 16/07/2019, 10:30 PM   #10
AutoMatic2
Huge Clucker
 
AutoMatic2's Avatar
 
Join Date: Apr 2018
Location: Patrocínio MG
Posts: 435
Reputation: 10
Default Re: /Comprar /Vender (casas)

Não precisa chamar essa função para salvar o /ComprarCasa e o /VenderCasa, basta atualizar oque está mudando

• Comprar casa

PHP Code:
/* Tipo o dono, tem dono, EX: */

format(Casa[c][cDono], 20GetName(playerid));
Casa[c][cTemDono] = true;

DOF2::SetString(file"Dono"Casa[c][cDono]);
DOF2::SetInt(file"Tem Dono"Casa[c][cPropietario]);
DOF2::SaveFile();

/* E também atualizar o Pickup, Mapicon e TextLabel */

Casa[c][cPickup] = CreateDynamicPickup(...);
Casa[c][cIcone] = CreateDynamicMapIcon(...);

format(stringsizeof(string), "Casa %d\n\nDono: %s\nPara as informações use: /InfoCasa"cCasa[c][cDono]);
UpdateDynamic3DTextLabelText(Casa[c][cLabel], string); 
Se quiser faça o mesmo com vender casa. Faça seu sistema e pare de tentar entender o bug dos outros.
__________________
Você nunca vai aprender desistindo!
AutoMatic2 is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] Vender automaticamente casas de jogadores inativos warriorfrog Português/Portuguese 21 22/06/2015 07:52 AM
[Tutorial] Criando casas para vender. The_Hight Lançamentos/Releases 19 15/02/2015 05:13 PM
[Ajuda] MapIcon de casas ao vender... aldair8 Português/Portuguese 4 11/12/2012 04:14 PM
[AJUDA]Queria um FS com casas pra vender. Life_Boy Português/Portuguese 3 01/12/2010 08:46 PM
[DUV]Vender casas mastersdrifters Português/Portuguese 2 03/02/2010 06:20 PM


All times are GMT. The time now is 04:25 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.