[POMOC]Plata

Započeo Dzole1
23. Okt. 2014. Zaključano
323
pregleda
11
postova
Dzole1
2
Street Runner
23. Okt. 2014.
Skripta koju koristim:BExtazy
Detaljan opis problema:Vec 2 nedelje razbijam glavu kako da resim da onaj ko igra vise od 10 minuta dobije platu, a onaj ko igra manje ne..Da li iko zna u cemu gresim...
Dio skripte: Dole u kodu ima
Neke slike/video za lakse dobivanje pomoci(neobavezno): /
public PayDay()
{
for(new i = 1; i < MAX_ADMINS; i++)
{
if(!IsPlayerConnected(GetPlayerIDS(AdminInfo)))
{
AdminInfo ++;
SaveAdmin(i);
}
}
if(dupliexp == 1)
{
for(new i = 0; i < MAX_IGRACA; i++)
{
if(IsPlayerConnected(i))
{
if(PI > 0)
{
PI++;
}
}
}
}
if(dupliexpn == 1)
{
for(new i = 0; i < MAX_IGRACA; i++)
{
if(IsPlayerConnected(i))
{
if(PI < 4)
{
PI++;
}
}
}
}
for(new i = 0; i < MAX_IGRACA; i++)
{
if(IsPlayerConnected(i))
{
    if(PI > 0)
    {
    if(MoneyMessage==1)
{
    SendClientMessage(i, COLOR_LIGHTRED, "Niste platili vas dug, vreme je za zatvor.");
    GameTextForPlayer(i, "~r~Uhapsen si!", 2000, 1);
            JBC_TogglePlayerControllable(i, 0);
                    new djura = random(sizeof(gZatvorSpawn));
        JBC_SetPlayerPos(i, gZatvorSpawn, gZatvorSpawn, gZatvorSpawn);
            PI = 1;
            SetPlayerVirtualWorld(i, 1);
            JBC_ResetPlayerWeapons(i);
PI += 300;
}
if(PI >= 5)
{
    Tax += TaxValue;//Should work for every player online
    PI -= TaxValue;
   
    //POREZ
                new vdracun;
new gdracun;
new ebill;
new interest;
new iporez;
if(PI != 2555)
{
vdracun += 25 + random(20);
gdracun += 27 + random(20);
ebill += 30 + random(30);
iporez += 50 + random(50);
}
if(PI != 255)
{
vdracun += 25 + random(20);
gdracun += 27 + random(20);
ebill += 30 + random(30);
iporez += 50 + random(50);
}
if(PI != 255)
{
vdracun += 25 + random(20);
gdracun += 27 + random(20);
ebill += 30 + random(30);
iporez += 50 + random(50);
}
PI -= vdracun + gdracun + ebill;
PI -= iporez;
SCMF(i, -1, "** Vas ukupan porez je: $%d, taj novac vam je oduzet iz banke!",vdracun + gdracun + ebill);

if(PI == 4 || PI >= 1)
                    {
                        PI++;
                }
                if(PI > 0)
    {
SCM(i, BELA, "  Ti si administrator i dobio si 2000$ na bankovni racun !");
PI += 2000;
}
if(PI > 0)
    {
SCM(i, BELA, "  Ti si helper i dobio si 1500$ na bankovni racun !");
PI += 1500;
}
    if(PI < 1 && PI > 0)
    {
SCM(i, BELA, "  Ti si clan organizacije i dobio si 300$ na bankovni racun !");
PI += 300;
}
if(PI < 1 && PI > 0)
    {
SCM(i, BELA, "  Ti si lider organizacije i dobio si 500$ na bankovni racun !");
PI += 500;
}

new randovann = random(300)+300;
interest = randovann;
                    PI++;
PlayerPlayMusic(i);
PI += interest;

new smrdic1;
            new smrdic;
            new stringpl;
            format(smrdic1,256,"{F3FF02}Stecen Interes: {FFFFFF}$%d\n{F3FF02}Racun za struju: {FFFFFF}$%d\n{F3FF02}Racun za vodu: {FFFFFF}$%d\n{F3FF02}Racun za komunalije: {FFFFFF}$%d\n{F3FF02}Porez na imovinu: {FFFFFF}$%d\n", interest, ebill, vdracun, gdracun, iporez);
            format(smrdic,sizeof(smrdic),"%s",smrdic1);
format(stringpl, sizeof(stringpl), "~y~Plata");
SPD(i,6,DIALOG_STYLE_MSGBOX,"  IZVESTAJ NARODNE BANKE",smrdic,"OK","");
GameTextForPlayer(i, stringpl, 5000, 1);
PI = 0;
PI++;
if(PI > 0)
{
    PI += 1;
    if(PI >= 5)
    {
                          PI++;
      PI = 0;
    }
}
}
else
{
    SendClientMessage(i, COLOR_WHITE, "* Niste igrali dovoljno dugo da biste dobili platu.");
}
new nxtlevel = PI+1;
                new expamount = nxtlevel*levelexp;
                new infostring;
if (PI >= expamount)
    {
PI++;
PI = 0;
PI = PI+2;
new rucakxd;
format(rucakxd, sizeof(rucakxd), "~g~LEVEL UP~n~~w~Sada si level %d !", nxtlevel);
GameTextForPlayer(i, rucakxd, 5000, 1);
format(infostring, 256, "[ LEVEL UP ] Sada ste level %d. Cestitamo!", nxtlevel);
SendClientMessage(i, COLOR_RED, infostring);
format(infostring, 256, "Imate %d nepotrosenih Upgrade Poena",PI);
SendClientMessage(i, BELA, infostring);
SetPlayerScore(i, PI);
    }
  }
}
}
SaveAccounts();
return 1;
}
Rudimental
5
OG Legend
23. Okt. 2014.
Ovo ti je vrlo lako za srediti, sve sto trebas jeste da napravis jednu varijablu i nju onda stavis u neki tajmer koji vec imas recimo od 1 sec sto se vrti i sredis onda u callbacku PayDay da u koliko ima toliko i toliko provedenog vremena na Serveru da mu tek onda daje platu...
Dzole1
2
Street Runner
23. Okt. 2014.
Pazi ima vec definisano sve, i npr desi se da neko ko bude 10 minuta na srw ne dobije platu, tj pise mu da nije igrao dovoljno dugo, a neko ko je igrao 2 minuta dobije, to me muci
Rudimental
5
OG Legend
23. Okt. 2014.
Cekaj jel tu podeseno da moras igrati 10 min da bih dobio platu ili vise od 10 min mozda tipa 30min.. Mislim da na Extazy modu treba vise od 10 min a mozda se i varam, i kazi mi jel ti sacuvavas tu varijablu koja ti meri vreme na srwu a preko toga daje platu ? Proveri ti tu varijablu na koliko se ona povecava tj kolko vremena zaista treba za platu...
Dzole1
2
Street Runner
23. Okt. 2014.
Namestena je na 5 minuta, sad cu ti poslati deo, ovo bi trebalo da predstavlja timer da ne bude iskoriscavanja
if(PI < 6) { PI += 1; } //+ 5 min to PayDay anti-abuse
, pa onda ima
if(PI >= 5)
{
    Tax += TaxValue;//Should work for every player online
da li si na to mislio?
Rudimental
5
OG Legend
23. Okt. 2014.
Da to je to e sada mi kazi na kolko se taj tajmer gde je to pokrece ?
Dzole1
2
Street Runner
24. Okt. 2014.
Ne spominje se nigde samo je tako definisani, mozes li mi napisati sta da dodam ?
Rudimental
5
OG Legend
24. Okt. 2014.
Hm bas nigde se ne spominje u nekom tajmeru ? Pazi verovatno imas u tom Extazy modu public Production e sada vidi na koliko se on vrti trebalo bi da to bude ovako
SetTimer("Production", 300000, 1);
a to znaci 5min odnosno svakih 5 min da se pokrene i odradi sta mu zadas... I onda jednostavno to sto si mi sada bio dao samo ubacis u ovaj callback i onda u PayDay sredis na koliko ce se plata dobijati ako stavis
if (PlayerInfo == 2)
onda bi to znacilo 10 min jer na 5 pin ti dobijas varijablu +1 sto bi znacilo 2 = 10 min ako ti tako hoces... Mozda ti nisam najbolje pojasnio al mislim da ces razumeti...
Dzole1
2
Street Runner
24. Okt. 2014.
Izvini brt za ovo ali ima toga definisano nego nisam znao da na to mislis Sorry evo imam ovde definisano
public Production()
{
//new string;
for(new i = 0; i < MAX_IGRACA; i++)
{
if(IsPlayerConnected(i))
{
                if(PI < 6) { PI += 1; } //+ 5 min to PayDay anti-abuse 
}
}
}

i definisan je timer bas kao sto si ti poslao na 300000, ima ovde tu kao anti-abuse i ono dodato na platu, isto sto si i ti poslao, ali opet kazem ti nije mi jasno kako nece lepo da pise igracu da je dobio platu iako igra 10 minuta a meni koji igram 2 minuta daje...
Rudimental
5
OG Legend
24. Okt. 2014.
Onda u callback PayDay mesto ovoga
if(PI >= 5)
stavi
if(PI >= 2)
i radice ti ako je igrac na srwu namanje 10 min.. A to sto si ti dobio a bio 2 min je zato sto se ova varijabla sacuvava i vec si imao dosta toga sacuvano i kad si usao vec si imao sacuvane ove poene i dobio si platu... Valjda ti je sada sve jasnije 😄
Dzole1
2
Street Runner
24. Okt. 2014.
Opet dobijam platu iako dodjem 2 minuta pred platu ne znam sta cu...

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha