[Pomoc] House Sistem


Započeo Milee, April 15, 2014, 18:39:53 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: od 0
Detaljan opis problema: pa kad igrac kupi kucu nece odma da mu postavi variable na 1 u scriptfiles kao da je kupio kucu vec tek kad izadje sa servera,onda se promijene variable u 1
Dio skripte: koji treba?
Neke slike/video za lakse dobivanje pomoci(neobavezno): /

daj mi komandu gdje kupuje kucu i dio u kojem se spremaju varijable
Software Developer

logicno
Vecinom su sve igraceve varijable spremljene kad on napusti server ,a ne tijekom igre.

Citat: Ivan_Ino.pwn poslato April 15, 2014, 19:40:34 POSLE PODNE
daj mi komandu gdje kupuje kucu i dio u kojem se spremaju varijable

YCMD:kupikucu(playerid, params[], help)
#pragma unused help
{
new Ime[MAX_PLAYER_NAME];
for(new i = 0; i < sizeof(HouseInfo); i++)
		{
	    	GetPlayerName(playerid, Ime, sizeof(Ime));
	    //	if(strcmp(HouseInfo[i][hOwner], Ime, true))
	         if(PlayerInfo[i][pHouse]==1)
	    	{
	        	SendClientMessage(playerid, GRAY, "Vec posjedujete kucu!");
	        	return 1;
			}
			if(IsPlayerInRangeOfPoint(playerid, 3, HouseInfo[i][hEnterX], HouseInfo[i][hEnterY], HouseInfo[i][hEnterZ]) && HouseInfo[i][hOwned] == 0)
		    {
				if(GetPlayerMoney(playerid) < HouseInfo[i][hPrice])
				{
				SendClientMessage(playerid, GRAY, "Nemate dovoljno novca za kupovinu ove kuce!");
				return 1;
				}
				if(GetPlayerScore(playerid) < HouseInfo[i][hLevel])
				{
				SendClientMessage(playerid, GRAY, "Nemate dovoljan level za kupovinu ove kuce!");
				return 1;
				}
				format(HouseInfo[i][hOwner], 24, "%s", Ime);
				HouseInfo[i][hOwned] = 1;
				PlayerInfo[playerid][pHouse] = 1;
				GivePlayerMoney(playerid, -HouseInfo[i][hPrice]);
				SendClientMessage(playerid, COLOR_WHITE, "Cestitamo na kupovini nove kuce!");
				TPUpdate(i);
				SaveHouse(i);
				return 1;
		    }
				}
		return 1;
	}


ovo sam dodao pod onplayerdisconnect:
INI_WriteInt(File,"Kuca",PlayerInfo[playerid][pHouse]);

Kopiraj sve spremanje iz onplayerdisconnecta  pod onplayerupdate i onda ce ti se svaoog trena spremati
Software Developer



nemoj napraviti to

nativna funkcija OnPlayerUpdate je pozvan otprilike 8 puta u sekundi sto znaci da u minuti 480 otvoris i zatvoris (ako koristis yini) fajl od jednog igraca puta broj igraca na serveru...

Citat: Detter poslato April 15, 2014, 20:54:04 POSLE PODNE
nemoj napraviti to

nativna funkcija OnPlayerUpdate je pozvan otprilike 8 puta u sekundi sto znaci da u minuti 480 otvoris i zatvoris (ako koristis yini) fajl od jednog igraca puta broj igraca na serveru...

kako god.. ja sam prije to koristio i nije bilo problema a ako mislis da ce ti ***** srw onda napravi ovo

pod onplayerconnect dodaj
SetTimerEx("autosave",500, true, "i", playerid);


zatim dodaj
forward autosave(playerid);
public autosave(playerid)
{
OVDJE UBACI ONO STO SI UBACIO MALOPRIJE POD OnPlayerUpdate

return 1;
}
Software Developer

ma jok
moze jednostavno otvirit user fajl kad kupi kuci ,elegantnije ,brze i bolje

...
SendClientMessage(playerid, COLOR_WHITE, "Cestitamo na kupovini nove kuce!");
TPUpdate(i);
SaveHouse(i);

// Tu ubacis otvaranje Fajla ,savanje i zatvaranje  ,ali samo te jedne varijable

return 1;
Poslednja Izmena: April 15, 2014, 21:47:05 POSLE PODNE od Detter