Hilfe bei Coordinaten

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
  • Das habe ich bisher auch gedacht, aber bei dem gamemode was ich editieren soll wohl nicht, da werden alles Job CP´s wo man in dienst geht mit 5 stellen geschrieben Hier damit du mir glaubst


    new Float:checkCoords[MAX_CHECKPOINTS][6] = {
    {2237.4673,2423.2349,2357.3616,2503.7490,10.0}, //POLIZEI LV
    {1534.5376,-1726.9327,1603.6138,-1597.1234,5.0}, //POLIZEI LS
    {-1701.7024,645.9760,-1571.3717,718.9313,5.0}, //POLIZEI SF
    {1017.6902,1222.8483,1062.3866,1354.7777,10.0}, //ADAC
    {1068.0544,1307.8521,1096.8936,1338.4054,10.0}, //WERKSTATT ADAC
    {2831.5625,973.9453,2847.6040,1004.81962,10.7500}, //SPEDITION
    {2877.8037,1983.0909,2946.9705,2054.3403,18.0}, //WANG CARS ALT (LV)
    //{-1996.0643,239.3101,-1926.1439,309.6031,35.1719}, //WANG CARS NEU (SF)
    {1580.4712,2284.7480,1744.4675,2389.0562,15.0}, //VERKEHRSUTNERNHEMEN
    {2175.4524,1656.6124,2196.9695,1689.2098,15.0}, //CASINO
    {2014.6255,987.4622,2033.8807,1024.5726,10.0}, //CASINO
    {1634.0771,2243.0073,1688.3402,2261.8691,10.0}, //CASINO
    }
    Und noch einige mehr


    Und wen ich den CP von dem Neuen job nur 3 oder 4 stellig mache. Erscheint er nicht


    //edit:


    um nochmal mein Vorhaben zu erklären.
    Ich bin dabei einen neuen Job einzufügen, so und via Max CP´s werden halt die Dienst Checkpoints geregelt und das hängt halt immer mit der Stelle zusammen an dem der checkpoint ist sprich an Stelle 66 ist bei mir jetzt über all das neue Feuerwehr system Sprich der Textdrawn wo Feuerwehr steht und eigentlich das dienst CP wo man mit /dienst in den Dienst geht.


    Doch beides erscheint nicht wen ich einfach nur die / save coordinaten nehmen!


    Allso muss ich doch irgendwie an die 5 Stelle der Coordinaten kommen?!
    Wäre zu tiefst dankbar, wen mir jemand helfen könnte, wäre auch bereit mich in irgendeiner weise zu Revanchieren.


    //edit: Aus Mac CP´s Max CP´s gemacht und Rechtschreibung ein kleinw enig verbessert ;D

  • stock CheckCoordinates( playerid, Float:XMin, Float:YMin, Float:XMax, Float:YMax )
    {
    new RetValue = 0;
    new Float: PosX, Float: PosY, Float: PosZ;
    GetPlayerPos( playerid, PosX, PosY, PosZ );


    if( PosX >= XMin && PosY >= YMin && PosX < XMax && PosY < YMax )
    {
    RetValue = 1;
    }
    return RetValue;
    }


    müsste deine Frage beantworten, was du einfügen musst oder?

  • Ne, eigentlich nicht.


    Mit den anderen jobs funktioniert es ja, nur der neue Job will nicht. ich sehe kein CP und kein Textdraw...


    Und dort wo der cp sein sollte funktioniert /dienst auch nicht.


    //edit: so schaut das ganze aus


    new Menu:FD;
    #define CP_FD 66


    new berufe[MAX_BERUFE][256] = {
    {"Arbeitslos"},
    {"Polizist"},
    {"Mechaniker"},
    {"Trucker"},
    {"Autoverkaeufer"},
    {"Chauffeur"},
    {"Sanitäter"},
    {"Fast-Food Verkäufer"},
    {"Kellner"},
    {"Fahrschullehrer"},
    {"Vermietung"},
    {"Müllabfuhr"},
    {"Immobilienmakler"},
    {"Sicherheits-Dienst"},
    {"Soldat"},
    {"Gebraucht-Wagen Händler"},
    {"Zugfahrer"},
    {"Feuerwehrmann"}
    };


    Bei
    new beruffarbe[MAX_BERUFE][2]
    habe ich auch eins hinzugefühgt
    genaus so wie bei
    new dienstfarbe[MAX_BERUFE]


    Hier an 66. Stelle von
    new CPNames[MAX_CHECKPOINTS][256]
    steht auch "Feuerwehr"


    und hier an 66. Stelle
    new Float:checkCoords[MAX_CHECKPOINTS][6]
    die Coordinaten für den Textdraw "Feuerwehr" ?
    {1374.4059,740.3096,11.2362,92.5893} //hier fehlt mir halt die 5. Stelle die bei anderen da ist
    Beispiel:
    {2779.1904,1717.7755,2790.0935,1738.1039,10.8203 }, //Zugdepot


    unternew Float:checkpoints[MAX_CHECKPOINTS][4]
    {1374.4059,740.3096,11.2362,2.0}//feuerwehr
    Fürfte so richtig sein, a zugfahrer auch so ist Beispiel:
    {2783.6541,1730.8477,10.8203,2.0}, //Zugfahrer


    Dan skin/dienst menu mit Beispiel vom zugfaher:
    ZUG = CreateMenu("Kleidungsmenue", 4, 200.0, 100.0, 70.0, 50.0);
    SetMenuColumnHeader(ZUG, 0, "Skin");
    AddMenuItem(ZUG, 0, "Skin Zugfahrer");

    FD = CreateMenu("Kleidungsmenue", 4, 200.0, 100.0, 70.0, 50.0);
    SetMenuColumnHeader(FD, 0, "Skin");
    AddMenuItem(FD, 0, "Skin Feuerwehrmann");


    Wen mann den Skin gewählt hat
    if(beruf[playerid]==17)
    {
    if(IsPlayerInCheckpoint(playerid))
    {
    if(playerCheckpoint[playerid]>= CP_FD && playerCheckpoint[playerid]<= CP_FD)
    {
    if(dienst[playerid] == 0)
    {
    format(string,sizeof(string),"DIENSTANTRITT: %s (%d) beginnt seinen Dienst als: %s!",playername,playerid,berufe[beruf[playerid]]);
    SendClientMessageToAll(COLOR_LIGHTBLUE,string);
    dienst[playerid]=1;
    SetGlobalColor(playerid, dienstfarbe[beruf[playerid]]);


    SetPlayerBerufSkin(playerid,278);
    if(IsValidMenu(FD)) ShowMenuForPlayer(FD, playerid);




    } else {
    TogglePlayerControllable(playerid,0);
    if(IsValidMenu(Wechsel)) ShowMenuForPlayer(Wechsel,playerid);
    return 1;
    }


    }
    }
    }
    Fürfte auch stimme habe das Vom Zug genommen und nur in CP_FD geändert vorlage halt CP_ZUG


    Hier die Skin änderung
    auch 1*1 vom zufahrer übrnommen nur halt skin id und FD geändert
    if(Current == FD) {
    switch(row) {
    case 0: {SetPlayerBerufSkin(playerid,278); TogglePlayerControllable(playerid,1);}
    }
    }


    Soooo, hoffe ihr könnt was damit anfangen
    MAX_BERUFE und MAX_CHECKPOINTS habiuch natürlich jeweils um eins Erweitert!

  • Ok also:


    stock CheckCoordinates( playerid, Float:XMin, Float:YMin, Float:XMax, Float:YMax )
    {
    new RetValue = 0;
    new Float: PosX, Float: PosY, Float: PosZ;
    GetPlayerPos( playerid, PosX, PosY, PosZ );


    if( PosX >= XMin && PosY >= YMin && PosX < XMax && PosY < YMax )
    {
    RetValue = 1;
    }
    return RetValue;
    }


    stock CheckCoordinates( playerid, Float:XMin, Float:YMin, Float:XMax, Float:YMax )
    {
    new RetValue = 0;
    Die erste Zeile erstellt einen neuen stock. Dies ist ansisch eine Funktion, sie bearbeitet Daten. Die Datentypen und Variablennamen werden also in den Klammern festgelegt.
    stock CheckCoordinates( playerid, Float:XMin, Float:YMin, Float:XMax, Float:YMax )
    Es kommen also eine playerid, einmal ein Float Wert xMin, einman ein Float Wert YMin etc. herein.


    Dann wird mit RetValue den Prüfwert auf 0 gesetzt.


    new Float: PosX, Float: PosY, Float: PosZ;
    GetPlayerPos( playerid, PosX, PosY, PosZ );
    Hier nimmt dann der stock deine Aktuelle Position und speichert sie in die vorher definierten Float Werte.


    if( PosX >= XMin && PosY >= YMin && PosX < XMax && PosY < YMax )
    {
    RetValue = 1;
    }
    return RetValue;
    Der wohl wichtigste Teil ist das. Es wird geschaut, ob PosX grösser oder gleich als xMin ist(PosX >= XMin). Das bedeutet also, ob die Position des Spielers grösser oder gleich als die kleinste X Koordinate deines Checkpoints. (Bei einer Linie ist es der Anfang.)
    Das && symbolisiert ein boolesches AND, was soviel bedeutet wie, die Abfrage ist NUR Wahr, und auch NUR WENN ALLE angegebenen Abfragen stimmen.
    Bei : PosX < XMax überprüft der stock, ob deine aktuelle Position nicht die maximale Position überschreitet. Das ist ansisch das Ende deiner Linie.
    (Nimmt man nun die X und die Y Koordinate, zeichnet sie Rechtwinklig auf, dass sie sich in der Mitte schneiden hat man ein Kreuz. Nimmt man den Schnittpunkt als Kreismitte, und eine Längt von der Mitte bis zum Ende dieser linie als Radius, so bekommt man dann ein Kreis, der den Checkpoint darstellt. Man braucht keine Z Koordinate, da die Höhe egal ist ;) )
    Die letzte zahl ist die grösse deines Checkpointes

  • WOW Extrem Geil erklärt..!!! Könntest tutorial ersteller werden!!!!!


    Nur hilft mir das nicht weiter, alle anderen Jobs sind ja genau so, und sie Funktionieren, das einzigste was mir halt fehlt ist
    Das ich nur an 4 Coordinaten stellen komme mit /save
    wie
    {1374.4059,740.3096,11.2362,92.5893} //hier fehlt mir halt die 5. Stelle die bei anderen da ist
    Ich brauche aber 5 Stellen wie beim zugedpot und allen anderen Jobs
    {2779.1904,1717.7755,2790.0935,1738.1039,10.8203 }, //Zugdepot


    Woher bekomme ich die letzte stelle wie beim Zugdepo die "10.8203"


    Hatte ja oben editiert, sollte besser erklärt sein :D


    Und schonmal vielen dank für deine extremen bemühungen!


    //edit: Rechtschreibung

  • Hey,


    Die Coordinaten sind meines Wissens nach dafür da um den Textdraw
    "Feuerwehr"
    unternew CPNames[MAX_CHECKPOINTS][256]
    Anzuzeigen.


    Mehr weiß ich leider auch nicht, da das Script sehr unübersichtlich ist.




    Achso und du willst wissen wie du die Koordinaten heraus findet.
    Mache dazu einen Screen öffne Paint stell deine Auflösung auf 800*600.
    Wenn du mit der Maus über das Bild fährst sind unten Koordinaten X und Y.
    Ansonsten benutz einen Textdraw Editor kann ich jeden anfänger nur empfehlen.


    LG RFT

    RFT

  • Nein nein nein, so meine ich das nicht.... das dürften die coordinaten sein wo das textdraw zu sehen ist, allso das es nur kommt wen man bei der Feuerwehr ist oder so....


    Der ganze Job funktioniert ja deswegen nicht, es wid ja noch nicht mal ein Job CP erstellt.
    Ach man das ist scheiße zu erklären,


    Der job den ich erstellt habe, dessen CP wo man /dienst mcht erscheint nicht.
    und der Textdraw am Bildschirm wo steht Feuerwehr auch nicht!

  • Naja, das wird alles über den Public Checkpointtimer geregelt,


    Normaler weise müsste es so klappen, das script ist aber auch so unübersichtlich, das ich net weiß, was ichhier noch posten soll damit es verständlich ist...


    Ich kann ja jemanden den job zuweisen, der kann aber nicht in den /dienst weil der Checkpoint nicht das ist und(kP obs damit zusammen hängt) der Textdraw nicht erscheint....


    Kann nicht einfach mal jemand der ahnung hat, wie du Kaliber oder RFT Oder Manta über TV in mein Script schauen?


    Kaliber ich glaube dir würde ich es sogar schicken, weil ich der meinugn bin das du eine Vertrauenswürde Person bist.


    //edit: Rechtschreibung ²
    //edit: Wäre nett, wen sich noch jemand finden würde, der mir Hilft. Es muss doch irgendeinen fehler geben?! wen noch nicht mal der CP für /dienst erschein, der 100% richtig ist!