[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