Brainfuck-Quellcode
- ----------------------------------------------------------------------
- -- Built with HDBlacker's Event Manager --
- ----------------------------------------------------------------------
- ----------------------------------------------------------------------
- ---------------- Loading event-related Lua-Functions -----------------
- ----------------------------------------------------------------------
- dofile(".\\LuaFunc\\EventFunc.lua")
- ----------------------------------------------------------------------
- ----------------- Automatic Notices for TRANS Server -----------------
- ----------------------------------------------------------------------
- bNotice = true -- Enable automatic notices?
- ----------------------------------------------------------------------
- ---- Notice( strDate, nInterval(MIN), nAmount ----
- ---- AddMessage( strMessage ) ----
- ----------------------------------------------------------------------
- Notice( "Sun 23:00", 1, 1 )
- --{
- AddMessage( "Test" )
- --}
- ----------------------------------------------------------------------
- ---- Initialization ----
- ----------------------------------------------------------------------
- ---- Hourly drop-weight of items
- tHour = { 505, 409, 324, 280, 220, 203, 202, 212,
- 227, 261, 302, 349, 571, 701, 764, 803,
- 790, 789, 754, 849, 936, 940, 919, 720 }
- ----------------------------------------------------------------------
- ----------------------------------------------------------------------
- ---- AddEvent( strDesc ) -- Registration of new Event named strDesc
- ---- SetTime( strStartTime, strEndTime ) -- Event's start time, end time of event (multiple settings possible)
- ---- -- Format: 2007-05-03 17:53
- ---- SetItem( ItemId, nMax, nNum, nLevel ) -- Drop item, maximum amount, the number of drop (random), The minimum level monsters drop items - several possible
- ---- SetExpFactor( fFactor ) -- Exp Factor multiplifier
- ---- SetItemDropRate( fFactor ) -- Drop Factor multiplifier
- ---- SetPieceItemDropRate( fFactor ) -- Item Piece Factor multiplifier
- ---- SetGoldDropFactor( fFactor ) -- Penya Rate multiplifier
- ---- SetAttackPower( nAttackPower ) -- Increase Damage
- ---- SetDefensePower( nDefensePower ) -- Increase Defense
- ---- SetCouponEvent( SEC(n) ) -- Coupon Event Access time (SEC or MIN)
- ---- SetLevelUpGift( nLevel, "all", ItemId, nNum ) -- Gives away items on level up: Level of giveaway, accountname, Item, Item Count
- ---- -- Account -> __ed: Account starts with an ed__: Account ends with ed
- ---- -- all: All accounts else: only account else
- ----------------------------------------------------------------------
- AddEvent( "EVENT TEST 01" )
- --{
- SetTime( "2007-06-08 14:23", "2007-06-08 16:11" )
- SetTime( "2007-06-09 14:23", "2007-06-10 00:00" )
- SetCouponEvent( MIN(120) )
- SetExpFactor( 2 )
- SetGoldDropFactor( 2 )
- SetItemDropRate( 2 )
- SetPieceItemDropRate( 2 )
- SetAttackPower( 150 )
- SetDefensePower( 100 )
- SetLevelUpGift( 15, "__bu", "II_SYS_SYS_SCR_BX_PET_LAWOLF7", 1 )
- SetItem( "II_SYS_SYS_EVE_COMMERGIFTBOX55", 500, 1, 15 )
- SetItem( "II_SYS_SYS_EVE_HAPPYMONEY01", 30000, 5, 15 )
- SetItem( "II_SYS_SYS_EVE_PUMPKIN01", 2000, 3, 15 )
- --}
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:
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:
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.
Droprate erhöhen
Selbiges wie bei EXP-Rate. 2-fache Erhöhung:
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:
Penyarate erhöhen
Selbiges wie bei EXP-Rate. 4-fache Erhöhung:
ATK-Rate erhöhen
ATK um 110 erhöhen (nicht getestet)
DEF-Rate erhöhen
DEF um 95 erhöhen (nicht getestet)
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:
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:
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:
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):
Quellcode
- AddEvent( "HDBlacker's Test Event" )
- --{
- SetTime( "2010-02-20 00:31", "2011-03-21 10:12" )
- SetExpFactor( 10 )
- SetItemDropRate( 2 )
- SetPieceItemDropRate( 3 )
- SetGoldDropFactor( 4 )
- SetAttackPower( 110 )
- SetDefensePower( 95 )
- SetCouponEvent( MIN(3) )
- SetLevelUpGift( 10, "all", "II_GEN_MAT_MOONSTONE", 198 )
- SetItem( "II_GEN_MAT_ELE_VOLCANO", 100, 1, 40 )
- --}
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.