[POMOC] Zona


Započeo Zerin, Oktobar 26, 2014, 12:59:40 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim:Tronic HardPly (MOJA)
Detaljan opis problema:Ovako, napravio sam gangzonu i sve je uredu, ali kako da namjestim kada neko udje u tu zonu da mu oruzije iz ruke nestane. Da oruzije moze koristiti samo izvan te zone!! MOLIM VAS TO MI JE POTREBNO!!
Dio skripte://
Neke slike/video za lakse dobivanje pomoci(neobavezno):ZNATE NA STA MISLIM

Mozes uraditi sa proverom IsPlayerInRangeOfPoint

Citat: Leoon poslato Oktobar 26, 2014, 13:38:30 POSLE PODNE
Mozes uraditi sa proverom IsPlayerInRangeOfPoint

Brt mozel neki primjer kako to da uradim.. :D

Pa mozes u timer a mozes i pod OnPlayerUpdate da stavis
if(IsPlayerInRangeOfPoint(playerid,50.0,x,y,z)) // x,y i ze svoje kordinate stavi
{
   // sta da radi

Bolje ti je pomocu ovoga:

IsPlayerInArea(playerid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY)
{
    new Float:X, Float:Y, Float:Z;

    GetPlayerPos(playerid, X, Y, Z);
    if(X >= MinX && X <= MaxX && Y >= MinY && Y <= MaxY) {
        return 1;
    }
    return 0;
}

Sa tim tacno provjeravas u kojem se podruciju nalazi, ides IsPlayerInArea(playerid, i sad ovdje koordinate tvoje gang zone);

#define ZONABR1 2337.9004,-1808.8383,2590.2043,-1610.3673
//#define ZONADVA 1337.9004,-808.8383,1590.2043,-610.3673 // Primjer druge zone


forward IsPlayerInZone(playerid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY);
forward IsPlayerInZoneProvjera();

public OnGameModeInit()
{
	GangZoneCreate(ZONABR1);
//	GangZoneCreate(ZONADVA); // Primjer druge zone
	SetTimer("IsPlayerInZoneProvjera",100,1) // Tajmer koji provjerava da li netko usao u zonu svakih 1 milisekundu.
	return 1;
}

public IsPlayerZone(playerid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY) // Matematicka provjera :) da li je u zoni
{
    new Float:X, Float:Y, Float:Z;

    GetPlayerPos(playerid, X, Y, Z);
    if(X >= MinX && X <= MaxX && Y >= MinY && Y <= MaxY)
	{
        return 1;
    }
    return 0;
}

public IsPlayerInZoneProvjera() // Vremenska provjera da li je u zoni
{
	for(new mxpl=0; mxpl < MAX_PLAYERS; mxpl++)
	{
		if(IsPlayerInZone(mxpl,ZONABR1) /* || IsPlayerInZone(mxpl, ZONADVA) // primjer druge zone*/)
		{
			ResetPlayerWeapons(playerid); // Ovo znaci da je u zoni i da mu je oduzeto oruzje
		}
	}
}


Nadam se da sam ti pomogao eto ubacio sam ti i jos jednu zonu kao primjer samo nije aktivna tako da znas kako ces modifikovati dalje. :) Nadam se da ces rijesiti problem jer ti je tako hitno. Pozz