User Tools

Site Tools


lua:scripting:examples:qtimerluavals

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
lua:scripting:examples:qtimerluavals [2014/12/31 20:07] vodurlua:scripting:examples:qtimerluavals [2015/01/01 00:53] (current) vodur
Line 1: Line 1:
-!!!Original+====== Original ======
 <code lua> <code lua>
 -- Kain GRALL code for sack of rice -- Kain GRALL code for sack of rice
Line 8: Line 8:
 local qvnum=14800 local qvnum=14800
 -- Don't give quest if timer is still running -- Don't give quest if timer is still running
-if ch:qtimer(qvnum)>0 then +if ch:qtimer(qvnum)>0 then
     say("You should give someone else a turn. Come back in %d hours", ch:qtimer(qvnum))     say("You should give someone else a turn. Come back in %d hours", ch:qtimer(qvnum))
-    return +    return
 end end
 -- Don't talk them if already gave something -- Don't talk them if already gave something
 tracker=tracker or {} tracker=tracker or {}
 if tracker[ch.name] then return end if tracker[ch.name] then return end
- +
 say("Hey %s! I need some more weights for cloud. Can you bring me a '%s'?", say("Hey %s! I need some more weights for cloud. Can you bring me a '%s'?",
     ch.name,     ch.name,
     getobjproto(ricevnum).shortdescr)     getobjproto(ricevnum).shortdescr)
 -- End Kain greet code -- End Kain greet code
- 
 </code> </code>
  
-<code lua> +<code lua>-- Kain give code
--- Kain give code+
 local ricevnum=7326 local ricevnum=7326
 local qvnum=14800 local qvnum=14800
Line 62: Line 60:
 -- Now see if finished -- Now see if finished
 if tracker[ch.name][ricevnum] then -- Has the rice if tracker[ch.name][ricevnum] then -- Has the rice
-    qset(ch, qvnum, 1, 23)+    qset(ch, qvnum, 1, 24)
     say("Haha! Cloud will be strong in no time with this kind of weight!")     say("Haha! Cloud will be strong in no time with this kind of weight!")
     mdo("mob junk '%s'", obj1.name)     mdo("mob junk '%s'", obj1.name)
Line 74: Line 72:
 </code> </code>
  
-!!!With luavals+===== With luavals =====
 <code lua> <code lua>
 -- Kain GRALL code for sack of rice -- Kain GRALL code for sack of rice
Line 81: Line 79:
 -- Kain greet code to start quest -- Kain greet code to start quest
 local ricevnum=7326 local ricevnum=7326
 +-- Don't give quest if timer is still running
 local time_current=os.time() local time_current=os.time()
 local time_quest=ch:getval("kain_timer") or 0 local time_quest=ch:getval("kain_timer") or 0
- +if time_quest>time_current then  
--- Don't give quest if timer is still running +    say("You should give someone else a turn. Come back in %d hours", math.ceil((time_quest-time_current)/3600))
-if time_quest>time_current then +
-    say("You should give someone else a turn. Come back in %d hours",  +
-      math.ceil((time_quest-time_current)/3600))+
     return      return 
 end end
Line 98: Line 94:
     getobjproto(ricevnum).shortdescr)     getobjproto(ricevnum).shortdescr)
 -- End Kain greet code -- End Kain greet code
- 
 </code> </code>
  
Line 104: Line 99:
 -- Kain give code -- Kain give code
 local ricevnum=7326 local ricevnum=7326
- +local qvnum=14800 
 -- Does he want it? -- Does he want it?
 if not(obj1.vnum==ricevnum) then if not(obj1.vnum==ricevnum) then
Line 117: Line 113:
 local time_quest=ch:getval("kain_timer") or 0 local time_quest=ch:getval("kain_timer") or 0
 if time_quest>time_current then if time_quest>time_current then
-    say("You should give someone else a turn. Come back in %d hours", ch:qtimer(qvnum))+    say("You should give someone else a turn. Come back in %d hours", math.ceil((time_quest-time_current)/3600))
     mdo("give '%s' %s", obj1.name, ch.name)     mdo("give '%s' %s", obj1.name, ch.name)
     mdo("drop %s", obj1.name)     mdo("drop %s", obj1.name)
Line 141: Line 137:
 -- Now see if finished -- Now see if finished
 if tracker[ch.name][ricevnum] then -- Has the rice if tracker[ch.name][ricevnum] then -- Has the rice
 +    qset(ch, qvnum, 1, 24)
     ch:setval("kain_timer", time_current + 3600*24, true) -- Now + 24hrs     ch:setval("kain_timer", time_current + 3600*24, true) -- Now + 24hrs
     say("Haha! Cloud will be strong in no time with this kind of weight!")     say("Haha! Cloud will be strong in no time with this kind of weight!")
Line 152: Line 149:
 -- End Kain give code -- End Kain give code
 </code> </code>
 +
lua/scripting/examples/qtimerluavals.1420056458.txt.gz · Last modified: 2014/12/31 20:07 by vodur