GUI Teleport Menü

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
  • Hallo Leute,


    Ich hätte da mal einen Wunsch und ich hoffe sehr das jemand sich bereit erklärt mir den Wusch zu erfüllen!


    Also ich möchte ein GUI Menü wo man sich mit porten kann. Ich krieg das einfach nich hin -.-
    Also mit dem befehl z.B. /port soll sich ein Menü öffnen wo man LCN HQ, Yakuza HQ und GS HQ wählen kann. Dann soll man zum gewähltem geportet werden. Als Text wenn man teleportiert wurde soll stehen: "Du wurdest teleportiert."
    Wäre schön wenn das jemand für mich macht. Würde mich sehr freuen!


    Die Koordinaten sind hier unten:
    LCN HQ: -2129.3936,-188.2325,35.3203,88.5917
    Yakuza HQ: -2719.6199,-318.9783,7.8438,37.4674
    GS HQ: 2495.3191,-1688.1738,13.6411,357.9044



    Gruß Seb..

  • ShowPlayerDialog(playerid, PORTMENU, DIALOG_STYLE_LIST, "Port","LCN\nYakuza\nGS ", "Bästätigen", "Abbrechen");


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
    if(dialogid == Port) {
    if(response) {
    if(listitem == 0) {
    GameTextForPlayer(playerid, "~r~LCN~p~ HQ", 5000, 1); }
    if(listitem == 1) {
    GameTextForPlayer(playerid, "~r~Yakuza~p~HQ", 5000, 1); }
    if(listitem == 2) {
    GameTextForPlayer(playerid, "~r~Groove-Street~p~ HQ", 5000, 1); }
    } return 1; }


    SUPER Leicht!

    GreetZ

    Zitat

    Joda21:47
    Joda = mein spritzname
    xD


    Ice21:47
    zeig mir dein lichtschwert !


    Joda21:47 spitzname* xDD

    Ich bin ein Vogel (Joda)


  • ehm ja und woher soll nun das menu wissen wo das LCN HQ und so is ? und vllt ein paar erklärungen wo das hingehört ? warum das da hingehört brauch ich nich das kann ich mir denken denn ;D aber schon ma danke dafür..

  • public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
    if(dialogid == Port) {
    if(response) {
    if(listitem == 0) {
    SetPlayerPos(playerid, -2129.3936,-188.2325,35.3203,88.5917);
    GameTextForPlayer(playerid, "~r~LCN~p~ HQ", 5000, 1); }
    if(listitem == 1) {
    SetPlayerPos(playerid, -2719.6199,-318.9783,7.8438,37.4674);
    GameTextForPlayer(playerid, "~r~Yakuza~p~HQ", 5000, 1); }
    if(listitem == 2) {
    SetPlayerPos(playerid, 2495.3191,-1688.1738,13.6411,357.9044);
    GameTextForPlayer(playerid, "~r~Groove-Street~p~ HQ", 5000, 1); }
    } return 1; }


    Vergessen :whistling:


    PlayerPos nun da du wirst gepoertet und ShowPlayerDialog... Kommt dahin wo das Menu bzw Dialog aufgehen soll....

    GreetZ

    Zitat

    Joda21:47
    Joda = mein spritzname
    xD


    Ice21:47
    zeig mir dein lichtschwert !


    Joda21:47 spitzname* xDD

    Ich bin ein Vogel (Joda)


  • okey :D dankeschöön aber könnets du noch erklären warum ich jetzt diesen error habe? :


    C:\Dokumente und Einstellungen\-\Desktop\SA;MP Server\pawno\Tele.pwn(247) : error 030: compound statement not closed at the end of file (started at line 223)


    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    1 Error.


    hier die zeilen ab 222-247:


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
    if(dialogid == PORTMENU)
    {
    if(response)
    {
    if(listitem == 0)
    {
    SetPlayerPos(playerid, -2129.3936,-188.2325,35.3203,88.5917);
    GameTextForPlayer(playerid, "~r~LCN~p~ HQ", 5000, 1); }
    if(listitem == 1)
    {
    SetPlayerPos(playerid, -2719.6199,-318.9783,7.8438,37.4674);
    GameTextForPlayer(playerid, "~r~Yakuza~p~HQ", 5000, 1); }
    if(listitem == 2)
    {
    SetPlayerPos(playerid, 2495.3191,-1688.1738,13.6411,357.9044);
    GameTextForPlayer(playerid, "~r~Groove-Street~p~ HQ", 5000, 1); }
    }
    return 1;
    }


  • public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == PORTMENU)
    {
    if(response)
    {
    if(listitem == 0)
    {
    SetPlayerPos(playerid, -2129.3936,-188.2325,35.3203,88.5917);
    GameTextForPlayer(playerid, "~r~LCN~p~ HQ", 5000, 1);
    }
    if(listitem == 1)
    {
    SetPlayerPos(playerid, -2719.6199,-318.9783,7.8438,37.4674);
    GameTextForPlayer(playerid, "~r~Yakuza~p~HQ", 5000, 1);
    }
    if(listitem == 2)
    {
    SetPlayerPos(playerid, 2495.3191,-1688.1738,13.6411,357.9044);
    GameTextForPlayer(playerid, "~r~Groove-Street~p~ HQ", 5000, 1);
    }
    }
    }
    return 1;
    }


    //Edit by Ink,habs nochmal eingerückt, sieht ja furchtbar aus X(
    so müsste es sein

  • Wunderbar ;D Ihr seit die besten :) Dankeschön an euch..


    //edit by Seb: Scheiße ^^ Wenn ich das Menü inGame aufrufe kommt Unknown Kommand obwohl es dann auf geht und wenn ich zb auf LCNklicke teleportiert er nich woran liegt das schon wieder ? ;D

    Einmal editiert, zuletzt von Seb_Mcpepp ()

  • Ganz oben ins Script


    #define Ports 1234


    Unter public OnPlayerCommandText(playerid, cmdtext[])


    if(strcmp(cmd,"/ports",true)==0)
    {
    if(IsPlayerConnected(playerid))
    {
    ShowPlayerDialog(playerid,Ports,DIALOG_STYLE_LIST,"Teleports","BSN\nPier\nBank\nNoob Spawn\nSFPD\nOttos Autohaus\nJizzys\nLS Flughafen\nSF Flughafen\nLV Flugahfen\nArea 51\nStaudamm","Wählen","Abbruch") ;
    }
    return 1;
    }


    Unter OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
    if(dialogid == Ports)
    {
    if(response == 0)
    {
    SendClientMessage(playerid,0x666666FF,"Menu Geschlossen!"); TogglePlayerControllable(playerid, 1); return 1;
    }
    if(response == 1)
    {


    }
    if(listitem == 1)//BSN
    {
    if (GetPlayerState(playerid) == 2){new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, 1216.3286,-879.8282,42.9060); LinkVehicleToInterior(tmpcar, 0);
    TelePos[playerid][0] = 0.0; TelePos[playerid][1] = 0.0;}
    else{SetPlayerPos(playerid, 1216.3286,-879.8282,42.9060);}
    SendClientMessage(playerid, COLOR_GRAD1, "Du wurdest teleportiert!");
    SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0;
    }
    if(listitem == 0)//Pier
    {
    if (GetPlayerState(playerid) == 2){new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, 378.5670,-2032.8651,7.8301); LinkVehicleToInterior(tmpcar, 0);
    TelePos[playerid][0] = 0.0; TelePos[playerid][1] = 0.0;}
    else{SetPlayerPos(playerid, 378.5670,-2032.8651,7.8301);}
    SendClientMessage(playerid, COLOR_GRAD1, "Du wurdest teleportiert!");
    SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0;
    }
    if(listitem == 1)//Bank
    {
    if (GetPlayerState(playerid) == 2){new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, 1460.2048,-1033.6180,23.6563); LinkVehicleToInterior(tmpcar, 0);
    TelePos[playerid][0] = 0.0; TelePos[playerid][1] = 0.0;}
    else{SetPlayerPos(playerid, 1460.2048,-1033.6180,23.6563);}
    SendClientMessage(playerid, COLOR_GRAD1, "Du wurdest teleportiert!");
    SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0;
    }
    if(listitem == 2)//Noob Spawn
    {
    if (GetPlayerState(playerid) == 2){new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, 1777.1829,-1353.6769,15.7555); LinkVehicleToInterior(tmpcar, 0);
    TelePos[playerid][0] = 0.0; TelePos[playerid][1] = 0.0;}
    else{SetPlayerPos(playerid, 1777.1829,-1353.6769,15.7555);}
    SendClientMessage(playerid, COLOR_GRAD1, "Du wurdest teleportiert!");
    SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0;
    }
    if(listitem == 3)// SFPD
    {
    if (GetPlayerState(playerid) == 2){new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, -1617.4366,662.6572,7.1875); LinkVehicleToInterior(tmpcar, 0);
    TelePos[playerid][0] = 0.0; TelePos[playerid][1] = 0.0;}
    else{SetPlayerPos(playerid, -1617.4366,662.6572,7.1875);}
    SendClientMessage(playerid, COLOR_GRAD1, "Du wurdest teleportiert!");
    SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0;
    }
    if(listitem == 5)//Ottos
    {
    if (GetPlayerState(playerid) == 2){new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, -1642.0865,1282.3975,7.0391); LinkVehicleToInterior(tmpcar, 0);
    TelePos[playerid][0] = 0.0; TelePos[playerid][1] = 0.0;}
    else{SetPlayerPos(playerid, -1642.0865,1282.3975,7.0391);}
    SendClientMessage(playerid, COLOR_GRAD1, "Du wurdest teleportiert!");
    SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0;
    }
    if(listitem == 6)//Jizzys
    {
    if (GetPlayerState(playerid) == 2){new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, -2625.8723,1355.6205,7.0845); LinkVehicleToInterior(tmpcar, 0);
    TelePos[playerid][0] = 0.0; TelePos[playerid][1] = 0.0;}
    else{SetPlayerPos(playerid, -2625.8723,1355.6205,7.0845);}
    SendClientMessage(playerid, COLOR_GRAD1, "Du wurdest teleportiert!");
    SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0;
    }
    if(listitem == 7) //LS Flughafen
    {
    if (GetPlayerState(playerid) == 2){new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, 2112.0400,-2427.7976,13.5469); LinkVehicleToInterior(tmpcar, 0);
    TelePos[playerid][0] = 0.0; TelePos[playerid][1] = 0.0;}
    else{SetPlayerPos(playerid, 2112.0400,-2427.7976,13.5469);}
    SendClientMessage(playerid, COLOR_GRAD1, "Du wurdest teleportiert!");
    SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0;
    }
    if(listitem == 8)//SF Flughafen
    {
    if (GetPlayerState(playerid) == 2){new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, -1210.3981,18.2546,14.1484); LinkVehicleToInterior(tmpcar, 0);
    TelePos[playerid][0] = 0.0; TelePos[playerid][1] = 0.0;}
    else{SetPlayerPos(playerid, -1210.3981,18.2546,14.1484);}
    SendClientMessage(playerid, COLOR_GRAD1, "Du wurdest teleportiert!");
    SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0;
    }
    if(listitem == 9)//LV Flughafen
    {
    if (GetPlayerState(playerid) == 2){new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, 1549.9596,1301.2203,10.8518); LinkVehicleToInterior(tmpcar, 0);
    TelePos[playerid][0] = 0.0; TelePos[playerid][1] = 0.0;}
    else{SetPlayerPos(playerid, 1549.9596,1301.2203,10.8518);}
    SendClientMessage(playerid, COLOR_GRAD1, "Du wurdest teleportiert!");
    SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0;
    }
    if(listitem == 10)//Area 51
    {
    if (GetPlayerState(playerid) == 2){new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, 174.1950,1889.6213,20.5286); LinkVehicleToInterior(tmpcar, 0);
    TelePos[playerid][0] = 0.0; TelePos[playerid][1] = 0.0;}
    else{SetPlayerPos(playerid, 174.1950,1889.6213,20.5286);}
    SendClientMessage(playerid, COLOR_GRAD1, "Du wurdest teleportiert!");
    SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0;
    }
    if(listitem == 11)//Staudamm
    {
    if (GetPlayerState(playerid) == 2){new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, -713.6360,2053.9688,60.1875); LinkVehicleToInterior(tmpcar, 0);
    TelePos[playerid][0] = 0.0; TelePos[playerid][1] = 0.0;}
    else{SetPlayerPos(playerid, -713.6360,2053.9688,60.1875);}
    SendClientMessage(playerid, COLOR_GRAD1, "Du wurdest teleportiert!");
    SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0;
    }


    }


    Kannste ja ändern und löschen die du nicht brauchst


    Einmal editiert, zuletzt von KING AMOK ()

  • ok danke dafür und jetzt noch die rausholen, wie ? :


    C:\Dokumente und Einstellungen\-\Desktop\SA;MP Server\pawno\Tele.pwn(239) : warning 217: loose indentation
    C:\Dokumente und Einstellungen\-\Desktop\SA;MP Server\pawno\Tele.pwn(240) : error 017: undefined symbol "TelePos"
    C:\Dokumente und Einstellungen\-\Desktop\SA;MP Server\pawno\Tele.pwn(240) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\-\Desktop\SA;MP Server\pawno\Tele.pwn(240) : error 001: expected token: ";", but found "]"
    C:\Dokumente und Einstellungen\-\Desktop\SA;MP Server\pawno\Tele.pwn(240) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\-\Desktop\SA;MP Server\pawno\Tele.pwn(240) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    hier die zeilen 236-244


    if(listitem == 1)//BSN
    {
    if (GetPlayerState(playerid) == 2){new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, 1216.3286,-879.8282,42.9060); LinkVehicleToInterior(tmpcar, 0);
    TelePos[playerid][0] = 0.0; TelePos[playerid][1] = 0.0;}
    else{SetPlayerPos(playerid, 1216.3286,-879.8282,42.9060);}
    SendClientMessage(playerid, COLOR_GRAD1, "Du wurdest teleportiert!");
    SetPlayerInterior(playerid,0); PlayerInfo[playerid][pInt] = 0;
    }




    //edit by Seb: Und ich denke nicht dass das: if(IsPlayerConnected(playerid))notwendig ist, da der Spieler den Befehl ja nicht benutzen kann wen der Spieler nicht connected ist.. ^^

    2 Mal editiert, zuletzt von Seb_Mcpepp ()