Gang Zone Problem ( FS )

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
  • Hi all
    Ich hab ma ne frage was ist an diesem Code falsch?
    die meldung die eigentlich kommen soltte kommt nicht:
    #include <a_samp>
    //NEW
    #define COLOR_RED 0xFF0000FF
    new flughafen559;



    forward OnPlayerEnter(playerid,gangzoneid);
    forward SendMessage(playerid,color,const string[]);


    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Flughafen System bei [AM]_Alex / Alex2009");
    print("--------------------------------------\n");

    flughafen559 = GangZoneCreate(2127.8147, 2131.0520, 1394.8645, 1396.4937);
    }


    public OnPlayerConnect(playerid)
    {
    }


    public OnPlayerEnter(playerid,gangzoneid)
    {
    new string[55];
    format(string,sizeof(string),"* Spieler Info: %d befindet sich in einem Gang gebiet",playerid);
    SendClientMessage(playerid,COLOR_RED,string);
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    }

    Name: [AM] German RealLife
    SAMP IP: 94.199.242.79:7777
    TS³ IP: 94.199.242.79:9987

    Homepage: http://www.gta-clan.com

    Einmal editiert, zuletzt von alex2009 ()

  • public OnPlayerEnter(playerid,gangzoneid)
    {
    new string[55];
    format(string,sizeof(string),"* Spieler Info: %d befindet sich in einem Gang gebiet",playerid);
    SendClientMessageToAll(COLOR_RED,string);
    }



    probier ma so.

    Gruß Nate

  • public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Flughafen System bei [AM]_Alex / Alex2009");
    print("--------------------------------------\n");
    flughafen559 = GangZoneCreate(2127.8147, 2131.0520, 1394.8645, 1396.4937);
    SetTimer("OnPlayerEnter",1000,1); //jede sekunde OnPlayerEnter überprüfen
    }

  • @ BugScripter er hat doch ein forward erstellt.


    @ Thread


    Verwende die PlayerToPoint Funktion.
    Folgendes in den Script einfügen:


    Oben

    forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);


    Unten im Script:

    public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    tempposx = (oldposx -x);
    tempposy = (oldposy -y);
    tempposz = (oldposz -z);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    }
    return 0;
    }


    Wie funktioniert es?
    Ganz einfach:


    Radius, playerid, x, y, z


    Besipiel:


    if (PlayerToPoint(15.0, playerid, 50.00,50.00,50.00))


    Mit else Abfrage

    if (PlayerToPoint(15.0, playerid, -2126.9758,-81.1573,35.3203))
    {
    SendClientMessage(playerid,FARBE,"TEXT");
    }
    else
    {
    SendClientMessage(playerid,FARBE,"TEXT");


    MfG Markus

  • jetzt wir mein chat mit der nachricht vollgespammt


    egal wo ich bin


    em eine frage:
    Wenn ich eine gang zone mache brauche ich von allen 4 ecken die x die y oder die Z kordinate?


    und wie bekomme ich die warnung mit


    //editd: Marcus
    ich möchte aber nur die landebahn überwachen nix anderes
    aufm punkt genau die lande bahn

  • man kanns ja auch so machen dass man nit zugespammt wird :D


    z.b. mit nem new IsInGangZone[MAX_PLAYERS];
    dann da wo abgefragt is ob er drinne is dann
    if(IsInGangZone == 0)
    {
    SendClientMEssage...
    IsInGangZone = 1;
    }
    else if(IsInGangZone == 1)
    {
    blabla
    }


    Aber das mit PlayerToPoint geht natürlich auch ;)

  • kann mir jemand die
    condinaten für den flughafen machen für das teil wei ich bekomme das mit den kordinaten nicht hin
    auch mit diesem teil da (der link von sa-mp.com) damit
    bekomme ich es auch nicht wirklich hin :(


    //edit:
    Habe die kordinaten jetzt:
    2127.934082, 1396.088500, -2476.823974, -2612.659912


    Imoment sieht mein FS so aus:
    #include <a_samp>
    //NEW
    #define COLOR_RED 0xFF0000FF


    new flughafen559;
    new IsInGangZone;


    forward OnPlayerEnter(playerid);



    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Flughafen System bei [AM]_Alex / Alex2009");
    print("--------------------------------------\n");


    SetTimer("OnPlayerEnter",1000,1); //jede sekunde OnPlayerEnter überprüfen
    flughafen559 = GangZoneCreate(2127.934082, 1396.088500, -2476.823974, -2612.659912);
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    return 1;
    }


    public OnPlayerEnter(playerid)
    {
    if(IsInGangZone == 0)
    {
    new string[55];
    format(string,sizeof(string),"* Spieler Info: %d befindet sich in einem Gang gebiet",playerid);
    SendClientMessageToAll(COLOR_RED,string);
    IsInGangZone = 1;
    }
    else if(IsInGangZone == 1)
    {
    new string[55];
    format(string,sizeof(string),"* Spieler Info: %d befindet sich in einem Gang gebiet NÖ isser nämlich net verawscht",playerid);
    SendClientMessageToAll(COLOR_RED,string);
    }
    return 1;
    }


    Aber es funktionir nicht :(



    was ist dort Falsch?

    Name: [AM] German RealLife
    SAMP IP: 94.199.242.79:7777
    TS³ IP: 94.199.242.79:9987

    Homepage: http://www.gta-clan.com

    3 Mal editiert, zuletzt von alex2009 ()

  • So sollte der Text und die Gangzone angezeigt werden:


    #include <a_samp>
    //NEW
    #define COLOR_RED 0xFF0000FF


    new string[256];


    new flughafen559;
    new IsInGangZone;


    forward OnPlayerEnter(playerid);



    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Flughafen System bei [AM]_Alex / Alex2009");
    print("--------------------------------------\n");


    SetTimer("OnPlayerEnter",1000,1); //jede sekunde OnPlayerEnter überprüfen
    flughafen559 = GangZoneCreate(2127.934082, 1396.088500, -2476.823974, -2612.659912);
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    GangZoneShowForPlayer(playerid, flughafen559, 0xFF000096); // Zeigt die Gangzone an, habe sie mal Rot gemacht! Die Farbe kannst du ja ändern!
    return 1;
    }


    public OnPlayerEnter(playerid)
    {
    if(IsInGangZone == 0)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(string,sizeof(string),"* Spieler Info: %s befindet sich in einem Ganggebiet!",name);
    SendClientMessageToAll(COLOR_RED,string);
    IsInGangZone = 1;
    }
    else if(IsInGangZone == 1)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(string,sizeof(string),"* Spieler Info: %s befindet sich in einem Ganggebiet! Nö isser nämlich net verarscht!",name);
    SendClientMessageToAll(COLOR_RED,string);
    }
    return 1;
    }


    ahja habe auch mal deinen Text verbessert, war en kleiner Buchstabendreher drin^^


    MfG Markus


    EDIT: Hab noch was vergessen und ergänzt^^