[V15] Problem with Worldserver.exe

Results 1 to 14 of 14
  1. #1
    Sorcerer Supreme amylesia is offline
    Member +Rank
    Apr 2009 Join Date
    257Posts

    [V15] Problem with Worldserver.exe

    Hi,

    My problem is when I kill mobs, sometimes worldserver.exe bugs.. IG I cannot do anything like if I had a big lag :s

    And when I disconnect my neuz, World see me IG but I am not anymore.. Like if it chashes...

    Please help me ^^

    Thanx


  2. #2
    Grand Master Denichu is offline
    Grand MasterRank
    Mar 2009 Join Date
    744Posts

    Re: [V15] Problem with Worldserver.exe

    Check ur error.txt

  3. #3
    Sorcerer Supreme amylesia is offline
    Member +Rank
    Apr 2009 Join Date
    257Posts

    Re: [V15] Problem with Worldserver.exe

    errot.txt (server side) :

    2010/ 6/ 5 12:04:37 OP: 3100821, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0


    2010/ 6/ 5 12:04:39 OP: 1203, 0.0, 0.0, 1202.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0


    2010/ 6/ 5 12:04:39 LUA - Event - ID:1, Title:Mochikochi, State:1

    2010/ 6/ 5 12:04:39 LUA - Event - ID:2, Title:Quit Event, State:1

    2010/ 6/ 5 12:04:39 LUA - Event - ID:3, Title:Rain Event : Exp X2, State:1

    2010/ 6/ 5 12:04:39 LUA - Event - ID:4, Title:Il était temps !, State:1

    2010/ 6/ 5 12:04:39 LUA - Event - ID:5, Title:Test spawn drop inventory !, State:1

    2010/ 6/ 5 12:04:39 LUA - Event - ID:6, Title:Evenement de Bienvenue, State:1

    2010/ 6/ 5 12:06:55 .\LuaFunc\EventFunc.lua:330: attempt to concatenate field 'ItemId' (a nil value)


    The last line is when world server "crashes"

  4. #4
    the sound's resound echo Jelle is offline
    Grand MasterRank
    Jun 2009 Join Date
    ._.Location
    1,036Posts

    Re: [V15] Problem with Worldserver.exe

    Looks like the line 330 in your EventFunc.lua is not good.
    Mine is
    Code:
    					TRACE( "Event.lua : GetItem() - Drop - "..tItem[j].ItemId..", "..nRandom.."°³, Skip:"..tItem[j].Skip.." ½Ã°£´ë:"..(nHour-1).." ~ "..nHour )
    Try that instead of yours?

  5. #5
    Sorcerer Supreme amylesia is offline
    Member +Rank
    Apr 2009 Join Date
    257Posts

    Re: [V15] Problem with Worldserver.exe

    Still the same proble with same error :

    2010/ 6/ 5 12:24:31 .\LuaFunc\EventFunc.lua:330: attempt to concatenate field 'ItemId' (a nil value)

    :s

  6. #6
    Member mikmeg is offline
    MemberRank
    Dec 2009 Join Date
    57Posts

    Re: [V15] Problem with Worldserver.exe

    Quote Originally Posted by amylesia View Post
    Still the same proble with same error :

    2010/ 6/ 5 12:24:31 .\LuaFunc\EventFunc.lua:330: attempt to concatenate field 'ItemId' (a nil value)

    :s
    can you post (in a spoiler) your event.lua and eventfunc.lua? I'm a developer and may be I can help you!

  7. #7
    Sorcerer Supreme amylesia is offline
    Member +Rank
    Apr 2009 Join Date
    257Posts

    Re: [V15] Problem with Worldserver.exe

    EventFunc.lua :

    Spoiler:
    tEvent = {} -- Event later table
    tNotice = {} -- Check the Auto-Bulletin
    bNotice = false

    function SEC( n )
    return n*1000
    end

    function MIN( n )
    return n*SEC(60)
    end

    ITEM = 4
    MONSTER = 5

    -----------------------------------------------------------------------------------
    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

    -----------------------------------------------------------------------------------
    ------- Call the Lua function from C ----------------------------------------------
    -----------------------------------------------------------------------------------
    -- Changed events list (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 Changes in the script file is executed in the State to apply the function
    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

    -- Ongoing Events List
    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

    -- Any list of events in the table
    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

    -- Event Details table returns
    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

    for i in pairs(tEvent[nId].tKeepConnectEvent) do
    local strTick = "tKeepConnectTime = " .. tEvent[nId].tKeepConnectEvent[i].nTime / MIN(1) .. "Min"
    tEventInfo[nCount] = "tKeepConnectTime["..i.."] = " .. strTick
    nCount = nCount + 1
    local strItem = tEvent[nId].tKeepConnectEvent[i].strItemId ..", ".. tEvent[nId].tKeepConnectEvent[i].nItemNum
    tEventInfo[nCount] = "tKeepConnectItem["..i.."] = " .. strItem
    nCount = nCount + 1
    end


    return tEventInfo
    end

    -- Event Description
    function GetDesc( nId )
    local strDesc = tEvent[nId].Desc

    return strDesc
    end

    -- I speak as a function of time, the number
    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

    ---------------------------------------------------------------------------
    ------ Additional data functions ------------------------------------------
    ---------------------------------------------------------------------------

    -- Add New Event
    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
    tEvent[nEventId].tSpawn = {}
    tEvent[nEventId].tKeepConnectEvent = {}
    tEvent[nEventId].fRainEventExpFactor = 1
    tEvent[nEventId].strRainEventTitle = ""
    tEvent[nEventId].fSnowEventExpFactor = 1
    tEvent[nEventId].strSnowEventTitle = ""
    end

    -- Start time, kkeutsigan
    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

    -- Items
    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

    -- Dropped item list
    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..", Remainder Skip:"..tItem[j].Skip.." Time:"..(nHour-1).." ~ "..nHour )
    end
    end
    end
    end
    return tReturn
    end
    -- Experience Drainage
    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

    -- Multiple items droped
    function SetItemDropRate( fItemDropRate )
    local nEventId = table.getn(tEvent)
    tEvent[nEventId].fItemDropRate = fItemDropRate
    end

    function GetItemDropRate()
    local tList = GetEventList()
    local fItemDropRate = 10
    for i in pairs(tList) do
    if( tEvent[tList[i]].fItemDropRate ~= nil ) then
    fItemDropRate = fItemDropRate * tEvent[tList[i]].fItemDropRate
    end
    end

    return fItemDropRate
    end

    -- Multiple individual items droped
    function SetPieceItemDropRate( fPieceItemDropRate )
    local nEventId = table.getn(tEvent)
    tEvent[nEventId].fPieceItemDropRate = fPieceItemDropRate
    end

    function GetPieceItemDropRate()
    local tList = GetEventList()
    local fPieceItemDropRate = 10
    for i in pairs(tList) do
    if( tEvent[tList[i]].fPieceItemDropRate ~= nil ) then
    fPieceItemDropRate = fPieceItemDropRate * tEvent[tList[i]].fPieceItemDropRate
    end
    end

    return fPieceItemDropRate
    end

    -- Penya Drop Rate
    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


    -- Increased damage
    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


    -- Increased defense
    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

    -- Coupons Events
    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

    function SetSpawn( nType, strId, nDayNum )
    local nEventId = table.getn(tEvent)
    local nSize = table.getn(tEvent[nEventId].tSpawn)

    tEvent[nEventId].tSpawn[nSize+1] = {}
    tEvent[nEventId].tSpawn[nSize+1].nType = nType
    tEvent[nEventId].tSpawn[nSize+1].strId = strId
    tEvent[nEventId].tSpawn[nSize+1].nDayNum = nDayNum
    end

    function GetSpawn( nId )
    return tEvent[nId].tSpawn, table.getn( tEvent[nId].tSpawn )
    end

    -- Cumulative connection time items paid event
    function SetKeepConnectEvent( nTime, strItemId, nItemNum )
    local nEventId = table.getn(tEvent)
    local nSize = table.getn(tEvent[nEventId].tKeepConnectEvent)

    tEvent[nEventId].tKeepConnectEvent[nSize+1] = {}
    tEvent[nEventId].tKeepConnectEvent[nSize+1].nTime = nTime
    tEvent[nEventId].tKeepConnectEvent[nSize+1].strItemId = strItemId
    tEvent[nEventId].tKeepConnectEvent[nSize+1].nItemNum = nItemNum
    end

    function GetKeepConnectTime()
    local tList = GetEventList()
    for i in pairs(tList) do
    local tTime = tEvent[tList[i]].tKeepConnectEvent
    for j in pairs(tTime) do
    if( tTime[j].nTime ~= 0 ) then
    return tTime[j].nTime
    end
    end
    end
    return 0
    end

    function GetKeepConnectItem()
    local tList = GetEventList()
    local tReturn = {}
    local nCount = 1
    for i in pairs(tList) do
    local tItem = tEvent[tList[i]].tKeepConnectEvent
    for j in pairs(tItem) do
    tReturn[nCount] = {}
    tReturn[nCount].strItemId = tItem[j].strItemId
    tReturn[nCount].nItemNum = tItem[j].nItemNum
    nCount = nCount + 1
    end
    end
    return tReturn
    end

    function SetRainEvent( fFactor, strTitle )
    local nEventId = table.getn(tEvent)
    tEvent[nEventId].fRainEventExpFactor = fFactor
    tEvent[nEventId].strRainEventTitle = strTitle
    end

    function GetRainEventExpFactor()
    local tList = GetEventList()
    local fFactor = 1
    for i in pairs(tList) do
    if( tEvent[tList[i]].fRainEventExpFactor ~= nil ) then
    fFactor = fFactor * tEvent[tList[i]].fRainEventExpFactor
    end
    end

    return fFactor
    end

    function GetRainEventTitle()
    local tList = GetEventList()
    for i in pairs(tList) do
    if( tEvent[tList[i]].fRainEventExpFactor > 1 ) then
    return tEvent[tList[i]].strRainEventTitle
    end
    end

    return nil
    end

    function SetSnowEvent( fFactor, strTitle )
    local nEventId = table.getn(tEvent)
    tEvent[nEventId].fSnowEventExpFactor = fFactor
    tEvent[nEventId].strSnowEventTitle = strTitle
    end

    function GetSnowEventExpFactor()
    local tList = GetEventList()
    local fFactor = 1
    for i in pairs(tList) do
    if( tEvent[tList[i]].fSnowEventExpFactor ~= nil ) then
    fFactor = fFactor * tEvent[tList[i]].fSnowEventExpFactor
    end
    end

    return fFactor
    end

    function GetSnowEventTitle()
    local tList = GetEventList()
    for i in pairs(tList) do
    if( tEvent[tList[i]].fSnowEventExpFactor > 1 ) then
    return tEvent[tList[i]].strSnowEventTitle
    end
    end

    return nil
    end


    And Event.lua :

    Spoiler:
    ----------------------------------------------------------------------
    ---- À̺¥Æ® °ü·Ã ·ç¾Æ ÇÔ¼ö ·Îµù --------------------------------------
    ----------------------------------------------------------------------
    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, byFlag ) -- ·¹º§¾÷ ¼±¹°( nLevel´Þ¼º½Ã ¾ÆÀÌÅÛ Áö±Þ, "all" ºÎºÐ¿¡ ƯÁ¤ °èÁ¤ ÁöÁ¤ °¡´É(¿¹. "__bu" - ¹öµð, "__an" - ¿£Á© )
    ---- 12. SetCheerExpFactor( fFactor ) -- ÀÀ¿ø °æÇèÄ¡ ¼³Á¤
    ---- 13. SetSpawn( TYPE, strId, nNum ) -- ½ºÆùÀ̺¥Æ® : Type - ITEM ¶Ç´Â MONSTER, ID, 1ÀÏ ½ºÆù·®
    ---- 14. SetKeepConnectEvent( nTime, strItemId, nItemNum ) -- ´©Àû Á¢¼Ó ¾ÆÀÌÅÛ Áö±Þ À̺¥Æ®( Á¢¼Ó½Ã°£, ¾ÆÀÌÅÛ ID, ¾ÆÀÌÅÛ °³¼ö )
    ---- 15. SetRainEvent( fExpFactor, strTitle ) -- À帶À̺¥Æ®(°æÇèÄ¡ Áõ°¡ ¹è¼ö, ºñ¿Ã¶§ Ãß·Â Á¦¸ñ) : 15Â÷¿¡ Ãß°¡µÊ
    ---- 16. SetSnowEvent( fExpFactor, strTitle ) -- °­¼³À̺¥Æ®(°æÇèÄ¡ Áõ°¡ ¹è¼ö, ´«¿Ã¶§ Ãß·Â Á¦¸ñ)
    ---- *** À̺¥Æ® Ãß°¡ µî·Ï½Ã 1¹øºÎÅÍ ¹Ýº¹Çϰí 3~16¹øÀº Çʿ信 µû¶ó »ý·«°¡´ÉÇÏ´Ù.
    ----------------------------------------------------------------------------------------------------------------
    --[[ 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, 2 )
    SetCheerExpFactor( 1.3 )
    SetSpawn( ITEM, "II_SYS_SYS_EVE_HAPPYMONEY01", 10000 )
    SetSpawn( MONSTER, "MI_AIBATT1", 2000 )
    SetSpawn( MONSTER, "MI_AIBATT4", 2000 )
    SetKeepConnectEvent( MIN(60), "II_SYS_SYS_SCR_BXTREASURE01", 1 )
    SetRainEvent( 2, "ºñ°¡¿À¸é °æÇèÄ¡°¡ 2¹è~!" )
    SetSnowEvent( 2, "´«ÀÌ¿À¸é °æÇèÄ¡°¡ 2¹è~!" )
    --}
    --]]

    -------------------------------------------------------------------------
    ---- Begin Script -------------------------------------------------------
    -------------------------------------------------------------------------

    AddEvent( "Mochikochi" )
    --{
    SetTime( "2010-05-25 20:00", "2019-02-25 23:59" )

    SetSpawn( MONSTER, "MI_MOCOMOCHI1", 5000 )
    --}

    AddEvent( "Quit Event" )
    --{
    SetTime( "2009-02-23 00:00", "2011-02-25 23:59" )
    --}

    AddEvent( "Rain Event : Exp X2" )
    --{
    SetTime( "2010-05-25 20:00", "2019-02-25 23:59" )

    SetRainEvent( 10, "Sauve qui pleut !" )

    SetSnowEvent( 10, "Sauve qui neige !" )
    --}


    AddEvent( "Il était temps !" )
    --{
    SetTime( "2010-05-25 20:00", "2019-02-25 23:59" )

    SetKeepConnectEvent( MIN(60), "II_SYS_SYS_SCR_BXTREASURE01", 1 )
    --}


    AddEvent( "Test spawn drop inventory !" )
    --{
    SetTime( "2010-05-25 20:00", "2019-02-25 23:59" )

    SetItem( II_SYS_SYS_SCR_BXTREASURE01, 1, 59, 1 )
    --}


    AddEvent( "Evenement de Bienvenue" )
    --{
    SetTime( "2010-05-25 20:00", "2019-02-25 23:59" )

    SetLevelUpGift( 15, "all", "II_SYS_SYS_SCR_AMPESS", 2 )
    SetLevelUpGift( 60, "all", "II_SYS_SYS_SCR_AMPESS", 3 )
    SetItem( "II_SYS_SYS_SCR_BXCHUSEOK01", **** 1, 15 )
    SetItem( "II_SYS_SYS_SCR_BX_PET_LAWOLF7", 1, 1, 15 )
    SetLevelUpGift( 60, "all", "II_SYS_SYS_SCR_BX_PET_LAWOLF7", 1 )
    --}
    Last edited by amylesia; 05-06-10 at 10:57 AM.

  8. #8
    Member mikmeg is offline
    MemberRank
    Dec 2009 Join Date
    57Posts

    Re: [V15] Problem with Worldserver.exe

    To add a text in a spoiler you need to write "[command_for_spoiler] text that need be spoiled [/command_for_spoiler]" where command_for_spoiler is simply the word spoiler.

    example:
    Spoiler:
    some text


    For your problem, I think that is at the line 124 of the Event.lua.

    SetItem( "II_SYS_SYS_SCR_BXCHUSEOK01", **** 1, 15 )

    you need sobstitute the four stars with a number followed by comma.

    e.g:
    SetItem( "II_SYS_SYS_SCR_BXCHUSEOK01", 1, 1, 15 ).

    This is in the specification for the SetItem command.

  9. #9
    Sorcerer Supreme amylesia is offline
    Member +Rank
    Apr 2009 Join Date
    257Posts

    Re: [V15] Problem with Worldserver.exe

    I changed line 124 with SetItem( "II_SYS_SYS_SCR_BXCHUSEOK01", 1, 1, 15 ).

    But still the same thing...
    Last edited by amylesia; 05-06-10 at 11:33 AM.

  10. #10
    the sound's resound echo Jelle is offline
    Grand MasterRank
    Jun 2009 Join Date
    ._.Location
    1,036Posts

    Re: [V15] Problem with Worldserver.exe

    What WorldServer are you using?
    And at what mob do you crash?

  11. #11
    Sorcerer Supreme amylesia is offline
    Member +Rank
    Apr 2009 Join Date
    257Posts

    Re: [V15] Problem with Worldserver.exe

    I am using serusuriel v15 worldserver.exe. I translated it in french cause I am doing a french server but i had this issue before I translante it..

    And I am crashing at lawolf..

  12. #12
    Newbie shunyamato is offline
    MemberRank
    Jun 2010 Join Date
    6Posts

    Re: [V15] Problem with Worldserver.exe

    thanks guys it solve my problem^^

  13. #13
    Sorcerer Supreme amylesia is offline
    Member +Rank
    Apr 2009 Join Date
    257Posts

    Re: [V15] Problem with Worldserver.exe

    Hey, me too ^^

    There was just a bad script in Event.lua

    No, I have no crash anymore ^^

    Thanx a lot :)

  14. #14
    Grand Master Denichu is offline
    Grand MasterRank
    Mar 2009 Join Date
    744Posts

    Re: [V15] Problem with Worldserver.exe

    Good.
    Request to close this thread.



Advertisement