Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá, no meu server eu tenho um NPC que vende 3 items chamados de, "refiner", "great refiner" e "ultra refiner". Como o próprio nome diz ele é usado para refinar armas. Enfim, esse NPC vende os refiner por gold's mas queria que ele vendesse por esmeraldas. (que é obtida no sistema de minério que eu coloquei no server)

 

Vou deixar aqui os preços e o ID de cada item.

 

Refiner ID 8301, Gostaria que o NPC cobrasse o valor de 100 esmeraldas ID 9970

 

Great Refiner ID 8303, Gostaria que o NPC cobrasse o valor de 125 esmeraldas ID 2147

 

Ultra Refiner ID 8299, Gostaria que o NPC cobrasse o valor de 150 esmeraldas ID 2144

 

 

 

AGRADEÇO DESDE JÁ<3

 

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

Manda o script do npc ai

Ele não tem um script! está como default.

 

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Ferreiro" script="default.lua" walkinterval="0">
    <health now="100" max="100"/>
    <look type="833"/>
    <parameters>
        <parameter key="module_shop" value="1"/>
        <parameter key="message_greet" value="Olá, |PLAYERNAME|! Eu vendo Refiner. Diga {Trade}."/>
        <parameter key="shop_buyable" value="Refiner,8301,5000000;Great Refiner,8303,10000000;Ultra Refiner,8299,15000000"/>
    </parameters>
</npc>

 

Link para o post
Compartilhar em outros sites
  • Moderador
Spoiler

local temple = {x=44,y=151,z=8}
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 storage = 23254
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
local shopWindow = {}
local moeda = 2145
local t = {
          [11499] = {price = 10}, -- [ID DO ITEM QUE SERÁ VENDIDO] = {QUANTO IRÁ CUSTAR}
          [2495] = {price = 100},
          }
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
        if  t[item] and not doPlayerRemoveItem(cid, moeda, t[item].price) then
                  selfSay("você não tem "..t[item].price.." "..getItemNameById(moeda), cid)
                         else
                doPlayerAddItem(cid, item)
                selfSay("aqui está seu item!", cid)
                 setPlayerStorageValue(cid, 23254,0)
           end
        return true
end
if (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))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())

Encontrei este shopwindow aqui pelo fórum. não sei se é funcional mas vale a pena tentar, caso queira, dá para fazer de outra forma sem ser pelo shopwindow, diretamente pela fala do npc.

Link para o post
Compartilhar em outros sites
3 horas atrás, So volto tarde disse:
  Mostrar conteúdo oculto

local temple = {x=44,y=151,z=8}
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 storage = 23254
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
local shopWindow = {}
local moeda = 2145
local t = {
          [11499] = {price = 10}, -- [ID DO ITEM QUE SERÁ VENDIDO] = {QUANTO IRÁ CUSTAR}
          [2495] = {price = 100},
          }
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
        if  t[item] and not doPlayerRemoveItem(cid, moeda, t[item].price) then
                  selfSay("você não tem "..t[item].price.." "..getItemNameById(moeda), cid)
                         else
                doPlayerAddItem(cid, item)
                selfSay("aqui está seu item!", cid)
                 setPlayerStorageValue(cid, 23254,0)
           end
        return true
end
if (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))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())

Encontrei este shopwindow aqui pelo fórum. não sei se é funcional mas vale a pena tentar, caso queira, dá para fazer de outra forma sem ser pelo shopwindow, diretamente pela fala do npc.

testei mas não funcionou ;x

Link para o post
Compartilhar em outros sites
  • Moderador

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
  • Moderador

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
15 minutos atrás, So volto tarde disse:

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

 

  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, "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())

 

Funcionou perfeitamente! Era exatamente o que eu queira. XD rep+

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...
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo