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
- Fórum
- xTibia - Notícias e Suporte
- Tutoriais para Iniciantes
- Criando Npc de Task!
2
3k


info
Grupo: Cavaleiro
Registrado: 18/11/12
Posts: 197
Reputação: +24
Gênero: Masculino
Char no Tibia: HouseKkeper
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
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!