IsPlayerInZone?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • hallöchen...


    es gibt ja keine IsPlayerInZone funktion bei samp... also hab ich versucht es selber zu scripten... :D
    und... natürlich ging es nicht :D
    forward IsPlayerInZone(playerid,zoneid);
    public IsPlayerInZone(playerid,zoneid)
    {
    if(IsPlayerInZone(playerid, militaryzone))
    {
    GangZoneFlashForAll(militaryzone, 0xC71B1B7B);
    SendClientMessage(playerid, LS_RED, "Du bist in eine Militärgeschütztes Eigentum eingedrungen!");
    return 0;
    }
    return 1;
    }
    es kommt weder ne warnung noch ein error - was tun? :D


    danke für antworten :D

  • #define MAX_ZONX 250
    enum zonedat_
    {
    Float:minx,
    Float:maxx,
    Float:miny,
    Float:maxy
    }
    new zone_x[MAX_ZONX][zonedat_];
    new id_sys = -1;


    stock AddZone(Float:minimalx,Float:maximalx,Float:minimaly,Float:maximaly)
    {
    id_sys++;
    zone_x[id_sys][minx] = minimalx;
    zone_x[id_sys][maxx] = maximalx;
    zone_x[id_sys][miny] = minimaly;
    zone_x[id_sys][maxy] = maximaly;
    return id_sys;
    }


    forward IsPlayerInZone(playerid,zoneid);
    public IsPlayerInZone(playerid,zoneid)
    {
    if(zoneid == ZONE_BLA)
    {
    // sonstiges...
    }
    return 1;
    }



    // Check
    forward zone_check();
    public zone_check()
    {
    new Float:pos[3];
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue;
    GetPlayerPos(i,pos[0],pos[1],pos[2]);
    for(new j = 0;j<id_sys;j++)
    {
    if(pos[0] > zone_x[j][minx] && pos[0] < zone_x[j][maxx] && pos[1] > zone_x[j][miny] && pos[1] < zone_x[j][maxy])IsPlayerInZone(i,j);
    }
    }
    return 1;
    }


    So unter OnGameModeInit...
    SetTimer("check_zone",900,1);



    Beispiel...
    new ZONE_BLA;
    ZONE_BLA = AddZone(minx,maxx,miny,maxy);


    und wie gezeigt in IsPlayerInZone...


    if(zoneid == ZONE_BLA)
    {
    // sonstiges...
    }


    mfg.
    Ungetestet und ausm Kopf, sollte aber stimmen

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


    Einmal editiert, zuletzt von BlackFoX ()

  • hm es funktioniert nicht wirklich...
    militaryzone = GangZoneCreate(-1314.5287,481.7943,-1545.2054,260.1425);
    militaryzone2 = AddZone(-1314.5287,481.7943,-1545.2054,260.1425);
    forward IsPlayerInZone(playerid,zoneid);
    public IsPlayerInZone(playerid,zoneid)
    {
    if(zoneid == militaryzone2)
    {
    GangZoneFlashForAll(militaryzone, 0xC71B1B7B);
    SendClientMessage(playerid, LS_RED, "Du bist in eine Militärgeschütztes Eigentum eingedrungen!");
    return 0;
    }
    return 1;
    }



    // Check
    forward zone_check();
    public zone_check()
    {
    new Float:pos[3];
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue;
    GetPlayerPos(i,pos[0],pos[1],pos[2]);
    for(new j = 0;j<id_sys;j++)
    {
    if(pos[0] > zone_x[j][minx] && pos[0] < zone_x[j][maxx] && pos[1] > zone_x[j][miny] && pos[1] < zone_x[j][maxy])IsPlayerInZone(i,j);
    }
    }
    return 1;
    }
    es kommt weder ne warnung noch n error... was tun? ;(

    Einmal editiert, zuletzt von Zacharias ()