Dialog und Funktionen Beta 1.0.2 [NEUE Funtkionen]

  • Arendium´s Useful Function´s Plugin


    Hallo, da ich keine (richtige) verwendung dafür habe stelle ich euch hier Mein

    Plugin vor, es beinhaltet folgende Natives:



    native ShowADialog(playerid, dialogid,const ueberschrift[], const str1[], const str2[], const str3[], const str4[], colorcode);
    native HideADialog(playerid);
    native ReturnADialogStatus(Text:clickedid);
    native LoadADialog();
    native GetADialogID(playerid);
    native SetJetpackForPlayer(playerid, bool:toggle);
    native SetJetpackForAll(bool:toggle);
    native SendClientMessageForPVar(colorcode,const nachricht[], const pvar[], mindwert, maxwert);
    native SendClientMessageForInt(colorcode,const nachricht[], varriable, mindwert, maxwert);


    Es beinhaltet eine Dialog Funktion um sie

    benutzen zu können müsst ihr folgendes

    in Euer Script einfügen:


    forward OnADialogResponse(playerid, dialogid, listitem);
    public OnADialogResponse(playerid, dialogid, listitem)
    {
    return HideADialog(playerid);
    }


    Das wars, ich werde es auch weiter Ausbauen und bin für Verbesserungsvorschläge offen


    Download und Source:


    Pastebin:


    -Plugin Source Alpha http://pastebin.com/kWRey0vZ

    -Include Source Alpha http://pastebin.com/9bPEsVeZ

    -Plugin Scource Beta 1.0.2 http://pastebin.com/xkSgigzR

    -Include Source Beta 1.0.2 http://pastebin.com/J1QWZxRj


    Rar Paket





    Anwendung/Benutzung der Funktionen und Installation




    //Oben im Script
    #include <a_plugin>
    //in der Server.cfg unter Plugins Plugin eintragen, es heißt so da ich keinen gutklinkgenden namen habe ihr könnt
    //es aber auch unbenennen


    //---------------DIALOGE----------------------


    //Schritt 1
    #define ADIALOG_TEST 1//Die dialogid, diese sind von den normalen Unabhängig
    //Schritt 2 Der Erste dialog beispiel:
    ShowADialog(playerid, ADIALOG_TEST,"Das ist der Titel", "Listitem-1","Listitem-2", "Listitem-3", "Listitem-4", EUREFARBE);//Die anklickbaren Kästen/die Schrift wird in dieser Farbe leuchten,
    //die ihr eintragen müsst


    //Schritt 3 Was soll passieren wenn...
    forward OnADialogResponse(playerid, dialogid, listitem);//Das Forward
    public OnADialogResponse(playerid, dialogid, listitem)//Das Public mit Paramenter
    {
    if(dialogid == ADIALOG_TEST)
    {


    if(listitem == 1)
    {
    //Wenn er auf 1 geklickt hat
    }


    if(listitem == 2)
    {
    //Wenn er auf 2 geklickt hat
    }



    if(listitem == 3)
    {
    //Wenn er auf 3 geklickt hat
    }



    if(listitem == 4)
    {
    //Wenn er auf 4 geklickt hat
    }



    }
    return HideADialog(playerid);//Damit der Dialog entfernt wird
    }




    //SendClientInt/PVar und Jetpack funktionen



    //Jetpack Funktionen
    SetJetpackForPlayer(playerid,true);//Gibt dem Spieler ein Jetpack
    SetJetpackForPlayer(playerid,false);//Nimmt dem Spieler das Jetpack weg
    SetJetPackForAll(true);//Gibt allen Spielern ein Jetpack
    SetJetPackForAll(false);//Nimmt allen Spieler das Jetpack weg


    //SendClient Funktionen


    //Int


    SendClientMessageForInt(EUREFARBE,"Die Nachricht", PlayerInfo[playerid][pAdmin], 1, 3);
    // Eure Farbe Eure Nachricht Muss...sein/haben mind. max.
    //Dies Sendet Allen Spielern die PlayerInfo[playerid][pAdmin] 1, 2 oder 3 sind
    //Das ganze ist auch mit IrgendEinInterger[playerid] möglich.


    //PVar



    SendClientMessageForPVar(EUREFARBE,"Die Nachricht", "Admin", 1, 3);
    // Eure Farbe Eure Nachricht Muss...sein/haben mind. max.
    //Dies Sendet Allen Spielern die einen PVar namens Admin von 1, 2 oder 3 haben










    Ich weiss, dass es nicht gerade viel ist, ich freue mich auf Kritik Ideen

    und Verbesserungsvorschläge


    MFG Arendium

    Einmal editiert, zuletzt von Arendium () aus folgendem Grund: Einrückungs Fehler

  • Ich weiss, dass es nicht gerade viel ist, ich freue mich auf Kritik Ideen und Verbesserungsvorschläge


    Also, was jetzt die Jetpack Funktion mit den Dialogen zu tun hat ist mir noch unklar :D


    Aber egal, schön das du dich einwenig mit C++ auseinander setzt ;)


    Die Umsetzung ist naja...da kann man noch ein bisschen was rausholen :D


    Aber schonmal nicht schlecht ;)


    mfg. :thumbup:


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :pinch:

  • Joa, ich habe eig. keine Verwendung dafür


    Einen Ganz Besonderen Dank auch an BlackAce der mir dabei jederzeit bei problemen geholfen hat
    Ich hau gleich einen Screen mit den Dialogen rein und bin gerne für neue Ideen offen :thumbsup:


    MFG Arendium

  • cell AMX_NATIVE_CALL GetADialogID(AMX* amx, cell* params)
    {
    return AText[params[1]];
    return 0;
    }


    Dein Ernst?

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Ups bisschen schnell :S gemacht danke sollte dazu dienen die Dialogid die in diesem Interger gespeichert wird zu returnen.


    wird in der neuen version verbessert


    MFG Arendium


    //Edit Hat jemand noch verbesserungsvorschläge oder neue ideen ?

    Einmal editiert, zuletzt von Arendium ()

  • Ich seh in deinem Plugin irgendwie überhaupt keinen nutzen


    Was genau soll dieses ADialog sein?
    Sobald du einen Dialog für einen Spieler anzeigst du der sich von dem des vorherigen Spielers unterscheidet,
    sieht der vorherige Spieler genau das was der nach ihm auch sieht.


    Ich hätte auch an deiner Stelle für AText1-AText10 ein Array verwendet.


    Was ich allerdings auch nicht verstehe ist, warum lässt du die Variablen nicht zurücksetzen, z.B. wenn der Spieler den Server verlässt?
    Alles in einem wirkt dein "Plugin" sehr unaufgeräumt und völlig überstürzt aus

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski


  • Eigentlich nicht da es dies Ja nur für dießen Spieler so showt danach wird er überschrieben aber für "den anderen" wird ja noch der "alte" angezeigt.
    Oder verstehe ich was falsch ?


    MFG Arendium

  • TextDrawSetString(AText6,eins);
    TextDrawSetString(AText7,zwei);
    TextDrawSetString(AText8,drei);
    TextDrawSetString(AText9,vier);
    TextDrawSetString(AText10,ueberschrift);


    Da du hier kein Array hast, wird das für ALLE Spieler die die Textdraws sehen, das sind nun mal die, die den Dialog immer noch auf der Nase haben, geupdatet.
    Folglich ist das nicht sinnvoll

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • TextDrawSetString kann auch ohne TextDrawShowForPlayer auskommen

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Das mit dem Jetpack hab ich aus fun eingebaut :P
    außerdem wurde die SendClientMessage Funtkionen zur Erleichterung von Admin/Fraktion Chat´s
    Hinzugefügt.Ich habe selber dafür keine Verwendung und wäre SEHR dankbar
    wenn ihr Wünsche schreibt.


    MFG Arendium