Skripta koju koristim: Athlone(zadnja verzija)
Detaljan opis problema: Ovako,kako da ja napravim da se "novac u dzepu" broji po tdu kojem sam napravio,a default sam prekrio boxom,da tu mogu staviti manji za banku,platu,zlato i novac u dzepu,hvala!
Dio skripte://
Neke slike/video za lakse dobivanje pomoci(neobavezno)://
[pawn]
new PlayerText:DzepIgraca[ MAX_PLAYERS ];
UpdateDzepTD(playerid)
{
new stringic[20];
format(stringic,sizeof(stringic),"%d",PlayerInfo[playerid][pMoney]);
PlayerTextDrawSetString(playerid,DzepIgraca[playerid],stringic);
}
[/pawn]
Kad imas promenu novca tj kad dajes ili uzimas samo pozoves UpdateDzepTD(playerid);
Citat: Tosic ãƒ,, poslato Oktobar 08, 2017, 14:07:24 POSLE PODNE
[pawn]
new PlayerText:DzepIgraca[ MAX_PLAYERS ];
UpdateDzepTD(playerid)
{
new stringic[20];
format(stringic,sizeof(stringic),"%d",PlayerInfo[playerid][pMoney]);
PlayerTextDrawSetString(playerid,DzepIgraca[playerid],stringic);
}
[/pawn]
Kad imas promenu novca tj kad dajes ili uzimas samo pozoves UpdateDzepTD(playerid);
moze i manji string, 9 bi bilo dovoljno mislim, ali opet radit ce
rijeseno ?
Zavisi od broja cifara. Bolje da ima veci malo za svaki slucaj :)
Citat: Tosic ãƒ,, poslato Oktobar 08, 2017, 14:15:30 POSLE PODNE
Zavisi od broja cifara. Bolje da ima veci malo za svaki slucaj :)
Hvala vam,lockam!
Citat: Tosic ãƒ,, poslato Oktobar 08, 2017, 14:07:24 POSLE PODNE
[pawn]
new PlayerText:DzepIgraca[ MAX_PLAYERS ];
UpdateDzepTD(playerid)
{
new stringic[20];
format(stringic,sizeof(stringic),"%d",PlayerInfo[playerid][pMoney]);
PlayerTextDrawSetString(playerid,DzepIgraca[playerid],stringic);
}
[/pawn]
Brate,ne ide objasni sta trebam da dodam,pokusavao sam ubacivat al sam brisao ne radi.
[pawn]DajIgracuNovac( playerid, novac ) {
PlayerInfo[ playerid ][ xNovac ] += novac;
ResetujBarNovac( playerid );
UpdejtujBarNovac( playerid, PlayerInfo[ playerid ][ xNovac ] );
SavePlayer( playerid );
return PlayerInfo[ playerid ][ xNovac ];[/pawn]
GetPlayerMoney( playerid ), ili jednostavno varijablom iz enuma, GetPlayerMoney( playerid ) ti uzima tacan broj sa default-a, Å¡to znaÄi da će ti u potpunosti zamjenit default...
Citat: Slade poslato Oktobar 08, 2017, 14:57:03 POSLE PODNE
GetPlayerMoney( playerid ), ili jednostavno varijablom iz enuma, GetPlayerMoney( playerid ) ti uzima tacan broj sa default-a, Å¡to znaÄi da će ti u potpunosti zamjenit default...
Dobro to,ali kako da postavim da sve to prebaci na novi td,znam da ubaciti player td,ali kako da ga postavim da se zamjeni sa defaultom,ovaj gore je objasnio al opet sam ja smotan pa ne znam
Poslao ti je funkciju, dodaj je u timer od 1000 ms ( 1 sec ) ili neki kraci, kako zelis...
Citat: Slade poslato Oktobar 08, 2017, 15:02:44 POSLE PODNE
Poslao ti je funkciju, dodaj je u timer od 1000 ms ( 1 sec ) ili neki kraci, kako zelis...
Sve sam uradio kako ste rekli,nije bilo errora ali IG ne ucita pare stoji mi i dalje td kako sam napravio "000000000"
Nmvz nemojte se zamarati sa ovim,ovo cu ja izbrisat ne ide ovo men,hvala vam!
Predlazem ti da to odradis pod OnPlayerUpdate.
new str[12];
format(str,sizeof(str),"%d",GetPlayerMoney(playerid));
PlayerTextDrawSetString(playerid,DzepIgraca[playerid],str);
Ovo ce ti raditi sto posto.
Samo umesto DzepIgraca stavi ime TDa cifre novca, u tvom slucaju "000000000"
[pawn]UpdateDzepTD(playerid) {
new stringic[12];
format(stringic,sizeof(stringic),"$%d",GetPlayerMoney( playerid ));
PlayerTextDrawSetString(playerid,DzepIgraca[playerid],stringic);
}[/pawn]
Ukoliko želiš 9 brojeva, stavi alignment na svom textdrawu sa desna na lijevo, i koristi ovaj format:
[pawn]format(stringic,sizeof(stringic),"$%09d",GetPlayerMoney( playerid ));[/pawn]
To bi ti, ukoliko npr imaš 9$, ispisivalo:
$000000009
Citat: Marinkovićâ,,¢ poslato Oktobar 08, 2017, 15:34:17 POSLE PODNE
Predlazem ti da to odradis pod OnPlayerUpdate.
new str[12];
format(str,sizeof(str),"%d",GetPlayerMoney(playerid));
PlayerTextDrawSetString(playerid,DzepIgraca[playerid],str);
Ovo ce ti raditi sto posto.
Samo umesto DzepIgraca stavi ime TDa cifre novca, u tvom slucaju "000000000"
AJDE BJEZI SA TEME MOLIM TE NE PROSPAJ SE OVDJE
Citat: Slade poslato Oktobar 08, 2017, 15:02:44 POSLE PODNE
Poslao ti je funkciju, dodaj je u timer od 1000 ms ( 1 sec ) ili neki kraci, kako zelis...
NE NE I NE
Napravi funkciju, gdje god smanjivas/povecavas/postavljas novac igracu i tu funkciju zoves koja updejta td
Citat: Åukmember=1996][/member] link=topic=115252.msg766078#msg766078 date=1507482916]
Napravi funkciju, gdje god smanjivas/povecavas/postavljas novac igracu i tu funkciju zoves koja updejta td
Nemoj biti tako samouvjerljiv, ovako je lakÅ¡e, pogotovu ako nema stock funkciju kao Å¡to je DajNovac ili sliÄno nego ga postavlja stalno gdje god treba i na istom mjestu updateuje bar kao Å¡to updateuje i novac raÄuna, i svakako ako je pokrio default money bar, vjerojatno ima joÅ¡ neÅ¡to Å¡to je pokrio i Å¡to je napravio ruÄno, i vrlo lako će se uklopit u taj tajmer, a tajmer nije od 20 ms, nego od 1000 ms, tako da nebi trebalo bagati, svakako jeste bolje preko funkcije ali opet, pitanje je dal ima zajednicku funkciju za davanje/skidanje novca.
Luka, jel si ti normalan bre?
Uvek je bolje pozivati funkciju kad treba nego da ti radi tajmer i kad ti ne treba (u ovom slucaju OnPlayerUpdate). primer je td (za banku,platu,gold) update kad neko stavi tajmer od 1 sekunde i tako za par tdova
Kako ne bi opteretio server, updejtuj td pri svakoj promeni novca kod igraca i tjt
Citat: Slade poslato Oktobar 08, 2017, 19:30:32 POSLE PODNE
Citat: Åukmember=1996][/member] link=topic=115252.msg766078#msg766078 date=1507482916]
Napravi funkciju, gdje god smanjivas/povecavas/postavljas novac igracu i tu funkciju zoves koja updejta td
Nemoj biti tako samouvjerljiv, ovako je lakÅ¡e, pogotovu ako nema stock funkciju kao Å¡to je DajNovac ili sliÄno nego ga postavlja stalno gdje god treba i na istom mjestu updateuje bar kao Å¡to updateuje i novac raÄuna, i svakako ako je pokrio default money bar, vjerojatno ima joÅ¡ neÅ¡to Å¡to je pokrio i Å¡to je napravio ruÄno, i vrlo lako će se uklopit u taj tajmer, a tajmer nije od 20 ms, nego od 1000 ms, tako da nebi trebalo bagati, svakako jeste bolje preko funkcije ali opet, pitanje je dal ima zajednicku funkciju za davanje/skidanje novca.
Koristi Athlone mod znaci koristi funkciju kao sto je dajnovac i sliÄno te bi trebao uraditi kako sam ja rekao te taj mod ima pun k tajmera, bolje funkcija nego tajmer.
Citat: Marinkovićâ,,¢ poslato Oktobar 08, 2017, 19:46:50 POSLE PODNE
Luka, jel si ti normalan bre?
Ne pisi gluposti, ustvari, ne pisi nista vise, vise odmazes nego sto pomazes.
Ajde mi kazi lepo sada sta je pogresno u ovome sto sam bio napisao molim te?
Citat: Marinkovićâ,,¢ poslato Oktobar 08, 2017, 21:14:38 POSLE PODNE
Ajde mi kazi lepo sada sta je pogresno u ovome sto sam bio napisao molim te?
Predlazem ti da to odradis pod OnPlayerUpdate.Predlazem ti da to odradis pod OnPlayerUpdate.Predlazem ti da to odradis pod OnPlayerUpdate.Predlazem ti da to odradis pod OnPlayerUpdate.Predlazem ti da to odradis pod OnPlayerUpdate.Predlazem ti da to odradis pod OnPlayerUpdate.Predlazem ti da to odradis pod OnPlayerUpdate.
This callback is called, on average, 30 times per second, per player; only use it when you know what it's meant for (or more importantly what it's NOT meant for).
The frequency with which this callback is called for each player varies, depending on what the player is doing. Driving or shooting will trigger a lot more updates than idling.
Zamisli da update td svakom igracu 30 puta u sec, neke stvari previse opterecuju server samim tim trose vise cpu-a i ram-a i to onda stvara lag. A jos nije samo ovo npr pod OnPlayerUpdate, ima brzina vozila i tako neke stvari (ko koristi za anti-cheat itd)
Dobro onda, nisam znao da mnogo preopterecuje server.
Rekao sam samo da moze i tako da se odradi, da je jedan od nacina.
Citat: Slade poslato Oktobar 08, 2017, 19:30:32 POSLE PODNE
Citat: Åukmember=1996][/member] link=topic=115252.msg766078#msg766078 date=1507482916]
Napravi funkciju, gdje god smanjivas/povecavas/postavljas novac igracu i tu funkciju zoves koja updejta td
Nemoj biti tako samouvjerljiv, ovako je lakÅ¡e, pogotovu ako nema stock funkciju kao Å¡to je DajNovac ili sliÄno nego ga postavlja stalno gdje god treba i na istom mjestu updateuje bar kao Å¡to updateuje i novac raÄuna, i svakako ako je pokrio default money bar, vjerojatno ima joÅ¡ neÅ¡to Å¡to je pokrio i Å¡to je napravio ruÄno, i vrlo lako će se uklopit u taj tajmer, a tajmer nije od 20 ms, nego od 1000 ms, tako da nebi trebalo bagati, svakako jeste bolje preko funkcije ali opet, pitanje je dal ima zajednicku funkciju za davanje/skidanje novca.
Nema zajednicke funkcije zato i ne znam to da uradim,ali nasao sam nacin nakon 2 dana i nesto sam napravio od tdova necu prekrivat default money