Adminhilfesystem in einen Dialog

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 hatte in einen damaligen Script von mir ein Dialog Hilfe System geschrieben. ( Simple )
    Da ich das Script nicht mehr habe musst ich es nochmal machen, alles kein Problem.
    So, ich hab seit ca. 5 Monaten nicht mehr gescriptet.. und hab überhaupt keinen Plan mehr ausser paar Grundkentnisse dir mir hier aber irgendwie Fehlen c.c.
    Ich wollte einen kleinen Fun Server Erstellen für mich und meinen Kumpel wo wir folgende Sachen üben wollen:


    - Fahrskill
    - Waffenskill ( seinen :b )


    So, da wollte ich das Adminsystem schnell mal in ein Dialog schreiben..
    Hab aber irgendwie Vergessen wie es geht und hab es so Probiert:


    ocmd:ah(playerid,params[])
    {
    if(istPlayerAdmin(playerid,1))
    {
    ShowPlayerDialog(playerid, Adminhelp, DIALOG_STYLE_MSGBOX, "/a,/namekick,/goto,/setvw,/setint,/kick", "Ok");
    }
    return 1;
    }


    Ich bin mir zu 100% sicher das es Falsch ist und bekomme auch Warnings.
    Kann mir jemand das nochmal erklären, hab echt nen Gehirnschaden :b.
    Meine Adminlevel gehen bis 5, obwohl das eigentlich unnötig ist.
    Ich möchte wenn ein Spieler Adminlevel 2 hat das unter den Befehlen von Rank 1 die Befehle von Rank 2 stehen. ( wie mach ich das? - hatte das damals hinbekommen c.c )


    /e Nachtrag

  • Ganz oben "#define DIALOG_ADMIN NUMMER"
    das ist unter "OnPlayerCommandText" einfügen:

    if(strcmp("/ah",cmdtext,true,10)==0)
    {
    if(istPlayerAdmin(playerid,1))
    {
    ShowPlayerDialog(playerid, DIALOG_ADMIN, DIALOG_STYLE_MSGBOX, "/a\n/namekick\n/goto\n/setvw\n/setint\n/kick", "Ok","Knopf2");
    }
    return 1;
    }


    Und hier "OnDialogResponse" einstellen was passiert.

  • Okay, den Dialog hat ich schon am Anfang definiert. ( im Script oben )
    Was soll ich unter OnDialogResponse einstellen, man solls dann einfach schliessen können ( das Menü ) ohne irgendwelchen Kommentar im Chat oder so.
    Folgende Warnings kommen schon seit Anfang an ( seit dem Dialog )


    E:\Dokumente und Einstellungen\Systemadministrator\Desktop\SAMP\gamemodes\UnitedGermanFreeroam.pwn(2267) : warning 202: number of arguments does not match definition
    E:\Dokumente und Einstellungen\Systemadministrator\Desktop\SAMP\gamemodes\UnitedGermanFreeroam.pwn(2267) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Warnings.

  • Der Dialog ist falsch aufgebaut.
    Paramater:

    ShowPlayerDialog(wem?,dialogname/id?,dialogstyle?,"Überschrift","Info1\nInfo2","Button 1","Button 2");


    lg :thumbup:

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • if(strcmp("/ah",cmdtext,true,10)==0)
    {
    if(istPlayerAdmin(playerid,1))
    {
    ShowPlayerDialog(playerid, DIALOG_ADMIN, DIALOG_STYLE_MSGBOX,"Admin Panel", "/a\n/namekick\n/goto\n/setvw\n/setint\n/kick", "Ok","Knopf2");
    }
    return 1;
    }


    du musst dem Dialog ein Titel noch geben in dem Fall Admin Panel ;)

  • achso, ich dachte er wollte dann noch aktionen hinter packen.
    Dann ists schon in Ordnung ;)


    (Hätte aber nicht jeden Command in eine Zeile gepackt. Das wird ja sonst ellenlang.)



    Hinweis: Keinen Kontakt über TeamViewer oder Skype !
    Grüßt den Fehlerklärbär von mir.
    Coming soon: Pawn-Café ( Concept-Sharing | Scripting-First-Aid )

  • mach es so :)
    ganz oben im script:
    new DIALOG_ADMIN 1
    und dan unter onplayercommandtext das
    if(strcmp(cmdtext, "/ah", true) == 0)
    {
    if(istPlayerAdmin(playerid,1)
    {
    ShowPlayerDialog(playerid,DIALOG_ADMIN,DIALOG_STYLE_MSGBOX,"Adminhilfe","/a\n/namekick\n/goto\n/setvw\n/setint\n/kick","ok","Abbrechen");
    }
    return 1;
    }
    so sollte es eig klappen :)


    /e musst selber bissel einrücken

  • Entscheidet euch mal..
    Ich dachte man muss den Dialog Definieren und nicht neu erstellen.
    Also mit #define und nit mit NEW.
    Habe dat ganze mal bisschen geändert, immer noch 2 Warnings. ( gleichen )
    Waat soll ich tun.. ( ganze auf OCMD )

  • unter on Dialog Repsponse
    if(dialogid == DIALOG_WELCOME)
    {
    if(response)
    {
    return 1;
    }
    else
    {
    return 1;
    }
    return 1;
    }

    return 0;
    }