User Tools

Site Tools


lua:scripting:examples:vodurbirthdayletters

This is an old revision of the document!


Name:        [birthday quest letter] Area:        [   57] Aes Sedai Clan Area Vnum:        [31450] Type:        [treasure] Level:       [    1] Wear flags:  [take] Extra flags: [nolocate] Material:    [unknown] Condition:   [  100] Weight:      [    0] Cost:        [    0] OPs:         [ 0/ 5] Short desc:  birthday quest letter Long desc:      Birthday quest letter Notes: Used for birthday quest, progs will set the actual name, desc, etc.  OBJPrograms for [31450]:  Number Vnum Trigger Phrase  ------ ---- ------- ------ [    0] 31450     put 100

</font>

local lettervnum=31450
local bname="Vodur"
local bcolor="{m"
 
local qpreward=29
-- try to make word out of obj and all letters in cont
-- return true if doesn't make word or return false
-- and reward qp and destroy the letters
function put_trigger( ch, cont )
    local letters={}
    for i=1,#bname do
        letters[i]=bname:sub(i,i)
    end
 
    local items={ obj }
    for k,v in pairs(cont.contents) do
        if v.vnum==lettervnum then
            table.insert(items, v)
        end
    end
 
    local used={}
    for k,v in pairs(items) do
        local iletter=string.match(v.name, "letter (%a)")
        for i=#letters,1,-1 do
            if iletter==letters[i] then
                table.insert(used, v)
                table.remove(letters,i)
                break
            end
        end
    end
 
    if #letters<;;1 then
        sendtochar( ch, "The letters merge together to form the word "..bcolor..bname.."{x!"..
        "\n\rAfter an instant it vanishes completely.\n\r")
        ch:reward(ch, "qp", qpreward)
 
        for k,v in pairs(used) do
            v:destroy()
        end
        return false
    end
 
    return true
end
 
function make_letter(l)
    if not(l.vnum == lettervnum) then
        error("wtf")
    end
 
    local letters={}
    for i=1,#bname do
        letters[i]=bname:sub(i,i)
    end
 
    local letter=letters[randnum(1, #letters)]
 
    l.name="letter "..letter
    l.shortdescr="the letter "..bcolor..letter.."{x"
    l.description="It's a letter. Put it in a container with other letters and see what happens!" end
lua/scripting/examples/vodurbirthdayletters.1404758668.txt.gz · Last modified: 2014/07/07 18:44 by vodur