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 [2015/01/01 00:19] – vodurlua:scripting:examples:qtimerluavals [2026/10/13 21:02] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== Original ====== 
- 
-<code lua>-- Kain GRALL code for sack of rice 
-say("Keep counting kid... We'll work some of that fight out of you.")  emote("puts some bricks on Cloud's back, JUST to make sure he gets a work out.") 
--- Kain greet code to start quest 
-local ricevnum=7326 
-local qvnum=14800 
--- Don't give quest if timer is still running 
-if ch:qtimer(qvnum)>0 then 
-    say("You should give someone else a turn. Come back in %d hours", ch:qtimer(qvnum)) 
-    return 
-end 
--- Don't talk them if already gave something 
-tracker=tracker or {} 
-if tracker[ch.name] then return end 
- 
-say("Hey %s! I need some more weights for cloud. Can you bring me a '%s'?", 
-    ch.name, 
-    getobjproto(ricevnum).shortdescr) 
--- End Kain greet code 
-</code> 
- 
-<code lua>-- Kain give code 
-local ricevnum=7326 
-local qvnum=14800 
- 
--- Does he want it? 
-if not(obj1.vnum==ricevnum) then 
-    say("I don't want this.")     mdo("give '%s' %s", obj1.name, ch.name)     mdo("drop %s", obj1.name)     return end   -- check if their timer is still running if ch:qtimer(qvnum)>0 then     say("You should give someone else a turn. Come back in %d hours", ch:qtimer(qvnum))     mdo("give '%s' %s", obj1.name, ch.name)     mdo("drop %s", obj1.name)     return end   -- check if already gave that one tracker=tracker or {} if tracker[ch.name] and tracker[ch.name][obj1.vnum] then     say("You already gave me that!")     mdo("give '%s' %s", obj1.name, ch.name)     mdo("drop %s", obj1.name)     return end   -- He really wants it! if tracker[ch.name]==nil then     tracker[ch.name]={} end tracker[ch.name][obj1.vnum]=true say("Thanks %s!", ch.name)   -- Now see if finished if tracker[ch.name][ricevnum] then -- Has the rice     qset(ch, qvnum, 1, 24)     say("Haha! Cloud will be strong in no time with this kind of weight!")     mdo("mob junk '%s'", obj1.name)     reward(ch, "qp", 15)     tracker[ch.name]=nil else     say("I still need a %s", getobjproto( (not(tracker[ch.name][ricevnum]))).shortdescr) end   -- End Kain give code 
-</code> 
- 
-===== With luavals ===== 
- 
-<code lua>-- Kain GRALL code for sack of rice 
-say("Keep counting kid... We'll work some of that fight out of you.") emote("puts some bricks on Cloud's back, JUST to make sure he gets a work out.") 
--- Kain greet code to start quest 
-local ricevnum=7326 
--- Don't give quest if timer is still running 
-local time_current=os.time() 
-local time_quest=ch:getval("kain_timer") or 0 
-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 
-end 
--- Don't talk them if already gave something 
-tracker=tracker or {} 
-if tracker[ch.name] then return end 
- 
-say("Hey %s! I need some more weights for cloud. Can you bring me a '%s'?", 
-    ch.name, 
-    getobjproto(ricevnum).shortdescr) 
--- End Kain greet code 
-</code> 
- 
-<code lua>-- Kain give code 
-local ricevnum=7326 
- 
--- Does he want it? 
-if not(obj1.vnum==ricevnum) then 
-    say("I don't want this.")     mdo("give '%s' %s", obj1.name, ch.name)     mdo("drop %s", obj1.name)     return end   -- check if their timer is still running local time_current=os.time() local time_quest=ch:getval("kain_timer") or 0 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))     mdo("give '%s' %s", obj1.name, ch.name)     mdo("drop %s", obj1.name)     return end   -- check if already gave that one tracker=tracker or {} if tracker[ch.name] and tracker[ch.name][obj1.vnum] then     say("You already gave me that!")     mdo("give '%s' %s", obj1.name, ch.name)     mdo("drop %s", obj1.name)     return end   -- He really wants it! if tracker[ch.name]==nil then     tracker[ch.name]={} end tracker[ch.name][obj1.vnum]=true say("Thanks %s!", ch.name)   -- Now see if finished 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     say("Haha! Cloud will be strong in no time with this kind of weight!")     mdo("mob junk '%s'", obj1.name)     reward(ch, "qp", 15)     tracker[ch.name]=nil else     say("I still need a %s", getobjproto( (not(tracker[ch.name][ricevnum]))).shortdescr) end   -- End Kain give code 
-</code> 
  
lua/scripting/examples/qtimerluavals.1420071550.txt.gz · Last modified: by vodur