Ir para conteúdo

Featured Replies

Postado

Galera preciso de ajuda, os NPCs do meu servidor não respondem aos comandos, npc de hi, trade é normal , agora se precisar falar com o npc ele não responde mais, alguem pode me ajudar?

  • Respostas 10
  • Visualizações 670
  • Created
  • Última resposta

Top Posters In This Topic

Postado

@Arrazado talves voce esteja errando em algum lugar do script para eles corresponderem a determinada frase, vou dar um exemplo aqui de um npc comum que uso ai.

 

Comece observando o nome do arquivo:

 

vendedorarmadura.XML

Citar

<?xml version="1.0"?>
<npc name="Hideki" script="data/npc/scripts/vendedorarmadura.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="38" head="87" body="0" legs="87" feet="0" addons="3"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME| Eu Posso Lhe Vender Algumas {armaduras} Para Aumentar Sua Defesa, Agilidade . Recuperar Sua Energia, Vida , Entre Outras Coisa, Gostaria De Compra-Las?"/>
</parameters>
</npc>

 

Este seria apenas oque voce tem, um npc comum, mas que nao responde.

 

Agora observe o script deste mesmo npc:

 

vendedorarmadura.LUA

Citar

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 itemid = 2160 -- Novos points ( default é scarab coin )
local shopWindow = {}
local t = {
 [2525] = {price = 7}, -- [ID do item] e o preço que ele irá custar em points.
 [7427] = {price = 13},
 [2400] = {price = 8},
 [8851] = {price = 5},
 [7417] = {price = 13},
 [2397] = {price = 13},
 [2397] = {price = 13},
 [2397] = {price = 13},
 [2397] = {price = 13},
 [2397] = {price = 13},
 [2397] = {price = 13},
 [2397] = {price = 13},
 [2397] = {price = 13}
 }
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
if  t[item] and getPlayerItemCount(cid, itemid) < t[item].price then
selfSay("Voce nao possui "..t[item].price.." O Dinheiro.", cid)
else
doPlayerAddItem(cid, item)
doPlayerRemoveItem(cid, itemid, (t[item].price))
selfSay("Aqui esta seu item", cid)
  end
return true
end
if (msgcontains(msg, 'armaduras') or msgcontains(msg, 'armaduras'))then
for var, ret in pairs(t) do
table.insert(shopWindow, {id = var, subType = 0, buy = ret.price, sell = 0, name = getItemNameById(var)})
end
openShopWindow(cid, shopWindow, onBuy, onSell)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Ai temos oque o npc fas e tudo +, mas a parte que nos iteressa aqui, é a que esta em negrito

Que indica a qual frase o npc vai reagir, no caso se eu falar armaduras para este npc, vai ativar o script,e ele ira responder segundo esta configurado a cima.. claro, cada script com sua funçao.

 

Mas o ponto aonde quero chegar é que procure pela linha dentro do script que defini tudo, que provavelmente seu erro esta ai

 

 

Edit: A Sim, e ja tava me esquecendo, nao esquece de mudar o local do script no .XML no npc, aqui em negrito:

Citar

<?xml version="1.0"?>
<npc name="Hideki" script="data/npc/scripts/vendedorarmadura.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="38" head="87" body="0" legs="87" feet="0" addons="3"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME| Eu Posso Lhe Vender Algumas {armaduras} Para Aumentar Sua Defesa, Agilidade . Recuperar Sua Energia, Vida , Entre Outras Coisa, Gostaria De Compra-Las?"/>
</parameters>
</npc>

 

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

 

                     Projeto    Nto Myth

 

" Eu to disposto a lutar e que se foda todo mundo que duvida que eu vou tocar o terror na porra toda! "

 

 

                                                                                                    bang.gif.bfc77cb73cf3065add6e416ceba6dc90.gif

 

 

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.6k

Informação Importante

Confirmação de Termo