Ir para conteúdo
  • Cadastre-se

Posts Recomendados

preciso de uma action simples, se o player estiver com tal storage exatamente aquele estorage acontece algo.

Estou tentando algo assim mas não vai.

 

if getPlayerStorageValue(cid, 10001) and msgcontains(msg, 'ajudar') then
selfSay('Sai pra la', cid)
end 

 

Link para o post
Compartilhar em outros sites

Se o player tiver x storage "falar"

 

 if msgcontains(msg, "ajudar") and (getPlayerStorageValue(cid, 10001) == 1) then
  selfSay("Sai pra la!", cid)
  
  

 

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

Scriptszinhos:

 

Não abandone seu tópico, quando você tiver a dúvida resolvida sozinho tente ensinar aos outros como resolve-la (você pode não ser o único com o problema) e quando ela for resolvida por outra pessoa não se esqueça de marcar como melhor resposta e deixar o gostei.

Link para o post
Compartilhar em outros sites

vou testar aqui

 

Testei aqui mas não foi vo tentar explicar com calma oque quero.

 

preciso de um npc que quando o cara fala com ele a 1x ele da um storage pra o player 10001, agora se o player já estiver com esse storage 10001 ai ele nao vai dar o storage 10001 de novo pra ele, so pega uma vez. 
tenho isso aqui que eu fiz.

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, 'sim') then
if (getPlayerStorageValue(cid,10000) > 0)  then
selfSay('Eu ja falei com você, vá atras do {Mago Berlino} e descubra oque ele esta fazendo...', cid) else
doSendMagicEffect(getCreaturePosition(cid), 30)
setPlayerStorageValue(cid,10001)
selfSay('Ouvi falar que na montanha mais alta dos ogros vive o Mago Berlino, dizem que esse mago esta tramando alguma coiza para acabar com venture presizo que você vá la {investigar} oque esta acontecendo e me traga um {relatorio}.', cid)
end end

end

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

ai quando ele ganhar o storage 10001 ele vai la falar com otro npc.

O outro npc só fala com ele se ele estiver com o storage 10001 se não ele fala que não tem permissão pra falar com ele.

 

Aqui está meu outro 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 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, 'sim') then
if (getPlayerStorageValue(cid,10001) < 0) then
selfSay('Eu não tenho permissão para falar com você...', cid) else
selfSay('Esse Lucios vive falando que eu sou um mago mal, mas não é bem por ai.', cid)
selfSay('Faço meus experimentos para sempre melhorar a qualidade de vida e o balanço da natureza aqui em venture..', cid)
selfSay('Falando nisso você poderia me {ajudar} com algumas tarefinhas? posso te dar alguma coiza em troca no final disso.', cid)
end return true end 

if msgcontains(msg, "ajudar") and (getPlayerStorageValue(cid, 10001) == 1) then
selfSay("Sai pra la!", cid)
end

end

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

 

Link para o post
Compartilhar em outros sites

01:

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 msg = msg:lower()

    if msgcontains(msg, 'sim') then
        if (getPlayerStorageValue(cid, 10001) > 0) then
            selfSay('Eu já falei com você, vá até o {Mago Berlino} e descubra o que ele está fazendo.', cid)
        else
            doSendMagicEffect(getCreaturePosition(cid), 30)
            setPlayerStorageValue(cid, 10001, 1)
            selfSay('Ouvi falar que na montanha mais alta dos ogros vive o {Mago Berlino}, dizem que esse mago está tramando alguma coisa para acabar com venture, preciso que você vá {investigar} o que esta acontecendo e me traga um {relatório}.', cid)
        end
    end
end

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

02:

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 msg = msg:lower()

    if msgcontains(msg, 'sim') then
        if (getPlayerStorageValue(cid, 10001) == 0) then
            selfSay('Esse Lucios vive falando que eu sou um mago mau, mas não é bem por ai.', cid)
            selfSay('Faço meus experimentos para sempre melhorar a qualidade de vida e o balanço da natureza aqui em venture..', cid)
            selfSay('Falando nisso você poderia me {ajudar} com algumas tarefinhas? Irei recompensa-lo no final.', cid)
            talkState[talkUser] = 1
        else
            selfSay('Eu não tenho permissão para falar com você.', cid)
        end
    elseif msgcontains(msg, 'ajudar') then
        if talkState[talkUser] == 1 then
            if (getPlayerStorageValue(cid, 10001) == 1) then
                selfSay('Tarefa, blablabla', cid)
            end
        end
    end
end

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

Use o exemplo do talkState e tente criar sua quest, se tiver alguma dúvida, pode perguntar.

Link para o post
Compartilhar em outros sites

vlw man vo testar, muito obrigado pela paciência dês de já.

Mano se liga o qeu significa isso

 

if (getPlayerStorageValue(cid, 10001) == 0) then

 

== 0 significa que e exatamente 10001 ?

 

e oque significa isso 

 

setPlayerStorageValue(cid, 10001, 1)

 

esse ,1) quer isso ai ele adiciona +1 no storage 10001 ? pra ficar 10002 ? e isso ou ele afirma tipo o storag 10001 é rela agora ? não entendi isso :( queria entender pra nao encher mais o saco.

Ixi mano nao vai :(

1.jpg

coloquei == 0 no 2 script e foi vo ver aq oq faço

fiz isso mas nao esta dando :(
 

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 msg = msg:lower()

    if msgcontains(msg, 'sim') then
        if (getPlayerStorageValue(cid, 10001) == 0) then
            selfSay('Esse Lucios vive falando que eu sou um mago mau, mas não é bem por ai.', cid)
            selfSay('Faço meus experimentos para sempre melhorar a qualidade de vida e o balanço da natureza aqui em venture..', cid)
            selfSay('Falando nisso você poderia me {ajudar} com algumas tarefinhas? Irei recompensa-lo no final.', cid)
            talkState[talkUser] = 1
        else
            selfSay('Eu não tenho permissão para falar com você.', cid)
        end
    elseif msgcontains(msg, 'ajudar') then
        if talkState[talkUser] == 1 then
            if (getPlayerStorageValue(cid, 10001) == 1) then
                selfSay('Precizo de 5 {queijos podres}.', cid)
				
				
				
				
            end
        end
    end
end

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

 

Link para o post
Compartilhar em outros sites

A storage é uma chave que armazena um valor(que é -1 por padrão), no primeiro script a chave 10001 mudou para o valor 1 com a função:

setPlayerStorageValue(cid, 10001, 1)

Depois, no segundo script, a função getPlayerStorageValue(cid, 10001) == 1, checa se o valor da chave 10001 é igual a 1 para realizar a ação.

 

@Darcio Antonio

Link para o post
Compartilhar em outros sites
17 horas atrás, Wakon disse:

01:


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 msg = msg:lower()

    if msgcontains(msg, 'sim') then
        if (getPlayerStorageValue(cid, 10001) > 0) then
            selfSay('Eu já falei com você, vá até o {Mago Berlino} e descubra o que ele está fazendo.', cid)
        else
            doSendMagicEffect(getCreaturePosition(cid), 30)
            setPlayerStorageValue(cid, 10001, 1)
            selfSay('Ouvi falar que na montanha mais alta dos ogros vive o {Mago Berlino}, dizem que esse mago está tramando alguma coisa para acabar com venture, preciso que você vá {investigar} o que esta acontecendo e me traga um {relatório}.', cid)
        end
    end
end

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

02:


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 msg = msg:lower()

    if msgcontains(msg, 'sim') then
        if (getPlayerStorageValue(cid, 10001) == 0) then
            selfSay('Esse Lucios vive falando que eu sou um mago mau, mas não é bem por ai.', cid)
            selfSay('Faço meus experimentos para sempre melhorar a qualidade de vida e o balanço da natureza aqui em venture..', cid)
            selfSay('Falando nisso você poderia me {ajudar} com algumas tarefinhas? Irei recompensa-lo no final.', cid)
            talkState[talkUser] = 1
        else
            selfSay('Eu não tenho permissão para falar com você.', cid)
        end
    elseif msgcontains(msg, 'ajudar') then
        if talkState[talkUser] == 1 then
            if (getPlayerStorageValue(cid, 10001) == 1) then
                selfSay('Tarefa, blablabla', cid)
            end
        end
    end
end

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

Use o exemplo do talkState e tente criar sua quest, se tiver alguma dúvida, pode perguntar.

Amigo seguindo a mesma logica teria como modificar para o 2º npc mandar mantar uma certa quantidade de monstro ? e recolher alguns itens ? 

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