Započeo |¤ White ¤|
•2. Maj 2012.• Zaključano[Pomoc] OnpropUpdate Y_ini
511
pregleda
3
postova
Enforcer
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
211
Postovi:
30
Teme:
Pridružio se:Jan. 2011
2. Maj 2012.
Skripta koju koristim:GTARP
Detaljan opis problema: Radio sam OnPropUpdate da sejvuje kuce, kola, biznise i sad kad sam odradio u Y_ini ono od tad kad kupim kucu, ili kad otkljucam/ zakljucam vozilo ono u komandi treba da izvrsi OnPropUpdate i kad je OnPropUpdate na redu da se koristi ono server se ukoci i tek posle nekoliko sekunde se moze radi(pise, kucaju komade itd.)
Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Detaljan opis problema: Radio sam OnPropUpdate da sejvuje kuce, kola, biznise i sad kad sam odradio u Y_ini ono od tad kad kupim kucu, ili kad otkljucam/ zakljucam vozilo ono u komandi treba da izvrsi OnPropUpdate i kad je OnPropUpdate na redu da se koristi ono server se ukoci i tek posle nekoliko sekunde se moze radi(pise, kucaju komade itd.)
Dio skripte:
stock OnPropUpdate()
{
new idx;
idx = 0;
while (idx < sizeof(HouseInfo))
{
new hFile;
format(hFile, 35, House_File, idx);
new INI:File = INI_Open(hFile);
INI_WriteFloat(File, "EntranceX", HouseInfo);
INI_WriteFloat(File, "EntranceY", HouseInfo);
INI_WriteFloat(File, "EntranceZ", HouseInfo);
INI_WriteFloat(File, "ExitX", HouseInfo);
INI_WriteFloat(File, "ExitY", HouseInfo);
INI_WriteFloat(File, "ExitZ", HouseInfo);
INI_WriteString(File, "Vlasnik", HouseInfo);
INI_WriteString(File, "Opis", HouseInfo);
INI_WriteInt(File, "Cena", HouseInfo);
INI_WriteInt(File, "HealthUpgrade", HouseInfo);
INI_WriteInt(File, "ArmourUpgrade", HouseInfo);
INI_WriteInt(File, "Enterijer", HouseInfo);
INI_WriteInt(File, "Zakljucano", HouseInfo);
INI_WriteInt(File, "Kupljeno", HouseInfo);
INI_WriteInt(File, "Sobe", HouseInfo);
INI_WriteInt(File, "RentCena", HouseInfo);
INI_WriteInt(File, "Rent", HouseInfo);
INI_WriteInt(File, "Sef", HouseInfo);
INI_WriteInt(File, "Neaktivnost", HouseInfo);
INI_WriteInt(File, "Level", HouseInfo);
INI_WriteInt(File, "VirtualWorld", HouseInfo);
INI_Close(File);
idx++;
}
idx = 0;
while (idx < sizeof(BizzInfo))
{
new bFile;
format(bFile, 35, Biz_File, idx);
new INI:File = INI_Open(bFile);
INI_WriteInt(File, "Vlasnistvo", BizzInfo);
INI_WriteString(File, "Vlasnik", BizzInfo);
INI_WriteString(File, "Opis", BizzInfo);
INI_WriteString(File, "Reket", BizzInfo);
INI_WriteFloat(File, "EntranceX", BizzInfo);
INI_WriteFloat(File, "EntranceY", BizzInfo);
INI_WriteFloat(File, "EntranceZ", BizzInfo);
INI_WriteFloat(File, "ExitX", BizzInfo);
INI_WriteFloat(File, "ExitY", BizzInfo);
INI_WriteFloat(File, "ExitZ", BizzInfo);
INI_WriteInt(File, "Level", BizzInfo);
INI_WriteInt(File, "Cena", BizzInfo);
INI_WriteInt(File, "CenaUlaza", BizzInfo);
INI_WriteInt(File, "Kasa", BizzInfo);
INI_WriteInt(File, "Zakljucano", BizzInfo);
INI_WriteInt(File, "Enterijer", BizzInfo);
INI_WriteInt(File, "Produkti", BizzInfo);
INI_WriteInt(File, "MaxProdukti", BizzInfo);
INI_WriteInt(File, "CenaProdukta", BizzInfo);
INI_Close(File);
idx++;
}
idx = 0;
while (idx < sizeof(SBizzInfo))
{
new sbFile;
format(sbFile, 35, SBiz_File, idx);
new INI:File = INI_Open(sbFile);
INI_WriteInt(File, "Vlasnistvo", SBizzInfo);
INI_WriteString(File, "Vlasnik", SBizzInfo);
INI_WriteString(File, "Opis", SBizzInfo);
INI_WriteString(File, "Reket", SBizzInfo);
INI_WriteFloat(File, "EntranceX", SBizzInfo);
INI_WriteFloat(File, "EntranceY", SBizzInfo);
INI_WriteFloat(File, "EntranceZ", SBizzInfo);
INI_WriteInt(File, "Level", SBizzInfo);
INI_WriteInt(File, "Cena", SBizzInfo);
INI_WriteInt(File, "CenaUlaza", SBizzInfo);
INI_WriteInt(File, "Kasa", SBizzInfo);
INI_WriteInt(File, "Zakljucano", SBizzInfo);
INI_WriteInt(File, "Enterijer", SBizzInfo);
INI_WriteInt(File, "Produkti", SBizzInfo);
INI_WriteInt(File, "MaxProdukti", SBizzInfo);
INI_WriteInt(File, "CenaProdukta", SBizzInfo);
INI_Close(File);
idx++;
}
idx = 240;
while (idx < sizeof(CarInfo))
{
new vFile;
format(vFile, 35, Veh_File, idx);
new INI:File = INI_Open(vFile);
INI_WriteInt(File, "Model", CarInfo);
INI_WriteFloat(File, "PosX", CarInfo);
INI_WriteFloat(File, "PosY", CarInfo);
INI_WriteFloat(File, "PosZ", CarInfo);
INI_WriteFloat(File, "Angle", CarInfo);
INI_WriteInt(File, "Boja1", CarInfo);
INI_WriteInt(File, "Boja2", CarInfo);
INI_WriteString(File, "Vlasnik", CarInfo);
INI_WriteString(File, "Naziv", CarInfo);
INI_WriteInt(File, "Cena", CarInfo);
INI_WriteString(File, "Tablice", CarInfo);
INI_WriteInt(File, "Vlasnistvo", CarInfo);
INI_WriteInt(File, "Zakljucano", CarInfo);
INI_Close(File);
idx++;
}
return 1;
}Neke slike/video za lakse dobivanje pomoci(neobavezno):
Crime Lord
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
947
Postovi:
80
Teme:
Pridružio se:Jun 2011
2. Maj 2012.
koristis loop kroz kuce, biznise, sbiznise i vozila, i sve ih za jako kratko vreme cuvas sto izaziva lag na serveru
uradi nesto tipa ovako
Ovakav sistem sejvanja je opet siguran, a nepreopterecuje server, ali kako koristis ovakav sistem sejvanja ?
npr kad igrac stavlja novac u kucu, uradis ovo
Ti ovako sacuvas svaku kucu koja se koristi, odnosno cim igrac preduzme neku akciju vezanu za kucu, ta ista kuca se sacuva, odnosno kuca sa ID-om koj se nalazi u PlayerInfo
Time cuvas samo ono sto ej potrebno, jer zasto bi svaki put kroz loop cuvao kuce koje su na prodaji ? one su jendom sacuvane i netreba im vise, dok ih neko nekupi...
isto to stavis i u /buyhouse na kraj komande...
uradi nesto tipa ovako
stock OnPropUpdate(imovina, idx)
{
if(imovina == 1)
{
new hFile;
format(hFile, 35, House_File, idx);
new INI:File = INI_Open(hFile);
INI_WriteFloat(File, "EntranceX", HouseInfo);
INI_WriteFloat(File, "EntranceY", HouseInfo);
INI_WriteFloat(File, "EntranceZ", HouseInfo);
INI_WriteFloat(File, "ExitX", HouseInfo);
INI_WriteFloat(File, "ExitY", HouseInfo);
INI_WriteFloat(File, "ExitZ", HouseInfo);
INI_WriteString(File, "Vlasnik", HouseInfo);
INI_WriteString(File, "Opis", HouseInfo);
INI_WriteInt(File, "Cena", HouseInfo);
INI_WriteInt(File, "HealthUpgrade", HouseInfo);
INI_WriteInt(File, "ArmourUpgrade", HouseInfo);
INI_WriteInt(File, "Enterijer", HouseInfo);
INI_WriteInt(File, "Zakljucano", HouseInfo);
INI_WriteInt(File, "Kupljeno", HouseInfo);
INI_WriteInt(File, "Sobe", HouseInfo);
INI_WriteInt(File, "RentCena", HouseInfo);
INI_WriteInt(File, "Rent", HouseInfo);
INI_WriteInt(File, "Sef", HouseInfo);
INI_WriteInt(File, "Neaktivnost", HouseInfo);
INI_WriteInt(File, "Level", HouseInfo);
INI_WriteInt(File, "VirtualWorld", HouseInfo);
INI_Close(File);
idx++;
}
if(imovina == 2)
{
sad ovde ide za biznise, pa posle stavljas na 3 itd
Ovakav sistem sejvanja je opet siguran, a nepreopterecuje server, ali kako koristis ovakav sistem sejvanja ?
npr kad igrac stavlja novac u kucu, uradis ovo
OnPropUpdate(1,PlayerInfo); // ovo je za kucuOnPropUpdate(1,PlayerInfo); // ovo je za biznisTi ovako sacuvas svaku kucu koja se koristi, odnosno cim igrac preduzme neku akciju vezanu za kucu, ta ista kuca se sacuva, odnosno kuca sa ID-om koj se nalazi u PlayerInfo
Time cuvas samo ono sto ej potrebno, jer zasto bi svaki put kroz loop cuvao kuce koje su na prodaji ? one su jendom sacuvane i netreba im vise, dok ih neko nekupi...
isto to stavis i u /buyhouse na kraj komande...
Enforcer
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
211
Postovi:
30
Teme:
Pridružio se:Jan. 2011
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava