Problem(error/warning): Poz! Napravio sam sistem aktivne igre ali ne cijeli imam problem molio bih ako moze vasu pomoc.Jedino sto trebam napraviti je da po satu se dobija 1 poen ali to nmg i ne znam ako moze pomoc.Zelim da napravim da svaki igrac kada dodje plata da dobije +1 poen ali posto u u mene forward i public je ovako za platu forward PayDay(i); logicno i ja to znam ne mogu koristit playerid ja sam stavio da npr kada imam 2 poena da odma na plati dobijem nagardu to cete vidit dole u kodu ali logicno da mi izlazi error playerid pa ako moze pomoc gdje ovo da stavim. Dole cete imati kod od aktivne igre i od plate.
Deo skripte: Kod od aktivne igre[pawn] if(PlayerInfo[playerid][pAktivnaIgraPoeni] >= 2)
{
g_NovacPlus(playerid, 15000);
PlayerInfo[playerid][pExp]+=10;
}
else if(PlayerInfo[playerid][pAktivnaIgraPoeni] >= 4)
{
g_NovacPlus(playerid, 10000);
PlayerInfo[playerid][pEuro]+=100;
PlayerInfo[playerid][pDonatePoeni]+=2;
PlayerInfo[playerid][pExp]+=10;
}
else if(PlayerInfo[playerid][pAktivnaIgraPoeni] >= 6)
{
g_NovacPlus(playerid, 10000);
PlayerInfo[playerid][pEuro]+=100;
PlayerInfo[playerid][pDonatePoeni]+=5;
PlayerInfo[playerid][pExp]+=20;
}
else if(PlayerInfo[playerid][pAktivnaIgraPoeni] >= 8)
{
g_NovacPlus(playerid, 20000);
PlayerInfo[playerid][pDonatePoeni]+=2;
PlayerInfo[playerid][pBapPoeni]+=10;
}
else if(PlayerInfo[playerid][pAktivnaIgraPoeni] >= 10)
{
g_NovacPlus(playerid, 15000);
PlayerInfo[playerid][pEuro]+=100;
PlayerInfo[playerid][pDonatePoeni]+=5;
PlayerInfo[playerid][pBapPoeni]+=5;
PlayerInfo[playerid][pExp]+=40;
}[/pawn]
Skripta od plate [pawn]forward PayDay(i);
public PayDay(i)
{
if(!IsPlayerConnected(i) || UlogovanProvera == 0) return 1;
new stariiznos = PlayerInfo[pNovacBanka];
if(PlayerInfo[pRent] != -1)
{
if(PlayerInfo[pNovacBanka] < KucaInfo[PlayerInfo[pRent]][kCenaRenta])
{
PlayerInfo[pRent] = -1;
PlayerInfo[pProveraSpawna] = SPAWN_NORMAL;
SCM(i, -1, ""CRVENA"[MC:RP] "SIVA"Niste imali da platiti kiriju za kucu, iseljeni ste!");
}
PlayerInfo[pNovacBanka] -= KucaInfo[PlayerInfo[pRent]][kCenaRenta];
}
if(PlayerInfo[pNovacBanka] >= PlayerInfo[pIznosRate] && PlayerInfo[pPreostaloZaOtplatu] > 0)
{
if(PlayerInfo[pPreostaloZaOtplatu] < PlayerInfo[pIznosRate])
{
PlayerInfo[pIznosRate] = PlayerInfo[pPreostaloZaOtplatu];
}
PlayerInfo[pPreostaloZaOtplatu] -= PlayerInfo[pIznosRate];
PlayerInfo[pNovacBanka] -= PlayerInfo[pIznosRate];
if(PlayerInfo[pPreostaloZaOtplatu] < 0) PlayerInfo[pPreostaloZaOtplatu] = 0;
if(PlayerInfo[pPreostaloZaOtplatu] <= 0) { PlayerInfo[pIznosKredita] = 0; PlayerInfo[pIznosRate] = 0; }
}
if(PlayerInfo[pPayDayPoeni] < 35)
{
SCM(i, -1, "[MC:RP] "ZUTA"* Niste igrali dovoljno dugo da dobijete platu!");
DobioPay = 1;
return 1;
}
if(PlayerInfo[pOrgUgovor] > 0)
{
PlayerInfo[pOrgUgovor]--;
if(PlayerInfo[pOrgUgovor] == 0) SCM(i, -1, ""CRVENA"MC:RP | "SIVA"Vasa kazna za ulazak u organizaciju je istekla!");
}
if(PlayerInfo[pPosaoUgovor] > 0) { PlayerInfo[pPosaoUgovor]--; }
new iznosplate = 0, osnova = 0, iskustvo = 0, prihod = 0, rashod = 0, struja = 0, voda = 0, smece = 0, grijanje = 0, porez = 0, kucanajam = 0;
osnova = 100 + random(150);
iznosplate = osnova*PlayerInfo[pLevel];
PlayerInfo[pExp]++;
PlayerInfo[pSatiIgre]++;
iskustvo = (PlayerInfo[pLevel] * 2) + 2;
if(PlayerInfo[pPosedovanjeKuce] != -1) { struja += (10 + random(15)); voda += (10 + random(5)); porez += 10; smece += 8; grijanje += 5; }
if(PlayerInfo[pPosedovanjeStana] != -1) { struja += (3 + random(5)); voda += (5 + random(8)); porez += 10; smece += 4; grijanje += 3; }
if(PlayerInfo[pPosedovanjeVikendice] != -1) { struja += (4 + random(5)); voda += (5 + random(10)); porez += 10; smece += 5; grijanje += 4; }
if(PlayerInfo[pPosedovanjeFirme] != -1) { porez += 100; }
if(PlayerInfo[pRent] == -1) kucanajam = 0;
else if(PlayerInfo[pRent] != -1) kucanajam = KucaInfo[PlayerInfo[pRent]][kCenaRenta];
new strp1[300],strp2[300],strp[600];
if(PlayerInfo[pExp] < iskustvo) //struja, voda, smece, kucanajam
{
format(strp1,sizeof(strp1), ""SIVA"Banka Beograd | Plata je stigla na vas racun\n\n"SPLAVA"Plata: "BELA"%d$\n\n"CRVENA"Kredit Informacije\n"SPLAVA"Iznos kredita: "ZELENA"%d$\n"SPLAVA"Iznos rate: "ZELENA"%d$\n"SPLAVA"Za otplatu: "ZELENA"%d%\n\n", iznosplate, PlayerInfo[pIznosKredita], PlayerInfo[pIznosRate], PlayerInfo[pPreostaloZaOtplatu]);
format(strp2,sizeof(strp2), ""CRVENA"Platili ste\n"SPLAVA"Porez na imovinu: "BELA"%d$\n"SPLAVA"Struja: "BELA"%d$\n"SPLAVA"Voda: "BELA"%d$\n"SPLAVA"Smece: "BELA"%d$\n"SPLAVA"Grijanje: "BELA"%d$\n"SPLAVA"Iznajmljena kuca: "BELA"%d$\n\n"CRVENA"Stari iznos: "BELA"%d$\n"ZELENA"Novi iznos: "BELA"%d$", porez, struja, voda, smece,grijanje,kucanajam, stariiznos,PlayerInfo[pNovacBanka]+iznosplate);
}
if(duplirespect == 1)
{
PlayerInfo[pExp]++;
}
if(trirespekta == 1)
{
PlayerInfo[pExp]+= 3;
}
if(PlayerInfo[pLevel] < 8)
{
PlayerInfo[pExp]+=1;
}
else if(PlayerInfo[pExp] >= iskustvo)
{
PlayerInfo[pLevel]++;
SetPlayerScore(i, PlayerInfo[pLevel]);
PlayerInfo[pExp] = 0;
format(strp1,sizeof(strp1), ""SIVA"Banka Beograd | Plata je stigla na vas racun\n\n"SPLAVA"Plata: "BELA"%d$\n\n"CRVENA"Kredit Informacije\n"SPLAVA"Iznos kredita: "ZELENA"%d$\n"SPLAVA"Iznos rate: "ZELENA"%d$\n"SPLAVA"Za otplatu: "ZELENA"%d%\n\n"CRVENA"Platili ste\n"SPLAVA"Porez na imovinu: "BELA"%d$\n", iznosplate, PlayerInfo[pIznosKredita], PlayerInfo[pIznosRate], PlayerInfo[pPreostaloZaOtplatu],porez);
format(strp2,sizeof(strp2), ""SPLAVA"Struja: "BELA"%d$\n"SPLAVA"Voda: "BELA"%d$\n"SPLAVA"Smece: "BELA"%d$\n"SPLAVA"Grijanje: "BELA"%d$\n"SPLAVA"Iznajmljena kuca: "BELA"%d$\n\n"CRVENA"Stari iznos: "BELA"%d$\n"ZELENA"Novi iznos: "BELA"%d$\n\n"ZUTA"Cestitamo presli ste u sledeci level | "CRVENA"LEVELUP!", struja, voda, smece,grijanje,kucanajam, stariiznos,PlayerInfo[pNovacBanka]+iznosplate);
}
format(strp, sizeof(strp), "%s%s", strp1, strp2);
SPD(i, DIALOG_PLATA, DIALOG_STYLE_MSGBOX, ""BELA"Beograd Banka", strp, "Ok", "Izlaz");
SCM(i,-1,"MC:RP | "HZELENA"Plata je stigla na vas bankovni racun!");
prihod = iznosplate;
rashod = struja + voda + porez + smece + grijanje;
PlayerInfo[pNovacBanka] += prihod;
PlayerInfo[pNovacBanka] -= rashod;
PlayerInfo[pPayDayPoeni] = 0;
DobioPay = 1;
SavePlayer(i);
if(PlayerInfo[pPenzija] >= 1)
{
SCM(i, -1, ""CRVENA"PENZIJA: "BELA"Ti si Penzioner "BELA"i dobio si 300â,¬ !");
PlayerInfo[pEuro] += 300;
}
return 1;
}[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]vaš odgovor[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): link slike
Imam jos jedan problem sto se tice ovog sistema.
Imat cete i slike dole.Kada udjem na srw i ukucam /aktivnaigra i bude mi normlano ali cim imam 2 poena aktivne igre na /aktivnaigra mi stoji uduplano a kada imam 4 poena na /aktivnaigra igra mi stoji troduplo to mozete vidit dole na slikama.Ja sam uradio npr kada imam 2 poena i kada ukucam /aktivnaigra da mi to bude zelenom bojom to mozete vidit na slici.I jos jedna stvar a to je npr hocu da uradim kada dobijem 2 poena da dobijem nagradu to radi ali problem je u tome kada ja dobijem 4 poena meni pise u chatu da sam dobio nagradu za 2 poena i za 4 poena to mozete vidit sve na slikama.Dole ispod slika imat cete kodove sve potrebne.
Slika: https://imgur.com/a/r9ixRG4
Kod komande /aktivnaigra
[pawn]YCMD:aktivnaigra(playerid,params[], help)
{
#pragma unused help
#pragma unused params
new aktigra[2080];
strcat(aktigra, ""BELA"Å ta je?\n\n", sizeof(aktigra));
strcat(aktigra, ""BELA"2 Sati Igranja == 15.000$ i +10 Experience\n\n", sizeof(aktigra));
strcat(aktigra, ""BELA"4 Sati Igranja == 100 Eura, 10.000$ i 2 Donate Poena\n\n", sizeof(aktigra));
strcat(aktigra, ""BELA"6 Sati Igranja == +20 Experience, 10.000$, 100 eura i 5 Donate Poena\n\n", sizeof(aktigra));
strcat(aktigra, ""BELA"8 Sati Igranja == 20.000$, 10 Bap Poena i 2 Donate Poena\n\n", sizeof(aktigra));
strcat(aktigra, ""BELA"10 Sati Igranja == 100 Eura, 15.000$, 5 Bap Poena, 5 Donate Poena i +40 Experience\n\n", sizeof(aktigra));
SPD(playerid, DIALOG_AKTIVNAIGRA, DIALOG_STYLE_MSGBOX, ""PLAVA"Balkan Extreme Community AKTIVNA IGRA", aktigra, "aktigra", "");
if(PlayerInfo[playerid][pAktivnaIgraPoeni] >= 2)
{
strcat(aktigra, ""ZELENA"2 Sati Igranja == 15.000$ i +10 Experience\n\n", sizeof(aktigra));
strcat(aktigra, ""BELA"4 Sati Igranja == 100 Eura, 10.000$ i 2 Donate Poena\n\n", sizeof(aktigra));
strcat(aktigra, ""BELA"6 Sati Igranja == +20 Experience, 10.000$, 100 eura i 5 Donate Poena\n\n", sizeof(aktigra));
strcat(aktigra, ""BELA"8 Sati Igranja == 20.000$, 10 Bap Poena i 2 Donate Poena\n\n", sizeof(aktigra));
strcat(aktigra, ""BELA"10 Sati Igranja == 100 Eura, 15.000$, 5 Bap Poena, 5 Donate Poena i +40 Experience\n\n", sizeof(aktigra));
SPD(playerid, DIALOG_AKTIVNAIGRA, DIALOG_STYLE_MSGBOX, ""PLAVA"Balkan Extreme Community AKTIVNA IGRA", aktigra, "aktigra", "");
}
if(PlayerInfo[playerid][pAktivnaIgraPoeni] >= 4)
{
strcat(aktigra, ""ZELENA"2 Sati Igranja == 15.000$ i +10 Experience\n\n", sizeof(aktigra));
strcat(aktigra, ""ZELENA"4 Sati Igranja == 100 Eura, 10.000$ i 2 Donate Poena\n\n", sizeof(aktigra));
strcat(aktigra, ""BELA"6 Sati Igranja == +20 Experience, 10.000$, 100 eura i 5 Donate Poena\n\n", sizeof(aktigra));
strcat(aktigra, ""BELA"8 Sati Igranja == 20.000$, 10 Bap Poena i 2 Donate Poena\n\n", sizeof(aktigra));
strcat(aktigra, ""BELA"10 Sati Igranja == 100 Eura, 15.000$, 5 Bap Poena, 5 Donate Poena i +40 Experience\n\n", sizeof(aktigra));
SPD(playerid, DIALOG_AKTIVNAIGRA, DIALOG_STYLE_MSGBOX, ""PLAVA"Balkan Extreme Community AKTIVNA IGRA", aktigra, "aktigra", "");
}
if(PlayerInfo[playerid][pAktivnaIgraPoeni] >= 6)
{
strcat(aktigra, ""ZELENA"2 Sati Igranja == 15.000$ i +10 Experience\n\n", sizeof(aktigra));
strcat(aktigra, ""ZELENA"4 Sati Igranja == 100 Eura, 10.000$ i 2 Donate Poena\n\n", sizeof(aktigra));
strcat(aktigra, ""ZELENA"6 Sati Igranja == +20 Experience, 10.000$, 100 eura i 5 Donate Poena\n\n", sizeof(aktigra));
strcat(aktigra, ""BELA"8 Sati Igranja == 20.000$, 10 Bap Poena i 2 Donate Poena\n\n", sizeof(aktigra));
strcat(aktigra, ""BELA"10 Sati Igranja == 100 Eura, 15.000$, 5 Bap Poena, 5 Donate Poena i +40 Experience\n\n", sizeof(aktigra));
SPD(playerid, DIALOG_AKTIVNAIGRA, DIALOG_STYLE_MSGBOX, ""PLAVA"Balkan Extreme Community AKTIVNA IGRA", aktigra, "aktigra", "");
}
if(PlayerInfo[playerid][pAktivnaIgraPoeni] >= 8)
{
strcat(aktigra, ""ZELENA"2 Sati Igranja == 15.000$ i +10 Experience\n\n", sizeof(aktigra));
strcat(aktigra, ""ZELENA"4 Sati Igranja == 100 Eura, 10.000$ i 2 Donate Poena\n\n", sizeof(aktigra));
strcat(aktigra, ""ZELENA"6 Sati Igranja == +20 Experience, 10.000$, 100 eura i 5 Donate Poena\n\n", sizeof(aktigra));
strcat(aktigra, ""ZELENA"8 Sati Igranja == 20.000$, 10 Bap Poena i 2 Donate Poena\n\n", sizeof(aktigra));
strcat(aktigra, ""BELA"10 Sati Igranja == 100 Eura, 15.000$, 5 Bap Poena, 5 Donate Poena i +40 Experience\n\n", sizeof(aktigra));
SPD(playerid, DIALOG_AKTIVNAIGRA, DIALOG_STYLE_MSGBOX, ""PLAVA"Balkan Extreme Community AKTIVNA IGRA", aktigra, "aktigra", "");
}
if(PlayerInfo[playerid][pAktivnaIgraPoeni] >= 10)
{
strcat(aktigra, ""ZELENA"2 Sati Igranja == 15.000$ i +10 Experience\n\n", sizeof(aktigra));
strcat(aktigra, ""ZELENA"4 Sati Igranja == 100 Eura, 10.000$ i 2 Donate Poena\n\n", sizeof(aktigra));
strcat(aktigra, ""ZELENA"6 Sati Igranja == +20 Experience, 10.000$, 100 eura i 5 Donate Poena\n\n", sizeof(aktigra));
strcat(aktigra, ""ZELENA"8 Sati Igranja == 20.000$, 10 Bap Poena i 2 Donate Poena\n\n", sizeof(aktigra));
strcat(aktigra, ""ZELENA"10 Sati Igranja == 100 Eura, 15.000$, 5 Bap Poena, 5 Donate Poena i +40 Experience\n\n", sizeof(aktigra));
SPD(playerid, DIALOG_AKTIVNAIGRA, DIALOG_STYLE_MSGBOX, ""PLAVA"Balkan Extreme Community AKTIVNA IGRA", aktigra, "aktigra", "");
}
SavePlayer(playerid);
return 1;
}[/pawn]
Kod za dobijanje nagrada
[pawn] if(PlayerInfo[pAktivnaIgraPoeni] >= 2)
{
SCM(i,-1,"MC:RP | "BELA"Sakupili ste 2 poena i dobili nagradu.");
g_NovacPlus(i, 15000);
PlayerInfo[pExp]+=10;
}
if(PlayerInfo[pAktivnaIgraPoeni] >= 4)
{
SCM(i,-1,"MC:RP | "BELA"Sakupili ste 4 poena i dobili nagradu.");
g_NovacPlus(i, 10000);
PlayerInfo[pEuro]+=100;
PlayerInfo[pDonatePoeni]+=2;
PlayerInfo[pExp]+=10;
}
if(PlayerInfo[pAktivnaIgraPoeni] >= 6)
{
SCM(i,-1,"MC:RP | "BELA"Sakupili ste 6 poena i dobili nagradu.");
g_NovacPlus(i, 10000);
PlayerInfo[pEuro]+=100;
PlayerInfo[pDonatePoeni]+=5;
PlayerInfo[pExp]+=20;
}
if(PlayerInfo[pAktivnaIgraPoeni] >= 8)
{
SCM(i,-1,"MC:RP | "BELA"Sakupili ste 8 poena i dobili nagradu.");
g_NovacPlus(i, 20000);
PlayerInfo[pDonatePoeni]+=2;
PlayerInfo[pBapPoeni]+=10;
}
if(PlayerInfo[pAktivnaIgraPoeni] >= 10)
{
SCM(i,-1,"MC:RP | "BELA"Sakupili ste 10 poena i dobili nagradu.");
g_NovacPlus(i, 15000);
PlayerInfo[pEuro]+=100;
PlayerInfo[pDonatePoeni]+=5;
PlayerInfo[pBapPoeni]+=5;
PlayerInfo[pExp]+=40;
PlayerInfo[pAktivnaIgraPoeni] = 0;
}[/pawn]
Što praviš komandu ako je ne znaš napraviti ???
Citat: Tigar poslato Avgust 03, 2019, 20:37:29 POSLE PODNE
Što praviš komandu ako je ne znaš napraviti ???
Druze to nije bitno meni mnogo potrebna pomoc ima mnogo drugih kome je zbagovana komanda ili nesto nije u redu i dodju na ovaj forum i potraze pomoc ako nisi znao imas pdf Razgovori u vezi PAWN - skriptanja tu mozes da vidis.
[pawn]switch() { }[/pawn]
Citat: Terza Lazarevic poslato Avgust 03, 2019, 20:55:37 POSLE PODNE
[pawn]switch() { }[/pawn]
Hvala na kodu to sam ja prije znao radit ali 1 godinu nisam skript to je problem
Mozes li jos samo reci gdje to da stavim ili kada budes imao vremena pa napisi gdje to da stavim.
[pawn]
switch(PlayerInfo[playerid][pAktivnaIgraPoeni])
{
case 2..5:
{
strcat(string, ""ZELENA"2. poena\n{FFFFFF}6. poena\n10. poena");
}
case 6..9:
{
strcat(string, ""ZELENA"2. poena\n6. poena\n{FFFFFF}10. poena");
}
case 10: //maximum
{
strcat(string, ""ZELENA"2. poena\n6. poena\n10. poena");
}
default:
{
strcat(string, "{FFFFFF}2. poena\n6. poena\n10. poena");
}
}
ShowPlayerDialog(playerid, ......, string, ..);
[/pawn]