[Sugestão] ORGANIZAÇÃO PARA SERVIDORES.
-
Quem Está Navegando 0 membros estão online
Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
Por otpokesalense
🧿Base Tibia Solebran totalmente otimizada!
✔️ OTClient (Version Old);
✔️ Update 2.2;
✔️ Site Póprio;
✔️ Map Global
✔️ Bugs, Minimo (2x) talvez;
✔️ PVP 💯 Funcional.
Get Servidor: https://files.fm/f/7qumr8943e 💸 Buy! otimo projeto para vc utilizá-lo.
Lembrando:: ao comprar o download será disponibilizado automaticamente.
🧑💻System Operacional: Windows (VPS)
👨💻Programador (27) 998931903 - - - O Valor já inclui o serviço de programação! 🤗
-
Por cloudrun2023
CloudRun - Sua Melhor Escolha para Hospedagem de OTServer!
Você está procurando a solução definitiva para hospedar seu OTServer com desempenho imbatível e segurança inigualável? Não procure mais! Apresentamos a CloudRun, sua parceira confiável em serviços de hospedagem na nuvem.
Recursos Exclusivos - Proteção DDoS Avançada:
Mantenha seu OTServer online e seguro com nossa robusta proteção DDoS, garantindo uma experiência de jogo ininterrupta para seus jogadores.
Servidores Ryzen 7 Poderosos: Desfrute do poder de processamento superior dos servidores Ryzen 7 para garantir um desempenho excepcional do seu OTServer. Velocidade e estabilidade garantidas!
Armazenamento NVMe de Alta Velocidade:
Reduza o tempo de carregamento do jogo com nosso armazenamento NVMe ultrarrápido. Seus jogadores vão adorar a rapidez com que podem explorar o mundo do seu OTServer.
Uplink de até 1GB:
Oferecemos uma conexão de alta velocidade com até 1GB de largura de banda, garantindo uma experiência de jogo suave e livre de lag para todos os seus jogadores, mesmo nos momentos de pico.
Suporte 24 Horas:
Estamos sempre aqui para você! Nossa equipe de suporte está disponível 24 horas por dia, 7 dias por semana, para resolver qualquer problema ou responder a qualquer pergunta que você possa ter. Sua satisfação é a nossa prioridade.
Fácil e Rápido de Começar:
Configurar seu OTServer na CloudRun é simples e rápido. Concentre-se no desenvolvimento do seu jogo enquanto cuidamos da hospedagem.
Entre em Contato Agora!
Website: https://central.cloudrun.com.br/index.php?rp=/store/cloud-ryzen-brasil
Email: [email protected]
Telefone: (47) 99902-5147
Não comprometa a qualidade da hospedagem do seu OTServer. Escolha a CloudRun e ofereça aos seus jogadores a melhor experiência de jogo possível. Visite nosso site hoje mesmo para conhecer nossos planos e começar!
https://central.cloudrun.com.br/index.php?rp=/store/cloud-ryzen-brasil
CloudRun - Onde a Velocidade Encontra a Confiabilidade!
-
Por chateadoagr
Atualização v1.7.0
Chance de Spawn de Monstro: Ao matar vários monstros conhecidos existe a chance de invocar um monstro, por exemplo ao matar uma aranha gigante existe a chance da Velha Viúva aparecer, essa probabilidade dependendo do monstro foi ajustada para o seguinte,
Exemplo
:
Rotworm, para Ao morrer para invocar uma rainha Rotworm, a probabilidade é de 15%, enquanto uma aranha gigante para invocar a Velha Viúva é de 5%.
Aqui está uma lista dos monstros :
Rotworm > Rotworm Queen - 15%
Cyclops > Cyclops Smith - 15%
Wolf > War Wolf - 15%
Dragon > Dragon Lord - 8%
Giant Spider > The Old Widow - 5%
Magma Crawler > Weeper - 5%
Serpent Spawn > Medusa - 5%
Frazzlemaw > Guzzlemaw - 5%
Midnight Asura > Dawnfire Asura - 5%
Warlock > Infernalist - 5%
Sea Serpent > Seacrest Serpent - 5%
Glooth Anemone > Rustheap Golem - 5%
Hellspawn > Plaguesmith - 4 %
Worker Golem > War Golem - 4%
Demon Outcast > Vexclaw - 4%
Sight of Surrender > Horadron - 3%
Azure Portal : Existem agora 4 sites onde portais podem aparecer, o que leva a uma missão.
Os portais aparecem em:
Arkeron / Dolwatha / Freewind e Death Valley .
Para saber as posições veja o arquivo: data/scripts/custom/portal_gates.lua
Para ver os mapas, abra os mapas localizados em data/world/portals
Uma vez aberto para ir para a posição, veja o arquivo portal_gates, que indica o exitPosition , marque essa posição e você poderá retocar a porta do portal, se desejar.
Esses portais levam todos para a nova Caverna Azure, onde encontrarão novos Monstros e um Boss chamado Azure.
15 Novos Monstros
3 Novos Bosses
Combate + Mecânica de Acesso + Boss Combat :
Eles devem encontrar o caminho para chegar à sala central, na qual deverão usar a pedra azul do santuário para desbloquear o caminho, terão então um certo tempo para correr em direção a ela ... próximo santuário.
Ao chegar na sala central, você deve destrancar a porta. Aqui, você terá que mudar a posição dos humanos congelados no chão. Ao clicar em todas as estátuas, a porta será removida por um tempo e você poder passar pelo portal.
Eles se enfrentarão na ordem: Terror Spider (sem loot, sim experiência), que se transformará em Deep Necromancer (Sem loot, sim experiência) que por sua vez se transformará em Azure (Loot + Experience + Rarity Loot), Azure faz não terá muita complicação se ele não conseguir acertar e fazer um aoe bem forte, tome cuidado alguns Azure Guards irão aparecer durante a luta para desequilibrar a luta, aguente firme e desafie o Azure!
Os monstros possuem novos recursos, esses recursos podem ser vendidos respectivamente para os NPCs (yasir, hana...)
2 Novos Trajes - Anjo Pequeno / Everblight (Masculino / Feminino - Com Montaria) que são obtidos com a moeda do pesadelo (obtida por matar o chefe Azure)
4 Novos Conjuntos :
Seetheras / Varruth: Cavaleiros
Netherwave: Druidas e Feiticeiros
Felsinger: Paladinos
3 Novas Moedas :
Moeda Ancestral : Permite usá-la e obter Moedas Ancestrais para usar na Loja Ancestral. (Obtido: Azure Portal Monsters (rare loot))
Nightmare Coin : (Obtido: Boss Azure (Azure Portals)) Usado para obter os 2 novos trajes: Small Angel & Everblight, trocado com o npc Estherya, localizado em frente ao portal Azure.
Azure Coin : Usado com o Npc: Taerar para comprar os novos conjuntos (Obtido: Boss Azure)
Taerar Npc: Está localizado na entrada dentro da Azure Cave.
Adicionado conjunto de gnomo, amuleto de rabo de raposa, anel de borboleta, capa de pena de cisne, frasco de luz estelar, espelho lunar e coletor de sol, que são saqueados de portais Azure (diretamente de monstros) Adicionado Azure e monstros à Tarefa Ancestral (Azure, Tarefa Diária,
Monstros
Normal Tarefas) com recompensa Ancestral Coin / Azure Coin e Nightmare Coin.
Melhorado/Corrigido
Alterada a primeira letra do arquivo .lua (dentro do xml do NPCS) de maiúscula para minúscula, o que gerava um erro nos sistemas operacionais Ubuntu.
Cavernas do Pesadelo e do Ceifador dolwatha: Adicionados mais Pesadelos, descendentes do pesadelo e Ceifadores à caverna.
Corrigido terreno sem bordas na parte externa da caverna.
Cavernas Glooth em Dolwatha, adicionado mais terreno para evitar ver o preto do mapa (tela 4k)
Corrigida uma dica de ferramenta na web na parte de mineração da Wikipedia.
Atualização v1.6.0
- Criado um novo sistema de Herbalist, com sua habilidade ( SKILL_HERBALIST ) adicionada no cliente, coletar recursos, vendê-los ou criar novas poções.
- Novas receitas , que serão obtidas de vários monstros (ver site wikipedia)
- Criadas 6 Novas Poções: Nimble, Hazel e Tumble ( Life & Mana )
- Uso de poções: jogadores Nimble nível 100, jogadores Hazel nível 150 e jogadores Tumble nível 200.
- As poções possuem frascos vazios que podem ser vendidos para Alaistar, Asnarus ou Xodet .
- Poções elaboradas podem ser vendidas no mercado entre jogadores.
Corrigido :
Visuais :
Dolwatha do Norte, ciclopes, bordas corrigidas/adicionadas
Falanaar: Selva, corrigida 1 pedra, 2 águas após a torre azura
Vale da Morte: Corrigida a entrada do chão para o sono febril
Arkeron: Corrigida a parte sul de alguns visuais acima da água, grama rochosa deslocada de a pedra "menir"
Área de artesanato ao norte de Dolwatha
Novo efeito
Novas Plantas
Novos recursos
Novas ferramentas
Novas receitas e poções
Atualização v1.5.0
- Adicionada uma ação de conversação !shop para receber itens da web se eles usarem uma loja.
Sistema de Masmorras
O Sistema de Masmorras pode ser ativado através do portal em Mordragor, no momento apenas 1 masmorra está disponível, a Masmorra dos Ossos.
Esta masmorra tem um cooldown de 30 minutos, caso não o façam dentro desse tempo serão expulsos.
Só é permitido entrar 1 equipe por vez (Depois vou criar mais, o que vai evitar que fique sempre lotado, também vou organizar para que essa mesma equipe se repita mais caso uma esteja lotada, deixa eu explicar, na mesma masmorra apenas X jogadores podem entrar em equipe, se uma equipe estiver dentro, ninguém mais pode entrar até sair, no caso se repetirmos a masmorra adicionando uma nova linha, 2 equipes podem entrar, com 2 mapas diferentes , mas como dito, virá aos poucos.)
Novos Monstros com nível, mais dano, mais experiência, mais loot, mais vida.
Novo Chefe Príncipe Esquelético.
Novo conjunto de esqueleto (capacete, armadura, pernas, botas), este conjunto é baseado em defesa de terra, sanguessuga de vida / mana e estatísticas de artesanato (habilidade de artesanato, habilidade de mineração e habilidade de corte de lenha, +3 em peças)
. deve saquear um recurso chamado Enchanted Bone Skull que permitirá acesso à alavanca do chefe. Este recurso pode ser vendido para Yasir.
Príncipe Esqueleto faz parte da Tarefa Diária como chefe para matar no Sistema Ancestral.
Alterada a distância em que um monstro pode ver um jogador (10 norte/sul, 15 leste/oeste) Imagens:
Atualização v1.4.0
Criado um Sistema de Tarefas Ancestrais que funciona com o banco de dados (2 novas colunas em jogadores). Os pontos são somados por Jogador e não por conta, posteriormente provavelmente será adicionada uma moeda que lhe permitirá comprá-lo na loja e poder obter pontos de outra forma, no momento é apenas através de tarefas.
Novo NPC Chamado Armin , esse NPC dá Tarefas para os jogadores completarem, mas também dá tarefas diárias, que podem ser feitas a cada 24 horas.
As tarefas dão Pontos Ancestrais como recompensa e também Pontos de Classificação Ancestral
.
Você pode usar o comando: !ancestral para mostrar informações, pontos, classificação, mas também o status das tarefas que você está realizando .
Existem várias classificações dependendo dos pontos:
1 - 40 = "Rookie"
41 - 100 = "Bronze"
101 - 250 = "Silver" 251 -
470 = "Gold"
471 - 770 = "Platinum"
771 - 1220 = "Diamante "
1221 - 1820 = "Ancestral"
1821 - 2820 = "Místico"
2821 - 4320 = "Abissal"
4321 - 6320 = "Ascendente"
6321 - 9999 = "Caos"
10000 - + = "Despertar"
Podemos ver a classificação de um jogador clicando duas vezes .
Existem atualmente 10 tarefas normais e 5 tarefas diárias. Os diários em sua maioria são os chefes.
Eles conversam com o NPC Armin e perguntam sobre a Lista de Tarefas Ancestrais Diárias ou a Lista de Tarefas Ancestrais Normais. Para iniciar uma tarefa você dirá ao NPC o nome da tarefa (Nome da tarefa por exemplo: Dragões de fogo e a tarefa será iniciada automaticamente.
Graças aos Pontos Ancestrais, você pode adquirir itens em um novo módulo adicionado ao cliente.
O Ranking Ancestral terá mais significado posteriormente, assim como os pontos.
Foi adicionada uma loja para poder utilizar Pontos Ancestrais.
Atualização v1.3.0 Foram removidos alguns scripts que estavam duplicados e geravam um erro de evento duplicado. Corrigidos os nomes dos jogadores que eram exibidos incorretamente ao subir em montarias, com asas, etc. A partir de agora eles estão mais elevados e mais centrados.
Um sistema de Lenhador, baseado em (SKILL_WOODCUTTING) que determina a nova habilidade Lenhador, com novos recursos, que podem ser vendidos em primeiro lugar para o NPC Rostock.
5 novos tipos de árvores para cortar, cada uma com seu próprio nível de machado, semelhante à mineração.
Novo NPC Rostock na saída de Falanaar (para encontrá-lo/vá para Rostock), com nova área de Artesanato do Lenhador, saída sudoeste de Falanar.
Receitas do Loot Woodcutter: (Adicionadas na web wikipedia)
Grande pedaço de madeira: Aranha Gigante, Filhote de Dragão
Tábua de Cinza: Pesadelo, Descendente do Pesadelo,
Tábua de Castanha Gigante de Gelo: Cuspidor, Grimeleech, Ferreiro da Praga
Tábua de Oliveira: Marid, Devorador de Pedra, Cereja Caiman
Assassina Prancha: Hellflayer, Death Dragon
Adicionadas auras e asas.
Para dar aos jogadores você deve usar um item ao clicar nele ele dará aura de asa ou shader.
Atualização v1.2.0:
Adicionado:
- Nova Pasta com CUSTOM_SCRIPTS, esta pasta incluirá scripts ou alterações que NÃO serão incluídas no servidor, o que você questionou, por se tratar de uma customização diferente, os scripts serão adicionados nesta pasta , nesta atualização teremos o script potions.lua com cooldown adicionado.
Isso não significa que tudo o que você perguntar será adicionado aqui, mas sim que o que achamos que não precisa ser alterado será encontrado aqui.
Montarias :
- Devorador da Luz Negra, Espírito da Pureza, Caveira da Perdição, Caveira de Magma, Caveira Fogo de Copr
Trajes :
- Discípulo Shadowlotus, Aucar Antigo, Rastreador de Gelo, Arqueiro Blindado, Mago Eterno, Leão da Guerra, Defensor Decadente, Evocador da Luz Negra, Mago Fúria Flamejante -
Sistema de Waypoints em cada cidade, você pode adicionar um requisito (item, armazenamento, missão, missão)
https://streamable.com/xe0pjb
Criado um sistema de Mineração com uma nova Habilidade de Mineração ( SKILL_MINING ), efeitos, são 7 pedras diferentes por níveis:
Bronze, Prata, Safira, Ouro, Rubi, Ametista, Esmeralda, cada pedra é cortada com sua picareta necessária, nível de mineração necessário o suficiente para esmagar a pedra e/ou criar as receitas na Forja de Mineração, ao olhar uma receita, esta dirá para que serve, os itens necessários, o nível de artesanato necessário e se você desbloqueou a receita.
A Forja de Mineração está localizada ao sul de Mordragor.
Atualmente, os lingotes são vendidos para o npc Elyotrope na Mining Forge, posteriormente serão usados para diversos artesanatos.
No site eles têm Wikipedia indicando as informações.
Crafting , nova barra de habilidades como mineração, adicionada no cliente ( SKILL_CRAFT ), assim como mineração, começa no nível 10. Os servidores existentes terão uma atualização com um arquivo chamado migração, que atualizará o banco de dados com as habilidades necessárias e será adicionado a todas as existentes. jogadoras.
- A confecção dos Lingotes exige a obtenção da receita, em troca não é necessária a picareta, mas é necessário ter um nível de artesanato quanto aos diferentes lingotes, indicado na Receita ao olhar a receita.
Receitas de Mineração de Loot (Lingotes) :
A ordem dos monstros escritos, o primeiro tem mais sorte que o segundo, terceiro, etc.
Lingote de Bronze Pequeno : Dragão, Ciclope, Bárbaro Bloodwalker, Elfo Arcanista, Escoteiro Lingote de
Prata Pequeno: Senhor Dragão, Feiticeiro, Serpente do Mar, Hidra
Lingote de Safira Pequeno: Hellspawn, Destroyer, Grim Reaper
Lingote de Ouro Pequeno: Wereboar, Vile Grandmaster, Behemoth
Small Lingote de Ametista : Fúria, Diabólico Diabólico, Lutador do Inferno
Lingote de Rubi Pequeno : Demônio, Lagarto Escolhido, Wyrms
Pequeno Lingote de Esmeralda : Golem de Lava, Aranha Gigante, Reaver da Realidade Lingote de
Bronze Grande : Dawnfire Asura, Serpent Spawn Lingote de
Prata Grande : Minotauro Amazon, Minotaur Hunter , Worm Priestess
Big Sapphire Lingote : Rustheap Golem, Hellhound, Ironblight
Big Gold Lingote : Juggernault, Dark Torturer, Frazzlemaw
Big Amethyst Lingote : Draken Spellweaver, Draken Elite, Ghastly Dragon
Big Ruby Lingote : Grimeleech, Retching Horror, Sight of Surrender
Big Emerald Lingote : Vexclaw, Terrorsono, Deepling Tyrant
Por precaução, uma revisão das missões:
Bosses (alavanca/missão):
Abyssador, Annihilator, Deep Terror, Jaul, Plagirath, Plagueroot, Professor Maxxen, The Welter, Ushuriel.
-
Por FeeTads
SALVE rapaziada do TK, esses dias vim pensando em novos scripts pro meu OT, e em um deles eu precisava que determinada area não contasse frag pro player que matasse outros, PORÉM eu precisava que os players que morressem nessa area ainda assim tivessem as penalidades da sua morte, procurei por ai, achei alguns scripts que apenas tiravam o SKULL e não realmente o FRAG do player.
**script atualizado 22/10/2023** - melhorado e otimizado, levei o script pra puxar as infos por .lua / creatureScripts
vou disponibilizar o code aqui, e o que fazer pra determinada area não contar frag.
SOURCE OTX 2 / TFS 0.x, Funciona em TFS 1.x mudando as tags e ajeitando as sintaxes.
vá em creatureevent.cpp
procure por:
else if(type == "preparedeath") _type = CREATURE_EVENT_PREPAREDEATH;
Adiciona abaixo:
else if(type == "nocountfrag") _type = CREATURE_EVENT_NOCOUNTFRAG;
procure por:
case CREATURE_EVENT_PREPAREDEATH: return "onPrepareDeath";
Adicione abaixo:
case CREATURE_EVENT_NOCOUNTFRAG: return "noCountFragArea";
procure por:
case CREATURE_EVENT_PREPAREDEATH: return "cid, deathList";
Adicione abaixo:
case CREATURE_EVENT_NOCOUNTFRAG: return "cid, target";
agora no mesmo arquivo, vá até o final do arquivo e adicione essa função:
uint32_t CreatureEvent::executeNoCountFragArea(Creature* creature, Creature* target) { //noCountFragArea(cid, target) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(creature->getPosition()); std::ostringstream scriptstream; scriptstream << "local cid = " << env->addThing(creature) << std::endl; scriptstream << "local target = " << env->addThing(target) << std::endl; if(m_scriptData) scriptstream << *m_scriptData; bool result = true; if(m_interface->loadBuffer(scriptstream.str())) { lua_State* L = m_interface->getState(); result = m_interface->getGlobalBool(L, "_result", true); } m_interface->releaseEnv(); return result; } else { #ifdef __DEBUG_LUASCRIPTS__ std::ostringstream desc; desc << creature->getName(); env->setEvent(desc.str()); #endif env->setScriptId(m_scriptId, m_interface); env->setRealPos(creature->getPosition()); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(creature)); lua_pushnumber(L, env->addThing(target)); bool result = m_interface->callFunction(2); m_interface->releaseEnv(); return result; } } else { std::clog << "[Error - CreatureEvent::noCountFragArea] Call stack overflow." << std::endl; return 0; } }
agora vá em creatureevent.h
procure por:
CREATURE_EVENT_PREPAREDEATH
adicione abaixo:
CREATURE_EVENT_NOCOUNTFRAG
procure por:
uint32_t executePrepareDeath(Creature* creature, DeathList deathList);
Adicione abaixo:
uint32_t executeNoCountFragArea(Creature* creature, Creature* target);
agora vá em player.cpp
procure por:
bool Player::onKilledCreature(Creature* target, DeathEntry& entry)
abaixo de:
War_t enemy; if(targetPlayer->getEnemy(this, enemy)) { if(entry.isLast()) IOGuild::getInstance()->updateWar(enemy); entry.setWar(enemy); }
Adicione o seguinte código:
if (targetPlayer){ CreatureEventList killEvents = getCreatureEvents(CREATURE_EVENT_NOCOUNTFRAG); for (const auto &event : killEvents) { if (!event->executeNoCountFragArea(this, target)) { return true; } } }
//
Feito isso, tudo completo na sua source, agora é necessário adicionar o creaturescript dentro do servidor
vá até creaturescripts/scripts
crie um arquivo chamado, "noCountFragInArea.lua"
e dentro dele cole o código:
--[[ script feito por feetads / TibiaKing ]]-- --[[ discord: feetads / FeeTads#0246 ]]-- -- Add positions here for which you do not want to count frags local areas = { [1] = {from = {x = 91, y = 122, z = 7}, to = {x = 98, y = 127, z = 7}}, -- from = area superior esquerda / to = area inferior direita (formando um quadrado) } local onlyKillerInArea = false -- only killer need to be in area? function noCountFragArea(cid, target) if not isCreature(cid) or not isCreature(target) then return true end local posKiller = getPlayerPosition(cid) local posTarget = getPlayerPosition(target) for i = 1, #areas do local area = areas[i] if isInArea(posKiller, area.from, area.to) then if onlyKillerInArea then return false elseif isInArea(posTarget, area.from, area.to) then return false end end end return true end
agora em creaturescripts.xml
<event type="nocountfrag" name="fragarea" event="script" value="noCountFragInArea.lua"/>
agora em creaturescripts/scripts/login.lua
procure por OU semelhante a esse:
registerCreatureEvent(cid, "AdvanceSave")
e abaixo adicione:
registerCreatureEvent(cid, "fragarea")
//
Agora tudo certo, quando quiser adiciona uma area que não pega frag, vá até o script e apenas coloque a area, igual o demonstrado no script
Exemplo:
local areas = { [1] = {from = {x = 91, y = 122, z = 7}, to = {x = 98, y = 127, z = 7}}, [2] = {from = {x = 1000, y = 1000, z = 7}, to = {x = 1100, y = 1100, z = 7}}, }
assim somente colocando a area no script e abrindo o server ou dando /reload, já funcionará a area como não pegar frag.
Esse sistema pode ser bom pra areas de pvp ativo, onde você ainda quer que o player que morrer perca os atributos, como se fosse uma morte normal, porém não conta frag pra quem matar.
Bom pra sistemas tipo castle 48h (guild war), onde há diversas mortes e risco de pegar red, atrapalhando a war.
Façam bom proveito dos scripts, e deixem os créditos no script rsrs
**Eu fiz as alterações e o simples código por isso vim disponibilizar, créditos meus**
-
Por Muvuka
Abri canal a força creaturescript acho que funcione no creaturescript cria script creaturescript
<channel id="9" name="HELP" logged="yes"/>
<channel id="12" name="Report Bugs" logged="yes"/>
<channel id="13" name="Loot" logged="yes"/>
<channel id="14" name="Report Character Rules Tibia Rules" logged="yes"/>
<channel id="15" name="Death Channel"/>
<channel id="6548" name="DexSoft" level="1"/>
<channel id="7" name="Reports" logged="yes"/>
antes de
if(lastLogin > 0) then adicione isso:
doPlayerOpenChannel(cid, CHANNEL_HELP) doPlayerOpenChannel(cid, 1, 2, 3) = 1,2 ,3 Channels, entendeu? NÃO FUNCIONA EU QUERO UM MEIO DE ABRI SEM USA A SOURCE
EU NÃO CONSEGUI ABRI EU NÃO TENHO SOURCE
-
Posts Recomendados