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 19:46] – 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, 23) 
-    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 
-local time_current=os.time() 
-local time_quest=ch:getval("kain_quest") or 0 
- 
--- Don't give quest if timer is still running 
-if time_current<time_quest then 
-    say("You should give someone else a turn. Come back in %d hours",  
-      math.floor((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 
-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, 23) 
-    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.1420055202.txt.gz · Last modified: by vodur