User Tools

Site Tools


lua:vodurtodo:vodur_s_todo

This is an old revision of the document!


oprog recite trigger

make sure all vnum args accept rvnums

reapply affects after setlevel

ROOM PROGS

-fight trigger

-recall trigger

-void trigger

-spell trigger

-social trigger

-try trigger

{-scriptdump-} and maybe scriptedit commands

way to manually clear env? _G={} is pretty easy though

maybe: lua_load_xprog to search for chunkname, so we don't reload the script necessarily each time but just grab a new function instance by running the chunk.

add rprog to grep

add optional spell level arg to cast()

set position

add timer to setval

wiznet option to see only bugs in your area

luaquery option to dump csv to webserver

mprogs have return value

fix boolean checks (ispc()) to be props instead of methods

fix more appropriate CH methods to be globals

-- 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, 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
lua/vodurtodo/vodur_s_todo.1420073419.txt.gz · Last modified: 2015/01/01 00:50 by vodur