V14 Event zum laufen bringen!
-
-
Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )
danke hab ih gesucht^^
hab es selber ned hinbekommen^^xDD
neija wie gesagt dankeD[FONT="Tahoma"][COLOR="DarkOrange"][SIZE="2"]Wow danke fürs Releasen :D[/SIZE][/COLOR][/FONT]Ganz cleverer Bursche, einfach v14 Events nehmen..
Auf sowas kommt man ja nicht so schnell :>
EventFunc.lua
Brainfuck-Quellcode
- tEvent = {} -- À̺¥Æ® ÀúÀå Å×À̺í
- tNotice = {} -- Á¡°Ë ÀÚµ¿ °øÁö
- bNotice = false
- function SEC( n )
- return n*1000
- end
- function MIN( n )
- return n*SEC(60)
- end
- -----------------------------------------------------------------------------------
- function Notice( strTime, nInterval, nNoticeCount )
- tNotice.strTime = strTime
- tNotice.nInterval = nInterval
- tNotice.nNoticeCount = nNoticeCount
- tNotice.tMessage = {}
- end
- function AddMessage( strMessage )
- local nSize = table.getn( tNotice.tMessage ) + 1
- tNotice.tMessage[nSize] = strMessage
- end
- function IsNoticeTime()
- if( (bNotice == true) and (tNotice.nNoticeCount > 0) and (tNotice.strTime == os.date("%a %H:%M")) ) then
- tNotice.nNoticeCount = tNotice.nNoticeCount - 1
- SetNextNoticeTime()
- return true
- end
- return false
- end
- function SetNextNoticeTime()
- local nMin = tonumber( os.date( "%M" ) )
- local nHour = tonumber( os.date( "%H" ) )
- local strTemp;
- tNotice.strTime = os.date( "%a " )
- nMin = nMin + tNotice.nInterval;
- if( nMin > 59 ) then
- nMin = 60 - nMin
- nHour = nHour + 1
- end
- -- ½Ã
- strTemp = tostring( nHour )..":"
- if( nHour < 10 ) then strTemp = "0"..strTemp end
- tNotice.strTime = tNotice.strTime .. strTemp
- -- ºÐ
- strTemp = tostring( nMin )
- if( nMin < 10 ) then strTemp = "0"..strTemp end
- tNotice.strTime = tNotice.strTime .. strTemp
- end
- function GetNoticeMessage()
- return tNotice.tMessage
- end
- -----------------------------------------------------------------------------------
- ------- C¿¡¼* È£ÃâÇÒ ·ç¾Æ ÇÔ¼ö ----------------------------------------------------
- -----------------------------------------------------------------------------------
- -- º¯°æµÈ À̺¥Æ® ¸®½ºÆ® (DBSERVER)
- function GetEventState()
- local tReturn = {}
- local nCount = 1
- for i in pairs(tEvent) do
- local OldState = tEvent[i].State
- for j in pairs(tEvent[i].Time) do
- if( tEvent[i].Time[j].nStart <= tonumber(os.date("%Y%m%d%H%M")) ) then
- if( tEvent[i].Time[j].nEnd > tonumber(os.date("%Y%m%d%H%M")) ) then
- if( tEvent[i].State == 0 ) then
- tEvent[i].State = 1
- end
- else
- if( tEvent[i].State == 1 ) then
- tEvent[i].State = 0
- end
- end
- end
- end
- if( OldState ~= tEvent[i].State ) then
- tReturn[nCount] = {}
- tReturn[nCount].nId = i
- tReturn[nCount].State = tEvent[i].State
- nCount = nCount + 1
- end
- end
- return tReturn
- end
- -- WORLDSERVER¿¡¼* ½ÇÇàµÈ ½ºÅ©¸³Æ® ÆÄÀÏ¿¡µµ º¯°æµÈ state¸¦ Àû¿ëÇϱâ À§ÇÑ ÇÔ¼ö
- function SetState( nId, nState )
- if( tEvent[nId] == nil ) then
- TRACE( string.format( "Have Not Event - ID:%d", nId ) )
- ERROR( string.format( "Have Not Event - ID:%d", nId ) )
- return false;
- end
- tEvent[nId].State = nState
- TRACE( string.format( "Event - ID:%d, Title:%s, State:%d", nId, tEvent[nId].Desc, tEvent[nId].State ) )
- ERROR( string.format( "Event - ID:%d, Title:%s, State:%d", nId, tEvent[nId].Desc, tEvent[nId].State ) )
- return true;
- end
- -- ÁøÇàÁßÀÎ À̺¥Æ® ¸®½ºÆ®
- function GetEventList()
- local tList = {}
- local nCount = 1
- for i in pairs(tEvent) do
- if( tEvent[i].State == 1 ) then
- tList[nCount] = i
- nCount = nCount + 1
- end
- end
- return tList
- end
- -- À̺¥Æ® Å×ÀÌºí¿¡ ÀÖ´Â ¸ðµç ¸®½ºÆ®
- function GetAllEventList()
- local tAllList = {}
- local nCount = 1
- for i in pairs(tEvent) do
- tAllList[nCount] = {}
- tAllList[nCount].nId = i
- tAllList[nCount].strTitle = tEvent[i].Desc
- tAllList[nCount].nState = tEvent[i].State
- nCount = nCount + 1
- end
- return tAllList
- end
- -- À̺¥Æ® »ó¼¼ Á¤º¸ Å×À̺íÀ» ¸®ÅÏ
- function GetEventInfo( nId )
- local tEventInfo = {}
- if( tEvent[nId] == nil ) then
- tEventInfo[1] = "No EventInfo ID = "..nId
- return tEventInfo
- end
- local nCount = 3
- tEventInfo[1] = "Title = " .. tEvent[nId].Desc
- tEventInfo[2] = "State = " .. tEvent[nId].State
- for i in pairs(tEvent[nId].Time) do
- local strTime = tEvent[nId].Time[i].nStart .. ", " ..tEvent[nId].Time[i].nEnd
- tEventInfo[nCount] = "Time["..i.."] = " .. strTime
- nCount = nCount + 1
- end
- for i in pairs(tEvent[nId].Item) do
- local strItem = tEvent[nId].Item[i].ItemId ..", ".. tEvent[nId].Item[i].ItemMaxNum ..", ".. tEvent[nId].Item[i].ItemNum ..", ".. tEvent[nId].Item[i].nLevel
- tEventInfo[nCount] = "Item["..i.."] = " .. strItem
- nCount = nCount + 1
- end
- if( tEvent[nId].fExpFactor ~= 1 ) then
- tEventInfo[nCount] = "ExpFactor = " .. tEvent[nId].fExpFactor
- nCount = nCount + 1
- end
- if( tEvent[nId].fItemDropRate ~= 1 ) then
- tEventInfo[nCount] = "ItemDropRate = " .. tEvent[nId].fItemDropRate
- nCount = nCount + 1
- end
- if( tEvent[nId].fPieceItemDropRate ~= 1 ) then
- tEventInfo[nCount] = "fPieceItemDropRate = " .. tEvent[nId].fPieceItemDropRate
- nCount = nCount + 1
- end
- if( tEvent[nId].fGoldDropFactor ~= 1 ) then
- tEventInfo[nCount] = "fGoldDropFactor = " .. tEvent[nId].fGoldDropFactor
- nCount = nCount + 1
- end
- if( tEvent[nId].nAttackPower ~= 0 ) then
- tEventInfo[nCount] = "nAttackPower = " .. tEvent[nId].nAttackPower
- nCount = nCount + 1
- end
- if( tEvent[nId].nDefensePower ~= 0 ) then
- tEventInfo[nCount] = "nDefensePower = " .. tEvent[nId].nDefensePower
- nCount = nCount + 1
- end
- if( tEvent[nId].nCouponEvent ~= 0 ) then
- if( tEvent[nId].nCouponEvent < MIN(1) ) then
- tEventInfo[nCount] = "nCouponEventTime = " .. tEvent[nId].nCouponEvent / SEC(1) .. "Sec"
- else
- tEventInfo[nCount] = "nCouponEventTime = " .. tEvent[nId].nCouponEvent / MIN(1) .. "Min"
- end
- nCount = nCount + 1
- end
- for i in pairs(tEvent[nId].Gift) do
- local strGift = tEvent[nId].Gift[i].nLevel ..", ".. tEvent[nId].Gift[i].strAccount ..", ".. tEvent[nId].Gift[i].strItemId ..", ".. tEvent[nId].Gift[i].nItemNum
- tEventInfo[nCount] = "Gift["..i.."] = " .. strGift
- nCount = nCount + 1
- end
- if( tEvent[nId].fCheerExpFactor ~= 1 ) then
- tEventInfo[nCount] = "fCheerExpFactor = " .. tEvent[nId].fCheerExpFactor
- nCount = nCount + 1
- end
- return tEventInfo
- end
- -- À̺¥Æ® ¼³¸í
- function GetDesc( nId )
- local strDesc = tEvent[nId].Desc
- return strDesc
- end
- -- ½Ã°£À» ¼ýÀÚ·Î ¹Ù²ãÁÖ´Â ÇÔ¼ö
- function GetTimeToNumber( strTime )
- local strTemp = ""
- local j = 0
- for i in string.gfind( strTime, "%d+" ) do
- j = j + 1
- if( (j~=1) and (tonumber(i)<10) ) then
- i = "0"..tonumber(i)
- end
- strTemp = strTemp..i
- end
- return tonumber( strTemp )
- end
- ---------------------------------------------------------------------------
- ------ µ¥ÀÌÅÍ Ãß°¡ ÇÔ¼ö ---------------------------------------------------
- ---------------------------------------------------------------------------
- -- »õ·Î¿î À̺¥Æ® Ãß°¡
- function AddEvent( strDesc )
- local nEventId = table.getn(tEvent) + 1
- tEvent[nEventId] = {}
- tEvent[nEventId].Item = {}
- tEvent[nEventId].Time = {}
- tEvent[nEventId].Desc = strDesc
- tEvent[nEventId].fExpFactor = 1
- tEvent[nEventId].fItemDropRate = 1
- tEvent[nEventId].fPieceItemDropRate = 1
- tEvent[nEventId].fGoldDropFactor = 1
- tEvent[nEventId].State = 0
- tEvent[nEventId].nAttackPower = 0
- tEvent[nEventId].nDefensePower = 0
- tEvent[nEventId].nCouponEvent = 0
- tEvent[nEventId].Gift = {}
- tEvent[nEventId].fCheerExpFactor = 1
- end
- -- ½ÃÀ۽ð£, ³¡½Ã°£
- function SetTime( strStart, strEnd )
- local nEventId = table.getn(tEvent)
- local nSize = table.getn( tEvent[nEventId].Time ) + 1
- tEvent[nEventId].Time[nSize] = {}
- tEvent[nEventId].Time[nSize].nStart = GetTimeToNumber( strStart )
- tEvent[nEventId].Time[nSize].nEnd = GetTimeToNumber( strEnd )
- end
- -- ¾ÆÀÌÅÛ
- function SetItem( ItemId, nItemMaxNum, nItemNum, nLevel )
- local nEventId = table.getn(tEvent)
- local nSize = table.getn(tEvent[nEventId].Item)
- tEvent[nEventId].Item[nSize+1] = {}
- tEvent[nEventId].Item[nSize+1].ItemId = ItemId
- tEvent[nEventId].Item[nSize+1].ItemMaxNum = nItemMaxNum
- tEvent[nEventId].Item[nSize+1].ItemNum = nItemNum
- tEvent[nEventId].Item[nSize+1].nLevel = nLevel
- tEvent[nEventId].Item[nSize+1].TimeOut = 0
- tEvent[nEventId].Item[nSize+1].Skip = 0
- local tInterval = {}
- local nTotal = 0
- for i in pairs(tHour) do
- nTotal = nTotal + tHour[i]
- end
- for i in pairs(tHour) do
- tInterval[i] = 3600000 / ( nItemMaxNum * tHour[i] / nTotal )
- tInterval[i] = math.floor(tInterval[i])
- end
- tEvent[nEventId].Item[nSize+1].tInterval = tInterval
- end
- -- µå·ÓµÉ ¾ÆÀÌÅÛ ¸ñ·Ï
- function GetItem( nTickCount, nLevel )
- local nHour = tonumber(os.date("%H")) + 1
- local tList = GetEventList()
- local tReturn = {}
- local nCount = 1
- for i in pairs(tList) do
- local tItem = tEvent[tList[i]].Item
- for j in pairs(tItem) do
- local nRandom = math.random(0, tItem[j].ItemNum)
- if( (nRandom > 0) and (nTickCount >= tItem[j].TimeOut) and (tItem[j].nLevel <= nLevel) ) then
- tItem[j].TimeOut = tItem[j].tInterval[nHour] + nTickCount
- if( tItem[j].Skip == 0 ) then
- tReturn[nCount] = {}
- tReturn[nCount].ItemId = tItem[j].ItemId
- tReturn[nCount].ItemNum = nRandom
- tItem[j].Skip = nRandom - 1
- nCount = nCount + 1
- TRACE( "Event.lua : GetItem() - Drop - "..tItem[j].ItemId..", "..nRandom.."°³, Skip:"..tItem[j].Skip.." ½Ã°£´ë:"..(nHour-1).." ~ "..nHour )
- else
- tItem[j].Skip = tItem[j].Skip - 1
- TRACE( "Event.lua : GetItem() - Skip - "..tItem[j].ItemId..", ³²Àº Skip:"..tItem[j].Skip.." ½Ã°£´ë:"..(nHour-1).." ~ "..nHour )
- end
- end
- end
- end
- return tReturn
- end
- -- °æÇèÄ¡ ¹è¼ö
- function SetExpFactor( fExpFactor )
- local nEventId = table.getn(tEvent)
- tEvent[nEventId].fExpFactor = fExpFactor
- end
- function GetExpFactor()
- local tList = GetEventList()
- local fExpFactor = 1
- for i in pairs(tList) do
- if( tEvent[tList[i]].fExpFactor ~= nil ) then
- fExpFactor = fExpFactor * tEvent[tList[i]].fExpFactor
- end
- end
- return fExpFactor
- end
- -- ¾ÆÀÌÅÛ µå·Ó·ü ¹è¼ö
- function SetItemDropRate( fItemDropRate )
- local nEventId = table.getn(tEvent)
- tEvent[nEventId].fItemDropRate = fItemDropRate
- end
- function GetItemDropRate()
- local tList = GetEventList()
- local fItemDropRate = 1
- for i in pairs(tList) do
- if( tEvent[tList[i]].fItemDropRate ~= nil ) then
- fItemDropRate = fItemDropRate * tEvent[tList[i]].fItemDropRate
- end
- end
- return fItemDropRate
- end
- -- °³º° ¾ÆÀÌÅÛ µå·Ó·ü ¹è¼ö
- function SetPieceItemDropRate( fPieceItemDropRate )
- local nEventId = table.getn(tEvent)
- tEvent[nEventId].fPieceItemDropRate = fPieceItemDropRate
- end
- function GetPieceItemDropRate()
- local tList = GetEventList()
- local fPieceItemDropRate = 1
- for i in pairs(tList) do
- if( tEvent[tList[i]].fPieceItemDropRate ~= nil ) then
- fPieceItemDropRate = fPieceItemDropRate * tEvent[tList[i]].fPieceItemDropRate
- end
- end
- return fPieceItemDropRate
- end
- -- Æä³Ä µå·Ó ¹è¼ö
- function SetGoldDropFactor( fGoldDropFactor )
- local nEventId = table.getn(tEvent)
- tEvent[nEventId].fGoldDropFactor = fGoldDropFactor
- end
- function GetGoldDropFactor()
- local tList = GetEventList()
- local fGoldDropFactor = 1
- for i in pairs(tList) do
- if( tEvent[tList[i]].fGoldDropFactor ~= nil ) then
- fGoldDropFactor = fGoldDropFactor * tEvent[tList[i]].fGoldDropFactor
- end
- end
- return fGoldDropFactor
- end
- -- °ø°Ý·Â Áõ°¡
- function SetAttackPower( nAttackPower )
- local nEventId = table.getn(tEvent)
- tEvent[nEventId].nAttackPower = nAttackPower
- end
- function GetAttackPower()
- local tList = GetEventList()
- local nAttackPower = 0
- for i in pairs(tList) do
- if( tEvent[tList[i]].nAttackPower ~= nil ) then
- nAttackPower = nAttackPower + tEvent[tList[i]].nAttackPower
- end
- end
- return nAttackPower
- end
- -- ¹æ¾î·Â Áõ°¡
- function SetDefensePower( nDefensePower )
- local nEventId = table.getn(tEvent)
- tEvent[nEventId].nDefensePower = nDefensePower
- end
- function GetDefensePower()
- local tList = GetEventList()
- local nDefensePower = 0
- for i in pairs(tList) do
- if( tEvent[tList[i]].nDefensePower ~= nil ) then
- nDefensePower = nDefensePower + tEvent[tList[i]].nDefensePower
- end
- end
- return nDefensePower
- end
- -- ÄíÆù À̺¥Æ®
- function SetCouponEvent( nTime )
- local nEventId = table.getn(tEvent)
- tEvent[nEventId].nCouponEvent = nTime
- end
- function GetCouponEvent()
- local tList = GetEventList()
- for i in pairs(tList) do
- if( tEvent[tList[i]].nCouponEvent ~= 0 ) then
- return tEvent[tList[i]].nCouponEvent
- end
- end
- return 0
- end
- function SetLevelUpGift( nLevel, strAccount, strItemId, nItemNum, byFlag )
- local nEventId = table.getn(tEvent)
- local nSize = table.getn(tEvent[nEventId].Gift)
- tEvent[nEventId].Gift[nSize+1] = {}
- tEvent[nEventId].Gift[nSize+1].nLevel = nLevel
- tEvent[nEventId].Gift[nSize+1].strAccount = strAccount
- tEvent[nEventId].Gift[nSize+1].strItemId = strItemId
- tEvent[nEventId].Gift[nSize+1].nItemNum = nItemNum
- tEvent[nEventId].Gift[nSize+1].byFlag = byFlag
- end
- function GetLevelUpGift( nLevel, strAccount )
- local nCount = 1
- local tGiftList = {}
- local tList = GetEventList()
- for i in pairs(tList) do
- local tGift = tEvent[tList[i]].Gift
- for j in pairs(tGift) do
- local nTemp = string.find( strAccount, tGift[j].strAccount )
- if( (tGift[j].strAccount == "all") or (nTemp ~= nil) ) then
- if( tGift[j].nLevel == nLevel ) then
- tGiftList[nCount] = {}
- tGiftList[nCount].strItemId = tGift[j].strItemId
- tGiftList[nCount].nItemNum = tGift[j].nItemNum
- tGiftList[nCount].byFlag = tGift[j].byFlag
- nCount = nCount + 1
- end
- end
- end
- end
- return tGiftList
- end
- function SetCheerExpFactor( fCheerExpFactor )
- local nEventId = table.getn(tEvent)
- tEvent[nEventId].fCheerExpFactor = fCheerExpFactor
- end
- function GetCheerExpFactor()
- local tList = GetEventList()
- local fCheerExpFactor = 1
- for i in pairs(tList) do
- if( tEvent[tList[i]].fCheerExpFactor ~= nil ) then
- fCheerExpFactor = fCheerExpFactor * tEvent[tList[i]].fCheerExpFactor
- end
- end
- return fCheerExpFactor
- end
Event.lua
Brainfuck-Quellcode
- ----------------------------------------------------------------------
- ---- À̺¥Æ® °ü·Ã ·ç¾Æ ÇÔ¼ö ·Îµù --------------------------------------
- ----------------------------------------------------------------------
- dofile(".\\LuaFunc\\EventFunc.lua")
- ----------------------------------------------------------------------
- -- ÀÚµ¿ °øÁö (°¢ ¼*¹ö±º TRANS Server ¸¸ ¼öÁ¤ÇÏ¸é µÅ¿ä ^^) ------------
- ----------------------------------------------------------------------
- bNotice = true -- ÀÚµ¿ °øÁö ½ÇÇà ¿©ºÎ(true or false)
- Notice( "Tue 08:44", 5, 10 ) -- ÀÚµ¿°øÁö½Ã°£, °øÁö°£°Ý(MIN), °øÁö Ƚ¼ö
- --{
- AddMessage( "¾È³çÇϼ¼¿ä. Flyff ÀÔ´Ï´Ù." )
- AddMessage( "¿ÀÀü 9½ÃºÎÅÍ ¿øÈ°ÇÑ ¼*ºñ½º¸¦ À§ÇÑ" )
- AddMessage( "Á¤±â Á¡°ËÀÌ ÁøÇà µÉ ¿¹Á¤ ÀÔ´Ï´Ù." )
- AddMessage( "¾ÈÀüÇÑ Àå¼Ò¿¡¼* Á¢¼Ó Á¾·á¸¦ ÇØ Áֽñ⠹ٶø´Ï´Ù." )
- --}
- ----------------------------------------------------------------------
- ---- ÃʱâÈ* ----------------------------------------------------------
- ----------------------------------------------------------------------
- -- ½Ã°£´ëº° ¾ÆÀÌÅÛ µå·Ó °¡ÁßÄ¡
- 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 }
- ----------------------------------------------------------------------
- ----------------------------------------------------------------------------------------------------------------
- ---- 1. AddEvent( strDesc ) -- À̺¥Æ® Ãß°¡ ¹× ¼³¸í µî·Ï
- ---- 2. SetTime( strStartTime, strEndTime ) -- ÇØ´ç À̺¥Æ®ÀÇ ½ÃÀÛ ½Ã°£, Á¾·á ½Ã°£ µî·Ï(¿©·¯°³ ¼³Á¤ °¡´É)
- ---- ( ½Ã°£ Çü½Ä -- "2007-05-03 17:53" )
- ---- 3. SetItem( ItemId, nMax, nNum, nLevel ) -- À̺¥Æ®¿ë µå·Ó ¾ÆÀÌÅÛ, ÀÏÀÏ ÃÖ´ë·®, µå·Ó °¹¼ö(·£´ý),
- ---- ¾ÆÀÌÅÛÀ» µå·ÓÇÒ ¸ó½ºÅÍÀÇ ÃÖ¼Ò ·¹º§ - ¿©·¯°³ °¡´É
- ---- 4. SetExpFactor( fFactor ) -- °æÇèÁö Áõ°¡ ¹è¼ö
- ---- 5. SetItemDropRate( fFactor ) -- ¾ÆÀÌÅÛ µå·Ó·ü Áõ°¡ ¹è¼ö
- ---- 6. SetPieceItemDropRate( fFactor ) -- ¸ó½ºÅͰ¡ °¡Áö°í ÀÖ´Â ³¹°³ ¾ÆÀÌÅÛÀÇ µå¶ø·ü Áõ°¡ ¹è¼ö
- ---- 7. SetGoldDropFactor( fFactor ) -- Æä³Ä µå·Ó ¹è¼ö
- ---- 8. SetAttackPower( nAttackPower ) -- °ø°Ý·Â Áõ°¡
- ---- 9. SetDefensePower( nDefensePower ) -- ¹æ¾î·Â Áõ°¡
- ---- 10. SetCouponEvent( SEC(n) ) -- ÄíÆù À̺¥Æ®( Á¢¼Ó½Ã°£ - SEC(n) ¶Ç´Â MIN(n) )
- ---- 11. SetLevelUpGift( nLevel, "all", ItemId, nNum ) -- ·¹º§¾÷ ¼±¹°( nLevel´Þ¼º½Ã ¾ÆÀÌÅÛ Áö±Þ, "all" ºÎºÐ¿¡ ƯÁ¤ °èÁ¤ ÁöÁ¤ °¡´É(¿¹. "__bu" - ¹öµð, "__an" - ¿£Á© )
- ---- *** À̺¥Æ® Ãß°¡ µî·Ï½Ã 1¹øºÎÅÍ ¹Ýº¹Çϰí 3~11¹øÀº Çʿ信 µû¶ó »ý·«°¡´ÉÇÏ´Ù.
- ----------------------------------------------------------------------------------------------------------------
- --[[ SAMPLE
- 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" )
- SetItem( "II_SYS_SYS_EVE_HAPPYMONEY01", 30000, 5, 15 )
- SetItem( "II_SYS_SYS_EVE_PUMPKIN01", 2000, 3, 15 )
- SetExpFactor( 2 )
- SetItemDropRate( 2 )
- SetPieceItemDropRate( 2 )
- SetGoldDropFactor( 2 )
- SetAttackPower( 150 )
- SetDefensePower( 100 )
- SetCouponEvent( MIN(120) )
- SetLevelUpGift( 15, "__bu", "II_SYS_SYS_SCR_BX_PET_LAWOLF7", 1 )
- --}
- --]]
- -------------------------------------------------------------------------
- ---- Begin Script -------------------------------------------------------
- -------------------------------------------------------------------------
- AddEvent( "ÁÖ¸»¿£ ´õ ½Å³ª°Ô~~~~~!!" )
- --{
- SetTime( "2008-12-23 17:00", "2008-12-29 00:00" )
- SetTime( "2009-01-01 00:00", "2009-01-05 00:00" )
- SetTime( "2009-01-09 00:00", "2009-01-12 00:00" )
- SetTime( "2009-01-16 00:00", "2009-01-19 00:00" )
- SetTime( "2009-01-23 00:00", "2009-01-28 00:00" )
- SetTime( "2009-01-30 00:00", "2009-02-02 00:00" )
- SetExpFactor( 1.5 )
- --}
- AddEvent( "ÇÁ¸®ÇÁ¸¸ Áñ°Üµµ ¾ÆÀÌÅÛÀÌ ¿Í¸£¸£~" )
- --{
- SetTime( "2008-11-25 10:00", "2009-02-02 00:00" )
- --}
- AddEvent( "¿øÇÏ´Â »óǰÀ» °®ÀÚ~! Ç÷¹ÀÌ ÄíÆù!" )
- --{
- SetTime( "2008-12-16 00:00", "2009-01-28 00:00" )
- SetCouponEvent( MIN(60) )
- --}
- AddEvent( "´Ü Çѹø! ½ºÅÝ º¯°æÀÇ ±âȸ!" )
- --{
- SetTime( "2009-01-13 00:00", "2009-02-03 10:00" )
- --}
- AddEvent( "¾ÆÀÌÅÛÀÇ ±âºÐ ÁÁÀº º¯È*! Æ®·£Áö ¾ÆÀÌÅÛ~" )
- --{
- SetTime( "2009-01-13 00:00", "2009-02-03 10:00" )
- --}
- AddEvent( "¼³³¯ ƯÁý! º¹ÁָӴϰ¡ ³»¼Õ¿¡~" )
- --{
- SetTime( "2009-01-23 00:00", "2009-02-01 00:00" )
- SetItem( "II_SYS_SYS_EVE_COMMERGIFTBOX55", 500, 1, 15 )
- --}
Wie du immer sagst "haha selfowned !!!!einseinself"tja kb mehr auf euch :o
28 downloads und kaum feedback :O wenn ihr meitn so nett zu sein kan nich es ja eh rausnehmen da TwiLight das hier gepostet hat[FONT="Book Antiqua"][COLOR="DeepSkyBlue"][SIZE="2"]Akira Udo;52986 schrieb:
tja kb mehr auf euch :o
28 downloads und kaum feedback :O wenn ihr meitn so nett zu sein kan nich es ja eh rausnehmen da TwiLight das hier gepostet hat
#Warning..Bitte keine Sinnlosen Spam Posts[/SIZE][/COLOR][/FONT]lol?!? das doch kein grund das raus zunehmen^^
xD
viele leute sind einfach nur zu faull für ein feedback^^
eig. verständlich^^
neija aber bin zufrieden damit geht alles;DSpoiler anzeigen tEvent = {} -- ??? ?? ???
tNotice = {} -- ?? ?? ??
bNotice = false
function SEC( n )
return n*1000
end
function MIN( n )
return n*SEC(60)
end
-----------------------------------------------------------------------------------
function Notice( strTime, nInterval, nNoticeCount )
tNotice.strTime = strTime
tNotice.nInterval = nInterval
tNotice.nNoticeCount = nNoticeCount
tNotice.tMessage = {}
end
function AddMessage( strMessage )
local nSize = table.getn( tNotice.tMessage ) + 1
tNotice.tMessage[nSize] = strMessage
end
function IsNoticeTime()
if( (bNotice == true) and (tNotice.nNoticeCount > 0) and (tNotice.strTime == os.date("%a %H:%M")) ) then
tNotice.nNoticeCount = tNotice.nNoticeCount - 1
SetNextNoticeTime()
return true
end
return false
end
function SetNextNoticeTime()
local nMin = tonumber( os.date( "%M" ) )
local nHour = tonumber( os.date( "%H" ) )
local strTemp;
tNotice.strTime = os.date( "%a " )
nMin = nMin + tNotice.nInterval;
if( nMin > 59 ) then
nMin = 60 - nMin
nHour = nHour + 1
end
-- ?
strTemp = tostring( nHour )..":"
if( nHour < 10 ) then strTemp = "0"..strTemp end
tNotice.strTime = tNotice.strTime .. strTemp
-- ?
strTemp = tostring( nMin )
if( nMin < 10 ) then strTemp = "0"..strTemp end
tNotice.strTime = tNotice.strTime .. strTemp
end
function GetNoticeMessage()
return tNotice.tMessage
end
-----------------------------------------------------------------------------------
------- C?? ??? ?? ?? ----------------------------------------------------
-----------------------------------------------------------------------------------
-- ??? ??? ??? (DBSERVER)
function GetEventState()
local tReturn = {}
local nCount = 0
for i in pairs(tEvent) do
local OldState = tEvent.State
for j in pairs(tEvent[i].Time) do
if( tEvent[i].Time[j].nStart <= tonumber(os.date("%Y%m%d%H%M")) ) then
if( tEvent[i].Time[j].nEnd > tonumber(os.date("%Y%m%d%H%M")) ) then
if( tEvent[i].State == 0 ) then
tEvent[i].State = 1
end
else
if( tEvent[i].State == 1 ) then
tEvent[i].State = 0
end
end
end
end
if( OldState ~= tEvent[i].State ) then
tReturn[nCount] = {}
tReturn[nCount].nId = i
tReturn[nCount].State = tEvent[i].State
nCount = nCount + 1
end
end
return tReturn
end
-- WORLDSERVER?? ??? ???? ???? ??? state? ???? ?? ??
function SetState( nId, nState )
if( tEvent[nId] == nil ) then
TRACE( string.format( "Pas d'evenement ayant l'id : %d", nId ) )
ERROR( string.format( "Pas d'evenement ayant l'id : %d", nId ) )
return false;
end
tEvent[nId].State = nState
TRACE( string.format( "ID de l'evenement : %d, Nom : %s, Etat : %d", nId, tEvent[nId].Desc, tEvent[nId].State ) )
ERROR( string.format( "ID de l'evenement : %d, Nom : %s, Etat : %d", nId, tEvent[nId].Desc, tEvent[nId].State ) )
return true;
end
-- ???? ??? ???
function GetEventList()
local tList = {}
local nCount = 1
for i in pairs(tEvent) do
if( tEvent[i].State == 1 ) then
tList[nCount] = i
nCount = nCount + 1
end
end
return tList
end
-- ??? ???? ?? ?? ???
function GetAllEventList()
local tAllList = {}
local nCount = 1
for i in pairs(tEvent) do
tAllList[nCount] = {}
tAllList[nCount].nId = i
tAllList[nCount].strTitle = tEvent[i].Desc
tAllList[nCount].nState = tEvent[i].State
nCount = nCount + 1
end
return tAllList
end
-- ??? ?? ?? ???? ??
function GetEventInfo( nId )
local tEventInfo = {}
if( tEvent[nId] == nil ) then
tEventInfo[1] = "Pas d'infos sur l'evenement ayant l'id : "..nId
return tEventInfo
end
local nCount = 3
tEventInfo[1] = "Nom = " .. tEvent[nId].Desc
tEventInfo[2] = "Etat = " .. tEvent[nId].State
for i in pairs(tEvent[nId].Time) do
local strTime = tEvent[nId].Time[i].nStart .. ", " ..tEvent[nId].Time[i].nEnd
tEventInfo[nCount] = "Time["..i.."] = " .. strTime
nCount = nCount + 1
end
for i in pairs(tEvent[nId].Item) do
local strItem = tEvent[nId].Item[i].ItemId ..", ".. tEvent[nId].Item[i].ItemMaxNum ..", ".. tEvent[nId].Item[i].ItemNum ..", ".. tEvent[nId].Item[i].nLevel
tEventInfo[nCount] = "Objet["..i.."] = " .. strItem
nCount = nCount + 1
end
if( tEvent[nId].fExpFactor ~= 5 ) then
tEventInfo[nCount] = "Experience multiplie par : " .. tEvent[nId].fExpFactor
nCount = nCount + 1
end
if( tEvent[nId].fItemDropRate ~= 5 ) then
tEventInfo[nCount] = "Drop multiplie par : " .. tEvent[nId].fItemDropRate
nCount = nCount + 1
end
if( tEvent[nId].fPieceItemDropRate ~= 5 ) then
tEventInfo[nCount] = "Nombre d'objets multiplie par : " .. tEvent[nId].fPieceItemDropRate
nCount = nCount + 1
end
if( tEvent[nId].fGoldDropFactor ~= 5 ) then
tEventInfo[nCount] = "Penyas multiplie par : " .. tEvent[nId].fGoldDropFactor
nCount = nCount + 1
end
if( tEvent[nId].nAttackPower ~= 0 ) then
tEventInfo[nCount] = "Attaque augmentee de : " .. tEvent[nId].nAttackPower
nCount = nCount + 1
end
if( tEvent[nId].nDefensePower ~= 0 ) then
tEventInfo[nCount] = "Defense augmentee de : " .. tEvent[nId].nDefensePower
nCount = nCount + 1
end
if( tEvent[nId].nCouponEvent ~= 0 ) then
if( tEvent[nId].nCouponEvent < MIN(1) ) then
tEventInfo[nCount] = "Duree des coupons evenement : " .. tEvent[nId].nCouponEvent / SEC(1) .. "Secondes"
else
tEventInfo[nCount] = "Duree des coupons evenement : " .. tEvent[nId].nCouponEvent / MIN(1) .. "Minutes"
end
nCount = nCount + 1
end
for i in pairs(tEvent[nId].Gift) do
local strGift = tEvent[nId].Gift[i].nLevel ..", ".. tEvent[nId].Gift[i].strAccount ..", ".. tEvent[nId].Gift[i].strItemId ..", ".. tEvent[nId].Gift[i].nItemNum
tEventInfo[nCount] = "Cadeaux n¡Æ["..i.."] : " .. strGift
nCount = nCount + 1
end
if( tEvent[nId].fCheerExpFactor ~= 1 ) then
tEventInfo[nCount] = "fCheerExpFactor = " .. tEvent[nId].fCheerExpFactor
nCount = nCount + 1
end
return tEventInfo
end
-- ??? ??
function GetDesc( nId )
local strDesc = tEvent[nId].Desc
return strDesc
end
-- ??? ??? ???? ??
function GetTimeToNumber( strTime )
local strTemp = ""
local j = 0
for i in string.gfind( strTime, "%d+" ) do
j = j + 1
if( (j~=1) and (tonumber(i)<10) ) then
i = "0"..tonumber(i)
end
strTemp = strTemp..i
end
return tonumber( strTemp )
end
---------------------------------------------------------------------------
------ ??? ?? ?? ---------------------------------------------------
---------------------------------------------------------------------------
-- ??? ??? ??
function AddEvent( strDesc )
local nEventId = table.getn(tEvent) + 1
tEvent[nEventId] = {}
tEvent[nEventId].Item = {}
tEvent[nEventId].Time = {}
tEvent[nEventId].Desc = strDesc
tEvent[nEventId].fExpFactor = 1
tEvent[nEventId].fItemDropRate = 1
tEvent[nEventId].fPieceItemDropRate = 1
tEvent[nEventId].fGoldDropFactor = 1
tEvent[nEventId].State = 0
tEvent[nEventId].nAttackPower = 0
tEvent[nEventId].nDefensePower = 0
tEvent[nEventId].nCouponEvent = 0
tEvent[nEventId].Gift = {}
tEvent[nEventId].fCheerExpFactor = 1
end
-- ????, ???
function SetTime( strStart, strEnd )
local nEventId = table.getn(tEvent)
local nSize = table.getn( tEvent[nEventId].Time ) + 1
tEvent[nEventId].Time[nSize] = {}
tEvent[nEventId].Time[nSize].nStart = GetTimeToNumber( strStart )
tEvent[nEventId].Time[nSize].nEnd = GetTimeToNumber( strEnd )
end
-- ???
function SetItem( ItemId, nItemMaxNum, nItemNum, nLevel )
local nEventId = table.getn(tEvent)
local nSize = table.getn(tEvent[nEventId].Item)
tEvent[nEventId].Item[nSize+1] = {}
tEvent[nEventId].Item[nSize+1].ItemId = ItemId
tEvent[nEventId].Item[nSize+1].ItemMaxNum = nItemMaxNum
tEvent[nEventId].Item[nSize+1].ItemNum = nItemNum
tEvent[nEventId].Item[nSize+1].nLevel = nLevel
tEvent[nEventId].Item[nSize+1].TimeOut = 0
tEvent[nEventId].Item[nSize+1].Skip = 0
local tInterval = {}
local nTotal = 0
for i in pairs(tHour) do
nTotal = nTotal + tHour[i]
end
for i in pairs(tHour) do
tInterval[i] = 3600000 / ( nItemMaxNum * tHour[i] / nTotal )
tInterval[i] = math.floor(tInterval[i])
end
tEvent[nEventId].Item[nSize+1].tInterval = tInterval
end
-- ??? ??? ??
function GetItem( nTickCount, nLevel )
local nHour = tonumber(os.date("%H")) + 1
local tList = GetEventList()
local tReturn = {}
local nCount = 1
for i in pairs(tList) do
local tItem = tEvent[tList[i]].Item
for j in pairs(tItem) do
local nRandom = math.random(0, tItem[j].ItemNum)
if( (nRandom > 0) and (nTickCount >= tItem[j].TimeOut) and (tItem[j].nLevel <= nLevel) ) then
tItem[j].TimeOut = tItem[j].tInterval[nHour] + nTickCount
if( tItem[j].Skip == 0 ) then
tReturn[nCount] = {}
tReturn[nCount].ItemId = tItem[j].ItemId
tReturn[nCount].ItemNum = nRandom
tItem[j].Skip = nRandom - 1
nCount = nCount + 1
TRACE( "Event.lua : GetItem() - Drop - "..tItem[j].ItemId..", "..nRandom.."?, Skip:"..tItem[j].Skip.." ???:"..(nHour-1).." ~ "..nHour )
else
tItem[j].Skip = tItem[j].Skip - 1
TRACE( "Event.lua : GetItem() - Skip - "..tItem[j].ItemId..", ?? Skip:"..tItem[j].Skip.." ???:"..(nHour-1).." ~ "..nHour )
end
end
end
end
return tReturn
end
-- ??? ??
function SetExpFactor( fExpFactor )
local nEventId = table.getn(tEvent)
tEvent[nEventId].fExpFactor = fExpFactor
end
function GetExpFactor()
local tList = GetEventList()
local fExpFactor = 20
for i in pairs(tList) do
if( tEvent[tList[i]].fExpFactor ~= nil ) then
fExpFactor = fExpFactor * tEvent[tList[i]].fExpFactor
end
end
return fExpFactor
end
-- ??? ??? ??
function SetItemDropRate( fItemDropRate )
local nEventId = table.getn(tEvent)
tEvent[nEventId].fItemDropRate = fItemDropRate
end
function GetItemDropRate()
local tList = GetEventList()
local fItemDropRate = 20
for i in pairs(tList) do
if( tEvent[tList[i]].fItemDropRate ~= nil ) then
fItemDropRate = fItemDropRate * tEvent[tList[i]].fItemDropRate
end
end
return fItemDropRate
end
-- ?? ??? ??? ??
function SetPieceItemDropRate( fPieceItemDropRate )
local nEventId = table.getn(tEvent)
tEvent[nEventId].fPieceItemDropRate = fPieceItemDropRate
end
function GetPieceItemDropRate()
local tList = GetEventList()
local fPieceItemDropRate = 20
for i in pairs(tList) do
if( tEvent[tList[i]].fPieceItemDropRate ~= nil ) then
fPieceItemDropRate = fPieceItemDropRate * tEvent[tList[i]].fPieceItemDropRate
end
end
return fPieceItemDropRate
end
-- ?? ?? ??
function SetGoldDropFactor( fGoldDropFactor )
local nEventId = table.getn(tEvent)
tEvent[nEventId].fGoldDropFactor = fGoldDropFactor
end
function GetGoldDropFactor()
local tList = GetEventList()
local fGoldDropFactor = 100
for i in pairs(tList) do
if( tEvent[tList[i]].fGoldDropFactor ~= nil ) then
fGoldDropFactor = fGoldDropFactor * tEvent[tList[i]].fGoldDropFactor
end
end
return fGoldDropFactor
end
-- ??? ??
function SetAttackPower( nAttackPower )
local nEventId = table.getn(tEvent)
tEvent[nEventId].nAttackPower = nAttackPower
end
function GetAttackPower()
local tList = GetEventList()
local nAttackPower = 0
for i in pairs(tList) do
if( tEvent[tList[i]].nAttackPower ~= nil ) then
nAttackPower = nAttackPower + tEvent[tList[i]].nAttackPower
end
end
return nAttackPower
end
-- ??? ??
function SetDefensePower( nDefensePower )
local nEventId = table.getn(tEvent)
tEvent[nEventId].nDefensePower = nDefensePower
end
function GetDefensePower()
local tList = GetEventList()
local nDefensePower = 0
for i in pairs(tList) do
if( tEvent[tList[i]].nDefensePower ~= nil ) then
nDefensePower = nDefensePower + tEvent[tList[i]].nDefensePower
end
end
return nDefensePower
end
-- ?? ???
function SetCouponEvent( nTime )
local nEventId = table.getn(tEvent)
tEvent[nEventId].nCouponEvent = nTime
end
function GetCouponEvent()
local tList = GetEventList()
for i in pairs(tList) do
if( tEvent[tList[i]].nCouponEvent ~= 0 ) then
return tEvent[tList[i]].nCouponEvent
end
end
return 0
end
function SetLevelUpGift( nLevel, strAccount, strItemId, nItemNum, byFlag )
local nEventId = table.getn(tEvent)
local nSize = table.getn(tEvent[nEventId].Gift)
tEvent[nEventId].Gift[nSize+1] = {}
tEvent[nEventId].Gift[nSize+1].nLevel = nLevel
tEvent[nEventId].Gift[nSize+1].strAccount = strAccount
tEvent[nEventId].Gift[nSize+1].strItemId = strItemId
tEvent[nEventId].Gift[nSize+1].nItemNum = nItemNum
tEvent[nEventId].Gift[nSize+1].byFlag = byFlag
end
function GetLevelUpGift( nLevel, strAccount )
local nCount = 1
local tGiftList = {}
local tList = GetEventList()
for i in pairs(tList) do
local tGift = tEvent[tList[i]].Gift
for j in pairs(tGift) do
local nTemp = string.find( strAccount, tGift[j].strAccount )
if( (tGift[j].strAccount == "all") or (nTemp ~= nil) ) then
if( tGift[j].nLevel == nLevel ) then
tGiftList[nCount] = {}
tGiftList[nCount].strItemId = tGift[j].strItemId
tGiftList[nCount].nItemNum = tGift[j].nItemNum
tGiftList[nCount].byFlag = tGift[j].byFlag
nCount = nCount + 1
end
end
end
end
return tGiftList
end
function SetCheerExpFactor( fCheerExpFactor )
local nEventId = table.getn(tEvent)
tEvent[nEventId].fCheerExpFactor = fCheerExpFactor
end
function GetCheerExpFactor()
local tList = GetEventList()
local fCheerExpFactor = 1
for i in pairs(tList) do
if( tEvent[tList[i]].fCheerExpFactor ~= nil ) then
fCheerExpFactor = fCheerExpFactor * tEvent[tList[i]].fCheerExpFactor
end
end
return fCheerExpFactor
end
Was für Events sind das denn?Das sind keine Events, das ist die LuaFunc.-
Teilen
- Facebook 0
- Twitter 0
- Google Plus 0
- Reddit 0