Ir para conteúdo

Criando Npc de Task!


Heinekennn

Posts Recomendados

Olá galera eu so Heinekennn conhecido como Housekkeper...

 

Bem ensinarei a Criar NPC de task para PDA!

 

1 - Entre na Pasta de Npc e Ache o Npc Junior faça uma copia dele e edit igual eu fazerei ... no meu caso fazerei o npc AGATHA, quando duplicar a pasta Junior mude o nome para Agatha ou qualquer nick e fassa igual eu:

 

 

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Agatha" script="Agatha.lua" walkinterval="350000" floorchange="0" speed="0" lookdir="2">

<health now="150" max="150"/>

<look type="881" head="10" body="15" legs="20" feet="25"/>

 

<parameters>

 

<parameter key="message_greet" value="Ola |PLAYERNAME|, Eu possuo uma {task} você gostaria de faze-lá?"/>

 

</parameters>

 

</npc>

 

 

Dps disso va em npc/scripts e denovo com o Junior.lua duplique e mude o nome para Agatha.lua :)

Dai você vai editando igual o meu:

 

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

local talkState = {}

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

 

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

 

local task = {

["Agatha"] = {{"Shiny Abra", 200}},

}

 

if msgcontains(msg, 'task') or msgcontains(msg, 'Task') then

if isMyTaskComplete(cid, getNpcCid()) then

selfSay("Wow you have already complete my task! Ok then, take your reward!", cid)

doPlayerAddItem(cid, 2160, 50)

doPlayerAddItem(cid, 12415, 5) --premio

doPlayerAddExp(cid, 1000000)

local sto = getMyTaskSto(cid, getNpcCid())

setPlayerStorageValue(cid, sto, -1)

talkState[talkUser] = 0

return true

else

selfSay("Then, is a simple task, i want to you kill {200 Shiny Abra}, you accept the task?", cid)

talkState[talkUser] = 2

end

elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) and talkState[talkUser] == 2 then

if getMyTaskSto(cid, getNpcCid()) ~= -1 then

selfSay("You are already doing my task! go end it!", cid)

talkState[talkUser] = 0

return true

end

local sto = getFreeTaskStorage(cid)

if sto == -1 then

selfSay("You can't catch more tasks! You are already with the maximum of "..(maxTasks).." tasks!", cid)

talkState[talkUser] = 0

return true

end

 

selfSay("OK then... Go kill your targets!", cid)

setStorageArray(cid, sto, task)

talkState[talkUser] = 0

return true

end

 

return true

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

 

 

PS: SE QUISER USAR O MEU SEM PROBLEMAS...

 

Depois disso ela vai colocar no game :) dps vc vai tem q ir em configuration.lua e ache o seguinte:

 

npcsTask = { --["npc name"] = {"city do npc", "task", "reward"},

 

e dps add no ultimo

 

["Agatha"] = {"Lavender", "200 Shiny Abra", "Experience, and 500k and Boost Stone"},

 

Assim dai seu npc esta criado :D

 

 

Lembrando se você quiser mudar alguma coisa estara na cor VERMELHO o que teria que mudar

 

Certo Galera vllw ae se ajudei REP+! seria bom haha!

Link para o comentário
Compartilhar em outros sites

  • 2 months later...

Interesante meu amigo mais da uma organizadinha aew pois o topico não ficou bonito bota cores diferentes explicando kd cor mais mesmo assim obg por trazer o conteudo para o xtibia ksksk

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...