Scheine Menu...

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,
    Hiermit bitte ich die Scripter mir einen kleinen script zu machen..
    Was soll der Können?
    Er soll ein Menü Öffnen in dem ich scheine auswählen kann
    =========Scheine========
    - Führerschein Preis: 4000$
    - Fluschein Preis: 7000$
    - Angelschein Preis: 6000$
    - Seegelschein Preis: 5000$
    "362.7049,173.5098,1008.3828" an der Kordinate soll ein roter Kreis kommen und wenn ich dort rein gehe
    öffnet sich automatisch das Menu

  • Also..


    Oben bei den News machste:
    new Menu:Scheine;


    Dann unter OnGameModeInit()



    Scheine = CreateMenu("~b~ Die Scheine:", 2, 50.0, 220.0, 200.0, 200.0);
    AddMenuItem(Scheine, 0, "Führerschein 4000$");
    AddMenuItem(Scheine, 0, "Flugschein 7000$");
    AddMenuItem(Scheine, 0, "Angelschein 6000$");
    AddMenuItem(Scheine, 0, "Segelschein 5000$");


    Dann unter OnPlayerSelectedMenuRow

    new Menu:scheinenew = GetPlayerMenu(playerid);


    /* if(scheinenew == Scheine)
    {
    switch(row)
    {
    case 0:
    {
    PlayerInfo[giveplayerid][pCarLic] = 1;
    SendClientMessage(playerid, COLOR_WHITE,"Dein Führerschein Kostet 4000$! Viel Spass");
    GivePlayerMoney(playerid, -4000);
    }
    case 1:
    {
    PlayerInfo[giveplayerid][pFlyLic] = 1;
    SendClientMessage(playerid, COLOR_WHITE,"Dein Flugschein Kostet 7000$! Viel Spass");
    GivePlayerMoney(playerid, -7000);
    }
    case 2:
    {
    PlayerInfo[giveplayerid][pFishLic] = 1;
    SendClientMessage(playerid, COLOR_WHITE,"Dein Angelschein Kostet 6000$! Viel Spass");
    GivePlayerMoney(playerid, -6000);
    }
    case 3:
    {
    PlayerInfo[giveplayerid][pBoatLic] = 1;
    SendClientMessage(playerid, COLOR_WHITE,"Dein Seegelschein Kostet 5000$! Viel Spass");
    GivePlayerMoney(playerid, -5000);
    }


    Dann machste einfach unter CostumPickups
    etwas weiter unten das hin..



    else if (PlayerToPoint(2, i, 362.7049,173.5098,1008.3828))
    {
    ShowMenuForPlayer(Scheine, playerid);
    }


    Das ganze ist ungetestet ^^

  • Ja normal wennn du ne klammer vergist ^^.. moment.. also


    bei

    public OnPlayerSelectedMenuRow(playerid, row)
    {
    return 1;
    }


    ersetze das mal so bitte..



    public OnPlayerSelectedMenuRow(playerid, row)
    {
    new Menu:scheinenew = GetPlayerMenu(playerid);
    if(scheinenew == Scheine)
    {
    switch(row)
    {
    case 0:
    {
    PlayerInfo[giveplayerid][pCarLic] = 1;
    SendClientMessage(playerid, COLOR_WHITE,"Dein Führerschein Kostet 4000$! Viel Spass");
    GivePlayerMoney(playerid, -4000);
    }
    case 1:
    {
    PlayerInfo[giveplayerid][pFlyLic] = 1;
    SendClientMessage(playerid, COLOR_WHITE,"Dein Flugschein Kostet 7000$! Viel Spass");
    GivePlayerMoney(playerid, -7000);
    }
    case 2:
    {
    PlayerInfo[giveplayerid][pFishLic] = 1;
    SendClientMessage(playerid, COLOR_WHITE,"Dein Angelschein Kostet 6000$! Viel Spass");
    GivePlayerMoney(playerid, -6000);
    }
    case 3:
    {
    PlayerInfo[giveplayerid][pBoatLic] = 1;
    SendClientMessage(playerid, COLOR_WHITE,"Dein Seegelschein Kostet 5000$! Viel Spass");
    GivePlayerMoney(playerid, -5000);
    }
    }
    }
    return 1;
    }


    Bin mir jezt nich sicher ob da ne Klammer zu viel is oder zu wenig..
    sag bescheid einfach

  • C:\Users\AmoK\Desktop\Neuer Ordner (2)\gamemodes\gf.pwn(1929) : error 017: undefined symbol "i"
    C:\Users\AmoK\Desktop\Neuer Ordner (2)\gamemodes\gf.pwn(4179) : error 017: undefined symbol "giveplayerid"
    C:\Users\AmoK\Desktop\Neuer Ordner (2)\gamemodes\gf.pwn(4185) : error 017: undefined symbol "giveplayerid"
    C:\Users\AmoK\Desktop\Neuer Ordner (2)\gamemodes\gf.pwn(4191) : error 017: undefined symbol "giveplayerid"
    C:\Users\AmoK\Desktop\Neuer Ordner (2)\gamemodes\gf.pwn(4197) : error 017: undefined symbol "giveplayerid"
    C:\Users\AmoK\Desktop\Neuer Ordner (2)\gamemodes\gf.pwn(4203) : warning 217: loose indentation
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    5 Errors.

  • ersetze
    giveplayerid und i durch playerid


    einfach beides nur durch playerid ersetzen ;)

  • wie das menu kommt net?
    dann mach es via befehll..
    das per befehl das menu erscheint..

  • Na gut ^^.
    Das zwar schon happich aba naja ^^.. also..



    if(strcmp(cmd,"/scheine",true) ==0)
    {
    if(PlayerToPoint(3,playerid,DEINE CORDS))
    {
    ShowMenuForPlayer(Scheine, playerid);
    }
    return 1;
    }

  • Die haben keine ID..
    Das sind kleine CheckPoints ;)

  • Du musst ihn beim "Erscheinen" des Menüs also hier:


    if(strcmp(cmd,"/scheine",true) ==0)
    {
    if(PlayerToPoint(3,playerid,DEINE CORDS))
    {
    ShowMenuForPlayer(Scheine, playerid);
    TogglePlayerControllable(playerid, 0);//freezen...
    }
    return 1;
    }


    und ihn beim Auswählen von nem Menüpunkt wieder unfreezen, also so bei jedem case einmal ein:
    TogglePlayerControllable(playerid, 1);


    Also z.B. so:
    if(scheinenew == Scheine)
    {
    switch(row)
    {
    case 0:
    {
    PlayerInfo[giveplayerid][pCarLic] = 1;
    SendClientMessage(playerid, COLOR_WHITE,"Dein Führerschein Kostet 4000$! Viel Spass");
    GivePlayerMoney(playerid, -4000);
    TogglePlayerControllable(playerid, 1);


    }
    case 1:
    {
    PlayerInfo[giveplayerid][pFlyLic] = 1;
    SendClientMessage(playerid, COLOR_WHITE,"Dein Flugschein Kostet 7000$! Viel Spass");
    GivePlayerMoney(playerid, -7000);
    TogglePlayerControllable(playerid, 1);
    }
    case 2:
    {
    PlayerInfo[giveplayerid][pFishLic] = 1;
    SendClientMessage(playerid, COLOR_WHITE,"Dein Angelschein Kostet 6000$! Viel Spass");
    GivePlayerMoney(playerid, -6000);
    TogglePlayerControllable(playerid, 1);
    }
    case 3:
    {
    PlayerInfo[giveplayerid][pBoatLic] = 1;
    SendClientMessage(playerid, COLOR_WHITE,"Dein Seegelschein Kostet 5000$! Viel Spass");
    GivePlayerMoney(playerid, -5000);
    TogglePlayerControllable(playerid, 1);
    }


    Menü erscheint -> Spieler wird gefreezed
    Spieler wählt einen Menüpunkt aus -> Spieler wird geunfreezed


    Außerdem kannst du ihn noch unfreezen, wenn er das Menü per Esc. verlässt.
    Einfach als neues public iwo in deinem Script folgendes einfügen:


    public OnPlayerExitedMenu(playerid)
    {
    TogglePlayerControllable(playerid, 1);
    return 1;
    }
    Hoffe ich konnte dir helfen :P


    Mit freundlichen Grüßen,
    Mr_Hero

  • Hi all ich hatte ne frage ich habe 4 errors bei diese Scheine MenuC:\Users\Phyton\Desktop\rog.pwn(3865) : error 017: undefined symbol "giveplayerid"
    C:\Users\Phyton\Desktop\rog.pwn(3871) : error 017: undefined symbol "giveplayerid"
    C:\Users\Phyton\Desktop\rog.pwn(3877) : error 017: undefined symbol "giveplayerid"
    C:\Users\Phyton\Desktop\rog.pwn(3883) : error 017: undefined symbol "giveplayerid"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.