Menü funktioniert nicht.

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 :)
    Also, ich wollte ein Menü machen, wo man sich Autos auswählen kann, aber das sollte erst später kommen, erst muss das Menu ja funktionieren. Ich hab mir hier dazu so'n Tut angesehn und das nur so zur hälfte kapiert weil ich den Server erst seit Gestern zum laufen bekommen hatte und noch nix gemacht hab und auch dementsprechend wenig weiß. Also...Hier mein Script:
    //----------------------------------------------------
    //Includes, Defines und so
    #include <a_samp>
    #pragma tabsize 0


    //Script
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    //----------------------------------------------------


    //----------------------------------------------------
    public OnGameModeInit()
    {
    new Menu:vehiclemenu;
    vehiclemenu = CreateMenu("Vehicle", 2, 200.0, 150.0, 120.0, 50.0);
    AddMenuItem(vehiclemenu, 0, "Infernus");
    return 1;
    }
    //----------------------------------------------------
    //Befehle -Start
    if (strcmp("//sfair", cmdtext, true) == 0)
    {
    SetPlayerPos(playerid,-1412.5776,-304.0759,14.1411);
    SendClientMessage(playerid, 000000, "SF-Airport!");
    return 1;
    }
    if (strcmp("//lvpd", cmdtext, true) == 0)
    {
    SetPlayerPos(playerid,2286.7214,2423.9526,10.8203);
    SendClientMessage(playerid, 000000, "LVPD!");
    return 1;
    }
    if (strcmp("/vehicle", cmdtext, true) == 0)
    {
    ShowMenuForPlayer(vehiclemenu, playerid);
    return 1;
    }
    //Befehle -Ende


    return 0;
    }


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


    if(CurrentMenu == vehiclemenu)
    {
    switch(row)
    {
    case 0: //Erster Eintrag.
    {
    GameTextForPlayer(playerid,"Hier, dein Infernus! ;D",3000,3);
    }
    }
    }
    return 0;
    }
    //----------------------------------------------------
    Die Striche sind nur damit ich Übersicht habt...Und hier noch die Fehler:

    Zitat

    G:\Programme\Rockstar Games\GTA San Andreas\samp\filterscripts\cmds.pwn(12) : error 029: invalid expression, assumed zero
    G:\Programme\Rockstar Games\GTA San Andreas\samp\filterscripts\cmds.pwn(12) : error 004: function "OnGameModeInit" is not implemented
    G:\Programme\Rockstar Games\GTA San Andreas\samp\filterscripts\cmds.pwn(21) : warning 225: unreachable code
    G:\Programme\Rockstar Games\GTA San Andreas\samp\filterscripts\cmds.pwn(35) : error 017: undefined symbol "vehiclemenu"
    G:\Programme\Rockstar Games\GTA San Andreas\samp\filterscripts\cmds.pwn(48) : error 017: undefined symbol "vehiclemenu"


    Also, jaaa wie gesagt: Ich bin noch Anfänger. sry. :/

  • Hi Beagle, auf den ersten Blick würde ich sagen du hast einfach nur das OnGameModeInit() in das OnPlayerCommandText gesetzt und ein new-Befehl um eine Variable zu erstellen kommt immer unter die includes und defines, sonnst stimmts eigentlich, also richtig wäre das dann so:


    //Includes, Defines und so
    #include <a_samp>
    #pragma tabsize 0
    new Menu:vehiclemenu;


    //Script


    public OnGameModeInit() // das steht alleine, das wird ausgeführt wenn der script geladen wird :)
    {
    vehiclemenu = CreateMenu("Vehicle", 2, 200.0, 150.0, 120.0, 50.0);
    AddMenuItem(vehiclemenu, 0, "Infernus");
    return 1;
    }
    //----------------------------------------------------
    public OnPlayerCommandText(playerid, cmdtext[])//das kommt hier hin damit es nicht "in dem anderen hängt"
    {
    //Befehle -Start
    if (strcmp("//sfair", cmdtext, true) == 0)
    {
    SetPlayerPos(playerid,-1412.5776,-304.0759,14.1411);
    SendClientMessage(playerid, 000000, "SF-Airport!");
    return 1;
    }
    if (strcmp("//lvpd", cmdtext, true) == 0)
    {
    SetPlayerPos(playerid,2286.7214,2423.9526,10.8203);
    SendClientMessage(playerid, 000000, "LVPD!");
    return 1;
    }
    if (strcmp("/vehicle", cmdtext, true) == 0)
    {
    ShowMenuForPlayer(vehiclemenu, playerid);
    return 1;
    }
    //Befehle -Ende


    return 0;
    }


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


    if(CurrentMenu == vehiclemenu)
    {
    switch(row)
    {
    case 0: //Erster Eintrag.
    {
    GameTextForPlayer(playerid,"Hier, dein Infernus! ;D",3000,3);
    }
    }
    }
    return 0;
    }
    //----------------------------------------------------


    P.S. macht nichts das du Anfänger bist ;) , Tipp das ist gut -> Klick , oder wenn du einigermaßen Englisch kannst -> Klick


    Powered by Windows 7 64 Bit