Ir para conteúdo

Featured Replies

Postado

Bom gente eu tenho esse NPC aqui, ele seria um NPC de quest em que o player tem que pegar alguns items e entregar pro NPC. 

O Npc aparece no jogo, da pra abrir ele no RME e tudo. PORÈM quando vai falar com ele vocÊ fala "Hi" ai ele fala "Welcome, to expengin you."(algo assim n lembro ç.ç ) e não fala mais nada. 

E essa fala "Welcome to..." nem ta no script do NPc '------' alguém poderia arrumar? (Se expliquei muito confuso, malz ae '--') 

 

XML do NPC:::

<?xml version="1.0"?>
<npc name="Marlon" script="marlon.lua" walkinterval="2000">
  <health now="200" max="200" />
<look type="614" head="0" body="114" legs="94" feet="0" addons="3"/>
  <parameters>
  </parameters>
</npc>

 

 

LUA do NPC::: 

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 doCreatureSayWithDelay(cid,text,type,delay,e)
if delay<=0 then
doCreatureSay(cid,text,type)
else
local func=function(pars)
doCreatureSay(pars.cid,pars.text,pars.type)
pars.e.done=TRUE
end
e.done=FALSE
e.event=addEvent(func,delay,{cid=cid, text=text, type=type, e=e})
end
end


function cancelNPCTalk(events)
local ret=1
for aux=1,table.getn(events) do
if events[aux].done==FALSE then
stopEvent(events[aux].event)
else
ret=ret+1
end
end
events=nil
return(ret)
end


function doNPCTalkALot(msgs,interval)
local e={}
local ret={}
if interval==nil then interval=3000 end --3 seconds is default time between messages
for aux=1,table.getn(msgs) do
e[aux]={}
doCreatureSayWithDelay(getNpcCid(),msgs[aux],TALKTYPE_PRIVATE_NP,(aux-1)*interval,e[aux])
table.insert(ret,e[aux])
end
return(ret)
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, 'Hi') or msgcontains(msg, 'oi')) and getPlayerStorageValue(cid,1001) == -1 then
selfSay('Ola, poderia me ajudar recolhendo alguns itens pra minha lojinha?', cid)
talkState[talkUser] = 1


elseif(msgcontains(msg, 'Hi') or msgcontains(msg, 'oi')) and getPlayerStorageValue(cid,1003) == 1 then
selfSay('Ola, Em que posso ajudar?', cid)


elseif((msgcontains(msg, 'No') or msgcontains(msg, 'nao')) and talkState[talkUser] == 1) then
selfSay('Ok entao. Bye!', cid)
talkState[talkUser] = 0


elseif((msgcontains(msg, 'Yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1) then
selfSay('Ok, recolha para mim {13 pair of leaves} que pode ser encontrada com {oddish} e {13 Sandbags} que pode ser encontradas com {diglett}. Boa Sorte!', cid)


talkState[talkUser] = 0
doSendMagicEffect(getPlayerPosition(cid), 13)
setPlayerStorageValue(cid, 1001, 1)
setPlayerStorageValue(cid, 1002, 1)


elseif(msgcontains(msg, 'Hi') or msgcontains(msg, 'oi')) and getPlayerStorageValue(cid,1002) == 1 then
selfSay('Conseguiu recolher os itens?', cid)
talkState[talkUser] = 2




elseif(msgcontains(msg, 'Yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 2 and getPlayerItemCount(cid, 12155) < 13 and getPlayerItemCount(cid, 12177) < 13 then
selfSay('Voce ainda nao tem todos os itens necessarios.', cid)
talkState[talkUser] = 0




elseif((msgcontains(msg, 'No') or msgcontains(msg, 'nao')) and talkState[talkUser] == 2) then
selfSay('Entao vai la buscar.', cid)
talkState[talkUser] = 0




elseif(msgcontains(msg, 'Yes') or msgcontains(msg, 'sim')) and getPlayerStorageValue(cid,1002) == 1 and talkState[talkUser] == 2 and getPlayerItemCount(cid, 12155) == 13 and getPlayerItemCount(cid, 12177) == 13 then
selfSay('Muito obrigado, aqui está seu premio!', cid)


doSendMagicEffect(getPlayerPosition(cid), 49)
doPlayerAddItem(cid,11441, 1)
doPlayerAddItem(cid,11451, 1)
doPlayerRemoveItem(cid, 12155, 13)
doPlayerRemoveItem(cid, 12177, 13)
setPlayerStorageValue(cid, 1002, -1)
setPlayerStorageValue(cid, 1003, 1)




end
return TRUE
end




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

 

 

REP+ pra quem ajudar e.e 

 

Atensiosamente, Gabriel L.

  • Respostas 6
  • Visualizações 528
  • Created
  • Última resposta

Top Posters In This Topic

Postado

Troca 

 

<?xml version="1.0"?>

<npc name="Marlon" script="marlon.lua" walkinterval="2000">

 

por

<?xml version="1.0"?>
<npc name="Marlon" script="data/npc/scripts/marlon.lua" walkinterval="0" floorchange="0">

ve se da certo, se dão algum erro na distro manda.

Editado por nazesaria (veja o histórico de edições)

Discord: Naze#3578

 

Ter Linux Dentro de Windows com Acesso 'localhost' para testes e +

AutoLoot Otimizado Direto na Source (tfs 0.4/otx)

 

// Pirataria é crime, original é roubo, compartilhar é legal.

 

tumblr_muk78tEwDQ1qah4nko1_500.gif

Postado
  • Autor

Troca 

 

por

<?xml version="1.0"?>
<npc name="Marlon" script="data/npc/scripts/marlon.lua" walkinterval="0" floorchange="0">

ve se da certo, se dão algum erro na distro manda.

Ele continua falando Marlon: Welcome, Biel! I have been expecting you. em vez das falas propostas no script :( 

Atensiosamente, Gabriel L.

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.9k

Informação Importante

Confirmação de Termo