Author Topic: Some new lua methods game timeofday and unit monitoring (ep/hp)  (Read 815 times)

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,238
    • View Profile
A few more lua functions as requested by Elimnator and Tiger:

-- functions that deal with game time of day
getIsDayTime
getIsNightTime
getTimeOfDay
registerDayNightEvent
unregisterDayNightEvent

example:

Code: [Select]
<startup>
       -- register day and night events
       registerDayNightEvent()
</startup>     
<dayNightTriggerEvent>
          if getIsDayTime() == 1 then
                setDisplayText('It is day time, a safer time to roam!')
          else
                setDisplayText('**It is night time, WATCH OUT!**')
          end

          --print('getIsDayTime() =' .. getIsDayTime() .. ' getIsNightTime() = ' .. getIsNightTime() .. ' getTimeOfDay() = ' .. getTimeOfDay())
</dayNightTriggerEvent>

-- functions that deal with monitoring and querying units

registerUnitTriggerEvent
unregisterUnitTriggerEvent
lastUnitTriggerEventUnit
lastUnitTriggerEventType
getUnitProperty
getUnitPropertyName

Code: [Select]
<startup>
                        createUnit('battle_machine', 1, startLocation(1))

                        player2_battlemachine= lastCreatedUnit()
                        registerUnitTriggerEvent(player2_battlemachine)
</startup>
<unitTriggerEvent>
                        if player2_battlemachine == lastUnitTriggerEventUnit() then
                       
                                if lastUnitTriggerEventType() == 1 then -- hp changed
                                        print('Unit hp is now: ' .. getUnitProperty(lastUnitTriggerEventUnit(),lastUnitTriggerEventType()))
                                elseif lastUnitTriggerEventType() == 2 then -- ep changed
                                        print('Unit ep is now: ' .. getUnitProperty(lastUnitTriggerEventUnit(),lastUnitTriggerEventType()))
                                elseif lastUnitTriggerEventType() == 3 then -- level changed
                                        print('Unit level is now: ' .. getUnitPropertyName(lastUnitTriggerEventUnit(),lastUnitTriggerEventType()))
                                elseif lastUnitTriggerEventType() == 4 then -- field changed
                                        print('Unit field is now: ' .. getUnitProperty(lastUnitTriggerEventUnit(),lastUnitTriggerEventType()))
                                elseif lastUnitTriggerEventType() == 5 then -- skill changed
                                        print('Unit skill is now: ' .. getUnitPropertyName(lastUnitTriggerEventUnit(),lastUnitTriggerEventType()))
                                end
                        end
</unitTriggerEvent>

enjoy!

titi_son

  • Draco Rider
  • *****
  • Posts: 283
  • titi_son
    • View Profile
Re: Some new lua methods game timeofday and unit monitoring (ep/hp)
« Reply #1 on: 11 January 2015, 20:07:14 »
I just wrote this in the wiki.
But i think the registerDayNightEvent and unregisterDayNightEvent is pretty pointless.
Just let the event be enabled. Why should you disable it?
My first Tilseset: SPRING :) (included in Megaglest )

Secret Hint: To play online join the IRC #megaglest-lobby on freenode which is the lobby chat ingame. So you can chat with or wait for people in the lobby without running megaglest all the time.