Ir para conteúdo
  • Cadastre-se

Posts Recomendados

  • Respostas 10
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Tive de mudar o nome de "refiner" para "normal refiner", também corrigi alguns erros que deixei passar.    

Posted Images

49 minutos atrás, So volto tarde disse:

Prefere o shopwindow ou pela propria interação do NPC?

pela própria interação do npc seria mais facil pra mim xd

Link para o post
Compartilhar em outros sites

Sendo assim: 

 

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:lower())   end
function onThink()                  npcHandler:onThink()                  end
local talkState = {}
 
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 config = {
        refinerid = 8301,
        qtdrefinerid = 100,
        
        grefinerid = 8303,
        qtdgrefinerid = 125,
        
        urefinerid = 8299,
        qtdurefinerid = 150,
        
        coinref = 9970,
        coingref = 2147,
        coinuref = 2144
    }
    
    if (msgcontains(msg, "refiner")) then
        selfSay('msg confirmação refiner? {yes}', cid)
        talkState[talkUser] = 1
    elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
    if (getPlayerItemCount(cid, config.coinref) >= config.qtdrefinerid) then
            doPlayerRemoveItem(cid, config.coinref, config.qtdrefinerid)
            doPlayerAddItem(cid, config.refinerid, 1)
            talkState[talkUser] = 0
            selfSay('troca completa msg refiner', cid)
        else
            selfSay('voce nao tem '..config.coinref..' '..getItemNameById(config.refinerid), cid)
            talkState[talkUser] = 0
        end
        end
        
    if (msgcontains(msg, "great refiner")) then
        selfSay('msg confirmação great refiner? {yes}', cid)
        talkState[talkUser] = 2
    elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then
    if (getPlayerItemCount(cid, config.coingref) >= config.qtdgrefinerid) then
            doPlayerRemoveItem(cid, config.coingref, config.qtdgrefinerid)
            doPlayerAddItem(cid, config.grefinerid, 1)
            talkState[talkUser] = 0
            selfSay('troca completa msg great refiner', cid)
        else
            selfSay('voce nao tem '..config.coingref..' '..getItemNameById(config.grefinerid), cid)
            talkState[talkUser] = 0
        end
        end
        
    if (msgcontains(msg, "ultra refiner")) then
        selfSay('msg confirmação refiner? {yes}', cid)
        talkState[talkUser] = 3
    elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then
    if (getPlayerItemCount(cid, config.coinuref) >= config.qtdurefinerid) then
            doPlayerRemoveItem(cid, config.coinuref, config.qtdurefinerid)
            doPlayerAddItem(cid, config.urefinerid, 1)
            talkState[talkUser] = 0
            selfSay('troca completa msg refiner', cid)
        else
            selfSay('voce nao tem '..config.coinuref..' '..getItemNameById(config.urefinerid), cid)
            talkState[talkUser] = 0
        end
        end
        
        
   return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Todos os valores estão no array "config", em caso de erros ou duvidas só postar um tópico. Caso necessite, o xml em que usei para testes foi este:

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
<npc name="testes" script="testes.lua" walkinterval="0" floorchange="0">
    <health now="100" max="100"/>
    <look type="678" head="20" body="39" legs="45" feet="7" addons="0"/>
    <parameters>
        <parameter key="message_greet" value="a"/>    
    </parameters>
</npc>

 

Link para o post
Compartilhar em outros sites
9 horas atrás, So volto tarde disse:

Sendo assim: 

 

  Ocultar conteúdo

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:lower())   end
function onThink()                  npcHandler:onThink()                  end
local talkState = {}
 
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 config = {
        refinerid = 8301,
        qtdrefinerid = 100,
        
        grefinerid = 8303,
        qtdgrefinerid = 125,
        
        urefinerid = 8299,
        qtdurefinerid = 150,
        
        coinref = 9970,
        coingref = 2147,
        coinuref = 2144
    }
    
    if (msgcontains(msg, "refiner")) then
        selfSay('msg confirmação refiner? {yes}', cid)
        talkState[talkUser] = 1
    elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
    if (getPlayerItemCount(cid, config.coinref) >= config.qtdrefinerid) then
            doPlayerRemoveItem(cid, config.coinref, config.qtdrefinerid)
            doPlayerAddItem(cid, config.refinerid, 1)
            talkState[talkUser] = 0
            selfSay('troca completa msg refiner', cid)
        else
            selfSay('voce nao tem '..config.coinref..' '..getItemNameById(config.refinerid), cid)
            talkState[talkUser] = 0
        end
        end
        
    if (msgcontains(msg, "great refiner")) then
        selfSay('msg confirmação great refiner? {yes}', cid)
        talkState[talkUser] = 2
    elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then
    if (getPlayerItemCount(cid, config.coingref) >= config.qtdgrefinerid) then
            doPlayerRemoveItem(cid, config.coingref, config.qtdgrefinerid)
            doPlayerAddItem(cid, config.grefinerid, 1)
            talkState[talkUser] = 0
            selfSay('troca completa msg great refiner', cid)
        else
            selfSay('voce nao tem '..config.coingref..' '..getItemNameById(config.grefinerid), cid)
            talkState[talkUser] = 0
        end
        end
        
    if (msgcontains(msg, "ultra refiner")) then
        selfSay('msg confirmação refiner? {yes}', cid)
        talkState[talkUser] = 3
    elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then
    if (getPlayerItemCount(cid, config.coinuref) >= config.qtdurefinerid) then
            doPlayerRemoveItem(cid, config.coinuref, config.qtdurefinerid)
            doPlayerAddItem(cid, config.urefinerid, 1)
            talkState[talkUser] = 0
            selfSay('troca completa msg refiner', cid)
        else
            selfSay('voce nao tem '..config.coinuref..' '..getItemNameById(config.urefinerid), cid)
            talkState[talkUser] = 0
        end
        end
        
        
   return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Todos os valores estão no array "config", em caso de erros ou duvidas só postar um tópico. Caso necessite, o xml em que usei para testes foi este:

  Ocultar conteúdo

<?xml version="1.0" encoding="UTF-8"?>
<npc name="testes" script="testes.lua" walkinterval="0" floorchange="0">
    <health now="100" max="100"/>
    <look type="678" head="20" body="39" legs="45" feet="7" addons="0"/>
    <parameters>
        <parameter key="message_greet" value="a"/>    
    </parameters>
</npc>

 

Cara, digamos que tenha funcionado 50% kkkkk. Talvez eu não tenho configurado corretamenteo! (sou novo nisso)

Enfim, eu consegui comprar o Refiner, mas o Great ou o Ultra não deu.

 

 

npc.thumb.png.bb02bbc09dd9c20b61caf14303f4aacc.png

 

 

Link para o post
Compartilhar em outros sites

Tive de mudar o nome de "refiner" para "normal refiner", também corrigi alguns erros que deixei passar.

 

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:lower())   end
function onThink()                  npcHandler:onThink()                  end
local talkState = {}
 
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 config = {
        refinerid = 8301,
        qtdrefinerid = 100,
        
        grefinerid = 8303,
        qtdgrefinerid = 125,
        
        urefinerid = 8299,
        qtdurefinerid = 150,
        
        coinref = 9970,
        coingref = 2147,
        coinuref = 2144
    }
    
    if (msgcontains(msg, "normal refiner")) then
        selfSay('msg confirmação refiner? {yes}', cid)
        talkState[talkUser] = 1
    elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
    if (getPlayerItemCount(cid, config.coinref) >= config.qtdrefinerid) then
            doPlayerRemoveItem(cid, config.coinref, config.qtdrefinerid)
            doPlayerAddItem(cid, config.refinerid, 1)
            talkState[talkUser] = 0
            selfSay('troca completa msg refiner', cid)
        else
            selfSay('voce nao tem '..config.qtdrefinerid..' '..getItemNameById(config.coinref), cid)
            talkState[talkUser] = 0
        end
        end
        
    if (msgcontains(msg, "great refiner")) then
        selfSay('msg confirmação great refiner? {yes}', cid)
        talkState[talkUser] = 2
    elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then
    if (getPlayerItemCount(cid, config.coingref) >= config.qtdgrefinerid) then
            doPlayerRemoveItem(cid, config.coingref, config.qtdgrefinerid)
            doPlayerAddItem(cid, config.grefinerid, 1)
            talkState[talkUser] = 0
            selfSay('troca completa msg great refiner', cid)
        else
            selfSay('voce nao tem '..config.qtdgrefineridf..' '..getItemNameById(config.coingref), cid)
            talkState[talkUser] = 0
        end
        end
        
    if (msgcontains(msg, "ultra refiner")) then
        selfSay('msg confirmação refiner? {yes}', cid)
        talkState[talkUser] = 3
    elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then
    if (getPlayerItemCount(cid, config.coinuref) >= config.qtdurefinerid) then
            doPlayerRemoveItem(cid, config.coinuref, config.qtdurefinerid)
            doPlayerAddItem(cid, config.urefinerid, 1)
            talkState[talkUser] = 0
            selfSay('troca completa msg refiner', cid)
        else
            selfSay('voce nao tem '..config.qtdurefinerid..' '..getItemNameById(config.coinuref), cid)
            talkState[talkUser] = 0
        end
        end
        
        
   return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

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 guiferr
      Alguem me ensina a descompilar as sprites do ot pokemon ou me manda ela atualiazada 2023? por favor
       
    • Por ArisenCodex
      Olá galera do TK, após um bom tempo parado resolvi voltar a me aventurar nesse mundo de arte digital, dessa vez não me limitando apenas ao estilo original do Tibia, estarei postando aqui as sprites/pixel arts que eu for criando, aceito críticas construtivas e sugestões desde colaborem para meu desenvolvimento. Inicialmente estarei fazendo pixel art/sprites simples e vou aumentando a qualidade conforme for evoluindo, enfim, espero que gostem.
       
      Uma casca de banana
      Uma roda de queijo cortada (sei que essa precisa de mais polimento, mas por enquanto é oque consigo fazer)
      Estarei atualizando o post conforme mais pixel art/sprites forem sendo criadas.?️
    • Por Foxy0
      Estou pensando em criar um ndbo, andei estudando como meche com sources,mapa,programaçao etc mais estou sem sprites queria sprites de ndbo para adicionar em meu servidor!, se alguem poder doar algumas sprites agradeço ( um client esta otimo  so quero algumas vocaçoes )
       
    • Por Anonymus Sprite
      Salve galera vi que tem pessoas vendendo esses programas que pega SPRITES de qualquer servidor sao 2 programas q estrao de graça, vim trazer informações de como usá-los fiz um video com tudo q precisa espero q gostem !!! ?                                                                                                                                                                              
      https://www.youtube.com/watch?v=AjRg2SPteNQ  
    • Por zGiovani
      Olá pessoal, mais uma vez venho aqui na intenção de ajudar a galera que está quebrando a cabeça como eu quebrei...
       
       
      Procurei vários videos e comunidades e não encontrei como resolver esse bug de quando importava as novas montarias ou itens no assets editor ele não funcionava no jogo, mesmo estando tudo configurado certinho.
       
       
      Uma Maneira rápida e simples de explicação é:
       
       
      Depois de adicionado e configurado o item, montaria, monstro ou Addon;
      De um compile no Assets Editor
      Abra a pasta do seu client
      Abra a pasta Assets do seu client
      Localize o arquivo parecido ou igual a esse: "appearances-57a4033d729f0cc94a3699172abb36d232cb8cd3babfb738e7cab08b475d3ccf.dat"
      Copie ele e cole na pasta do seu: server/data/items
      Renomeie o arquivo para:  appearances.dat
       
      Problema Resolvido, espero ter ajudado
       
       
       
      VIDEO TUTORIAL
       
       
      Quem puder dar uma força la no canal, será bem vindo!
       
       
      Desculpa se postei no lugar errado, a intenção é ajudar...
  • Estatísticas dos Fóruns

    96840
    Tópicos
    519577
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo