[Guide] How To ~ Event (Offi Files)

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • [FONT="Comic Sans MS"][COLOR="DarkRed"][SIZE="2"]
      Nee ich macht es nur Falsch...


      Die Main Rate ist in einer anderen datei

      Wo ich im mom name vergessen hab <.<

      wen die da z.b. auf 5 ist

      und du ein event auf 5 machst

      Ist nix anderes :P

      Wen du die Main auf

      3 hast

      im Event dann 4.5

      Dann ist das event EXP x1.5 ;)
      [/SIZE][/COLOR][/FONT]
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • So endlich den Thread gefunden.

      Wollte EXP Event machen mit 2.5 fach.

      Hab das so eingetragen.

      Brainfuck-Quellcode

      1. ----------------------------------------------------------------------
      2. -- Built with HDBlacker's Event Manager --
      3. ----------------------------------------------------------------------
      4. ----------------------------------------------------------------------
      5. ---------------- Loading event-related Lua-Functions -----------------
      6. ----------------------------------------------------------------------
      7. dofile(".\\LuaFunc\\EventFunc.lua")
      8. ----------------------------------------------------------------------
      9. ----------------- Automatic Notices for TRANS Server -----------------
      10. ----------------------------------------------------------------------
      11. bNotice = true -- Enable automatic notices?
      12. ----------------------------------------------------------------------
      13. ---- Notice( strDate, nInterval(MIN), nAmount ----
      14. ---- AddMessage( strMessage ) ----
      15. ----------------------------------------------------------------------
      16. Notice( "Thu 23:55", 1, 1 )
      17. --{
      18. AddMessage( "Weekend EXP start shortly" )
      19. --}
      20. ----------------------------------------------------------------------
      21. ---- Initialization ----
      22. ----------------------------------------------------------------------
      23. ---- Hourly drop-weight of items
      24. tHour = { 505, 409, 324, 280, 220, 203, 202, 212,
      25. 227, 261, 302, 349, 571, 701, 764, 803,
      26. 790, 789, 754, 849, 936, 940, 919, 720 }
      27. ----------------------------------------------------------------------
      28. ----------------------------------------------------------------------
      29. ---- AddEvent( strDesc ) -- Registration of new Event named strDesc
      30. ---- SetTime( strStartTime, strEndTime ) -- Event's start time, end time of event (multiple settings possible)
      31. ---- -- Format: 2007-05-03 17:53
      32. ---- SetItem( ItemId, nMax, nNum, nLevel ) -- Drop item, maximum amount, the number of drop (random), The minimum level monsters drop items - several possible
      33. ---- SetExpFactor( fFactor ) -- Exp Factor multiplifier
      34. ---- SetItemDropRate( fFactor ) -- Drop Factor multiplifier
      35. ---- SetPieceItemDropRate( fFactor ) -- Item Piece Factor multiplifier
      36. ---- SetGoldDropFactor( fFactor ) -- Penya Rate multiplifier
      37. ---- SetAttackPower( nAttackPower ) -- Increase Damage
      38. ---- SetDefensePower( nDefensePower ) -- Increase Defense
      39. ---- SetCouponEvent( SEC(n) ) -- Coupon Event Access time (SEC or MIN)
      40. ---- SetLevelUpGift( nLevel, "all", ItemId, nNum ) -- Gives away items on level up: Level of giveaway, accountname, Item, Item Count
      41. ---- -- Account -> __ed: Account starts with an ed__: Account ends with ed
      42. ---- -- all: All accounts else: only account else
      43. ----------------------------------------------------------------------
      44. AddEvent( "Weekend EXP Event" )
      45. --{
      46. SetTime( "2010-02-19 00:00", "2010-02-22 00:00" )
      47. SetExpFactor( 2.5 )
      48. --}
      Alles anzeigen


      Hatte dann das Problem als ich die Event.lua geladen hab mir sofort der World gecrashed ist mit dem Fehler (hier auf Deutsch) das er nicht mit null vergleichen kann. Der Fehler soll in der EventFunc.lua aufgetreten sein.

      Diese sieht bei mir so auf.

      Brainfuck-Quellcode

      1. tEvent = {} -- ??? ?? ???
      2. tNotice = {} -- ?? ?? ??
      3. bNotice = false
      4. function SEC( n )
      5. return n*1000
      6. end
      7. function MIN( n )
      8. return n*SEC(60)
      9. end
      10. -----------------------------------------------------------------------------------
      11. function Notice( strTime, nInterval, nNoticeCount )
      12. tNotice.strTime = strTime
      13. tNotice.nInterval = nInterval
      14. tNotice.nNoticeCount = nNoticeCount
      15. tNotice.tMessage = {}
      16. end
      17. function AddMessage( strMessage )
      18. local nSize = table.getn( tNotice.tMessage ) + 1
      19. tNotice.tMessage[nSize] = strMessage
      20. end
      21. function IsNoticeTime()
      22. if( (bNotice == true) and (tNotice.nNoticeCount > 0) and (tNotice.strTime == os.date("%a %H:%M")) ) then
      23. tNotice.nNoticeCount = tNotice.nNoticeCount - 1
      24. SetNextNoticeTime()
      25. return true
      26. end
      27. return false
      28. end
      29. function SetNextNoticeTime()
      30. local nMin = tonumber( os.date( "%M" ) )
      31. local nHour = tonumber( os.date( "%H" ) )
      32. local strTemp;
      33. tNotice.strTime = os.date( "%a " )
      34. nMin = nMin + tNotice.nInterval;
      35. if( nMin > 59 ) then
      36. nMin = 60 - nMin
      37. nHour = nHour + 1
      38. end
      39. -- ?
      40. strTemp = tostring( nHour )..":"
      41. if( nHour < 10 ) then strTemp = "0"..strTemp end
      42. tNotice.strTime = tNotice.strTime .. strTemp
      43. -- ?
      44. strTemp = tostring( nMin )
      45. if( nMin < 10 ) then strTemp = "0"..strTemp end
      46. tNotice.strTime = tNotice.strTime .. strTemp
      47. end
      48. function GetNoticeMessage()
      49. return tNotice.tMessage
      50. end
      51. -----------------------------------------------------------------------------------
      52. ------- C?? ??? ?? ?? ----------------------------------------------------
      53. -----------------------------------------------------------------------------------
      54. -- ??? ??? ??? (DBSERVER)
      55. function GetEventState()
      56. local tReturn = {}
      57. local nCount = 0
      58. for i in pairs(tEvent) do
      59. local OldState = tEvent[i].State
      60. for j in pairs(tEvent[i].Time) do
      61. if( tEvent[i].Time[j].nStart <= tonumber(os.date("%Y%m%d%H%M")) ) then
      62. if( tEvent[i].Time[j].nEnd > tonumber(os.date("%Y%m%d%H%M")) ) then
      63. if( tEvent[i].State == 0 ) then
      64. tEvent[i].State = 1
      65. end
      66. else
      67. if( tEvent[i].State == 1 ) then
      68. tEvent[i].State = 0
      69. end
      70. end
      71. end
      72. end
      73. if( OldState ~= tEvent[i].State ) then
      74. tReturn[nCount] = {}
      75. tReturn[nCount].nId = i
      76. tReturn[nCount].State = tEvent[i].State
      77. nCount = nCount + 1
      78. end
      79. end
      80. return tReturn
      81. end
      82. -- WORLDSERVER?? ??? ???? ???? ??? state? ???? ?? ??
      83. function SetState( nId, nState )
      84. if( tEvent[nId] == nil ) then
      85. TRACE( string.format( "Pas d'evenement ayant l'id : %d", nId ) )
      86. ERROR( string.format( "Pas d'evenement ayant l'id : %d", nId ) )
      87. return false;
      88. end
      89. tEvent[nId].State = nState
      90. TRACE( string.format( "ID de l'evenement : %d, Nom : %s, Etat : %d", nId, tEvent[nId].Desc, tEvent[nId].State ) )
      91. ERROR( string.format( "ID de l'evenement : %d, Nom : %s, Etat : %d", nId, tEvent[nId].Desc, tEvent[nId].State ) )
      92. return true;
      93. end
      94. -- ???? ??? ???
      95. function GetEventList()
      96. local tList = {}
      97. local nCount = 1
      98. for i in pairs(tEvent) do
      99. if( tEvent[i].State == 1 ) then
      100. tList[nCount] = i
      101. nCount = nCount + 1
      102. end
      103. end
      104. return tList
      105. end
      106. -- ??? ???? ?? ?? ???
      107. function GetAllEventList()
      108. local tAllList = {}
      109. local nCount = 1
      110. for i in pairs(tEvent) do
      111. tAllList[nCount] = {}
      112. tAllList[nCount].nId = i
      113. tAllList[nCount].strTitle = tEvent[i].Desc
      114. tAllList[nCount].nState = tEvent[i].State
      115. nCount = nCount + 1
      116. end
      117. return tAllList
      118. end
      119. -- ??? ?? ?? ???? ??
      120. function GetEventInfo( nId )
      121. local tEventInfo = {}
      122. if( tEvent[nId] == nil ) then
      123. tEventInfo[1] = "Pas d'infos sur l'evenement ayant l'id : "..nId
      124. return tEventInfo
      125. end
      126. local nCount = 3
      127. tEventInfo[1] = "Nom = " .. tEvent[nId].Desc
      128. tEventInfo[2] = "Etat = " .. tEvent[nId].State
      129. for i in pairs(tEvent[nId].Time) do
      130. local strTime = tEvent[nId].Time[i].nStart .. ", " ..tEvent[nId].Time[i].nEnd
      131. tEventInfo[nCount] = "Time["..i.."] = " .. strTime
      132. nCount = nCount + 1
      133. end
      134. for i in pairs(tEvent[nId].Item) do
      135. local strItem = tEvent[nId].Item[i].ItemId ..", ".. tEvent[nId].Item[i].ItemMaxNum ..", ".. tEvent[nId].Item[i].ItemNum ..", ".. tEvent[nId].Item[i].nLevel
      136. tEventInfo[nCount] = "Objet["..i.."] = " .. strItem
      137. nCount = nCount + 1
      138. end
      139. if( tEvent[nId].fExpFactor ~= 5 ) then
      140. tEventInfo[nCount] = "Experience multiplie par : " .. tEvent[nId].fExpFactor
      141. nCount = nCount + 1
      142. end
      143. if( tEvent[nId].fItemDropRate ~= 5 ) then
      144. tEventInfo[nCount] = "Drop multiplie par : " .. tEvent[nId].fItemDropRate
      145. nCount = nCount + 1
      146. end
      147. if( tEvent[nId].fPieceItemDropRate ~= 5 ) then
      148. tEventInfo[nCount] = "Nombre d'objets multiplie par : " .. tEvent[nId].fPieceItemDropRate
      149. nCount = nCount + 1
      150. end
      151. if( tEvent[nId].fGoldDropFactor ~= 5 ) then
      152. tEventInfo[nCount] = "Penyas multiplie par : " .. tEvent[nId].fGoldDropFactor
      153. nCount = nCount + 1
      154. end
      155. if( tEvent[nId].nAttackPower ~= 0 ) then
      156. tEventInfo[nCount] = "Attaque augmentee de : " .. tEvent[nId].nAttackPower
      157. nCount = nCount + 1
      158. end
      159. if( tEvent[nId].nDefensePower ~= 0 ) then
      160. tEventInfo[nCount] = "Defense augmentee de : " .. tEvent[nId].nDefensePower
      161. nCount = nCount + 1
      162. end
      163. if( tEvent[nId].nCouponEvent ~= 0 ) then
      164. if( tEvent[nId].nCouponEvent < MIN(1) ) then
      165. tEventInfo[nCount] = "Duree des coupons evenement : " .. tEvent[nId].nCouponEvent / SEC(1) .. "Secondes"
      166. else
      167. tEventInfo[nCount] = "Duree des coupons evenement : " .. tEvent[nId].nCouponEvent / MIN(1) .. "Minutes"
      168. end
      169. nCount = nCount + 1
      170. end
      171. for i in pairs(tEvent[nId].Gift) do
      172. local strGift = tEvent[nId].Gift[i].nLevel ..", ".. tEvent[nId].Gift[i].strAccount ..", ".. tEvent[nId].Gift[i].strItemId ..", ".. tEvent[nId].Gift[i].nItemNum
      173. tEventInfo[nCount] = "Cadeaux n¡Æ["..i.."] : " .. strGift
      174. nCount = nCount + 1
      175. end
      176. if( tEvent[nId].fCheerExpFactor ~= 1 ) then
      177. tEventInfo[nCount] = "fCheerExpFactor = " .. tEvent[nId].fCheerExpFactor
      178. nCount = nCount + 1
      179. end
      180. return tEventInfo
      181. end
      182. -- ??? ??
      183. function GetDesc( nId )
      184. local strDesc = tEvent[nId].Desc
      185. return strDesc
      186. end
      187. -- ??? ??? ???? ??
      188. function GetTimeToNumber( strTime )
      189. local strTemp = ""
      190. local j = 0
      191. for i in string.gfind( strTime, "%d+" ) do
      192. j = j + 1
      193. if( (j~=1) and (tonumber(i)<10) ) then
      194. i = "0"..tonumber(i)
      195. end
      196. strTemp = strTemp..i
      197. end
      198. return tonumber( strTemp )
      199. end
      200. ---------------------------------------------------------------------------
      201. ------ ??? ?? ?? ---------------------------------------------------
      202. ---------------------------------------------------------------------------
      203. -- ??? ??? ??
      204. function AddEvent( strDesc )
      205. local nEventId = table.getn(tEvent) + 1
      206. tEvent[nEventId] = {}
      207. tEvent[nEventId].Item = {}
      208. tEvent[nEventId].Time = {}
      209. tEvent[nEventId].Desc = strDesc
      210. tEvent[nEventId].fExpFactor = 1
      211. tEvent[nEventId].fItemDropRate = 1
      212. tEvent[nEventId].fPieceItemDropRate = 1
      213. tEvent[nEventId].fGoldDropFactor = 1
      214. tEvent[nEventId].State = 0
      215. tEvent[nEventId].nAttackPower = 0
      216. tEvent[nEventId].nDefensePower = 0
      217. tEvent[nEventId].nCouponEvent = 0
      218. tEvent[nEventId].Gift = {}
      219. tEvent[nEventId].fCheerExpFactor = 1
      220. end
      221. -- ????, ???
      222. function SetTime( strStart, strEnd )
      223. local nEventId = table.getn(tEvent)
      224. local nSize = table.getn( tEvent[nEventId].Time ) + 1
      225. tEvent[nEventId].Time[nSize] = {}
      226. tEvent[nEventId].Time[nSize].nStart = GetTimeToNumber( strStart )
      227. tEvent[nEventId].Time[nSize].nEnd = GetTimeToNumber( strEnd )
      228. end
      229. -- ???
      230. function SetItem( ItemId, nItemMaxNum, nItemNum, nLevel )
      231. local nEventId = table.getn(tEvent)
      232. local nSize = table.getn(tEvent[nEventId].Item)
      233. tEvent[nEventId].Item[nSize+1] = {}
      234. tEvent[nEventId].Item[nSize+1].ItemId = ItemId
      235. tEvent[nEventId].Item[nSize+1].ItemMaxNum = nItemMaxNum
      236. tEvent[nEventId].Item[nSize+1].ItemNum = nItemNum
      237. tEvent[nEventId].Item[nSize+1].nLevel = nLevel
      238. tEvent[nEventId].Item[nSize+1].TimeOut = 0
      239. tEvent[nEventId].Item[nSize+1].Skip = 0
      240. local tInterval = {}
      241. local nTotal = 0
      242. for i in pairs(tHour) do
      243. nTotal = nTotal + tHour[i]
      244. end
      245. for i in pairs(tHour) do
      246. tInterval[i] = 3600000 / ( nItemMaxNum * tHour[i] / nTotal )
      247. tInterval[i] = math.floor(tInterval[i])
      248. end
      249. tEvent[nEventId].Item[nSize+1].tInterval = tInterval
      250. end
      251. -- ??? ??? ??
      252. function GetItem( nTickCount, nLevel )
      253. local nHour = tonumber(os.date("%H")) + 1
      254. local tList = GetEventList()
      255. local tReturn = {}
      256. local nCount = 1
      257. for i in pairs(tList) do
      258. local tItem = tEvent[tList[i]].Item
      259. for j in pairs(tItem) do
      260. local nRandom = math.random(0, tItem[j].ItemNum)
      261. if( (nRandom > 0) and (nTickCount >= tItem[j].TimeOut) and (tItem[j].nLevel <= nLevel) ) then
      262. tItem[j].TimeOut = tItem[j].tInterval[nHour] + nTickCount
      263. if( tItem[j].Skip == 0 ) then
      264. tReturn[nCount] = {}
      265. tReturn[nCount].ItemId = tItem[j].ItemId
      266. tReturn[nCount].ItemNum = nRandom
      267. tItem[j].Skip = nRandom - 1
      268. nCount = nCount + 1
      269. TRACE( "Event.lua : GetItem() - Drop - "..tItem[j].ItemId..", "..nRandom.."?, Skip:"..tItem[j].Skip.." ???:"..(nHour-1).." ~ "..nHour )
      270. else
      271. tItem[j].Skip = tItem[j].Skip - 1
      272. TRACE( "Event.lua : GetItem() - Skip - "..tItem[j].ItemId..", ?? Skip:"..tItem[j].Skip.." ???:"..(nHour-1).." ~ "..nHour )
      273. end
      274. end
      275. end
      276. end
      277. return tReturn
      278. end
      279. -- ??? ??
      280. function SetExpFactor( fExpFactor )
      281. local nEventId = table.getn(tEvent)
      282. tEvent[nEventId].fExpFactor = fExpFactor
      283. end
      284. function GetExpFactor()
      285. local tList = GetEventList()
      286. local fExpFactor = 40
      287. for i in pairs(tList) do
      288. if( tEvent[tList[i]].fExpFactor ~= nil ) then
      289. fExpFactor = fExpFactor * tEvent[tList[i]].fExpFactor
      290. end
      291. end
      292. return fExpFactor
      293. end
      294. -- ??? ??? ??
      295. function SetItemDropRate( fItemDropRate )
      296. local nEventId = table.getn(tEvent)
      297. tEvent[nEventId].fItemDropRate = fItemDropRate
      298. end
      299. function GetItemDropRate()
      300. local tList = GetEventList()
      301. local fItemDropRate = 40
      302. for i in pairs(tList) do
      303. if( tEvent[tList[i]].fItemDropRate ~= nil ) then
      304. fItemDropRate = fItemDropRate * tEvent[tList[i]].fItemDropRate
      305. end
      306. end
      307. return fItemDropRate
      308. end
      309. -- ?? ??? ??? ??
      310. function SetPieceItemDropRate( fPieceItemDropRate )
      311. local nEventId = table.getn(tEvent)
      312. tEvent[nEventId].fPieceItemDropRate = fPieceItemDropRate
      313. end
      314. function GetPieceItemDropRate()
      315. local tList = GetEventList()
      316. local fPieceItemDropRate = 40
      317. for i in pairs(tList) do
      318. if( tEvent[tList[i]].fPieceItemDropRate ~= nil ) then
      319. fPieceItemDropRate = fPieceItemDropRate * tEvent[tList[i]].fPieceItemDropRate
      320. end
      321. end
      322. return fPieceItemDropRate
      323. end
      324. -- ?? ?? ??
      325. function SetGoldDropFactor( fGoldDropFactor )
      326. local nEventId = table.getn(tEvent)
      327. tEvent[nEventId].fGoldDropFactor = fGoldDropFactor
      328. end
      329. function GetGoldDropFactor()
      330. local tList = GetEventList()
      331. local fGoldDropFactor = 150
      332. for i in pairs(tList) do
      333. if( tEvent[tList[i]].fGoldDropFactor ~= nil ) then
      334. fGoldDropFactor = fGoldDropFactor * tEvent[tList[i]].fGoldDropFactor
      335. end
      336. end
      337. return fGoldDropFactor
      338. end
      339. -- ??? ??
      340. function SetAttackPower( nAttackPower )
      341. local nEventId = table.getn(tEvent)
      342. tEvent[nEventId].nAttackPower = nAttackPower
      343. end
      344. function GetAttackPower()
      345. local tList = GetEventList()
      346. local nAttackPower = 0
      347. for i in pairs(tList) do
      348. if( tEvent[tList[i]].nAttackPower ~= nil ) then
      349. nAttackPower = nAttackPower + tEvent[tList[i]].nAttackPower
      350. end
      351. end
      352. return nAttackPower
      353. end
      354. -- ??? ??
      355. function SetDefensePower( nDefensePower )
      356. local nEventId = table.getn(tEvent)
      357. tEvent[nEventId].nDefensePower = nDefensePower
      358. end
      359. function GetDefensePower()
      360. local tList = GetEventList()
      361. local nDefensePower = 0
      362. for i in pairs(tList) do
      363. if( tEvent[tList[i]].nDefensePower ~= nil ) then
      364. nDefensePower = nDefensePower + tEvent[tList[i]].nDefensePower
      365. end
      366. end
      367. return nDefensePower
      368. end
      369. -- ?? ???
      370. function SetCouponEvent( nTime )
      371. local nEventId = table.getn(tEvent)
      372. tEvent[nEventId].nCouponEvent = nTime
      373. end
      374. function GetCouponEvent()
      375. local tList = GetEventList()
      376. for i in pairs(tList) do
      377. if( tEvent[tList[i]].nCouponEvent ~= 0 ) then
      378. return tEvent[tList[i]].nCouponEvent
      379. end
      380. end
      381. return 0
      382. end
      383. function SetLevelUpGift( nLevel, strAccount, strItemId, nItemNum, byFlag )
      384. local nEventId = table.getn(tEvent)
      385. local nSize = table.getn(tEvent[nEventId].Gift)
      386. tEvent[nEventId].Gift[nSize+1] = {}
      387. tEvent[nEventId].Gift[nSize+1].nLevel = nLevel
      388. tEvent[nEventId].Gift[nSize+1].strAccount = strAccount
      389. tEvent[nEventId].Gift[nSize+1].strItemId = strItemId
      390. tEvent[nEventId].Gift[nSize+1].nItemNum = nItemNum
      391. tEvent[nEventId].Gift[nSize+1].byFlag = byFlag
      392. end
      393. function GetLevelUpGift( nLevel, strAccount )
      394. local nCount = 1
      395. local tGiftList = {}
      396. local tList = GetEventList()
      397. for i in pairs(tList) do
      398. local tGift = tEvent[tList[i]].Gift
      399. for j in pairs(tGift) do
      400. local nTemp = string.find( strAccount, tGift[j].strAccount )
      401. if( (tGift[j].strAccount == "all") or (nTemp ~= nil) ) then
      402. if( tGift[j].nLevel == nLevel ) then
      403. tGiftList[nCount] = {}
      404. tGiftList[nCount].strItemId = tGift[j].strItemId
      405. tGiftList[nCount].nItemNum = tGift[j].nItemNum
      406. tGiftList[nCount].byFlag = tGift[j].byFlag
      407. nCount = nCount + 1
      408. end
      409. end
      410. end
      411. end
      412. return tGiftList
      413. end
      414. function SetCheerExpFactor( fCheerExpFactor )
      415. local nEventId = table.getn(tEvent)
      416. tEvent[nEventId].fCheerExpFactor = fCheerExpFactor
      417. end
      418. function GetCheerExpFactor()
      419. local tList = GetEventList()
      420. local fCheerExpFactor = 1
      421. for i in pairs(tList) do
      422. if( tEvent[tList[i]].fCheerExpFactor ~= nil ) then
      423. fCheerExpFactor = fCheerExpFactor * tEvent[tList[i]].fCheerExpFactor
      424. end
      425. end
      426. return fCheerExpFactor
      427. end
      Alles anzeigen


      Hoffe mir kann da jemand helfen.