retirado
- Forums
- xTibia - Notícias e Suporte
- Soluções
- Archived
- [Pedido] Npc..
info
Group: Herói
Joined: 20/05/10
Posts: 3.4k
Reputation: +1.5k
Gender: Masculino

Edited Setembro 25 by Vodkart
info
Group: Visconde
Joined: 12/09/10
Posts: 416
Reputation: +160
Tibia Character: Draky Lucas

nao funcionou...
16:05 [Pokeland]Lucas [101]: darkness ball 16:05 Color: you need change you pokeball for darknessball? 16:05 [Pokeland]Lucas [101]: bye 16:05 Color: Good bye, [Pokeland]Lucas! 16:05 [Pokeland]Lucas [101]: hi 16:05 Color: Hello [Pokeland]Lucas, I am sell and buy coins! 16:05 [Pokeland]Lucas [101]: yes 16:05 Color: Please put ball with pokémon and say again.
cara tipo o npc eu sei fazer o problema é que ele se eu digo bye e hi dinovo ele nao volta ao inicio.. ele volta aonde ele tinha parado e eu gostaria que voltasse ao talkstate 0....
plz ajeita =d
olha meu npc como fico mais msmo assim nao volta
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, 'darkness ball') or msgcontains(msg, 'DARKNESS BALL')) then
selfSay('you need change you pokeball for darknessball? ', cid)
talkState[talkUser] = 1
elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'yes') and talkState[talkUser] == 1 ) then
local item = getPlayerSlotItem(cid,8).itemid
if item == nil then
selfSay('put your ball in correct slot and execute this action again!', cid)
talkState[talkUser] = 0
end
if item == 2128 or item == 2654 then
if doPlayerRemoveMoney(cid,350000) then
doTransformItem(getPlayerSlotItem(cid,8).uid,2650)
selfSay('you ball changed.', cid)
talkState[talkUser] = 0
else
selfSay('you need 350 dollars.', cid)
talkState[talkUser] = 0
end
else
selfSay('Please put ball with pokémon and say again.', cid)
talkState[talkUser] = 0
end
elseif msg == "no" and talkState[talkUser] == 1 then
selfSay("ok, fale dinovo mais tarde", cid)
talkState[talkUser] = 0
npcHandler:releaseFocus(cid)
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
info
Group: Herói
Joined: 20/05/10
Posts: 3.4k
Reputation: +1.5k
Gender: Masculino

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, 'darkness ball') or msgcontains(msg, 'DARKNESS BALL')) then
selfSay('you need change you pokeball for darknessball? ', cid)
talkState[talkUser] = 1
elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then
local item = getPlayerSlotItem(cid,8).itemid
if item == nil then
if item == 2128 or item == 2654 then
if doPlayerRemoveMoney(cid,350000) then
doTransformItem(getPlayerSlotItem(cid,8).uid,2650)
selfSay('you ball changed.', cid)
talkState[talkUser] = 0
else
selfSay('you need 350 dollars.', cid)
talkState[talkUser] = 0
end
else
selfSay('Please put ball with pokémon and say again.', cid)
talkState[talkUser] = 0
end
else
selfSay('put your ball in correct slot and execute this action again!', cid)
talkState[talkUser] = 0
end
elseif msg == "no" and talkState[talkUser] >= 1 then
selfSay("ok, fale dinovo mais tarde", cid)
talkState[talkUser] = 0
npcHandler:releaseFocus(cid)
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
obs: eu testei aquele npc que eu fiz e funfo de boa olha
17:32 Alfredo: Ola Vodkart. eu tenho um bola a lhe oferecer. 17:32 Vodkart [150]: bola 17:32 Alfredo: você deseja uma bola? yes 17:32 Vodkart [150]: yes 17:32 Alfredo: Pronto aqui está sua bola!
xD
Edited Setembro 25 by Vodkart
info
Group: Campones
Joined: 04/09/10
Posts: 9
Reputation: 0
Tibia Character: Pino Walker

olha meu topico vodkart por faavor velho. faz mais de uma semana..
http://www.xtibia.com/forum/topic/141362-nova-vocationcom-spell/
info
Group: Visconde
Joined: 12/09/10
Posts: 416
Reputation: +160
Tibia Character: Draky Lucas

vodkart vc nao ta intendendo
funcionar ele funciona normal
o problema é que quando eu do bye ou saiu da tela ele nao volta ao talk_state 0...........
dae se eu falar hi
darkness ball
bye
hi
yes
funciona.. e nao é pa isso ocorrer.. é pa funciona só se for tudo uma vez sem dar bye no meio.....
intendeu agora???
thx
info
Group: Herói
Joined: 20/05/10
Posts: 3.4k
Reputation: +1.5k
Gender: Masculino

aqui no meu funciona olhe:
20:19 Alfredo: Ola Vodkart. eu tenho um bola a lhe oferecer. 20:19 Vodkart [150]: ball 20:19 Alfredo: you need change you pokeball for darknessball? 20:19 Vodkart [150]: bye 20:19 Alfredo: Good bye, Vodkart! 20:19 Vodkart [150]: hi 20:19 Alfredo: Ola Vodkart. eu tenho um bola a lhe oferecer. 20:19 Vodkart [150]: yes 20:20 Vodkart [150]: yes 20:20 Vodkart [150]: yes
a diferença que de "draken ball" eu coloquei só "ball"
info
Group: Visconde
Joined: 12/09/10
Posts: 416
Reputation: +160
Tibia Character: Draky Lucas

peguei lib ors npc original do tfs e msmo assim se eu do bye e hi dinovo ele continua...
ow to com uma duvida..
pq qnd eu uso doTransformItem num npc da crash server?
peguei a base assim olha:
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
-- Conversa Jogador/NPC
if(msgcontains(msg, 'list')) then
selfSay('Eu troco pelas balls: {darkness ball}, {love ball} por 350 dollars cada.', cid)
elseif(msgcontains(msg, 'darkness ball')) then
selfSay('Voc\ê quer comprar Ultrax Cometta Hat por 350 dollars?', cid)
talkState[talkUser] = 1
-- Confirmação da Compra
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(doPlayerRemoveMoney(cid, 350000) == true) then
selfSay('Obrigado por comprar!', cid)
talkState[talkUser] = 0
else
selfSay('Voc\ê n\ão tem 350 dollars.', cid)
talkState[talkUser] = 0
end
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
se eu dexo assim da erro:
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
-- Conversa Jogador/NPC
if(msgcontains(msg, 'list')) then
selfSay('Eu troco pelas balls: {darkness ball}, {love ball} por 350 dollars cada.', cid)
elseif(msgcontains(msg, 'darkness ball')) then
selfSay('Voc\ê quer comprar Ultrax Cometta Hat por 350 dollars?', cid)
talkState[talkUser] = 1
-- Confirmação da Compra
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(doPlayerRemoveMoney(cid, 350000) == true) then
doTransformItem(getPlayerSlotItem(cid,8).uid,2650)
selfSay('Obrigado por comprar!', cid)
talkState[talkUser] = 0
else
selfSay('Voc\ê n\ão tem 350 dollars.', cid)
talkState[talkUser] = 0
end
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
plz help.. =d
Edited Setembro 26 by DrakyLucas



info
Group: Visconde
Joined: 12/09/10
Posts: 416
Reputation: +160
Tibia Character: Draky Lucas
iae galerinha do xtibia..
tipo gente eu to tentando faze npc aki mais nao ta dando mto certo... entao vou recorrer ao xtibia..
tipo alguem pode fazer um npc simples pa mim e dps eu modifico como eu kero ake?
faz um com umas 5 ou 6 falas..
versao: 8.54 - tfs 0.3.6 crying danson...
dados:
nao é de venda..
faz tipo o player falar:
tipo só faz assim que eu modifico aki em ksa tudo certim...
eu ateh consegui fazer mais por exemplo chega nessa hora:
e eu digito bye, qnd dou hi dinovo ele volta nessa msma hora e eu gostaria que voltasse ao inicio do script =/
alguem ajuda plz =d
THX