Ir para conteúdo
  • Cadastre-se

Normal NPC de barco que checa Addon


Posts Recomendados

Olá, gostaria de ajuda para fazer com que meu NPC cheque se o personagem possuir o addon X, caso não possua, não poderá viajar.

Seria assim:

 

Greetings:

Olá, com meu barco você pode {viajar} para Golduck e caçar caninos extremamente fortes! Mas para isso, você precisará {provar} que é capaz de sobreviver por lá.

 

  • Caso o player possua o addon e use o comando {viajar}, ele é teleportado para a ilha.
  • Caso o player não possua o addon e use o comando {viajar}, ele é respondido com a seguinte mensagem:

        "Você ainda não provou ser capaz de sobreviver naquele frio. Ainda deseja saber como {provar} isto?"

 

  • Caso o player use o comando {provar}, ele é respondido com a seguinte mensagem(no greetings e na ocasião anterior):

         "Para sobreviver naquelas terras frias, você precisará de uma roupa especial. Meu amigo Joe pode te ajudar com isso."

 

O addon é o Norseman e o tipo de viagem é a seguinte:

local freyaKeyword = keywordHandler:addKeyword({'viajar'}, StdModule.travel, {npcHandler = npcHandler, premium = true, cost = 580, msg = "Boa caçada, irmão.", destination = Position(360, 1853, 7)})

580gps e apenas para VIPs.

 

 

 

Pesquisando consegui solucionar meu problema. Podem fechar o tópico.

 

Master yourself, master the enemy.

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Bom você disse addon, mas acho que quis dizer outfit.

Fiz uma implementação do que você queria, caso tenha algum erro ou queira algo mais é só falar.

 

Demonstração (Exibe que a conta não é Premium, mas ela é)

 

Spoiler

NPC_outfit_travel.thumb.gif.257f19cc7b59c238931887b1a3ca8e2b.gif

 

Script

 

Spoiler

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

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

local node2 = keywordHandler:addKeyword({'provar'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Para sobreviver naquelas terras frias, você precisará de uma roupa especial. Meu amigo Joe pode te ajudar com isso.'})

local function creatureSayCallback(cid, type, msg)
    if not npcHandler:isFocused(cid) then
        return false
    end
    
    local player = Player(cid)

    if not player:isPlayer() then
        return false
    end

    if msgcontains(msg, "viajar") then
        if player:getPremiumDays() < 1 then
            npcHandler:say("Você precisa ser premium.", cid)
            return false
        end

        if not player:hasOutfit(251) and not player:hasOutfit(252) then
            npcHandler:say("Você ainda não provou ser capaz de sobreviver naquele frio. Ainda deseja saber como {provar} isto?", cid)
            return false
        end

        if player:removeMoney(580) then
            npcHandler:say("Boa caçada, irmão.", cid)
            npcHandler:releaseFocus(cid)
            player:teleportTo(Position(109, 360, 6))
        end
    end

    return true
end

npcHandler:setMessage(MESSAGE_GREET, 'Olá, com meu barco você pode {viajar} para Golduck e caçar caninos extremamente fortes! Mas para isso, você precisará {provar} que é capaz de sobreviver por lá.')
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

Link para o post
Compartilhar em outros sites
Em 24/12/2017 em 13:17, Skydrowz disse:

Pesquisando consegui solucionar meu problema. Podem fechar o tópico.

 

 

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites
  • 5 years later...

Esse codigo nao esta funcionando. O que tem de errado?

 

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

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

local function creatureSayCallback(cid, type, msg)
    if not npcHandler:isFocused(cid) then
        return false
    end
    
    local player = Player(cid)

    if not player:isPlayer() then
        return false
    end

    if msgcontains(msg, "sail") then

        if player:hasOutfit(153) and player:hasOutfit(157) then
            npcHandler:say("Voce não pode, voce é da classe X.", cid)
            return false
        end

        if player:removeMoney(50) then
            npcHandler:say("Good luck.", cid)
            npcHandler:releaseFocus(cid)
            player:teleportTo(Position(144, 1252, 6))
        end
    end

    return true
end

npcHandler:setMessage(MESSAGE_GREET, 'Olá, com meu barco você pode {sail} para x.')
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Link para o post
Compartilhar em outros sites
10 horas atrás, Vorkhon disse:

Esse codigo nao esta funcionando. O que tem de errado?

 



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

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

local function creatureSayCallback(cid, type, msg)
    if not npcHandler:isFocused(cid) then
        return false
    end
    
    local player = Player(cid)

    if not player:isPlayer() then
        return false
    end

    if msgcontains(msg, "sail") then

        if player:hasOutfit(153) and player:hasOutfit(157) then
            npcHandler:say("Voce não pode, voce é da classe X.", cid)
            return false
        end

        if player:removeMoney(50) then
            npcHandler:say("Good luck.", cid)
            npcHandler:releaseFocus(cid)
            player:teleportTo(Position(144, 1252, 6))
        end
    end

    return true
end

npcHandler:setMessage(MESSAGE_GREET, 'Olá, com meu barco você pode {sail} para x.')
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

if player:hasOutfit(153) and player:hasOutfit(157) then

Troca pra 

 

if not player:hasOutfit(153) and not player:hasOutfit(157) then

 

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

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

local function creatureSayCallback(cid, type, msg)
    if not npcHandler:isFocused(cid) then
        return false
    end
    
    local player = Player(cid)

    if not player:isPlayer() then
        return false
    end

    if msgcontains(msg, "sail") then
        if player:hasOutfit(153) and player:hasOutfit(157) then
			if player:removeMoney(50) then
				npcHandler:say("Good luck.", cid)
				npcHandler:releaseFocus(cid)
				player:teleportTo(Position(32227, 31756, 7))
			else
				npcHandler:say("Nao tem dinheiro.", cid)
				npcHandler:releaseFocus(cid)
			end
		else
			npcHandler:say("Voce não pode, voce é da classe X.", cid)
			npcHandler:releaseFocus(cid)
		end
	end
	
    return true
end

npcHandler:setMessage(MESSAGE_GREET, 'Olá, com meu barco você pode {sail} para x.')
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Editado por Fabi Marzan (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo