Dialog Navi

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
  • Wenn ich das mit dem Checkpoint mache.. Geht mein PAWN nicht mehr es stürst ab.


    Zitat

    public OnPlayerEnterCheckpoint(playerid)
    {
    DisablePlayerCheckpoint(playerid); return 1;
    }



    Kann man das nicht noch anders machen ?


    weil:


    else if(BusCallTime[playerid] > 0 && BusAccepted[playerid] < 999)
    {
    BusAccepted[playerid] = 999;
    GameTextForPlayer(playerid, "~w~Ziel Erreicht", 5000, 1);
    BusCallTime[playerid] = 0;
    DisablePlayerCheckpoint(playerid);
    }


    Habe andere sachen so drin .. Aber wie mache ich das genau mit dem navi hier ?.

    Einmal editiert, zuletzt von Ghost ()

  • So da Ich Ja eben Gesehen habe das es Ein Bisschen Unübersichtlich Is habe ich es Mal Neu Gemacht hier die übersichtlichere weiße.


    Zuerst definieren wir navimenu.
    Die 1 steht für die Dialog ID.

    #define navimenu 1
    #define StadtDialog 1
    #define LSDialog 2
    #define SFDialog 3
    #define LVDialog 4


    2.Wir gehen zu der Zeile " OnPlayerCommandText" und fügen dort
    dies hier ein:if (strcmp("/navi", cmdtext, true) == 0)
    {
    ShowPlayerDialog(playerid, navimenu, DIALOG_STYLE_LIST, "Navi", "Noobspawn\nArbeitsamt\nBank", "Auswählen", "Abbrechen");
    return 1;
    }




    3.Wir fügen das hier bei "OnDialogResponse"
    ein: if(dialogid == navimenu) //
    {
    if(response)
    {
    if(listitem == 0) // Noobspawn
    {
    SetPlayerCheckpoint(playerid,X,Y,Z,3.0);
    }
    if(listitem == 1) // Arbeitsamt
    {
    SetPlayerCheckpoint(playerid,X,Y,Z,3.0);
    }
    if(listitem == 2) // Bank
    {
    SetPlayerCheckpoint(playerid,X,Y,Z,3.0);
    }


    }
    }
    return 1;
    }


    Und bei "OnDialogResponse" Fügen wir das ein...

    {
    if(dialogid == StadtDialog)
    {
    if(response == 0)
    {
    ShowPlayerDialog(playerid, LSDialog, DIALOG_STYLE_LIST, "Los Santos","Noobspawn\nKrankenhaus\nArbeitsamt\nAutohaus","Auswählen","Abbrechen");
    }
    if(response == 1)
    {
    ShowPlayerDialog(playerid, SFDialog, DIALOG_STYLE_LIST, "San Fierro","Noobspawn\nKrankenhaus\nArbeitsamt\nAutohaus","Auswählen","Abbrechen");
    }
    if(response == 2)
    {
    ShowPlayerDialog(playerid, LVDialog, DIALOG_STYLE_LIST, "Las Venturas","Noobspawn\nKrankenhaus\nArbeitsamt\nAutohaus","Auswählen","Abbrechen");
    }
    return 1;
    }
    }


    Hoffe es ist Jetz Übersichtlicher...

  • Schönes Tut mir fehlt da aber etwas undzwar sollte es so sein das wenn man einen Checkpoint erreicht hat dieser gelöscht wird...
    Könnte mir jemand erklären wie das geht?
    Ansonsten 8/10 Wegen der fehlenden Erklärung wie man die wieder löscht das stört mich irgednwie :D


    MFG Flashrex

  • Das Tut ist wirklich Super,mich würde es auch Interessieren wie ich es mache das dann die Checkpoint´s Verschwinden.
    Ich hoffe uns kann da jemand Helfen.


    8/10 Fische


    Lieben Gruß


    Lebe dein Leben so wie du bist und nicht wie du sein sollst. Nur dann ist dein Leben lebenswert.
    Ich bin wie ich bin. Die einen kennen mich, die anderen können mich!!!


  • Sehr wenig erklärt... ich als neuling kann damit nixs anfangen und das farbige hätte nicht sein müssen..


    1. Struktur = Unübersichtlich 0/10
    2. Erklärung = Kann man besser hinbkeommen 2/10


    Gesamtwertung = 2


    Mach es einfach nochmal und denk mal bisschen an die Dau's hier..
    Thx


    :whistling::sleeping:

  • Schönes Tut mir fehlt da aber etwas undzwar sollte es so sein das wenn man einen Checkpoint erreicht hat dieser gelöscht wird...
    Könnte mir jemand erklären wie das geht?
    Ansonsten 8/10 Wegen der fehlenden Erklärung wie man die wieder löscht das stört mich irgednwie :D


    MFG Flashrex



    Den Checkpoint in einer Variable setzten zb CPnavipunkt1 = SetPlayerCheckpoint(playerid,x,y,z,radius)


    Und dan bei OnPlayerEnterCheckpoint mit einer if abfrage abfragen obs der checkpoint ist..
    und dann einfach Löschen ...


    Beispiel...


    Zuerst den Checkpoint definieren und speichern das machst du so ..



    new CPtut = SetPlayerCheckpoint(playerid,x,y,z,radius);// ist nur ein Beispiel...


    Dann geht es weiter zu On PlayerCheckpoint
    was dann wie folgt ausssehen sollte

    public OnPlayerEnterCheckpoint(playerid)
    {
    if(CPtut)
    {
    /// dein text
    DisablePlayerCheckpoint(playerid)
    }
    return 1;
    }


    Sollte funktionierden..

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Irgendwie failt bei mir jetzt aufeinmal alles -.-


    Also ich habe jetzt oben das eingefügt:
    //Checkpoints
    new CPzivispawn0 = SetPlayerCheckpoint(playerid,1413.7916,-1701.0979,13.5395,3.0);
    new CPrathaus1 = SetPlayerCheckpoint(playerid,1481.1459,-1771.4877,18.7958,3.0);
    new CPbank2 = SetPlayerCheckpoint(playerid,1382.1409,-1088.7577,28.2041,3.0);
    new CPkrankenhaus3 = SetPlayerCheckpoint(playerid,1173.0663,-1323.1243,15.3969,3.0);


    Dann bei dem Befehl:
    if (strcmp("/navi", cmdtext, true) == 0)
    {
    ShowPlayerDialog(playerid, Navi, DIALOG_STYLE_LIST, "Navi", "Noobspawn\nRathaus\nBank\nKrankenhaus", "Auswählen", "Abbrechen");
    SendClientMessage(playerid,BLAU,"Wähle nun den Ort aus zu dem du möchtest!Dir wird dann ein Marker auf der Karte angezeigt.");
    return 1;
    }


    BeiOnDialogResponse:
    if(dialogid == Navi)
    {
    if(response)
    {
    if(listitem == 0) // Noobspawn
    {
    SetPlayerCheckpoint(playerid,CPzivispawn);
    SendClientMessage(playerid,BLAU,"Du hast den Zivispawn ausgewählt.");
    }
    if(listitem == 1) // Rathaus
    {
    SetPlayerCheckpoint(playerid,CPrathaus);
    SendClientMessage(playerid,BLAU,"Du hast das Rathaus ausgewählt.");
    }
    if(listitem == 2) // Bank
    {
    SetPlayerCheckpoint(playerid,CPbank);
    SendClientMessage(playerid,BLAU,"Du hast die Bank ausgewählt.");
    }
    if(listitem == 3) // Krankenhaus
    {
    SetPlayerCheckpoint(playerid,CPkrankenhaus);
    SendClientMessage(playerid,BLAU,"Du hast das Krankenhaus ausgewählt.");
    }


    }
    return 1;
    }


    und bei OnPlayerEnterCheckpoint
    public OnPlayerEnterCheckpoint(playerid)
    {
    if(CPrathaus)
    {
    SendClientMessage(playerid,BLAU,"Du bist am Rathaus angekommen");
    DisablePlayerCheckpoint(playerid)
    }
    if(CPzivispawn)
    {
    SendClientMessage(playerid,BLAU,"Du bist am Zivispawn angekommen");
    DisablePlayerCheckpoint(playerid)
    }
    if(CPbank)
    {
    SendClientMessage(playerid,BLAU,"Du bist an der Bank angekommen");
    DisablePlayerCheckpoint(playerid)
    }
    if(CPkrankenhaus)
    {
    SendClientMessage(playerid,BLAU,"Du bist am Krankehaus angekommen");
    DisablePlayerCheckpoint(playerid)
    }
    return 1;
    }


    Aber jetzt stürtzt die ganze Pawncompilersache ab -.-

  • jesses ..



    //Checkpoints
    new CPzivispawn0 = SetPlayerCheckpoint(playerid,1413.7916,-1701.0979,13.5395,3.0);
    new CPrathaus1 = SetPlayerCheckpoint(playerid,1481.1459,-1771.4877,18.7958,3.0);
    new CPbank2 = SetPlayerCheckpoint(playerid,1382.1409,-1088.7577,28.2041,3.0);
    new CPkrankenhaus3 = SetPlayerCheckpoint(playerid,1173.0663,-1323.1243,15.3969,3.0); // <--- wird in CPkrankenhaus3 gespeichert das heist das CPkrankenhaus3 = der command SetPlayerCheckpoint ist


    schau dir das mal an iss ja schon richtig


    aber nun zu deinem fehler ..



    if(dialogid == Navi)
    {
    if(response)
    {
    if(listitem == 0) // Noobspawn
    {
    SetPlayerCheckpoint(playerid,CPzivispawn); // Kommst du drauf ? Da in dem oberen schond er Command setplayercheckpoint im CPzivispawn gesetzt wird kommt pawn damit durcheinander da er versucht 2x setPlayerCheckpoint auszuführen.. :)

    richtig wäre in dem sinne vllt

    if(dialogid == Navi)
    {
    if(response)
    {
    if(listitem == 0) // Noobspawn
    {
    new CPzivispawn0 = SetPlayerCheckpoint(playerid,1413.7916,-1701.0979,13.5395,3.0);
    // weiterer code


    Du verstehen ?

    Einmal editiert, zuletzt von ScyFox () aus folgendem Grund: Fehlererklärung

  • Hä ich blicke gerade nicht durch^^
    Zeile (1488) : Unbekannte Variable : "CPrathaus"
    Zeile (1493) : Unbekannte Variable : "CPzivispawn"
    Zeile (1498) : Unbekannte Variable : "CPbank"
    Zeile (1503) : Unbekannte Variable : "CPkrankenhaus"
    Zeile (1878) : Unbenutzte Variable: "CPzivispawn0"
    Zeile (1883) : Unbenutzte Variable: "CPrathaus1"
    Zeile (1888) : Unbenutzte Variable: "CPbank2"
    Zeile (1893) : Unbenutzte Variable: "CPkrankenhaus3"


    Da sind die Errors (auf Deutsch hab son Tool runtergeladen^^)


    public OnPlayerEnterCheckpoint(playerid)
    {
    if(CPrathaus) //Zeile 1488
    {
    SendClientMessage(playerid,BLAU,"Du bist am Rathaus angekommen");
    DisablePlayerCheckpoint(playerid);
    }
    if(CPzivispawn) //Zeile 1493
    {
    SendClientMessage(playerid,BLAU,"Du bist am Zivispawn angekommen");
    DisablePlayerCheckpoint(playerid);
    }
    if(CPbank) //Zeile 1498
    {
    SendClientMessage(playerid,BLAU,"Du bist an der Bank angekommen");
    DisablePlayerCheckpoint(playerid);
    }
    if(CPkrankenhaus) //Zeile 1503
    {
    SendClientMessage(playerid,BLAU,"Du bist am Krankehaus angekommen");
    DisablePlayerCheckpoint(playerid);
    }
    return 1;
    }


    Unter OnDialogResponse
    if(dialogid == Navi)
    {
    if(response)
    {
    if(listitem == 0) // Noobspawn
    {
    new CPzivispawn0 = SetPlayerCheckpoint(playerid,1413.7916,-1701.0979,13.5395,3.0); //Zeile 1878
    SendClientMessage(playerid,BLAU,"Du hast den Zivispawn ausgewählt.");
    }
    if(listitem == 1) // Rathaus
    {
    new CPrathaus1 = SetPlayerCheckpoint(playerid,1481.1459,-1771.4877,18.7958,3.0); //Zeile 1883
    SendClientMessage(playerid,BLAU,"Du hast das Rathaus ausgewählt.");
    }
    if(listitem == 2) // Bank
    {
    new CPbank2 = SetPlayerCheckpoint(playerid,1382.1409,-1088.7577,28.2041,3.0); //Zeile 1888
    SendClientMessage(playerid,BLAU,"Du hast die Bank ausgewählt.");
    }
    if(listitem == 3) // Krankenhaus
    {
    new CPkrankenhaus3 = SetPlayerCheckpoint(playerid,1173.0663,-1323.1243,15.3969,3.0); //Zeile 1893
    SendClientMessage(playerid,BLAU,"Du hast das Krankenhaus ausgewählt.");
    }


    }
    return 1;
    }

  • if(CPrathaus) //Zeile 1488


    und weiter unten hattest du definiert


    new CPrathaus1 = SetPlayerCheckpoint(playerid,1481.1459,-1771.4877,18.7958,3.0); //Zeile 1883


    dann muss bei der checlpointabfrage auch


    if(CPrathaus1) stehen

  • Zeile (1488) : Unbekannte Variable : "CPrathaus"
    Zeile (1493) : Unbekannte Variable : "CPzivispawn"
    Zeile (1498) : Unbekannte Variable : "CPbank"
    Zeile (1503) : Unbekannte Variable : "CPkrankenhaus"
    Zeile (1878) : Unbenutzte Variable: "CPzivispawn"
    Zeile (1883) : Unbenutzte Variable: "CPrathaus"
    Zeile (1888) : Unbenutzte Variable: "CPbank"
    Zeile (1893) : Unbenutzte Variable: "CPkrankenhaus"


    4 Errors, 4 Warnungen
    Du hast Errors im Skript. Kompilierung abgebrochen


    Immernoch diese 4 Warnings + 4 Errors


    Ich denke ich müsste dies:
    new CPzivispawn = SetPlayerCheckpoint(playerid,1413.7916,-1701.0979,13.5395,3.0);
    new CPrathaus = SetPlayerCheckpoint(playerid,1481.1459,-1771.4877,18.7958,3.0);
    new CPbank = SetPlayerCheckpoint(playerid,1382.1409,-1088.7577,28.2041,3.0);
    new CPkrankenhaus = SetPlayerCheckpoint(playerid,1173.0663,-1323.1243,15.3969,3.0);


    doch ganz oben eigentlich hinsetzen oder?
    Aber wie heißt den dies hier:


    if(dialogid == Navi)
    {
    if(response)
    {
    if(listitem == 0) // Noobspawn
    {
    new CPzivispawn = SetPlayerCheckpoint(playerid,1413.7916,-1701.0979,13.5395,3.0);
    SendClientMessage(playerid,BLAU,"Du hast den Zivispawn ausgewählt.");
    }
    if(listitem == 1) // Rathaus
    {
    new CPrathaus = SetPlayerCheckpoint(playerid,1481.1459,-1771.4877,18.7958,3.0);
    SendClientMessage(playerid,BLAU,"Du hast das Rathaus ausgewählt.");
    }
    if(listitem == 2) // Bank
    {
    new CPbank = SetPlayerCheckpoint(playerid,1382.1409,-1088.7577,28.2041,3.0);
    SendClientMessage(playerid,BLAU,"Du hast die Bank ausgewählt.");
    }
    if(listitem == 3) // Krankenhaus
    {
    new CPkrankenhaus = SetPlayerCheckpoint(playerid,1173.0663,-1323.1243,15.3969,3.0);
    SendClientMessage(playerid,BLAU,"Du hast das Krankenhaus ausgewählt.");
    }


    }
    return 1;
    }


    Also zu was muss ich das umwwandeln?

    Einmal editiert, zuletzt von Flashrex ()

  • new CPzivispawn = SetPlayerCheckpoint(playerid,1413.7916,-1701.0979,13.5395,3.0);




    Nein du musst die die du Oben definiert hast bei deinem Dialog hinmachen und oben weglassen..


    und bein Checlpointabfrage muss der checkpoint genauso heisen bei der if
    if(CPbank)
    code


    etc


    Jetzt verstanden ich glaub ich verwirr dich ..

  • C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(3873) : error 017: undefined symbol "OnPlayerCarLogin"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(4458) : error 017: undefined symbol "AFKOn"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(4483) : error 017: undefined symbol "OnPlayerCarUpdate"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(8200) : error 017: undefined symbol "OnPlayerBuyInterior"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(8199) : warning 204: symbol is assigned a value that is never used: "model"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(8784) : error 017: undefined symbol "OnPlayerBuyCar"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(8779) : warning 204: symbol is assigned a value that is never used: "autosteuer"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(8777) : warning 204: symbol is assigned a value that is never used: "car"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(9807) : error 017: undefined symbol "GetPlayerSpeed"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(12442) : error 017: undefined symbol "LoadTrunk"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(12485) : error 017: undefined symbol "LoadFGPS"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(14084) : error 017: undefined symbol "OnPlayerCarUpdate"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(14138) : error 017: undefined symbol "Dtc_LockCar"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(14185) : error 017: undefined symbol "Dtc_UnLockCar"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(14200) : error 017: undefined symbol "PlayerCarSpawn"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(14206) : error 017: undefined symbol "Dtc_UnLockCar"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(15789) : error 017: undefined symbol "dcmd_turnoff"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(15790) : error 017: undefined symbol "dcmd_gps"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(15791) : error 017: undefined symbol "dcmd_fsave"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(15792) : error 017: undefined symbol "dcmd_fedit"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(15943) : error 017: undefined symbol "IsAMulltonne"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(16157) : error 017: undefined symbol "ReturnUser"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(16287) : error 017: undefined symbol "ReturnUser"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(16502) : error 017: undefined symbol "ReturnUser"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(16529) : error 017: undefined symbol "ReturnUser"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(16538) : error 017: undefined symbol "ReturnUser"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(16562) : error 017: undefined symbol "ReturnUser"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(16571) : error 017: undefined symbol "ReturnUser"C:\Users\syntexx\Desktop\Script\gamemodes\Script.pwn(16750) : error 017: undefined symbol "ReturnUser"
    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    26 Errors.



    Function OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){ if(dialogid == navimenu) // { if(response) { if(listitem == 0) // Noobspawn { SetPlayerCheckpoint(playerid,1210.0897,-919.8425,43.0382,3.0); } if(listitem == 1) // Arbeitsamt { SetPlayerCheckpoint(playerid,2227.1226,-1159.2284,25.7806,3.0); } if(listitem == 2) // Bank { SetPlayerCheckpoint(playerid,1463.9785,-1012.4086,26.8438,3.0); }