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 revision Previous revision
Next revision
Previous revision
lua:scripting:examples:qtimerluavals [2014/12/31 20:07]
vodur
— (current)
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_timer"​) or 0 
- 
--- Don't give quest if timer is still running 
-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",​ 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 
-    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.1420056458.txt.gz ยท Last modified: 2014/12/31 20:07 by vodur