Ir para conteúdo

Líderes


Conteúdo Popular

Mostrando conteúdo com a maior reputação desde 19-09-2018 em todas áreas

  1. 4 pontos
    Eae galera! Hoje venho trazer a versão mais recente até agora, das sprites do otPokémon. Lembrando que tem mais coisas que não estão na screenshot abaixo. Screenshot Download Mediafire: Baixar Scan Virustotal: Verificar Créditos otPokémon - Pelas sprites GOD Vitor - Por descompilar e trazer para a comunidade
  2. 3 pontos
    PoRaI

    OTClient Module Maker

    Bom, tem um tempo que eu tinha começado a desenvolver esse programa mas havia parado. Estou voltando com ele e vou trazer exclusivamente para o XTibia. Um programa para criar janelas para o OTClient. Ele ainda está um tanto quanto incompleto, mas, estou fazendo este post para mostrar o progresso dele. Quando as principais funções estiverem prontas, irei publica-lo e irei lançar constantes atualizações. É algo que eu vou usar, então, irei trabalhar bem nele. GIFS: Um plano que eu tinha em mente: Conforme vou atualizando, vou postando aqui. Qualquer duvida ou sugestão, deixe ai nos comentários. :3
  3. 2 pontos
    Fala MelloGang Blz ? Hoje vim trazer um NPC de evento , onde o player precisa trazer um pokemon(configuravel) por outro pokemon entao vamos la Em NPC crie um NPC.xml e cole isso Dps Vá em npc/script e crie um arquivo.lua e cole isso e só configurar e pronto Então e isso galera gostou deixe seu REP+
  4. 1 ponto
    Frenvius

    Global War 8.70 Full

    Global War 8.70 Fala galera estou aqui para apresentar o Global War. O antigo Global War que estava online, Bom estou disponibilizando para vocês, um ótimo servidor. Confira abaixo alguns detalhes! • Cidades: ├ Carlin ├ Thais ├ Ab'Dendriel ├ Venore ├ Liberty Bay ├ Outlaw Camp ├ Ankrahmun ├ Zao + Razachai! ├ Edron ├ Kazordoon ├ Port Hope ├ Svargrund ├ Yalahar ├ Darashia └ e muitas outras. • O Que Contêm no Servidor: - War of Emperium (Evento) - Zombie Attack (Evento) - Raids Automáticas (Script) - Bonus 50+ (Script) - Database completa (DB) - Wrath of Emperor (Mapa-quest) - Zao e New Banuta Piece (Mapa) - TFS 0.4 (Distro: Anti-Divulgação, War System e No-otbm check) - Task 100% RL (Script: Com ranking e bonus bosses) - War System com escudos (Script) - VIP System (Script) - 10 Cidades e 15 Ilhas VIPS (Mapa) • Lista Das Principais Quests (Todas Funcionando 100%): ├ The Annihilator Quest ├ Demon Helmet Quest ├ The Elemental Spheres Quest ├ Firewalker Boots Quest ├ The Inquisition Quest ├ Killing in the Name of... Quest ├ The Pits of Inferno Quest ├ Shadows of Yalahar Quest ├ Children of the Revolution Quest ├ The New Frontier Quest ├ The Demon Oak Quest ├ Tomes of Knowledge Quest └ In Service of Yalahar Quest DOWNLOADS DISTRO E SOURCES [Distro 0.4] [Source]
  5. 1 ponto
    Beeki

    sdds desse fórum

    sdds desse fórum
  6. 1 ponto
    De nada, só não esquece de marcar como melhor resposta para algum moderador poder marcar como pedido solucionado.
  7. 1 ponto
    Tony Araujo

    [Dll Injection] The Forgotten Client

    Eai galerinha, blz? Na opinião de vocês, vale a pena investir no OLD Client ? E se todo mundo pudesse desenvolver seus próprios módulos da mesma forma que fazem no OTClient? Estou montando um projeto e preciso bastante do feedback de vocês!
  8. 1 ponto
    Pinpao

    Como começar a editar as sourcers de um OT?

    compilando em windows : https://www.xtibia.com/forum/topic/233074-dev-c-compilando-tfs-no-windows/ compilando em linux : https://www.xtibia.com/forum/topic/239213-compilando-tfs-04-no-linux/ abraço, boa sorte no projeto.
  9. 1 ponto
  10. 1 ponto
    Marshmello

    [OPEN-SOURCE] otPokémon AMV Completo

    Ai sim , Vou postar o site do Otpokemon AMV tmbn
  11. 1 ponto
    Olá Treinadores (as) depois de bastante tempo sem postar algo venho trazer para vocês a base do OTPOKEMON AMV completa com source, old cliente estendido e etc. Foi feito algumas correções de erros e nada mais então total créditos ao criador do AMV. VAMOS PARAR DE ENROLAÇÃO E LET'S GO! Sistemas: Prints: Download SERVER, CLIENTE E SOURCE: SCAN: OBS: o dono do servidor não tem direito de pedir para remover o link pois é algo de código aberto. LEIA MAIS SOBRE: https://opensource.org/licenses/MIT
  12. 1 ponto
    Testa ai TFS: -- Coded by Zoom.. local info, win, lose = "%s foi mort%s pelo %s %s%s", "%s obteve %s frags seguidos após derrotar %s.", "%s acabou de impedir que %s fizesse uma sequência de %s frags seguidos." local frags, storage = {10, 15, 20, 25, 30, 35, 40, 45, 50}, 30045 function onDeath(cid, corpse, deathList) if(not isPlayer(cid)) then return true end local target = deathList[1] doCreatureSetStorage(target, storage, getCreatureStorage(target, storage) + (getCreatureStorage(target, storage) == -1 and 2 or 1))  for _, pid in ipairs(getPlayersOnline()) do doPlayerSendChannelMessage(pid, '', info:format(getCreatureName(cid), getPlayerSex(cid) == 1 and "o" or "a", isPlayer(target) and "player" or "monstro", getCreatureName(target), isPlayer(target) and "."), TALKTYPE_CHANNEL_O, 0xF) for _, frag in ipairs(frags) do if(getCreatureStorage(target, storage) == frag) then doPlayerSendChannelMessage(pid, '', win:format(getCreatureName(target), frag, getCreatureName(cid)), TALKTYPE_CHANNEL_W, 0xF) end if(getCreatureStorage(cid, storage) >= frag) then doPlayerSendChannelMessage(pid, '', lose:format(getCreatureName(target), getCreatureName(cid), getCreatureStorage(cid, storage)+1), TALKTYPE_CHANNEL_RN, 0xF) end end end  doCreatureSetStorage(cid, storage, 0) return true end
  13. 1 ponto
    adrianokk

    Procuro Pessoas Para Nossa Equipe

    Boa noite, eu era mapper a alguns anos. Atualmente estou programando em sima de uma base para relembrar algumas coisas. Se eu ver que o servidor tem uma estrutura legal e você tiver intresse, posso ajudar com maeupper, ADM e tester. Caso queira entrar em contato. https://www.facebook.com/adriano.medeiros.pe
  14. 1 ponto
    Recentemente retornei ao mundo dos OTServers e tava procurando umas distros antigas. Achei uma do Survival 5.67, com sources, consegui compilar mas não consegui achar nenhum site que funcionasse com esse tipo de base de dados (que armazena as accounts e os players no servidor/computador onde tá hospedado através de arquivos .xml - e não banco de dados mysql ou sqlite). Apesar de ter sido desenvolvido para um tipo de banco de dados que não é mais usado atualmente, o projeto pode ser facilmente adaptado pra OTs mais novos, basta alguém com um mínimo de conhecimento em PHP e banco de dados querer. Enfim, vamos ao que interessa... MinorGesiorAAC for Survival Server 5.67 (client 7.1) Download: http://www.mediafire.com/file/n4d4x3xa32bggta/MinorGesiorAAC.zip/file Virus Total Scan: https://www.virustotal.com/pt/file/d510d3e47d73c9e6ee9b9646d7e34792a2d9e6ccbc5c92922742bb74cc1a4afc/analysis/1532713102/ Servers Compatíveis: Survival 0.5.5 (client 7.1) Survival 5.67 (client 7.1) Instruções: 1) Extraia e coloque a pasta "MinorGesiorAAC" no diretório do Xampp (ou do programa que você use pra hospedar um site localmente - C:/Xampp/MinorGesiorAAC) 2) Mude seu httpd.conf (comente as linhas com /htdocs usando # ou altere "htdocs" para "MinorGesiorAAC"): #DocumentRoot "C:/xampp/htdocs" #<Directory "C:/xampp/htdocs"> DocumentRoot "C:/xampp/MinorGesiorAAC" <Directory "C:/xampp/MinorGesiorAAC"> 3) Abra o arquivo "config.php" e altere o que for necessário (diretório da pasta do server, versão do server, templo onde nascerá, mana inicial, hp inicial, equipamentos, etc). Obs: o site não está verificando se a senha repetida é realmente correta nem se o jogador deixa espaços em brancos ou usa caracteres proibidos, também não está apresentando mensagem de criação bem sucedida e nem de erro, também não verifica se a account ou jogador já existem (ele cria um arquivos por cima caso já exista). Bônus: Download Survival 0.5.5 (compilado) + DLLs http://www.mediafire.com/file/g4r4h4uw5ef1pq5/Survival+Server+0.5.5+(client+7.1).zip Download Survival 5.67 (compilado) + DLLs + Sources http://www.mediafire.com/file/q1454pn8fk5u0oc/Survival_Server_5.67_(client_7.1).zip/file Curiosidade/Pedido: Alguém teria interesse em recompilar/reprojetar o Simone ou Remere's Map Editor pra suportar mapas .xml ? Ou teria interesse em reprojetar um OT 7.1 pra suporta mapas .otbm ? Alguém teria interesse em recompilar/reprojetar um OTServer 7.1 de forma a retirar os bugs que faziam esses servs caírem e serem nukados?
  15. 1 ponto
    Opa eae galera, blz? deixarei logo a baixo algumas informações, de como compilar o tfs 0.3.6 pelo codeblocks. Veja o vídeo para entender melhor! 1º path para substituir o leaf 2º Download do projeto do CODEBLOCKS: TheForgottenServer.zip 3º Download do codeblocks já configurado 4º Caso sua source for dxp é necessário alterar o arquivo definitiuns.h
  16. 1 ponto
    Jeff skt

    Global War 8.70 Full

    Esse mapa era do antigo GLobal war ? 8.7 de 2013 ? Se for, Ele tem as citys de infernia, gengia, etthno, columbia , se tem a soi, Epic land, e a ferunbas quest ?
  17. 1 ponto
    Refe

    Adicionando mais tiles a visão do jogador!

    Hoje eu vim ensinar como aumenta a "tela" de jogo do OTCLIENT (Desculpe o merchant, era a unica imagem que eu tinha salvo) Testado em : 0.3.6pl1, Pode funcionar em 1.0 com alterações pequenas. Em protocolgame.cpp ache: return ((x >= myPos.x - 8 + offsetz) && (x <= myPos.x + 9 + offsetz) && (y >= myPos.y - 6 + offsetz) && (y <= myPos.gety + 7 + offsetz)); e troque por: return ((x >= myPos.x - Map::maxClientViewportX + offsetz) && (x <= myPos.x + (Map::maxClientViewportX+1) + offsetz) && (y >= myPos.y - Map::maxClientViewportY + offsetz) && (y <= myPos.y + (Map::maxClientViewportY+1) + offsetz)); Agora, continuando em protocolgame.cpp ache: GetMapDescription(pos.x - 8, pos.y - 6, pos.z, 18, 14, msg); E troque por: GetMapDescription(pos.x - Map::maxClientViewportX, pos.y - Map::maxClientViewportY, pos.z, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, msg); Continuando em protocolgame.cpp ache a função: void ProtocolGame::sendMoveCreature(const Creature* creature, const Tile* newTile, const Position& newPos, uint32_t newStackpos, const Tile* oldTile, const Position& oldPos, uint32_t oldStackpos, bool teleport) Dentro da função encontre: A parte que começa em if (oldPos.y > newPos.y) { e Termina em GetMapDescription(newPos.x - 8, newPos.y - 6, newPos.z, 1, 14, msg); } e troque por: if (oldPos.y > newPos.y) { // north, for old x msg->AddByte(0x65); GetMapDescription(oldPos.x - Map::maxClientViewportX, newPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, 1, msg); } else if (oldPos.y < newPos.y) { // south, for old x msg->AddByte(0x67); GetMapDescription(oldPos.x - Map::maxClientViewportX, newPos.y + (Map::maxClientViewportY+1), newPos.z, (Map::maxClientViewportX+1)*2, 1, msg); } if (oldPos.x < newPos.x) { // east, [with new y] msg->AddByte(0x66); GetMapDescription(newPos.x + (Map::maxClientViewportX+1), newPos.y - Map::maxClientViewportY, newPos.z, 1, (Map::maxClientViewportY+1)*2, msg); } else if (oldPos.x > newPos.x) { // west, [with new y] msg->AddByte(0x68); GetMapDescription(newPos.x - Map::maxClientViewportX, newPos.y - Map::maxClientViewportY, newPos.z, 1, (Map::maxClientViewportY+1)*2, msg); Agora ache: if(newPos.z == 7) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 5, 18, 14, 3, skip); //(floor 7 and 6 already set) GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 4, 18, 14, 4, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 3, 18, 14, 5, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 2, 18, 14, 6, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 1, 18, 14, 7, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 0, 18, 14, 8, skip); Depedendo da Source, a parte será assim: Por: if(newPos.z == 7) //going to surface { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 5, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 3, skip); //(floor 7 and 6 already set) GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 4, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 4, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 3, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 5, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 6, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 1, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 7, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 0, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 8, skip); Agora ache: else if(newPos.z > 7) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, oldPos.getZ() - 3, 18, 14, 3, skip); Depedendo da source será assim: Por: else if(newPos.z > 7) //underground, going one floor up (still underground) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, oldPos.z - 3, (Map::maxClientViewportX+1), (Map::maxClientViewportY+1)*2, 3, skip); Agora ache: //moving up a floor up makes us out of sync //west msg->AddByte(0x68); GetMapDescription(oldPos.x - 8, oldPos.y - 5, newPos.z, 1, 14, msg); //north msg->AddByte(0x65); GetMapDescription(oldPos.x - 8, oldPos.y - 6, newPos.z, 18, 1, msg); E troque por: //moving up a floor up makes us out of sync //west msg->AddByte(0x68); GetMapDescription(oldPos.x - Map::maxClientViewportX, oldPos.y - (Map::maxClientViewportY-1), newPos.z, 1, (Map::maxClientViewportY+1)*2, msg); //north msg->AddByte(0x65); GetMapDescription(oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, 1, msg); Agora ache: if(newPos.z == 8) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z, 18, 14, -1, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 1, 18, 14, -2, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 2, 18, 14, -3, skip); Dependendo da source poderá ser: e troque por: if(newPos.z == 8) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -1, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 1, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -2, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -3, skip); Agora ache: else if(newPos.z > oldPos.z && newPos.z > 8 && newPos.z < 14) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 2, 18, 14, -3, skip); Depedendo da source pode ser assim: E troque por: else if(newPos.z > oldPos.z && newPos.z > 8 && newPos.z < 14) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -3, skip); Agora em map.h edite essa parte como quiser: static const int32_t maxViewportX = 11; //min: maxClientViewportX + 1 static const int32_t maxViewportY = 11; //min value: maxClientViewportY + 1 static const int32_t maxClientViewportX = 8; static const int32_t maxClientViewportY = 6; O modo de Edição é assim: Agora em map.cpp do OTCLIENT Ache: void Map::resetAwareRange() { AwareRange range; range.left = 8; range.top = 6; range.bottom = 7; range.right = 9; setAwareRange(range); } Troque por: { AwareRange range; range.left = 8; //Valor que colocou em maxClientViewportX range.top = 6; //Valor que colocou em maxClientViewportY range.bottom = range.top+1; range.right = range.left+1; setAwareRange(range); } Créditos: Flatlander - OTLAND - Criação Ceetros - Tradução Agora vamos deixar o OTCLIENT lindão. Troque tudo de modules/game_interface/interface.lua (na pasta do OTCLIENT) por: http://pastebin.com/tH7qyreW (para o tutorial não ficar muito grande botei no pastebin, já que o spoiler tá bugando) Creditos dessa parte: Edubart (Criador do OTCLIENT) Ceetros Caso tenha ajudado, dê um rep+
  18. 1 ponto
    Comecei a ler as páginas 9 da manhã, terminei todas agora, resumi pegando todos os erros e correções que o pessoal postou, então vou deixar num pastebin aqui, bom proveito pra quem quiser. Eu só não entendo porque não criar um github e colocar o server lá e ir alterando bug por bug. O que eu vejo aqui são 10 pessoas cada um com um server diferente alternando bugs entre si, consertar somente 1 server adiantaria muito serviço. http://pastebin.com/2E71PxsZ
  19. 1 ponto
    Galera Muitos querem esse script de bike P: O que esse script faz? R: Esse script não deixa mover o item da bike quando ela esta no slot RING que o player está montado Em movements.xml adicione as tags abaixo: <movevent type="Equip" itemid="ID_BIKE" slot="ring" event="script" value="blockBike.lua"/> <movevent type="DeEquip" itemid="ID_BIKE" slot="ring" event="script" value="blockBike.lua"/> Em movements/scripts crie um arquilo lua chamado blockBike.lua e cole o código abaixo: local storage = 5700 -- Coloque a Storage Que Controla o Sistema de Bike function onDeEquip(cid, item, slot) if getPlayerStorageValue(cid, storage) > 0 then itemID = item.itemid doRemoveItem(item.uid, 1) doPlayerAddItem(cid, itemID, 1) doPlayerSendCancel(cid, "You cannot take out this item while you're mounted on the bike.") end return true end Créditos Pelo Script: Adriano SwaTT Eu por Editar o Script: Eduzinhonho Obs: Precisa ter o slot Ring só pro item da Bike pois só bloqueia o item se ele estiver lá Se Ajudei não esqueça de dar REP +
  20. 1 ponto
    valakas

    Pokemon Dash v6 reupload by Valakinhas

    • Menu: ├ Informações; ├ Prints; ├ Download; └ Creditos. • Informações Basicas • • print screen • • download+scan • client/serve/source: http://www.mediafire.com/download/7zuy27ymn7nhnj7/dash+v6+reupload.rar scan: https://www.virustotal.com/pt/file/f8cd451fecabccc09b683e5928a0f186ec11f278628ab0c81e157628f91c6826/analysis/1436901745/ • Creditos • brun123 n lembro o resto
  21. 1 ponto
    Idealx

    Dice Arena

    Todos falaram bem do script, porem não funciona corretamente. Ao matar o boss e entrar no TP e ir para o templo, qualquer pessoa que tentei puxar alavanca diz que "ja tem alguem dentro da arena, aguarde.." Caso você morra pro boss, acontece a mesma coisa.
  22. 1 ponto
    Vodkart

    TopLevel Effect

    Refiz o código de outro jeito, as TAGS são as MESMAS. Créditos ao Bruno: http://pastebin.com/raw.php?i=pr8G8DQH
  23. 1 ponto
    vudi

    [Encerrado] [POKETIBIA] Não consigo usar surf ?

    De nada ;D reportado pra mover
  24. 1 ponto
    vudi

    [Encerrado] [POKETIBIA] Não consigo usar surf ?

    Você pode ir em Lib/configuration ache essa linha specialabilities = { E troque seu surf pelo meu Ou vai em \data\movements\scripts\surf.lua abre seu surf e cole isso dentro
  25. 1 ponto
    Admrevolution

    Npc Montarias 9.1!

    Ola Vim Trazer Pra Vocês O Npc De Montaria 9.1! Em Data/Npc Crie Um Arquivo Xml Com Nome De Domador E Adicione Isso : Em Data/npc/scripts Crie Um Arquivo .lua Chamado mounts e Adicione Isso : Espero Ter Ajudado Créditos:50%Admrevolution (EU)por adicionar as montarias 9.1 50%deletera Npc Montarias Versão 8.7 Obrigado!
Líderes está configurado para São Paulo/GMT-03:00
×