Gangzonenfrage

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,
    ich habe jetzt eine Gangzone erstellt. In Las Venturas.



    new gangzone;



    public OnGameModeInit() {
    gangzone = GangZoneCreate(2005,551, 838,8914, 2048,504, 1724,678);
    return 1;
    }



    public OnPlayerSpawn(playerid) {
    GangZoneShowForPlayer(playerid, gangzone, 0xFF804096);
    return 1;
    }


    Wie kann ich jetzt machen wen ein Spieler die Gangzone betritt das unten links unterm Radar ein Textdraw kommt wo Strip steht? Und wenn er die Gangzone wieder verlässt soll Las Venturas kommen.


    MfG ~Luka~

  • Ich weiß net ob es so geht :

    if(PlayerToPoint(100.0. playerid, gangzone);

    ich denk mal nicht aber man kanns ja mal versuchen. Ansonsten musste ma gucken wie der Radius bis zum Ende deiner Gangzone ist und ihn dann da hinschreiben. bei den Cords nimmste dann einfach die mitte der Gangzone

  • Hi,
    sowas kann überhaupt nicht gehen!
    Man muss doch ein Textdraw erstellen wo dann wenn man in der Gangzone ist Strip kommt und wenn man nicht in der Gangzone ist soll Las Venturas kommen also hat ein anderer eine Ahnung wie es gehen könnte?


    MfG ~Luka~

  • Also du kannst abfragen ob er in "IsPlayerInArea" ist. Dann wenn einer nicht von der Fraktion ist.


    If(IsPlayerInArea(playerid))
    {
    //do somethin
    ]
    else
    {
    format(string, sizeof(string), "Jemand bricht in dein Headquartier ein !!!!!");
    SendTeamMessage(12,COLOR_LIGHTBLUE, string)
    ]
    So koennte man es machen, gibt aber noch mehr möglichkeiten.

  • Hi,


    Wie kann ich machen wen ein Spieler die Gangzone betritt das unten links unterm Radar ein Textdraw kommt wo Strip steht? Und wenn er die Gangzone wieder verlässt soll Las Venturas kommen.


    MfG

  • Am besten Sammelst du die Koordinaten für die Zonen packst sie in eine Array Variable
    und checkst das ganze mit nem Timer und IsPlayerInArea, dann setzt du deinen schon erstellten Textdraw für alle Spieler
    mit TextDrawSetString

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Es gibt von DracoBlue eine Funktion die genau dies bewirkt, also "OnPlayerEnterArea" und "OnPlayerLeaveArea".
    Dann müsstest du eben nur das Textdraw erstellen und beim Betreten ändern.

    Suche Scriptlehrer :rolleyes:

  • Hi,
    ja ist ja schön und gut aber kann mri bitte jemand ein Beispie lamchen damit ich das verstehe?


    MfG ~Luka~


    P.S Eine Gangzone habe ich ja schon erstellt vllt könnt ihr mir damti ein Beispiel machen! ;)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Hi,
    Lil_One kannst du mal bitte aufhören rumzu spammen!!!!
    LEider weiß ich halt nicht wie es geht deswegen frage ich!
    So was habe ich noch nie gemacht!
    Man kann doch wohl nach einem Beispiel fragen!


    MfG ~Luka~

  • @ Lil_one: Dafür ist das Forum da. Es ist nicht jeder ein Profi Scripter.

  • Joa bin auch am scripten lernen^^


    von tag zu tag von woche zu woche usw^^


    //irgwann lern ichs^^

  • Hi
    cardoso da hast du recht nur weil ich schon über 500 Beiträge habe kann ich auch nicht alles trotzdem darf ich noch fragen stellen!
    Naja ich habe jetzt kein bock mich mit anderen zu streiten!
    Greifwn wir nochmal auf das eigentliche Thema zurück kann mir bitte jemand ein Beispiel machen?


    MfG ~Luka~

  • Im Prinzip ist es ganz simpel: Du kontrollierst mit Hilfe eines Timers dauerhaft, in welcher Area (= Gangzone) sich der Spieler befindet und speicherst die "Areaid" des Spielers in einer globalen Variable. Wenn sich die ID beim nächster Durchlauf ändert, dass der Spieler (je nach ID) eine Zone verlassen oder eine Zone betreten hat.
    Ich habe dir mal etwas kleines vorbereitet, was du einfügen kannst oder als .inc benutzen kannst (dann musst du aber noch #include <a_samp> hinzufügen oben). Du erstellt dann Gangzones mit
    AddGangZone(Float:minx, Float:miny, Float:maxx, Float:maxy);
    und kannst wie gewohnt auch gangzone = AddGangZone(...); verwenden. Wenn ein Spieler eine Gangzone betreteten hat, wird (wie oben vorgeschlagen)
    OnPlayerEnterArea(playerid, area) aufgerufen, in welchem du dann deine "gangzone" Variable überprüfen kannst und einen Text senden kannst. Wenn ein Spieler eine Zone verlässt, wird
    OnPlayerLeaveArea(playerid, area);
    aufgerufen.


    Hier ist der Code, ob er funktioniert kann ich nicht versichern, aber er sollte eigentlich soweit funktionieren
    http://pastebin.com/m9aa969d