Mod scripting guide : Sample code - Tiny-Metro/Poly-Metro GitHub Wiki

κ°œμš”

λ³Έ λ¬Έμ„œλŠ” LuaμŠ€ν¬λ¦½νŒ…μ— 도움이 될 수 μžˆλŠ”, λͺ‡ κ°€μ§€μ˜ 예제λ₯Ό μ„œμˆ ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

쑰건문

νŠΉμ • 값을 κ²€μ‚¬ν•˜κΈ°

function Process()
    timestamp = GetTimestamp()
    if timestamp.Date > 5 then
        return success
    elseif timestamp.Date < 2 then
        return fail
    else
        return continue
    end
end

쑰건문을 μ‚¬μš©ν•˜λŠ” 예제 μ½”λ“œμž…λ‹ˆλ‹€. μœ„ μ½”λ“œλ₯Ό 투자 λ―Έμ…˜μ— μ μš©ν•  경우 λ‹€μŒκ³Ό 같은 쑰건이 μΆ©μ‘±λ©λ‹ˆλ‹€.

  • ν˜„μž¬ λ‚ μ§œκ°€ 5일을 λ„˜μ—ˆμ„ 경우 투자 λ―Έμ…˜μ΄ μ„±κ³΅ν•©λ‹ˆλ‹€.
  • ν˜„μž¬ λ‚ μ§œκ°€ 2일을 λ„˜μ§€ λͺ» ν–ˆμ„ 경우 투자 λ―Έμ…˜μ΄ μ‹€νŒ¨ν•©λ‹ˆλ‹€.
  • κ·Έ μ™Έμ˜ 경우 투자 λ―Έμ…˜μ„ 계속 μ§„ν–‰ν•©λ‹ˆλ‹€.

랜덀 ν•¨μˆ˜

ν…μŠ€νŠΈ μ—¬λŸ¬ μ’…λ₯˜λ‘œ λ‚˜λˆ„κΈ°

-- Event data
function EventData()
    Data = {}
    Data[0] = {}
    Data[0].title = 'ν…ŒμŠ€νŠΈ1'
    Data[0].flavor_text = 'ν”Œλ ˆμ΄λ²„ ν…μŠ€νŠΈ 1'
    Data[0].message = '첫번째 ν…ŒμŠ€νŠΈμž…λ‹ˆλ‹€. 사양이 κ°‘μžκΈ° λ°”λ€Œμ–΄μ„œ κ³€λž€ν•΄μ‘ŒμŠ΅λ‹ˆλ‹€.'
    Data[0].period = 1
    
    Data[1] = {}
    Data[1].title = 'ν…ŒμŠ€νŠΈ2'
    Data[1].flavor_text = 'ν”Œλ ˆμ΄λ²„ ν…μŠ€νŠΈ 2'
    Data[1].message = 'λ‘λ²ˆμ§Έ ν…ŒμŠ€νŠΈμž…λ‹ˆλ‹€. λ©”μ‹œμ§€κ°€ λ§Žμ•„μ§€λ©΄ μ–΄μ°Œλ κΉŒ κ±±μ •λ©λ‹ˆλ‹€.'
    Data[1].period = 2

    Data[2] = {}
    Data[2].title = 'ν…ŒμŠ€νŠΈ3'
    Data[2].flavor_text = 'ν”Œλ ˆμ΄λ²„ ν…μŠ€νŠΈ 3'
    Data[2].message = 'μ„Έλ²ˆμ§Έ ν…ŒμŠ€νŠΈλΌκ³  μ“°λ©΄ λ­”κ°€ ν˜•μ‹μ΄ μ •ν•΄μ§„ λŠλ‚Œμ΄ λ“­λ‹ˆλ‹€.'
    Data[2].period = 3

    Data[3] = {}
    Data[3].title = 'ν…ŒμŠ€νŠΈ4'
    Data[3].flavor_text = 'ν”Œλ ˆμ΄λ²„ ν…μŠ€νŠΈ 4'
    Data[3].message = 'λ„€λ²ˆμ§Έλ°–μ— μ•ˆ μΌλŠ”λ° λ²Œμ¨λΆ€ν„° λ…Έκ°€λ‹€ λŠλ‚Œμ΄ μ‹¬ν•΄μ‘ŒμŠ΅λ‹ˆλ‹€.'
    Data[3].period = 4

    Data[4] = {}
    Data[4].title = 'ν…ŒμŠ€νŠΈ5'
    Data[4].flavor_text = 'ν”Œλ ˆμ΄λ²„ ν…μŠ€νŠΈ 5'
    Data[4].message = 'λ‹€μ„―λ²ˆμ§Έλ§Œ ν•˜λ©΄ ν…ŒμŠ€νŠΈλŠ” μ–΄λŠμ •λ„ ν•  만 ν•  것 κ°™μŠ΅λ‹ˆλ‹€.'
    Data[4].period = 5

    math.randomseed(os.time())
    idx = math.random(0, 4)
    return Data[idx]
end

λ©”μ‹œμ§€μ™€ 타이틀을 μ—¬λŸ¬ μ’…λ₯˜ μΆ”κ°€ν•˜κ³ , κ·Έ 쀑 λžœλ€ν•œ ν•œ 개의 ν…μŠ€νŠΈκ°€ 좜λ ₯되게 λ§Œλ“œλŠ” λ°©λ²•μž…λ‹ˆλ‹€.