Ir para conteúdo

Posts Recomendados

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:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Papai Noel" script="data/npc/scripts/papai_noel.lua" walkinterval="1500" speed="100" walkradius="2" floorchange="0">
	<health max="100" now="100"/>
	<look type="160" head="0" body="113" legs="94" feet="132" addons="0" mount="0"/>
	<parameters>
		<!--MESSAGES-->
		<parameter key="message_greet" value="HO-HO-HO, |PLAYERNAME| bem-vindo. Voce gostaria de um presente?"/>
		<parameter key="message_farewell" value="HO-HO-HO, tenha um feliz natal, |PLAYERNAME|."/>
	</parameters>
</npc>

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:

	<action itemid="11401" event="script" value="giftbox.lua"/>

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
end

E isso é tudo pessoal!

Créditos

Eu (@Danihcv)

Editado por Danihcv
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...