[Guide] Event.lua - Wie stelle ich neue Events ein?


  • Dies ist eine typische Event.lua Datei.
    Was kann man alles in einem Event machen und wie macht man eines?


    1. Schritt: Event hinzufügen
    Überlegt euch einen Namen für das Event. Der Name wird ingame angezeigt. Entscheidet ihr euch z.B. für den Namen "HDBlacker's Test Event", steht ingame beim Einloggen "HDBlacker's Test Event läuft noch.".
    Um ein neues Event zu definieren, reicht die folgende Zeile:

    Code
    AddEvent( "HDBlacker's Test Event" )


    2. Schritt: Zeit für das Event hinzufügen
    Events werden automatisch gestartet. Ihr müsst dem Server nur beibringen, wann das Event gestartet werden soll.

    Soll das Event zum Beispiel in der Zeit vom 20.02.2010 00:31 Uhr bis 21.03.2011 10:12 Uhr laufen, fügt folgende Zeile hinzu:

    Code
    SetTime( "2010-02-20 00:31", "2011-03-21 10:12" )

    Von den Zeit-Zeilen können mehrere hinzugefügt werden, wenn das Event z.B. nur am Wochenende laufen soll, könnt ihr diese Zeitspannen für jedes Wochenende anlegen:

    SetTime ( ..... )
    SetTime ( ..... )
    SetTime ( ..... )


    3. Schritt: Features hinzufügen
    Jetzt ist es an der Zeit, Features zum Event hinzuzufügen. Denn was nützt schon ein Event, bei dem nichts geändert wird?


    EXP erhöhen
    Mit folgendem Befehl setzt ihr die EXP-Rate auf das 10-fache.
    Vorsicht! Solltet ihr von haus aus schon eine 25-fache EXP-Rate haben, wird eure Rate auf 25*10 gesetzt und nicht auf 10.

    Code
    SetExpFactor( 10 )

    Droprate erhöhen
    Selbiges wie bei EXP-Rate. 2-fache Erhöhung:

    Code
    SetItemDropRate( 2 )

    Droprate von Setteilen erhöhen
    (Ich habe gehört, dass dies die Droprate von Setteilen erhöht. Genau weiß ich es nicht)
    3- fache Erhöhung:

    Code
    SetPieceItemDropRate( 3 )

    Penyarate erhöhen
    Selbiges wie bei EXP-Rate. 4-fache Erhöhung:

    Code
    SetGoldDropFactor( 4 )

    ATK-Rate erhöhen
    ATK um 110 erhöhen (nicht getestet)

    Code
    SetAttackPower( 110 )

    DEF-Rate erhöhen
    DEF um 95 erhöhen (nicht getestet)

    Code
    SetDefensePower( 95 )

    Coupon Event starten
    Was auch immer das ist, ich weiß es nicht.
    Man kann ein Coupon Event entweder auf alle x Sekunden oder alle x Minuten setzen. (SEC oder MIN)
    Möchte man es auf alle 3 Minuten setzen, gibt man folgenden Befehl ein:

    Code
    SetCouponEvent( MIN(3) )

    Items beim Levelup vergeben (Level Up Event)
    Anzugeben sind das Level des Spielers, das er beim Levelup sein muss, die II ID des Items (kann man sich mit meinem Item Reader anzeigen lassen), der Accountname des Users, an den die Items wandern sollen und die Anzahl der Items.

    Möchte man beispielsweise bei einem Level up auf Level 10 (das Event ist für alle Spieler) 198 Moonstones an den Charakter vergeben, so fügt man folgende Zeile ein:

    Code
    SetLevelUpGift( 10, "all", "II_GEN_MAT_MOONSTONE", 198 )

    Sollen nur Charaktere mit einem Accountnamen, der mit "em" anfängt, die Items erhalten, so ersetzt man "all" mit "__em" (eminem, emsa, emrah würden die Items erhalten, lalem, asda, rodik nicht), soll der Accountname mit "ol" aufhören, ersetzt man "all" mit "ol__" (alkohol, monopol, mongol erhalten die Items, eminem, test, bp01 nicht).

    Drop Event (Items zur Drop Möglichkeit hinzufügen)
    Anzugeben sind das Mindestlevel des Monsters, das das Item droppen soll, die II ID (wie vorhin schon gesagt, kann man diese mit meinem Item Reader herausfinden), die Maximalanzahl des Items in einem Drop und die Chance auf das Item (oder Maximalanzahl an Drops des Items pro Tag, keine Ahnung..)
    Soll z.B. eine Volcano Card maximal 100x pro Tag gedroppt werden, bei Monstern ab Level 40 und maximal 1 Karte pro Monster, fügt man folgende Zeile ein:

    Code
    SetItem( "II_GEN_MAT_ELE_VOLCANO", 100, 1, 40 )


    Setzt man alles zusammen, was wir in dieses Event eingefügt haben, sieht das Ganze so aus (die --{, --} und die Einrückungen sind rein zum besseren Aussehen):

    Ich hoffe, ihr habt alles so weit verstanden.
    Für Berichtigungen (speziell bezüglich SetPieceItemDropRate, SetItem, SetAttackPower und SetDefensePower, wo ich mir nicht genau sicher bin) bin ich dankbar.
    Ansonsten sollte soweit alles stimmen.

  • [FONT="Comic Sans MS"][COLOR="DarkRed"][SIZE="2"]

    Kanst ja noch die genauen Devination von "All" etc adden


    __bu = Alle Accs mit Bu Am anfang
    bu__ = Alles Accs mit Bu am ende..

    usw....

    [/SIZE][/COLOR][/FONT]

  • [COLOR="DarkRed"]Geiler Guide.

    Gerade das, brauch ich gerade zum testen meines Homeservers :P[/COLOR]

    [SIZE=3][COLOR=White]MfG Zer0[/COLOR][/SIZE]

    [CENTER]

    [SIZE=2]We are in the Core![/SIZE][SIZE=2][COLOR=White][/COLOR]
    [/SIZE]
    [/CENTER]

  • Thx for Guide :D

    Danke Black für den Guide :)
    Hat mich sehr viel weiter gebracht, aber wie ist das wenn man Tom's Antihack hat? Muss man da noch etwas einstellen?

    Lg,
    Pinsel

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!