MegaGlest Forum

MegaGlest => MegaGlest => Topic started by: softcoder on 28 May 2013, 01:26:14

Title: Some new lua methods game timeofday and unit monitoring (ep/hp)
Post by: softcoder on 28 May 2013, 01:26:14
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!
Title: Re: Some new lua methods game timeofday and unit monitoring (ep/hp)
Post by: titi_son 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?