Teleport Menu (Tut)

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 wollte ein TeleportMenu erstellen (Turtorial)


    Als erster macht ihr die ober Menu mit :
    //Menus
    new Menu: Teleports;// Muss Bleiben
    new Menu: Teleport;
    new Menu: Teleport1;
    new Menu: Teleport2;

    Dannmüsst ihr immer eintragen was ihr für ein menu macht (Obermenu ) z.b Teleport1 :

    Teleports = CreateMenu("Teleports", 2, 200.0, 100.0, 150.0, 150.0); // MUSS BLEIBEN
    AddMenuItem(Teleports, 0, "Teleport");// Immer dazu tragen was Für ein Ober Menu ( im schlimmsten falls erscheint es nicht)
    AddMenuItem(Teleports, 0, "Teleport1");// Immer dazu tragen was Für ein Ober Menu ( im schlimmsten falls erscheint es nicht)
    AddMenuItem(Teleports, 0, "Teleport2"); // Immer dazu tragen was Für ein Ober Menu ( im schlimmsten falls erscheint es nicht)


    // Dan macht ihr die überhaupten menus die erscheinen sollen + denn untermenus


    Teleports = CreateMenu("Teleport", 2, 200.0, 100.0, 150.0, 150.0);
    AddMenuItem(Teleport, 0, "Tele");//UnterMenu


    Teleports = CreateMenu("Teleport1", 2, 200.0, 100.0, 150.0, 150.0);
    AddMenuItem(Teleport1, 0, "Tele1");//UnterMenu


    Teleports = CreateMenu("Teleport2", 2, 200.0, 100.0, 150.0, 150.0);
    AddMenuItem(Teleport2, 0, "Tele2");//UnterMenu



    Dann macht ihr den CMD für das menu ( Irgendwo ins script ) :


    if(strcmp("/telemenu", cmdtext, true, 10) == 0) // Der CmD Für das Menu
    {
    ShowMenuForPlayer(Teleports, playerid);/// Menu anzeigen
    return 1;


    }



    Dann case immer die nächste zahl dazu zählen mit 0 gehtz an 0 1 2 3 ...
    public OnPlayerSelectedMenuRow(playerid, row)
    {
    new Menu:CurrentMenu = GetPlayerMenu(playerid);
    if(CurrentMenu == Teleports)
    {
    switch(row)
    {
    case 0: //Teleport
    {
    ShowMenuForPlayer(Teleport, playerid);//Ober Menu
    }
    case 1: //Teleport1
    {
    ShowMenuForPlayer(Teleport1, playerid);//Ober Menu
    }
    case 2: //Teleport2
    {
    ShowMenuForPlayer(Teleport2, playerid);//Ober Menu


    }
    }
    }


    Dann macht ihr zuerst das ober menu , dan nach mit case das unter mene ( hinter case muss die passende zahl wenn ihr mehr untermenus haben wollt müsst ihr mit case 0 anfangen und mit case 1 2 3 geht es weiter ...) und der port nicht zu vergessen (sind alles nur beispiel ports):
    if(CurrentMenu == Teleport)//Ober Menu
    {
    switch(row)
    {
    case 0: //Tele
    {
    SetPlayerPos(playerid, -592.8676,904.3834,427.1366); // Der Port (Z.b Der)
    SetPlayerInterior(playerid,0); // Interior


    SendClientMessage(playerid, 0xFFFFFFFF, "Welcome "); // Player Message ( Nachricht de der Player bekommt)
    }
    }
    }


    if(CurrentMenu == Teleport1)//Ober Menu
    {
    switch(row)
    {
    case 0: //Tele1
    {
    SetPlayerPos(playerid, -592.8676,904.3834,427.1366); // Der Port (Z.b Der)
    SetPlayerInterior(playerid,0); // Interior


    SendClientMessage(playerid, 0xFFFFFFFF, "Welcome "); // Player Message ( Nachricht de der Player bekommt)
    }
    }
    }



    if(CurrentMenu == Teleport2)//Ober Menu
    {
    switch(row)
    {
    case 0: //Tele2
    {
    SetPlayerPos(playerid, -592.8676,904.3834,427.1366); // Der Port (Z.b Der)
    SetPlayerInterior(playerid,0); // Interior


    SendClientMessage(playerid, 0xFFFFFFFF, "Welcome ");// Player Message ( Nachricht de der Player bekommt)
    }
    }
    }
    return 1;
    }



    Dann Menu wird geschlossen , :


    public OnPlayerExitedMenu(playerid)
    {


    new Menu:CurrentMenu = GetPlayerMenu(playerid);
    if(Menu:CurrentMenu == Teleport)//Ober Menu
    {
    ShowMenuForPlayer(Teleports, playerid);
    TogglePlayerControllable(playerid, 0);
    }
    if(Menu:CurrentMenu ==Teleport1)//Ober Menu
    {
    ShowMenuForPlayer(Teleports, playerid);
    TogglePlayerControllable(playerid, 0);
    }
    if(Menu:CurrentMenu == Teleport2)//Ober Menu
    {
    ShowMenuForPlayer(Teleports, playerid);
    TogglePlayerControllable(playerid, 0);
    }
    return 1;
    }




    das wars ich hoffe es is kein fehler drin wen ja bitte melden (hoffe es hat euch gefallen ) :thumbup:

    3 Mal editiert, zuletzt von AS_MR_00 ()

  • net gut, nix erklärt, das ist nur Copy & Paste Sache dann Error dann wieder das große Geheule :thumbdown:


    0/10

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • des wegen schreib ich hier rein wen fehler giebt bite posten und ich kans auch bearbeiten wenn ihr wollt ...



    ... So besser ...

    Einmal editiert, zuletzt von AS_MR_00 ()