Pomoc


Započeo Goku ^, Novembar 01, 2021, 21:40:25 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

if(IsPlayerInDynamicArea(playerid, GZ[zonaid[playerid]][gZoneRectAngle])) tb ovdje vrsi provjeru ako je u arei prekida zauzimanje
Upwork Skills
Back-end:
• PHP Frameworks (Laravel, Symfony,Codeigniter)
• Python/Django
• Node.js

Front-end:
• HTML
• CSS pre-processing (SASS, LESS)
• Javascript (JQuery, Ajax, Vue, Angular, React, etc.)
• Bootstrap

CMS
• Wordpress (Woocommerce)
• Shopify, Magento

Citat: Grella™ poslato Novembar 05, 2021, 13:46:52 POSLE PODNE
if(IsPlayerInDynamicArea(playerid, GZ[zonaid[playerid]][gZoneRectAngle])) tb ovdje vrsi provjeru ako je u arei prekida zauzimanje

if(!IsPlayerInDynamicArea(playerid, GZ[zonaid[playerid]][gZoneRectAngle]))


Samo odradi ovo

Citat: V01D poslato Novembar 05, 2021, 13:49:45 POSLE PODNE
if(!IsPlayerInDynamicArea(playerid, GZ[zonaid[playerid]][gZoneRectAngle]))


Samo odradi ovo
I nije radilo zbog jebeno ! wow, e sad da te pitam nesto da ne sjebem jel moze isto ovo da se ubaci u /zauzmi jer mogu da zapocnem zauzimanje van zone i posle 1 sec prekine?

if(!IsPlayerInDynamicArea(playerid, GZ[zonaid[playerid]][gZoneRectAngle])) //ako igrac nije na zoni
if(IsPlayerInDynamicArea(playerid, GZ[zonaid[playerid]][gZoneRectAngle])) //ako je igrac u zoni
Upwork Skills
Back-end:
• PHP Frameworks (Laravel, Symfony,Codeigniter)
• Python/Django
• Node.js

Front-end:
• HTML
• CSS pre-processing (SASS, LESS)
• Javascript (JQuery, Ajax, Vue, Angular, React, etc.)
• Bootstrap

CMS
• Wordpress (Woocommerce)
• Shopify, Magento

Citat: Goku ^ poslato Novembar 05, 2021, 14:44:54 POSLE PODNE
I nije radilo zbog jebeno ! wow, e sad da te pitam nesto da ne sjebem jel moze isto ovo da se ubaci u /zauzmi jer mogu da zapocnem zauzimanje van zone i posle 1 sec prekine?

Samo u komandi /zauzmi stavi slicnu proveru..

Loopuj sve zone, proveri da li je igrac u bilo kojoj i da li je na pickup-u bilo koje zone, ako jeste, pocni zauzimanje

Citat: Goku ^ poslato Novembar 05, 2021, 11:14:31 PRE PODNE
forward GangZone(playerid);
public GangZone(playerid)
{
	if(IsPlayerInDynamicArea(playerid, GZ[zonaid[playerid]][gZoneRectAngle]))
	{
		new id = zonaid[playerid];
		new string[256];
		GangZoneStopFlashForAll(ZonaID[id]);
		PlayerTextDrawHide(playerid, ZauzimanjeTD[0][playerid]);
		PlayerTextDrawHide(playerid, ZauzimanjeTD[1][playerid]);
		PlayerTextDrawHide(playerid, ZauzimanjeTD[2][playerid]);
		PlayerTextDrawHide(playerid, ZauzimanjeTD[3][playerid]);
		PlayerTextDrawHide(playerid, ZauzimanjeTD[4][playerid]);
		zonaid[playerid] -= 1;
		zonatime[playerid] -= 1;
		KillTimer(zonatimer[playerid]);
		zauzimaplayer[playerid] = 0;
		DeletePVar(playerid, "zauzima");
		GZ[id][Zauzima] = 0;
		SCM(playerid,NS_CRVENA,"[ERROR]: "SIVA"Zauzimanje je prekinuto zato sto ste izasli iz okvira zauzimanja.");
		new sttatus[64];
		if(GZ[id][zonaTeam] == 1) { sttatus = "The Vinci Family"; }
		if(PlayerInfo[playerid][pClan] > 0)
		{
			format(string,sizeof(string),"[TERITORIJA] "BELA"Niste uspeli da zauzmete teritoriju (%d) koja je u posedu %s.",id,sttatus);
			SendFamilyMessage(PlayerInfo[playerid][pClan],NS_CRVENA,string);
		}
		if(GZ[id][zonaTeam] == 1)	//---TVF
		{
			format(string,sizeof(string),"[TERITORIJA] "BELA"Organizacija %s nije uspjela da zauzme vasu teritoriju (%d).", ImeOrganizacije(PlayerInfo[playerid][pClan]), id);
			SendFamilyMessage(2,NS_CRVENA,string);
		}
		return true;
	}
	zonatime[playerid] -= 1;
	if(zonatime[playerid] > 240 && zonatime[playerid] < 301)
	{
		if(zonas[playerid] == 1)
		{
			zonas[playerid] = 60;
		}
		zonas[playerid] -= 1;
		new text2[126];
		format(text2, sizeof(text2), "04:%d",zonas[playerid]);
		PlayerTextDrawSetString(playerid,ZauzimanjeTD[2][playerid], text2);
		PlayerTextDrawShow(playerid, ZauzimanjeTD[2][playerid]);
	}
 	if(zonatime[playerid] > 180 && zonatime[playerid] < 240)
	{
		if(zonas[playerid] == 1)
		{
			zonas[playerid] = 60;
		}
		zonas[playerid] -= 1;
		new text2[126];
		format(text2, sizeof(text2), "03:%d",zonas[playerid]);
		PlayerTextDrawSetString(playerid,ZauzimanjeTD[2][playerid], text2);
		PlayerTextDrawShow(playerid, ZauzimanjeTD[2][playerid]);
	}
	if(zonatime[playerid] > 120 && zonatime[playerid] < 180)
	{
		if(zonas[playerid] == 1)
		{
			zonas[playerid] = 60;
		}
		zonas[playerid] -= 1;
		new text2[126];
		format(text2, sizeof(text2), "02:%d",zonas[playerid]);
		PlayerTextDrawSetString(playerid,ZauzimanjeTD[2][playerid], text2);
		PlayerTextDrawShow(playerid, ZauzimanjeTD[2][playerid]);
	}
	if(zonatime[playerid] > 60 && zonatime[playerid] < 120)
	{
		if(zonas[playerid] == 1)
		{
			zonas[playerid] = 60;
		}
		zonas[playerid] -= 1;
		new text2[126];
		format(text2, sizeof(text2), "01:%d",zonas[playerid]);
		PlayerTextDrawSetString(playerid,ZauzimanjeTD[2][playerid], text2);
		PlayerTextDrawShow(playerid, ZauzimanjeTD[2][playerid]);
	}
	if(zonatime[playerid] > 0 && zonatime[playerid] < 60)
	{
		if(zonas[playerid] == 1)
		{
			zonas[playerid] = 60;
		}
		zonas[playerid] -= 1;
		new text2[126];
		format(text2, sizeof(text2), "00:%d",zonas[playerid]);
		PlayerTextDrawSetString(playerid,ZauzimanjeTD[2][playerid], text2);
		PlayerTextDrawShow(playerid, ZauzimanjeTD[2][playerid]);
	}
	if(zonatime[playerid] < 1)
	{
        PlayerTextDrawHide(playerid, ZauzimanjeTD[0][playerid]);
		PlayerTextDrawHide(playerid, ZauzimanjeTD[1][playerid]);
		PlayerTextDrawHide(playerid, ZauzimanjeTD[2][playerid]);
		PlayerTextDrawHide(playerid, ZauzimanjeTD[3][playerid]);
		PlayerTextDrawHide(playerid, ZauzimanjeTD[4][playerid]);
		new rand = random(3);
        switch(rand)
        {
            case 0:
            {
    			new rasda = random(500)+1000;
				va_SendClientMessage(playerid,NS_YELLOW, "[INFO] "BELA"Zauzeli ste teritoriju i dobili "HZELENA"%dg materijala"BELA".", rasda);
				PlayerInfo[playerid][pMats] += rasda;
            }
            case 1:
            {
                new rasda = random(500)+1000;
				va_SendClientMessage(playerid,NS_YELLOW, "[INFO] "BELA"Zauzeli ste teritoriju i dobili "HZELENA"%dg droge"BELA".", rasda);
				PlayerInfo[playerid][pDroga] += rasda;
            }
            case 2:
			{
                new rasda = random(30000)+20000;
				va_SendClientMessage(playerid,NS_YELLOW, "[INFO] "BELA"Zauzeli ste teritoriju i dobili "HZELENA"$%d novca"BELA".", rasda);
				g_NovacPlus(playerid, rasda);
            }
        }
		KillTimer(zonatimer[playerid]);
		zauzimaplayer[playerid] = 0;
		DeletePVar(playerid, "zauzima");
		new clan = PlayerInfo[playerid][pClan];
		new lider = PlayerInfo[playerid][pLider];
		new id = zonaid[playerid];
		GZ[id][Zauzima] = 0;
		GangZoneStopFlashForAll(ZonaID[id]);
		new string[256];
		new sttatus[64];
		if(GZ[id][zonaTeam] == 1) { sttatus = "The Vinci Family"; }
		if(PlayerInfo[playerid][pClan] > 0)
		{
			format(string,sizeof(string),"[TERITORIJA] "BELA"Zauzeli ste teritoriju (%d) koja je bila u posjedu %s.",id,sttatus);
			SendFamilyMessage(PlayerInfo[playerid][pClan],NS_CRVENA,string);
		}
		if(GZ[id][zonaTeam] == 2 && clan == 2 || lider == 2)
		{
		    format(string,sizeof(string),"[TERITORIJA] "BELA"Organizacija TVF je zauzela teritoriju (%d) koja je bila u vasem posjedu.", id);
			SendFamilyMessage(GZ[id][zonaTeam],NS_CRVENA,string);
			GZ[id][zonaTeam] = 1;
			DestroyDynamic3DTextLabel(ZonaLabel[id]);
			GangZoneHideForAll(ZonaID[id]);
			GangZoneShowForAll(ZonaID[id],0xe80d0dEE);
			new status[64];
			format(status,sizeof(status),"The Vinci Family");
			format(string,sizeof(string),"{157DEC}[ {FFFFFF}TERITORIJA {157DEC}]\nTeritorija je u vlasnistvu bande {FFFFFF}%s\n{157DEC}Ako zelis da je zauzmes kucaj {FFFFFF}/zauzmi",status);
			ZonaLabel[id] = CreateDynamic3DTextLabel(string ,0x33CCFFAA,GZ[id][gPickupx], GZ[id][gPickupy], GZ[id][gPickupz], 25, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 30.0);
			SacuvajZonu(id);
		}
		}
        return 1;
	}
	return 1;
}


Skidam ti kapu ako mozes u ovo da gledas i da ne places.
Umjesto da koristis 2-3 arraya za vrijeme mozes sve smjestiti u jedan koji ce oznacavati sekunde do kraja i formatirati string na osnovu njega.

format(string, sizeof string, "%02d:%02d", timeLeft / 60, timeLeft - (timeLeft / 60 * 60));


Sa tom malom izmjenom em ces optimizovati kod em ces izbjeci ovo grdilo i visak 100 linija.

Citat: // xunder poslato Novembar 05, 2021, 21:10:33 POSLE PODNE
Skidam ti kapu ako mozes u ovo da gledas i da ne places.
Umjesto da koristis 2-3 arraya za vrijeme mozes sve smjestiti u jedan koji ce oznacavati sekunde do kraja i formatirati string na osnovu njega.

format(string, sizeof string, "%02d:%02d", timeLeft / 60, timeLeft - (timeLeft / 60 * 60));


Sa tom malom izmjenom em ces optimizovati kod em ces izbjeci ovo grdilo i visak 100 linija.

Uzeo sam neki random mod cisto da vidim ocel radit, kad budem radio kod sebe bice 100x drugacije tako da opusteno :D