Ir para conteúdo

Projeto Tibiaavenger


noturnokiremya

Posts Recomendados

explique melhor, nao entendi nada ;x

então estou pedindo 2 coisas

1) um npc que leve player lvl 70 OU MENOR para uma ilha, ele nao pode levar player acima do lvl 70

 

2) um npc de task de demon vc pede a task q é matar 666 demon ao completar vc recebe Hallowed axe de id 8293

 

me ajuda ai porfavor

Link para o comentário
Compartilhar em outros sites

Abaixo segue o primeiro NPC:

 

Arquivo "nome.xml":

<?xml version="1.0" encoding="UTF-8"?>
<npc name="[NPC] Jack" script="nome.lua" walkinterval="0" floorchange="0">
    <health now="150" max="150"/>
    <look type="6" corpse="2212"/>
    <parameters>
        <parameter key="message_greet" value="Olá |PLAYERNAME|. Se seu level for 70 ou menos, posso te {levar} ou {travel} para alguns lugares!"/>
    </parameters>
</npc>

.

Arquivo "nome.lua":

 

 

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

local pos = {x=878,y=977,z=7} -- Pos para onde o player sera levado
local level = 70 -- level menor ou igual a

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 creatureSayCallback(cid, type, msg)

if(not npcHandler:isFocused(cid)) then
return false
end

if msgcontains(msg, "levar") or msgcontains(msg, "travel") then
        selfSay("Eu posso te levar a um lugar legal, fale {yes} ou {sim} se quizer viajar.", cid)
    talkState[cid] = 0
elseif msgcontains(msg, 'yes') or msgcontains(msg, "sim") then
if getPlayerLevel(cid) <= level then
        selfSay("Boa viagem.", cid)
        doTeleportThing(cid, pos)
else
        selfSay("Voce esta com level muito alto, nao pode ir nesta viagem mais.", cid)
end
end
return TRUE
end


npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

Lembre-se de dar nome aos arquivos e registrá-los.

Lembre-se também de mudar as coordenadas de para onde o player será teleportado.

 

@@EDIT

Eu até ia montar o outro pra você, mas nossa, estou cansado demais com meu Projeto e este levará um pouco mais de tempo, pois o que tenho aqui envolve MODS.

Mas basta você procurar um NPC de Task e encontrará vários NPCs que dão recompensa ao matar determinado número de monstros.

Aí basta configurar a gosto.

 

Boa sorte.

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

Abaixo segue o primeiro NPC:

 

Arquivo "nome.xml":

<?xml version="1.0" encoding="UTF-8"?>
<npc name="[NPC] Jack" script="nome.lua" walkinterval="0" floorchange="0">
    <health now="150" max="150"/>
    <look type="6" corpse="2212"/>
    <parameters>
        <parameter key="message_greet" value="Olá |PLAYERNAME|. Se seu level for 70 ou menos, posso te {levar} ou {travel} para alguns lugares!"/>
    </parameters>
</npc>

.

Arquivo "nome.lua":

 

 

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

local pos = {x=878,y=977,z=7} -- Pos para onde o player sera levado
local level = 70 -- level menor ou igual a

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 creatureSayCallback(cid, type, msg)

if(not npcHandler:isFocused(cid)) then
return false
end

if msgcontains(msg, "levar") or msgcontains(msg, "travel") then
        selfSay("Eu posso te levar a um lugar legal, fale {yes} ou {sim} se quizer viajar.", cid)
    talkState[cid] = 0
elseif msgcontains(msg, 'yes') or msgcontains(msg, "sim") then
if getPlayerLevel(cid) <= level then
        selfSay("Boa viagem.", cid)
        doTeleportThing(cid, pos)
else
        selfSay("Voce esta com level muito alto, nao pode ir nesta viagem mais.", cid)
end
end
return TRUE
end


npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

Lembre-se de dar nome aos arquivos e registrá-los.

Lembre-se também de mudar as coordenadas de para onde o player será teleportado.

 

@@EDIT

Eu até ia montar o outro pra você, mas nossa, estou cansado demais com meu Projeto e este levará um pouco mais de tempo, pois o que tenho aqui envolve MODS.

Mas basta você procurar um NPC de Task e encontrará vários NPCs que dão recompensa ao matar determinado número de monstros.

Aí basta configurar a gosto.

 

Boa sorte.

obg vou testar essa noite ja vai um curti ai se poder com ajudar com segundo npc agradeço

Link para o comentário
Compartilhar em outros sites

Obrigado pelo curtir.

Se amanhã eu estiver com uma folguinha, tento montar pra você.

 

Lembre-se de voltar e postar o resultado do primeiro.

 

Boa sorte.

 

funcio muito obrigado to procurando um npc assim a dias vlw msmo espero que possa me ajuda com o da task dos demon vlw

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

×
×
  • Criar Novo...