Pomoc oko pawna

Započeo Stefan Lujicc, Novembar 15, 2024, 23:03:30 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.



Tema koju ste postavili nije po pravilima foruma.
Razlog zakljucavanja: Formular

Molimo Vas da procitate glavna pravila foruma kao i pravila ovog podforuma.
Poslednja Izmena: juče u 23:33:41 POSLE PODNE od Fr0z3n

Citat: Stefan Lujicc poslato Novembar 15, 2024, 23:03:30 POSLE PODNEMoze mi neko pomoci kako da povezem ono Banka: 0 sa textrawa da pokazuje koliko igrac ima novca u banci.
Ako nisi rijesio javi se na discord: ivodev45

Citat: ivodev45 poslato Novembar 17, 2024, 11:10:47 PRE PODNEAko nisi rijesio javi se na discord: ivodev45

Problemi se ne resavaju na discordu vec ovde. Mozda tvoj odgovor pomogne jos nekome sa slicnim problemom :)

Sto se pitanja tice, potrebno je da svuda gde se odvija promena bankovnog stanja u modu (dodavanje novca, oduzimanje novca) dodas funkciju koja menja tekst kod textdrawa. Posalji mi kod gde si kreirao taj textdraw i kako obelezavas stanje na bankovnom racunu kako bih ti napravio tacan kod koji ces dodati svuda gde treba

"I choose to have faith, because without that, I have nothing."


Citat: ogil poslato Novembar 17, 2024, 11:21:25 PRE PODNEProblemi se ne resavaju na discordu vec ovde. Mozda tvoj odgovor pomogne jos nekome sa slicnim problemom :)

Sto se pitanja tice, potrebno je da svuda gde se odvija promena bankovnog stanja u modu (dodavanje novca, oduzimanje novca) dodas funkciju koja menja tekst kod textdrawa. Posalji mi kod gde si kreirao taj textdraw i kako obelezavas stanje na bankovnom racunu kako bih ti napravio tacan kod koji ces dodati svuda gde treba
Okej, u tom slučaju puštam kod ovdje za primjer

UpdateBankTD(playerid) {
    new tmp_str[20];
    if(PlayerInfo[playerid][pBRacun] == 0)
    {
        PlayerTextDrawSetString(playerid, tvoj td, "NO ACC.");   
    }
    else
    {
        format(tmp_str, sizeof tmp_str, "~w~%d", PlayerInfo[playerid][pBRacun]);
    PlayerTextDrawSetString(playerid, tvoj td, tmp_str);
    }
}
E da jako bitno sam zaboravio napomenuti, kod komandi npr /otvoriracun /deposit /withdraw pozoveš funkciju UpdateBankTD,

PS.A i ne moraš tako mislim da se može čak i u OnPlayerUpdate da ne praviš funkciju bezveze, nisam probavao
Poslednja Izmena: Novembar 17, 2024, 11:51:14 PRE PODNE od ivodev45

Može i u onplayerupdate ali nije baš praktično. OnPlayerUpdate se poziva uvek kada igrač ima interakciju sa serverom odnosno kada se dogodi bilo kakva promena klijenta (kretanje, health, armor...) tako da je nepraktično da se svake milisekunde proverava stanje bankovnog računa i radi manipulacija sa textdrawom. Nekako iz mog iskustva je najbolje napraviti funkciju koja će raditi dodavanje/oduzimanje novca sa računa u kojoj će se automatski sačuvati novac u promenjivoj i automatski promeniti status TDa. Tako promenu TDa vršiš isključivo kada se pozove funkcija za dodavanje/oduzimanje novca sa računa.

"I choose to have faith, because without that, I have nothing."


Citat: ogil poslato Novembar 17, 2024, 12:56:53 POSLE PODNEMože i u onplayerupdate ali nije baš praktično. OnPlayerUpdate se poziva uvek kada igrač ima interakciju sa serverom odnosno kada se dogodi bilo kakva promena klijenta (kretanje, health, armor...) tako da je nepraktično da se svake milisekunde proverava stanje bankovnog računa i radi manipulacija sa textdrawom. Nekako iz mog iskustva je najbolje napraviti funkciju koja će raditi dodavanje/oduzimanje novca sa računa u kojoj će se automatski sačuvati novac u promenjivoj i automatski promeniti status TDa. Tako promenu TDa vršiš isključivo kada se pozove funkcija za dodavanje/oduzimanje novca sa računa.
Hvala na objašnjenju

Citat: ogil poslato Novembar 17, 2024, 11:21:25 PRE PODNEProblemi se ne resavaju na discordu vec ovde. Mozda tvoj odgovor pomogne jos nekome sa slicnim problemom :)

Sto se pitanja tice, potrebno je da svuda gde se odvija promena bankovnog stanja u modu (dodavanje novca, oduzimanje novca) dodas funkciju koja menja tekst kod textdrawa. Posalji mi kod gde si kreirao taj textdraw i kako obelezavas stanje na bankovnom racunu kako bih ti napravio tacan kod koji ces dodati svuda gde treba
ja sam ovako napravio za update vremena i datuma, ispod je za banku,
forward TDUpdate(playerid);
public TDUpdate(playerid)
{
   // Datum Vreme
   new string[128], year, mounth, day, hours, minutes, sec;
   getdate(year, mounth, day), gettime(hours, minutes, sec);
   format(string, sizeof(string), "%s%d/%s%d/%s%d", ((day < 10) ? ("0") : ("")), day, ((mounth < 10) ? ("0") : ("")), mounth, ((year < 10) ? ("0") : ("")), year);
   TextDrawSetString(Igtd10, string);
   format(string, sizeof(string), "%s%d:%s%d", ((hours < 10) ? ("0") : ("")), hours, ((minutes < 10) ? ("0") : ("")), minutes);
   TextDrawSetString(Igtd11, string);

   // BANKA
   new bnkstring[128];
   format(bnkstring, sizeof(bnkstring), "Banka: %d", PlayerInfo[playerid][pBanka]);
   TextDrawLetterSize(Igtd9, 0.222999, 1.149375);
   TextDrawAlignment(Igtd9, 1);
   TextDrawColor(Igtd9, -1);
   TextDrawSetShadow(Igtd9, 0);
   TextDrawSetOutline(Igtd9, 1);
   TextDrawBackgroundColor(Igtd9, 51);
   TextDrawFont(Igtd9, 1);
   TextDrawSetProportional(Igtd9, 1);
   TextDrawSetString(Igtd9, bnkstring);
}

Citat: Stefan Lujicc poslato Novembar 17, 2024, 22:08:40 POSLE PODNEja sam ovako napravio za update vremena i datuma, ispod je za banku,
forward TDUpdate(playerid);
public TDUpdate(playerid)
{
   // Datum Vreme
   new string[128], year, mounth, day, hours, minutes, sec;
   getdate(year, mounth, day), gettime(hours, minutes, sec);
   format(string, sizeof(string), "%s%d/%s%d/%s%d", ((day < 10) ? ("0") : ("")), day, ((mounth < 10) ? ("0") : ("")), mounth, ((year < 10) ? ("0") : ("")), year);
   TextDrawSetString(Igtd10, string);
   format(string, sizeof(string), "%s%d:%s%d", ((hours < 10) ? ("0") : ("")), hours, ((minutes < 10) ? ("0") : ("")), minutes);
   TextDrawSetString(Igtd11, string);

   // BANKA
   new bnkstring[128];
   format(bnkstring, sizeof(bnkstring), "Banka: %d", PlayerInfo[playerid][pBanka]);
   TextDrawLetterSize(Igtd9, 0.222999, 1.149375);
   TextDrawAlignment(Igtd9, 1);
   TextDrawColor(Igtd9, -1);
   TextDrawSetShadow(Igtd9, 0);
   TextDrawSetOutline(Igtd9, 1);
   TextDrawBackgroundColor(Igtd9, 51);
   TextDrawFont(Igtd9, 1);
   TextDrawSetProportional(Igtd9, 1);
   TextDrawSetString(Igtd9, bnkstring);
}

Ne moraš ove provjere radit
format(string, sizeof(string), "%s%d/%s%d/%s%d", ((day < 10) ? ("0") : ("")), day, ((mounth < 10) ? ("0") : ("")), mounth, ((year < 10) ? ("0") : ("")), year);

Možeš i ovako
format(string, sizeof(string), "%02d/%02d/%d", day, mounth, year);

ps.ako ima neki mistype pišem sa fona pa reci

Citat: Muma poslato Novembar 17, 2024, 22:33:43 POSLE PODNENe moraš ove provjere radit
format(string, sizeof(string), "%s%d/%s%d/%s%d", ((day < 10) ? ("0") : ("")), day, ((mounth < 10) ? ("0") : ("")), mounth, ((year < 10) ? ("0") : ("")), year);

Možeš i ovako
format(string, sizeof(string), "%02d/%02d/%d", day, mounth, year);

ps.ako ima neki mistype pišem sa fona pa reci
a zanima me za banku napravio sam TD i sve, i nekako povezao da pokazuje na TD koliko imam novca u banci, ali kada npr prebacim novac sa jednog acc na drugi (transfer ili payday) ugl kada dodje do promjene stanja na banci ista cifra mi bude i na jednom acc i na drugom isto ako sve pare sa banke dignem u dzep promeni se na 0 na svim nalozima, ako bi stavio na banku 1000 tako se promeni i na ostale.
Poslednja Izmena: Novembar 17, 2024, 22:51:09 POSLE PODNE od Stefan Lujicc

Citat: Stefan Lujicc poslato Novembar 17, 2024, 22:49:53 POSLE PODNEa zanima me za banku napravio sam TD i sve, i nekako povezao da pokazuje na TD koliko imam novca u banci, ali kada npr prebacim novac sa jednog acc na drugi (transfer ili payday) ugl kada dodje do promjene stanja na banci ista cifra mi bude i na jednom acc i na drugom isto ako sve pare sa banke dignem u dzep promeni se na 0 na svim nalozima, ako bi stavio na banku 1000 tako se promeni i na ostale.
Stavis npr UpdateBankTD( playerid ); kad je payday

Citat: Stefan Lujicc poslato Novembar 17, 2024, 22:49:53 POSLE PODNEa zanima me za banku napravio sam TD i sve, i nekako povezao da pokazuje na TD koliko imam novca u banci, ali kada npr prebacim novac sa jednog acc na drugi (transfer ili payday) ugl kada dodje do promjene stanja na banci ista cifra mi bude i na jednom acc i na drugom isto ako sve pare sa banke dignem u dzep promeni se na 0 na svim nalozima, ako bi stavio na banku 1000 tako se promeni i na ostale.

Koliko sam ja shvatio ili ti je TD globalni ili si pogriješio negdje playerid i targetid, postavi code ovdje da pogledamo

Citat: Muma poslato Novembar 19, 2024, 01:00:01 PRE PODNEKoliko sam ja shvatio ili ti je TD globalni ili si pogriješio negdje playerid i targetid, postavi code ovdje da pogledamo
// BANKA
   new bnkstring[128];
   format(bnkstring, sizeof(bnkstring), "Banka: %d", PlayerInfo[playerid][pBanka]);
   TextDrawLetterSize(Igtd9, 0.222999, 1.149375);
   TextDrawAlignment(Igtd9, 1);
   TextDrawColor(Igtd9, -1);
   TextDrawSetShadow(Igtd9, 0);
   TextDrawSetOutline(Igtd9, 1);
   TextDrawBackgroundColor(Igtd9, 51);
   TextDrawFont(Igtd9, 1);
   TextDrawSetProportional(Igtd9, 1);
   TextDrawSetString(Igtd9, bnkstring);
}


Mislim da sam kreirao TD-owe kao globalne

Public TextDraw ti je to, bajo moj. Sve imas ovde, pogledaj i vidi na koji nacin se pravi TDovi rucno.
Link: Klikni

Evo, napravio sam ti rucno player textdraw od tvojih public da vidis kako to ide, ovo zameni sa tvojim i radice ti, ali brale, nemoj slucajno da zamenis ovo samo, nego sve textdrawovove koje imas pod tom varijablom!!!
new PlayerText:BankaPlayerTD[MAX_PLAYERS][1];

BankaPlayerTD[playerid][0] = CreatePlayerTextDraw(playerid, Float:x, Float:y, text[])l;
PlayerTextDrawLetterSize(playerid, BankaPlayerTD[playerid][0], 0.222999, 1.149375);
PlayerTextDrawAlignment(playerid, BankaPlayerTD[playerid][0], 1);
PlayerTextDrawColor(playerid, BankaPlayerTD[playerid][0], -1);
PlayerTextDrawSetShadow(playerid, BankaPlayerTD[playerid][0], 0);
PlayerTextDrawSetOutline(playerid, BankaPlayerTD[playerid][0], 1);
PlayerTextDrawBackgroundColor(playerid, BankaPlayerTD[playerid][0], 51);
PlayerTextDrawFont(playerid, BankaPlayerTD[playerid][0], 1);
PlayerTextDrawSetProportional(playerid, BankaPlayerTD[playerid][0], 1);
PlayerTextDrawSetString(playerid, BankaPlayerTD[playerid][0], bnkstring); //azuriraj mi tekst TD-a

Evo ti malo lepsi kod za toj.
forward TDUpdate(playerid);
public TDUpdate(playerid)
{
    // Datum i vremenung
    new string[128];
    new year, month, day, hours, minutes, sec;
    getdate(year, month, day);
    gettime(hours, minutes, sec);

    // Formatiraj datum
    format(string, sizeof(string), "%02d/%02d/%02d", day, month, year);
    TextDrawSetString(Igtd10, string);
PlayerTextDrawSetString

    // Formatiranje vremena
    format(string, sizeof(string), "%02d:%02d", hours, minutes);
    TextDrawSetString(Igtd11, string);

    // BANKA
    new bnkstring[128];
    format(bnkstring, sizeof(bnkstring), "Banka: %d", PlayerInfo[playerid][pBanka]);
Poslednja Izmena: Novembar 19, 2024, 14:44:21 POSLE PODNE od |Gagi|
»Sve što je na Zemlji, prolazno je...«

Toliko su upropstili ovaj forum da mi ide na zivce vise... Evo ti zavrsen kod jer nisam mogao editovati kako treba zbog glupavog foruma

Evo ti malo lepsi kod za toj. Ovo je deo koji si ti poslao.
new PlayerText:BankaPlayerTD[MAX_PLAYERS][1]; // ovo dodajes obicno na vrh skripte gde su ti deklarisane varijable ako radis u jednom fajlu, ako modularno radis onda u modulu za toj

forward TDUpdate(playerid);
public TDUpdate(playerid)
{
    // Datum i vremenung
    new string[128];
    new year, month, day, hours, minutes, sec;
    getdate(year, month, day);
    gettime(hours, minutes, sec);

    // Formatiraj datum
    format(string, sizeof(string), "%02d/%02d/%02d", day, month, year);
    //TextDrawSetString(Igtd10, string); //ovo ti je public, ne mere tako
    PlayerTextDrawSetString(playerid, PlayerText:text, string[]); // ovo ti je za playera, izmeni po
    svojim paramtrima

    // Formatiranje vremena
    format(string, sizeof(string), "%02d:%02d", hours, minutes);
    //TextDrawSetString(Igtd11, string); // isti slucaj kao za formatiranje datuma, ne smes
    public!!!!!

    // ovo je banka brale
    new bnkstring[128];
    format(bnkstring, sizeof(bnkstring), "Banka: %d", PlayerInfo[playerid][pBanka]);

    // textdraw
    BankaPlayerTD[playerid][0] = CreatePlayerTextDraw(playerid, Float:x, Float:y, text[])l;
    PlayerTextDrawLetterSize(playerid, BankaPlayerTD[playerid][0], 0.222999, 1.149375);
    PlayerTextDrawAlignment(playerid, BankaPlayerTD[playerid][0], 1);
    PlayerTextDrawColor(playerid, BankaPlayerTD[playerid][0], -1);
    PlayerTextDrawSetShadow(playerid, BankaPlayerTD[playerid][0], 0);
    PlayerTextDrawSetOutline(playerid, BankaPlayerTD[playerid][0], 1);
    PlayerTextDrawBackgroundColor(playerid, BankaPlayerTD[playerid][0], 51);
    PlayerTextDrawFont(playerid, BankaPlayerTD[playerid][0], 1);
    PlayerTextDrawSetProportional(playerid, BankaPlayerTD[playerid][0], 1);
    PlayerTextDrawSetString(playerid, BankaPlayerTD[playerid][0], bnkstring); //azuriraj mi tekst TD-a
}
»Sve što je na Zemlji, prolazno je...«