hAchievements - Errungenschaften

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
  • hAchievements System - Errungenschaften


    So, es ist Mal wieder Zeit für ein kleines Werk. Die Idee ist nichts
    neues, die Include ist ziemlich schlicht gehalten, und doch könnte sie
    für einige hier ganz nützlich sein. Bisher habe ich derartige Scripts
    nur auf MySQL Basis gefunden (speichernd). Dieses System speichern die
    Errungenschaften jedoch nicht.


    Mithilfe der neuen Funktionen kann der Spieler sogenannte "(h-)Achievements" freischalten.


    Funktionen:



    GivehAchievement(playerid, name[], beschreibung[], level, geld)


    Gibt einem Spieler eine Errungenschaft.

    playerid
    = Die ID des Spielers, der die Errungenschaft erhalten soll
    name[] = Der Name der Errungenschaft
    beschreibung[] = Die Beschreibung der Errungenschaft
    level = Höhe des Levelups, den der Spieler erhalten soll
    geld = Menge des Geldes, das der Spieler bekommen soll

    Mögliche Verwendung:



    public OnPlayerDeath(playerid, killerid, reason)
    {
    GivehAchievement(killerid,"Ultra Killer","Glueckwunsch, du hast einen~n~Spieler getoetet!",1,15000);
    // Gibt dem Spieler die Errungenschaft und +1Score und 15k
    return 1;
    }


    Dies ist ein Beispiel.



    CountPlayerhAchievements(playerid)


    Gibt playerid die aktuelle Anzahl der freigeschalteten Errungenschaften aus.

    Installation


    Datei hAchievements.inc ins Verzeichnis pawno/include kopieren, anschließend Gamemode öffnen und bei den Includes



    #include <hAchievements>


    hinzufügen.
    Nun unter OnGameModeInit



    hAchieve_Init();


    und unter OnGameModeExit



    hAchieve_Exit();


    eintragen und schon können die Funktionen verwendet werden.

    Screenshot



    Download
    Pastebin


    http://www.file-upload.net/dow…01/hAchievements.inc.html
    http://pastebin.com/CyMr7AMA


    Viel Spaß damit!


    (e: Text)
    (e: Bugfix)

    2 Mal editiert, zuletzt von pwnfl4sh () aus folgendem Grund: Update (1)

  • Kommt mir sehr bekannt vor.


    werde mich mal umsehen und dann editieren.


    regards


    /edit:


    doch nicht , gut gemacht 9/10

  • Oh ja danke, vielen dank das du uns 2500 mögliche Textdraws stiehlst
    Du erstellst die Textdraws wenn sie gar nicht gebraucht werden.
    Das ist einfach nur sinnlos.
    Erstell sie doch einfach wenn sie gebraucht werden nämlich dann wenn der "Erfolg" ausgelöst wird

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

    Margarete Stokowski

  • Habe sowas schonmal bei "-Viper-" gesehen, schaut trozdem Nice aus.
    Aber Viper Releast keine Scripts ^^

  • Nochmal ein Hinweis.
    Erstll die Textdraws doch gleich mit dem entsprecheneden Text.
    Dann musst du sie nicht erst noch updaten ;)

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

    Margarete Stokowski

  • Ist wie beschrieben nichts besonderes und relativ schlicht gehalten. Wer ein simples System für Errungenschaften braucht, welches die
    Errungenschaften nicht speichert, für den wird es wohl eine hilfreiche Include sein, mit der er sich ein wenig Arbeit ersparen kann.
    Die Textdraws könnten aber schöner gestaltet sein, denn so würde ich lieber einen GameText verwenden, da ich dann keine Probleme mit den Textdraws habe (Textdraw-Limit etc).


    Die Textdraws 0-2 für jeden Spieler einzeln zu erstellen ist immer noch überflüssig, da der
    Text von diesen Textdraws doch für jeden Spieler gleich bleibt.
    Das wäre nochmals Sparpotential. Denn statt 2500 Textdraws hätte man nur noch 1003 Textdraws (solange MAX_PLAYERS 500 beträgt).


    BTW: Im Beispiel für eine mögliche Anwendung ist ein kleiner Fehler drin.
    Der gestorbene Spieler würde dort die Errungenschaft fürs Töten bekommen.