====== Original ======
-- 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
-- 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
===== With luavals =====
-- 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
-- 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
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