Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Milee poslato April 15, 2014, 18:39:53 POSLE PODNE

Naslov: [Pomoc] House Sistem
Poruka od: Milee poslato April 15, 2014, 18:39:53 POSLE PODNE
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): /
Naslov: Odg: [Pomoc] House Sistem
Poruka od: Ino42O poslato April 15, 2014, 19:40:34 POSLE PODNE
daj mi komandu gdje kupuje kucu i dio u kojem se spremaju varijable
Naslov: Odg: [Pomoc] House Sistem
Poruka od: Detter poslato April 15, 2014, 19:48:45 POSLE PODNE
logicno
Vecinom su sve igraceve varijable spremljene kad on napusti server ,a ne tijekom igre.
Naslov: Odg: [Pomoc] House Sistem
Poruka od: Milee poslato April 15, 2014, 19:50:53 POSLE PODNE
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]);
Naslov: Odg: [Pomoc] House Sistem
Poruka od: Ino42O poslato April 15, 2014, 20:15:16 POSLE PODNE
Kopiraj sve spremanje iz onplayerdisconnecta  pod onplayerupdate i onda ce ti se svaoog trena spremati
Naslov: Odg: [Pomoc] House Sistem
Poruka od: Milee poslato April 15, 2014, 20:22:33 POSLE PODNE
hvala,radi sad :D
Naslov: Odg: [Pomoc] House Sistem
Poruka od: Ino42O poslato April 15, 2014, 20:31:31 POSLE PODNE
Citat: saiTek poslato April 15, 2014, 20:22:33 POSLE PODNE
hvala,radi sad :D

No problem, uzivaj :D
Naslov: Odg: [Pomoc] House Sistem
Poruka od: 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...
Naslov: Odg: [Pomoc] House Sistem
Poruka od: Ino42O poslato April 15, 2014, 20:57:52 POSLE PODNE
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;
}

Naslov: Odg: [Pomoc] House Sistem
Poruka od: Detter poslato April 15, 2014, 21:46:34 POSLE PODNE
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;