Tutorial für Menüs

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 Menü wird immer wieder geöffnet, weil das Pickup auch immer wieder erscheint. Deswegen würde ich eine Variable definieren die du dann abfragst ob er bereits in einem Pickup ist,
    wenn nein, Variable wird auf 1 gesetzt, somit ist er bereits in einem pickup, wenn nicht, wird sie auf 0gesetzt.

  • new gMyPlayerVar[MAX_PLAYERS];


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid == blabla && gMyPlayerVar[playerid] == 0) // Anpassen musst selber
    {
    gMyPlayerVar[playerid] = 1;
    ShowMenuForPlayer(123Jobs, playerid);
    }
    return 1;
    }


    public OnPlayerExitedMenu(playerid)
    {
    gMyPlayerVar[playerid] = 0;
    return 1;
    }


    Ungetestet.

  • Also ich hab da ein Problem ich habe eingestellt das wenn man /teleportmenu eingebt das menü erscheint
    if(strcmp(cmdtext, "/teleportmenu") == 0) {
    ShowMenuForPlayer(teleportmenu, playerid);
    return 1;
    }


    Bis dahin klappt alles es erscheint das Menü dann wenn ich auf den ersten Punkt mit leertaste drücke schließt sich das Menü und es passiert nix aber normal sollte dann die Person geportet werden
    new Menu:CurrentMenu = GetPlayerMenu(playerid); //speichert die menuid/menuname in CurrentMenu
    if(CurrentMenu == teleportmenu) //if abfrage für das menü tutorialmenu
    {
    switch(row)//switch abfrage für die menü stelle(erste stelle ist case 0 und 2. zum beispiel case 1)
    {
    case 0:
    {
    SetPlayerPos(-39.3357,-3973.7444,38.8152);
    }
    }
    }
    Hoffentlich kann mir einer helfen
    MFG alex

  • Ist zwar ein hammer geiles Tut aber irgendwie bekomme ich 1 Error
    Hier ist er:

    Zitat

    C:\DOKUME~1\GeForce\Desktop\NEUERO~1\_GER_R~1.PWN(4944) : error 021: symbol already defined: "CurrentMenu"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    Vieleicht könnt ihr mir ja weiter helfen...
    Mfg GeForceOne


  • public OnPlayerSelectedMenuRow(playerid, row)


    new Menu:CurrentMenu = GetPlayerMenu(playerid);


    if(CurrentMenu == sfkmenu)
    {
    switch(row)
    {
    case 0:
    {
    GivePlayerWeapon(playerid,24,100)
    GivePlayerMoney(playerid,-300)
    }
    case 1:
    {
    GivePlayerWeapon(playerid,25,100)
    GivePlayerMoney(playerid,-350)
    }
    case 2:
    {
    GivePlayerWeapon(playerid,33,100)
    GivePlayerMoney(playerid,-400)
    }
    case 3:
    {
    GivePlayerWeapon(playerid,29,100)
    GivePlayerMoney(playerid,-450)
    }
    case 4:
    {
    GivePlayerWeapon(playerid,30,100)
    GivePlayerMoney(playerid,-650)
    }
    }
    }
    }

    oben hab ich alles definiert.. aber ich bekomm diese errors =(

    C:\Dokumente und Einstellungen\Marco & Stefan\Desktop\GTA-San\Scrpit dinger\versuch.pwn(817) : error 003: declaration of a local variable must appear in a compound block


    C:\Dokumente und Einstellungen\Marco & Stefan\Desktop\GTA-San\Scrpit dinger\versuch.pwn(819) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\Marco & Stefan\Desktop\GTA-San\Scrpit dinger\versuch.pwn(821) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\Marco & Stefan\Desktop\GTA-San\Scrpit dinger\versuch.pwn(823) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\Marco & Stefan\Desktop\GTA-San\Scrpit dinger\versuch.pwn(828) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\Marco & Stefan\Desktop\GTA-San\Scrpit dinger\versuch.pwn(833) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\Marco & Stefan\Desktop\GTA-San\Scrpit dinger\versuch.pwn(838) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\Marco & Stefan\Desktop\GTA-San\Scrpit dinger\versuch.pwn(843) : error 010: invalid function or declaration

    Zeile 817 ist die mit new Menu:CurrentMenu = GetPlayerMenu(playerid) ;


  • public OnPlayerSelectedMenuRow(playerid, row)
    {
    new Menu:CurrentMenu = GetPlayerMenu(playerid);


    if(CurrentMenu == sfkmenu)
    {
    switch(row)
    {
    case 0:
    {
    GivePlayerWeapon(playerid,24,100)
    GivePlayerMoney(playerid,-300)
    }
    case 1:
    {
    GivePlayerWeapon(playerid,25,100)
    GivePlayerMoney(playerid,-350)
    }
    case 2:
    {
    GivePlayerWeapon(playerid,33,100)
    GivePlayerMoney(playerid,-400)
    }
    case 3:
    {
    GivePlayerWeapon(playerid,29,100)
    GivePlayerMoney(playerid,-450)
    }
    case 4:
    {
    GivePlayerWeapon(playerid,30,100)
    GivePlayerMoney(playerid,-650)
    }
    }
    }
    return 1;
    }