Novo Santa Claus
esta em teste
Créditos:
* Gesior para o código original.
* Colandus para a função tempo.
* JDB para atualização e adição de recurso especial cronometrado.
Em primeiro lugar eu gostaria de dizer Feliz Natal para todos!
Espero que você aproveite este lançamento, e usá-lo nesta temporada.
data/lib/050-function.lua
function timeString(timeDiff) local dateFormat = { {"day", timeDiff / 60 / 60 / 24}, {"hour", timeDiff / 60 / 60 % 24}, {"minute", timeDiff / 60 % 60}, {"second", timeDiff % 60} } local out = {} for k, t in ipairs(dateFormat) do local v = math.floor(t[2]) if(v > 0) then table.insert(out, (k < #dateFormat and (#out > 0 and ', ' or '') or ' and ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or '')) end end return table.concat(out) end
Santa NPC: (Real Tibia Looktype)
<?xml version="1.0" encoding="UTF-8"?> <npc name="Santa Claus" script="santa.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="160" head="0" body="112" legs="93" feet="95"/> </npc>
local PRESENT_STORAGE = 29885 -- Storage ID local gifts = { {10, 6531, 1}, -- 1% to get Santa Hat [10] {30, 6512, 1}, -- 3% to get Santa Doll [30] {40, 2112, 1}, -- 4% to get Teddy Bear [40] {100, 2160, 10}, -- 10% to get 10 Crystal Coins [100] {150, 2688, 10}, -- 15% to get 10 Candy Canes [150] {150, 2152, 100}, -- 15% to get 100 Platinum Coins [150] {200, 2111, 5}, -- 20% to get 10 Snowballs [200] {250, 2675, 10}, -- 25% to get 10 Orange [250] {350, 2674, 15}, -- 35% to get 10 Red Apples [350] {500, 2687, 10} -- 50% to get 10 Cookies [500] } local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function SantaNPC(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end if (parameters.present == true) then if (getPlayerStorageValue(cid, PRESENT_STORAGE) == 1) then selfSay("Do not try to trick me! You have already recieved your present...", cid) return true end local item = {} local reward = 0 local count = "" for i = 1, #gifts do item = gifts[i] if (math.random(0,999) < item[1]) then reward = item[2] subType = item[3] if subType > 1 then count = subType .. " " end break end end doPlayerAddItem(cid, reward, subType) setPlayerStorageValue(cid, PRESENT_STORAGE, 1) npcHandler:say('HO-HO-HO! I have ' .. count .. getItemNameById(reward) .. ' for you.', cid) else npcHandler:say('Come back when you start behaving.', cid) end npcHandler:resetNpc() return true end npcHandler:setMessage(MESSAGE_GREET, "HO-HO-HO, Merry Christmas |PLAYERNAME|. I have presents for the good children.") local noNode = KeywordNode:new({'no'}, SantaNPC, {present = false}) local yesNode = KeywordNode:new({'yes'}, SantaNPC, {present = true}) local node = keywordHandler:addKeyword({'present'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Have you been well behaved and good this year?...'}) node:addChildKeywordNode(yesNode) node:addChildKeywordNode(noNode) npcHandler:addModule(FocusModule:new()
Ai o player vai no npc e diz :
Player: Hi
Santa Claus: HO-HO-HO, Merry Christmas. I have presents for the good children.
Player: present
Santa Claus: Have you been well behaved and good this year?...
Player: yes