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
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
hvala,radi sad :D
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;
}
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;