Aktivna igra pomoc


Započeo SanelPandzic, Avgust 03, 2019, 19:04:37 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

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
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;
	}

Skripta od plate
forward PayDay(i);
public PayDay(i)
{
	if(!IsPlayerConnected(i) || UlogovanProvera[i] == 0) return 1;
	new stariiznos = PlayerInfo[i][pNovacBanka];
	if(PlayerInfo[i][pRent] != -1)
	{
		if(PlayerInfo[i][pNovacBanka] < KucaInfo[PlayerInfo[i][pRent]][kCenaRenta])
		{
			PlayerInfo[i][pRent] = -1;
			PlayerInfo[i][pProveraSpawna] = SPAWN_NORMAL;
			SCM(i, -1, ""CRVENA"[MC:RP] "SIVA"Niste imali da platiti kiriju za kucu, iseljeni ste!");
		}
		PlayerInfo[i][pNovacBanka] -= KucaInfo[PlayerInfo[i][pRent]][kCenaRenta];
	}
	if(PlayerInfo[i][pNovacBanka] >= PlayerInfo[i][pIznosRate] && PlayerInfo[i][pPreostaloZaOtplatu] > 0)
	{
	    if(PlayerInfo[i][pPreostaloZaOtplatu] < PlayerInfo[i][pIznosRate])
	    {
	        PlayerInfo[i][pIznosRate] = PlayerInfo[i][pPreostaloZaOtplatu];
		}
	    PlayerInfo[i][pPreostaloZaOtplatu] -= PlayerInfo[i][pIznosRate];
	    PlayerInfo[i][pNovacBanka] -= PlayerInfo[i][pIznosRate];
	    if(PlayerInfo[i][pPreostaloZaOtplatu] < 0) PlayerInfo[i][pPreostaloZaOtplatu] = 0;
	    if(PlayerInfo[i][pPreostaloZaOtplatu] <= 0) { PlayerInfo[i][pIznosKredita] = 0; PlayerInfo[i][pIznosRate] = 0; }
	}
    if(PlayerInfo[i][pPayDayPoeni] < 35)
	{
		SCM(i, -1, "[MC:RP] "ZUTA"* Niste igrali dovoljno dugo da dobijete platu!");
		DobioPay[i] = 1;
		return 1;
	}
	if(PlayerInfo[i][pOrgUgovor] > 0)
	{
		PlayerInfo[i][pOrgUgovor]--;
		if(PlayerInfo[i][pOrgUgovor] == 0) SCM(i, -1, ""CRVENA"MC:RP | "SIVA"Vasa kazna za ulazak u organizaciju je istekla!");
	}
	if(PlayerInfo[i][pPosaoUgovor] > 0) { PlayerInfo[i][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[i][pLevel];
    PlayerInfo[i][pExp]++;
	PlayerInfo[i][pSatiIgre]++;
	iskustvo = (PlayerInfo[i][pLevel] * 2) + 2;
	if(PlayerInfo[i][pPosedovanjeKuce] != -1) { struja += (10 + random(15)); voda += (10 + random(5)); porez += 10; smece += 8; grijanje += 5; }
	if(PlayerInfo[i][pPosedovanjeStana] != -1) { struja += (3 + random(5)); voda += (5 + random(8)); porez += 10; smece += 4; grijanje += 3; }
	if(PlayerInfo[i][pPosedovanjeVikendice] != -1) { struja += (4 + random(5)); voda += (5 + random(10)); porez += 10; smece += 5; grijanje += 4; }
	if(PlayerInfo[i][pPosedovanjeFirme] != -1) { porez += 100; }
	if(PlayerInfo[i][pRent] == -1) kucanajam = 0;
	else if(PlayerInfo[i][pRent] != -1) kucanajam = KucaInfo[PlayerInfo[i][pRent]][kCenaRenta];
	new strp1[300],strp2[300],strp[600];
	if(PlayerInfo[i][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[i][pIznosKredita], PlayerInfo[i][pIznosRate], PlayerInfo[i][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[i][pNovacBanka]+iznosplate);
	}
    if(duplirespect == 1)
    {
		PlayerInfo[i][pExp]++;
    }
    if(trirespekta == 1)
    {
	   PlayerInfo[i][pExp]+= 3;
	}
	if(PlayerInfo[i][pLevel] < 8)
	{
		PlayerInfo[i][pExp]+=1;
    }
	else if(PlayerInfo[i][pExp] >= iskustvo)
	{
		PlayerInfo[i][pLevel]++;
		SetPlayerScore(i, PlayerInfo[i][pLevel]);
		PlayerInfo[i][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[i][pIznosKredita], PlayerInfo[i][pIznosRate], PlayerInfo[i][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[i][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[i][pNovacBanka] += prihod;
	PlayerInfo[i][pNovacBanka] -= rashod;
	PlayerInfo[i][pPayDayPoeni] = 0;
	DobioPay[i] = 1;
	SavePlayer(i);
	if(PlayerInfo[i][pPenzija] >= 1)
	{
	SCM(i, -1, ""CRVENA"PENZIJA: "BELA"Ti si Penzioner "BELA"i dobio si 300â,¬ !");
	PlayerInfo[i][pEuro] += 300;
	}
	return 1;
}

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
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;
}

Kod za dobijanje nagrada
if(PlayerInfo[i][pAktivnaIgraPoeni] >= 2)
	{
       SCM(i,-1,"MC:RP | "BELA"Sakupili ste 2 poena i dobili nagradu.");
       g_NovacPlus(i, 15000);
       PlayerInfo[i][pExp]+=10;
	}
	if(PlayerInfo[i][pAktivnaIgraPoeni] >= 4)
	{
       SCM(i,-1,"MC:RP | "BELA"Sakupili ste 4 poena i dobili nagradu.");
       g_NovacPlus(i, 10000);
       PlayerInfo[i][pEuro]+=100;
       PlayerInfo[i][pDonatePoeni]+=2;
       PlayerInfo[i][pExp]+=10;
	}
	if(PlayerInfo[i][pAktivnaIgraPoeni] >= 6)
	{
	   SCM(i,-1,"MC:RP | "BELA"Sakupili ste 6 poena i dobili nagradu.");
       g_NovacPlus(i, 10000);
       PlayerInfo[i][pEuro]+=100;
       PlayerInfo[i][pDonatePoeni]+=5;
       PlayerInfo[i][pExp]+=20;
	}
	if(PlayerInfo[i][pAktivnaIgraPoeni] >= 8)
	{
       SCM(i,-1,"MC:RP | "BELA"Sakupili ste 8 poena i dobili nagradu.");
       g_NovacPlus(i, 20000);
       PlayerInfo[i][pDonatePoeni]+=2;
       PlayerInfo[i][pBapPoeni]+=10;
	}
	if(PlayerInfo[i][pAktivnaIgraPoeni] >= 10)
	{
       SCM(i,-1,"MC:RP | "BELA"Sakupili ste 10 poena i dobili nagradu.");
       g_NovacPlus(i, 15000);
       PlayerInfo[i][pEuro]+=100;
       PlayerInfo[i][pDonatePoeni]+=5;
       PlayerInfo[i][pBapPoeni]+=5;
       PlayerInfo[i][pExp]+=40;
       PlayerInfo[i][pAktivnaIgraPoeni] = 0;
	}

Š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.


Citat: Terza Lazarevic poslato Avgust 03, 2019, 20:55:37 POSLE PODNE
switch() { }

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.

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, ..);