-- Explicando a Task --
Em busca da corda - Primeira Parte
Primeiramente você irá falar com o NPC Heron, ele irá dizer que emprestou sua corda ao seu vizinho que mora mais ao sul e ele esqueceu de devolver (como sempre vizinho nunca te devolve nada, desde o café emprestado até a xÃcara), então ele pede para você ir buscar.
Provando sua Bravura - Segunda Parte
Chegando em seu vizinho Vence, você irá pedir a corda para ele e ele nada folgado falara para você "provar sua bravura", descobrindo que tipo de criatura está em seu porão, ele te dará uma presa e pedirá que você vá até o professor local e pergunte que tipo de criatura teria uma presa daquela.
Ao encontrar o professor, ele pegará a presa e dirá que tipo de criatura é aquela.
Você volta no Vence e diz a ele que criatura é, ele dirá que não faz a mÃnima ideia de que criatura é aquela então nada folgado² pedirá que você vá até o porão dele e mate para ele 5 dessas criaturas e volte perguntando sobre o Heron.
Matando as 5 criaturas, você volta e fala sobre Heron (seu vizinho), e ele te dará a corda e mais uma recompensa por ter limpado o porão dele.
Devolvendo a Corda - Última Parte
Voltando ao Heron, você falara com ele sobre a corda e ele te dará uma recompensa.
-- Transições --
Heron
-- Pedindo a Tarefa --
Heron: Hello, Player! Would you like to do a task for me?
Player: task
Heron: Great, I need to that seeks my rope in my neighbor's house Vence, he asked me while ago and forgot to return. I would go get it for me?
Player: yes
Heron: Cool. When you arrive at his house says something about the rope...
Heron: To get to his house you just follow the trail to the south...
Heron: When you get my rope, back here with her and I'll give you your prize.
Player: bye
Heron: Bye bye!
-- Entregando a Corda --
Heron: Hello, Player! Would you like to do a task for me?
Player: rope
Heron: That's good, do not know if it's too but here's 2 crystal coins and 10,000 experience.
Player: bye
Heron: Bye bye!
Vence
-- Pedindo a corda do Heron --
Vence: Oh! What have we here? Want something?
Player: rope
Vence: Rope? Hum... Oh! Yes the rope from my neighbor Heron right?
Player: yes
Vence: Only one problem, you will first need to prove your bravery, you accept the test?
Player: yes
Vence: Liked you, without even knowing which test would, just accepted...
Vence: Without further ado, the basement of my house is infested with creatures and I don't know its origin ...
Vence: Find Professor Darwin and ask him what kind of creature is a fang this...
Vence: The teacher is a little crazy, I think he studied creatures too and ended up with a bit of fear, then will be a bit hard to find it...
Vence: Rumors say he hides in a hole near the shop magician Kirn, if finding it says something about fang. Good luck!
Player: bye
Vence: Bye bye!
-- Após descobrir a origem da criatura --
Vence: Oh! What have we here? Want something?
Player: carrion worm
Vence: I have no idea what is this creature, can come down and kill for me?
Player: yes
Vence: Scroll down to the basement and kill 5 these such carrion worm, when finish remember me of return the Heron.
-- Pedindo a corda novamente --
Vence: Oh! What have we here? Want something?
Player: Heron
Vence: Okay, here's the rope it, and for helping me with the infestation here you are 2 crystal coins.
Player: bye
Vence: Bye bye!
Darwin
-- Descobrindo a origem da criatura --
Darwin: Oh! Who are you? How'd you find me? What do you want?
Player: fang
Darwin: Let me see what you got there...
Darwin: Ours is a fang and so much... Looks like you\'re with some infestations {carrion worm}. Finish with them as soon as possible.
Player: bye
Darwin: Bye bye!
-- Scripts --
Heron
Vá em data/npc, crie uma arquivo XML com o nome de Heron adicione isso -
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Heron" script="data/npc/scripts/Heron.lua" walkinterval="25" floorchange="0" access="5" level="1" maglevel="1">
<health now="150" max="150"/>
<look type="128" head="114" body="12" legs="57" feet="114" addons="0" />
<parameters>
<parameter key="message_greet" value="Hello, |PLAYERNAME|! Would you like to do a {task} for me?"/>
<parameter key="message_walkaway" value="Hey Hey, where you go ?"/>
<parameter key="message_farewell" value="Bye bye!"/>
</parameters>
</npc>
Ainda na pasta NPC, vá na pasta scripts, crie um arquivo .lua com o nome de Heron e adicione isso -
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
-- Confg
local cfg = {
itemReward = 2160, -- Item de recompensa
countItem = 2, -- Quantidade do item de recompensa
countExp = 10000 -- Quantidade de experiencia de recompensa
}
-- Fim Config
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
if msgcontains(msg, 'task') then
if getPlayerStorageValue(cid, 40000) == -1 then
if getPlayerStorageValue(cid, 40001) == -1 then
selfSay('Great, I need to that seeks my rope in my neighbor\'s house Vence, he asked me while ago and forgot to return. I would go get it for me?', cid)
talkState[talkUser] = 1
else
selfSay('You have this task open.', cid)
end
else
selfSay('You already have made ​​this task.', cid)
end
elseif talkState[talkUser] == 1 then
if msgcontains(msg, 'yes') then
selfSay('Cool. When you arrive at his house says something about the {rope}...', cid)
selfSay('To get to his house you just follow the trail to the south...', cid)
selfSay('When you get my rope, back here with her and I\'ll give you your prize.', cid)
setPlayerStorageValue(cid, 40001, 1)
talkState[talkUser] = 2
elseif msgcontains(msg, 'no') then
selfSay('Then, GET OUT IMMEDIATELY', cid)
end
elseif getPlayerStorageValue(cid, 40004) == 1 then
if msgcontains(msg, 'rope') then
local rope = getPlayerItemById(cid, true, 2120)
if rope.actionid == 6587 then
doPlayerRemoveItem(cid, 2120, 1)
doPlayerAddItem(cid, cfg.itemReward, cfg.countItem)
doPlayerAddExp(cid, cfg.countExp)
selfSay('That\'s good, do not know if it\'s too but here\'s '.. cfg.countItem ..' '.. getItemNameById(cfg.itemReward) ..' and '.. cfg.countExp ..' experience.', cid)
talkState[talkUser] = 0
else
selfSay('This is not my rope.', cid)
end
end
end
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Vence
Vá em data/npc, crie uma arquivo XML com o nome de Vence adicione isso -
<?xml version="1.0" encoding="UTF-8"?> <npc name="Vence" script="data/npc/scripts/Vence.lua" walkinterval="25" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="128" head="114" body="128" legs="128" feet="114" addons="0" /> <parameters> <parameter key="message_greet" value="Oh! What have we here? Want something?"/> <parameter key="message_walkaway" value="Hey Hey, where you go ?"/> <parameter key="message_farewell" value="Bye bye!"/> </parameters> </npc>
Ainda na pasta NPC, vá na pasta scripts, crie um arquivo .lua com o nome de Vence e adicione isso -
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
-- Config
local cfg = {
reward = 2160 -- Item de recompensa
count = 2 -- Quantidade do item de recompensa
}
local pos = {x=1062, y=1047, z=7} -- Coordenadas do efeito para mostrar aonde o player tem que descer para matar os carrion worm
-- Fim Config
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
if msgcontains(msg, 'rope') then
if getPlayerStorageValue(cid, 40001) == 1 then
selfSay('Rope? Hum... Oh! Yes the rope from my neighbor Heron right?', cid)
talkState[talkUser] = 1
setPlayerStorageValue(cid, 40001, 2)
else
selfSay('Rope? What rope?', cid)
end
elseif talkState[talkUser] == 1 then
if msgcontains(msg, 'yes') then
selfSay('Only one problem, youwill first need to prove your bravery, you accept the test?', cid)
talkState[talkUser] = 2
elseif msgcontains(msg, 'no') then
selfSay('Then, GET OUT IMMEDIATELY', cid)
end
elseif talkState[talkUser] == 2 then
if msgcontains(msg, 'yes') then
selfSay('Liked you, without even knowing which test would, just accepted...', cid)
selfSay('Without further ado, the basement of my house is infested with creatures and I don\'t know its origin ...', cid)
selfSay('Find Professor Darwin and ask him what kind of creature is a fang this...', cid)
selfSay('The teacher is a little crazy, I think he studied creatures too and ended up with a bit of fear, then will be a bit hard to find it...', cid)
selfSay('Rumors say he hides in a hole near the shop magician Kirn, if finding it says something about {fang}. Good luck!', cid)
doPlayerAddItem(cid, 11192, 1)
setPlayerStorageValue(cid, 40002, 1)
talkState[talkUser] = 3
elseif msgcontains(msg, 'no') then
selfSay('Then, GET OUT IMMEDIATELY', cid)
end
elseif talkState[talkUser] == 3 then
if getPlayerStorageValue(cid, 40003) == 1 then
if msgcontains(msg, 'carrion worm') then
selfSay('I have no idea what is this creature, can come down and kill for me?', cid)
talkState[talkUser] = 4
end
end
elseif talkState[talkUser] == 4 then
if msgcontains(msg, 'yes') then
selfSay('Scroll down to the basement andkill 5 these such carrion worm, when finish remember me of return the {Heron}.', cid)
setPlayerStorageValue(cid, 40500, 1)
talkState[talkUser] = 5
doSendMagicEffect(pos, 56)
doSendMagicEffect(pos, 55)
elseif msgcontains(msg, 'no') then
selfSay('Then, GET OUT IMMEDIATELY', cid)
end
elseif talkState[talkUser] == 5 then
if msgcontains(msg, 'Heron') then
if getPlayerStorageValue(cid, 40501) >= 1 then
local item = doPlayerAddItem(cid, 2120, 1)
doSetItemActionId(item, 6587)
doPlayerAddItem(cid, cfg.reward, cfg.count)
selfSay('Okay, here\'s the rope it, and for helping me with the infestation here you are '.. cfg.count ..' '.. getItemNameById(cfg.reward) ..'.', cid)
setPlayerStorageValue(cid, 40004, 1)
talkState[talkUser] = 0
else
selfSay('You didn\'t kll the carrion worm my basement.', cid)
end
end
end
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Darwin
Vá em data/npc, crie uma arquivo XML com o nome de Darwin adicione isso -
<?xml version="1.0" encoding="UTF-8"?> <npc name="Darwin" script="data/npc/scripts/Darwin.lua" walkinterval="25" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="328" head="114" body="0" legs="0" feet="0" addons="0" /> <parameters> <parameter key="message_greet" value="Oh! Who are you? How'd you find me? What do you want?"/> <parameter key="message_walkaway" value="Hey Hey, where you go ?"/> <parameter key="message_farewell" value="Bye bye!"/> </parameters> </npc>
Ainda na pasta NPC, vá na pasta scripts, crie um arquivo .lua com o nome de Darwin e adicione isso -
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
if msgcontains(msg, 'fang') then
if getPlayerStorageValue(cid, 40002) == 1 then
if getPlayerItemCount(cid, 11192) >= 1 then
selfSay('Let me see what you got there...', cid)
selfSay('Ours is a fang and so much... Looks like you\'re with some infestations {carrion worm}. Finish with them as soon as possible.', cid)
doPlayerRemoveItem(cid, 11192, 1)
setPlayerStorageValue(cid, 40003, 1)
else
selfSay('Fang? What fang? You have nothing.', cid)
end
else
selfSay('Who sent you?', cid)
end
end
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Funcionando 100%
Créditos - Giovani Rodrigo









