PlayerMoney


Započeo SariX.tde, Oktobar 08, 2017, 12:51:35 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

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)://
Swiss Gaming - Staff: Owner :)

new PlayerText:DzepIgraca[ MAX_PLAYERS ];

UpdateDzepTD(playerid) 
{
	new stringic[20];
	format(stringic,sizeof(stringic),"%d",PlayerInfo[playerid][pMoney]);
	PlayerTextDrawSetString(playerid,DzepIgraca[playerid],stringic);
}

Kad imas promenu novca tj kad dajes ili uzimas samo pozoves UpdateDzepTD(playerid);

Citat: Tosic ãƒ,, poslato Oktobar 08, 2017, 14:07:24 POSLE PODNE
new PlayerText:DzepIgraca[ MAX_PLAYERS ];

UpdateDzepTD(playerid) 
{
	new stringic[20];
	format(stringic,sizeof(stringic),"%d",PlayerInfo[playerid][pMoney]);
	PlayerTextDrawSetString(playerid,DzepIgraca[playerid],stringic);
}

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 ?
heroin rap - Moskri u kuci, od sledece lajne glava ce mi puci

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!
Swiss Gaming - Staff: Owner :)

Citat: Tosic ãƒ,, poslato Oktobar 08, 2017, 14:07:24 POSLE PODNE
new PlayerText:DzepIgraca[ MAX_PLAYERS ];

UpdateDzepTD(playerid) 
{
	new stringic[20];
	format(stringic,sizeof(stringic),"%d",PlayerInfo[playerid][pMoney]);
	PlayerTextDrawSetString(playerid,DzepIgraca[playerid],stringic);
}


Brate,ne ide objasni sta trebam da dodam,pokusavao sam ubacivat al sam brisao ne radi.

DajIgracuNovac( playerid, novac ) {
	PlayerInfo[ playerid ][ xNovac ] += novac;
	ResetujBarNovac( playerid );
	UpdejtujBarNovac( playerid, PlayerInfo[ playerid  ][ xNovac ] );
	SavePlayer( playerid );
	return PlayerInfo[ playerid ][ xNovac ];





Swiss Gaming - Staff: Owner :)

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
Swiss Gaming - Staff: Owner :)

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"
Swiss Gaming - Staff: Owner :)

Nmvz nemojte se zamarati sa ovim,ovo cu ja izbrisat ne ide ovo men,hvala vam!
Swiss Gaming - Staff: Owner :)

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"
Poslednja Izmena: Oktobar 08, 2017, 15:36:06 POSLE PODNE od Marinković™

UpdateDzepTD(playerid)  {
	new stringic[12];
	format(stringic,sizeof(stringic),"$%d",GetPlayerMoney( playerid ));
	PlayerTextDrawSetString(playerid,DzepIgraca[playerid],stringic);
}


Ukoliko želiš 9 brojeva, stavi alignment na svom textdrawu sa desna na lijevo, i koristi ovaj format:
format(stringic,sizeof(stringic),"$%09d",GetPlayerMoney( playerid ));


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
heroin rap - Moskri u kuci, od sledece lajne glava ce mi puci

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.