Ir para conteúdo
  • 0

Npc Acho Q É Simples


Pergunta

queria um npc que ele troca um X item por um teleport e exp..EX:

 

o cara fala com o npc e ele vai fala asim "Ola se vc min de Xitem eu posso te dar uma exp e te manda para o local corredo"

 

valendo rep +

Link para o comentário
https://xtibia.com/forum/topic/193226-npc-acho-q-%C3%A9-simples/
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

local pos = {x=152,y=58,z=7} -- Pos para onde o player sera levado
local itemid = 2468 -- Id do item que vai ser removido do player
locao expGain = 1000 -- Quantidade de experiência que o player irá ganhar.

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

   if msgcontains(msg, "offer") or msgcontains(msg, "help") then
       selfSay("Eu posso te levar a TAL lugar por um "..getItemNameById(itemid).." item, fale {travel} se quizer viajar.", cid)
       talkState[cid] = 0
   elseif msgcontains(msg, 'travel') then
      if doPlayerRemoveItem(cid, itemid, 1) then
       selfSay("Boa viagem.", cid)
    doTeleportThing(cid, pos)
    doPlayerAddExp(cid, expGain)
    else
    selfSay("Voce nao tem o item nescessario.", cid)
    end
    end
    return TRUE   
    end


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

 

 

Editei o código do tópico que foi lhe passado, adicionando mais duas linhas.

Uma com a declaração da variável "expGain", que é onde você irá a experiência que o player irá ganhar.

E a outra coisa, é a função que dá a experiência ao player após o mesmo ser teleportado. :)

Link para o comentário
https://xtibia.com/forum/topic/193226-npc-acho-q-%C3%A9-simples/#findComment-1330009
Compartilhar em outros sites

  • 0

amigo achei um bug no distro:

 

 

[08/09/2012 23:00:21] [Error - LuaScriptInterface::loadFile] data/npc/scripts/Smalker.lua:8: '=' expected near 'expGain'

[08/09/2012 23:00:21] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/Smalker.lua

[08/09/2012 23:00:21] data/npc/scripts/Smalker.lua:8: '=' expected near 'expGain'

 

tem como arruma meu serve é 8.54 poketibia

Link para o comentário
https://xtibia.com/forum/topic/193226-npc-acho-q-%C3%A9-simples/#findComment-1335244
Compartilhar em outros sites

  • 0

Só arrumar uma linha:

 

Substitui essa:

 

locao expGain = 1000 -- Quantidade de experiência que o player irá ganhar.

 

Por essa:

 

local expGain = 1000 -- Quantidade de experiência que o player irá ganhar.

 

Script do NPC corrigido:

 

 

  Mostrar conteúdo oculto

 

Editado por LuckOake
Link para o comentário
https://xtibia.com/forum/topic/193226-npc-acho-q-%C3%A9-simples/#findComment-1335252
Compartilhar em outros sites

×
×
  • Criar Novo...