pedi esse sistema uns tempos atrás bem legal REEP+
- Fórum
- OTServ
- Recursos
- Scripting
- NPCs, monsters e raids
- [NPC] Papai Noel - Que dá presente
DA
action
[NPC] Papai Noel - Que dá presente
Por Danihcv, 20 de abr. de 2015 em NPCs, monsters e raids
npc
papai noel
que dá presente
anualmente
dar presentes
aleatórios
script
2
1.5k
info
Grupo: Conde
Registrado: 29/07/13
Posts: 780
Reputação: +60
Gênero: Masculino
Char no Tibia: aguarde...

20 de abril de 2015 às 22:21

info
Grupo: Conde
Registrado: 07/04/15
Posts: 926
Reputação: +335
Gênero: Masculino
Bom galera, sei que o natal acabou de passar, porém esqueci de postar esse system antes...
Fiz uma versão 2.0 do meu npc de natal (papai noel).
Agora ao invés do bom velhinho entregar diretamente o item, vc recebe uma caixa que ao clicar vc recebe um item 100% aleatorio (dentre os itens que foram programados dentro do script).
Funciona assim: o player vai até o papai noel e fala: hi, aí o papai noel fala ho-ho-ho... aí o player responde sim (ou yes) e então o player recebe uma caixa. Ao clicar na caixa, o player recebe um dos itens, que estiverem programados no script, de forma aleatoria.
Então vamo lá.
Pra adicionar esse system, primeiro vá na pasta data/npc e crie um arquivo chamado Papai Noel.xml e coloque isso dentro:
Agora vá na pasta data/npc/scripts e crie um arquivo chamado papai_noel.lua e coloque isso dentro:
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 local item = 11401 local stor = (11402+os.date("%Y")) function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end if msgcontains(msg, 'sim') or msgcontains(msg, 'yes') then if getPlayerStorageValue(cid, stor) ~= 1 then doPlayerAddItem(cid, item) doSendMagicEffect(getThingPos(cid), 13) selfSay('Aqui esta! Feliz natal!', cid) setPlayerStorageValue(cid, stor, 1) else selfSay('Voce ja pegou seu presente. Agora espalhe o espirito do natal! HO-HO-HO', cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())Agora vá na pasta data/actions e adicione essa tag dentro do arquivo actions.xml:
Agora va na pasta data/actions/scripts e crie um arquivo chamado giftbox.lua e coloque isso dentro:
local items = { [1]=2160, --ID do item 1 [2]=2157, --ID do item 2 [3]=2121} --ID do item 3 local stor = (11401+os.date("%Y")) --Nao mexa function onUse(cid) if getPlayerStorageValue(cid, stor) ~= 1 then a = math.random(1, #items) doPlayerAddItem(cid, items[a], 1) setPlayerStorageValue(cid, stor, 1) else doPlayerSendCancel(cid, "Voce ja pegou seu presente.") end doPlayerRemoveItem(cid, 11401, 1) return true endE isso é tudo pessoal!
Créditos
Eu (@Danihcv)
Editado Abril 20 por Danihcv