Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 08/20/17 em todas áreas

  1. Bom tava com um projetinho a um tempo atras mas como eu resolvi parar com ele resolvi trazer aqui pra vcs. Sim tem a maioria das coisas que a DXP tem porem tem bastante bugs removidos, o servidor fica online sem algum tipo de queda. esta estavel para por online alem de ter um mapa unico tem um cliente lido d+ :3 meu orgulho huahuahua mais em fim vamos ao que interessa • Informações Basicas • • Duel System. • Nick System. • Autoloot System. • Block Respaw System. • Mega Evolução Ssystem. • Auto Stacking System. • Player passa por dentro de outros Players(Não sei o nome deste sistema kk). • Ditto Memory System. • Player pode usar potions, revive, soltar poke andando sem parar. • Limite de efeitos aumentados nas sources até 380(Podendo aumentar muito mais) • Transparência. • Cliente criptografado(Acompanha OBD único para o cliente). • Sistemas básicos como fly, ride, surf, order etc. • Held System(Não tem todos, falta fazer alguns, ja tem o x-luck). • Fishing trocando o outfit automaticamente. • Icone System. • Varias Pokeballs novas. • Task System. • Guild System. • NPC dialogo E muito+, não testei o servidor todo. podem ter sistemas no server que eu esqueci de colocar aqui na lista. Tem mais coisas mas não me lembro ao certo de tudo que eu coloquei ;-; ? • Bugs • Irei postar os que eu sei, podem haver mais. • Gym System não esta funcionando. • O famoso bug do autoloot '- • Pokemons da 3 geração todos arrumados porem pode dar revive mesmo com ele pra fora da ball • scizor ao ser chamado de volta pra ball fica com o icon de shiny scizor • Alguns erros no cliente que faz dar umas speed pra frente Que eu saiba e só isso mas provavelmente tenha mais que eu não estou ciente :C • Prints • • Dowload • •Site : https://mega.nz/#!sEgzTC6K!UFGGEXG-v3H-Wx21gP6tTQbBecoHg-IJ_uQJ50hGYvQ [26/04] NOVO DOWNLOAD: http://www.mediafire.com/file/h6jteeft6traldk/Servidor+Mythology+(+17+de+agosto+2017+).rar Senha : domviniciusbr • Créditos • •CipSoft •Nintendo •TFS Team •Dark X Poke •PXG •Tom Lukz (Smix) •Allan Harlen (Kttallan/lordsorte) •Eduardo Meskita (FuuinFake) •Noninhouh •Tony Araujo •Taiger/Dudu •Drakopoulos •Justiceiro751 •Vinicius Clel (Walox) •DeadPool •Marshmello E a todos que tiveram alguma participação em sistemas, server, site, cliente etc. Se estiver faltando algo como créditos, má formatação etc, por favor me avisem, é meu primeiro post de server.
    7 pontos
  2. Nogard

    PokémonChangeSlots

    Fiz algumas alterações:
    2 pontos
  3. Tony Araujo

    Otimizando tfs 0.3.6 -> pokémon

    Otimizando TFS 0.3.6PL1 (Ou outros) para Pokémons. Fala galera, tudo beleza? hoje eu vim mostrar a vocês o trabalho que eu estou fazendo, que é transformar um Tfs 0.3.6pl1 comum em uma source direcionada totalmente ao Pokémon. Hã? mas como assim? Bom, eu estou removendo tudo o que não é necessário para o Pokémon, e reconstruindo apenas o útil, de forma mais organizada e limpa. Assim aumentando o desempenho do servidor, deixando ele bonito, organizado e rápido. Ontem, eu terminei de construir a classe de magias (spells.cpp / h), bom o trabalho que tive lá foi remover tudo o do Tibia como: Funções mágicas, magias de conjurar items, magias de runas, dentre outros. A diminuição em Kb do arquivo, foi de (Spells.cpp [50KB - 1985 Linhas] -> [4KB -> 152 Linhas], grande diminuição, não? Agora imagine fazendo isso com todo o Tfs, o quão melhor ele ficará ^^ Compare os arquivos você mesmo Spells.cpp comum com 50KB -> http://hastebin.com/rijitajopo.coffee Spells.cpp recriado, com 4KB -> http://hastebin.com/qexovizabo.coffee Sigam a idéa pessoal ^^
    1 ponto
  4. Olá Membros do Xtibia tudo na paz? Creio que sim hoje eu venho postar á função OnWalk eu procurei bastante por ela na época em que eu usava á versão 0.3.6/0.4 e nunca consegui encontrar na época ela era necessária para o TV System do PDA Funcionar e quando eu adaptava uma source sempre faltava á função, bom os problemas acabaram a partir de hoje, la vai á função ae logo abaixo. Vá no arquivo creatureevent.cpp e procure por: else if(tmpStr == "spawn") m_type = CREATURE_EVENT_SPAWN; Logo abaixo coloque: else if(tmpStr == "walk") m_type = CREATURE_EVENT_WALK; Depois procure por: case CREATURE_EVENT_SPAWN: return "onSpawn"; Logo abaixo coloque: case CREATURE_EVENT_WALK: return "onWalk"; Depois procure por: case CREATURE_EVENT_SPAWN: return "cid"; Logo abaixo coloque: case CREATURE_EVENT_WALK: return "cid, fromPosition, toPosition"; Depois procure por: uint32_t CreatureEvent::executeOnSpawn(Creature* creature) { //onSpawn(cid) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(creature->getPosition()); std::stringstream scriptstream; scriptstream << "local cid = " << env->addThing(creature) << std::endl; 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::stringstream 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)); bool result = m_interface->callFunction(1); m_interface->releaseEnv(); return result; } } else { std::clog << "[Error - CreatureEvent::executeCast] Call stack overflow." << std::endl; return 0; } } Dê uma quebra de linha e logo abaixo coloque: uint32_t CreatureEvent::executeWalk(Creature* creature, const Position& fromPosition, const Position& toPosition) { //onWalk(cid, old, current) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(creature->getPosition()); std::stringstream scriptstream; scriptstream << "local cid = " << env->addThing(creature) << std::endl; env->streamPosition(scriptstream, "fromPosition", fromPosition, 0); env->streamPosition(scriptstream, "toPosition", toPosition, 0); 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__ char desc[30]; sprintf(desc, "%s", creature->getName().c_str()); env->setEventDesc(desc); #endif env->setScriptId(m_scriptId, m_interface); env->setRealPos(creature->getPosition()); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); bool result = m_interface->callFunction(3); m_interface->releaseEnv(); return result; } } else { std::cout << "[Error - CreatureEvent::executeMove] Call stack overflow." << std::endl; return 0; } } Agora vá no arquivo creatureevent.h procure por: CREATURE_EVENT_SPAWN, Logo abaixo coloque: CREATURE_EVENT_WALK, Depois procure por: uint32_t executeOnSpawn(Creature* creature); Logo abaixo coloque: uint32_t executeWalk(Creature* creature, const Position& fromPosition, const Position& toPosition); Pronto Agora basta compilar e Pronto. Espero ter Ajudado qualquer dúvida estarei respondendo, Abraço. Créditos: Darkhaos (De outro fórum)
    1 ponto
  5. Reph

    [Download] Pokémon Mythology

    Lindo projeto e mapa, infelizmente acabou Obrigado por compartilhar, espero que uma boa equipe aproveite e dê um bom rumo!
    1 ponto
  6. Obrigado por Postar ^^
    1 ponto
  7. Shotta

    PokémonChangeSlots

    ooh está genial ,como se puede lograr hacer esos tipos de cosas en un otclient? alguna guia basica? lo jugaría sin dudarlo muy innovador
    1 ponto
  8. yanloco70

    PokémonChangeSlots

    Foda Dmais!!
    1 ponto
  9. @Brunds me informou sobre a possibilidade do cara tentar ir pra uma saga que não existe, resultando em um erro incômodo no console. adicionei isso: if tonumber(t[1]) > table.maxn(sagaTransformacao) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Essa saga não existe.") return true end local cooldownzin = 3 -- em segundos para esperar a talkaction novamente saga = { [1] = {{outfit = 71, level = 36, storage = 2221, mana = 2000, health = 3000}, {outfit = 71, level = 36, storage = 2222, mana = 4000, health = 4000}}, [2] = {{outfit = 66, level = 36, mana = 2000, health = 3000}, {outfit = 71, level = 36, mana = 2000, health = 3000}}, [3] = {{outfit = 91, level = 36, mana = 2000, health = 3000}, {outfit = 71, level = 36, mana = 2000, health = 3000}}, [4] = {{outfit = 18, level = 36, mana = 2000, health = 3000}, {outfit = 71, level = 36, mana = 2000, health = 3000}}, [5] = {{outfit = 31, level = 36, mana = 2000, health = 3000},{outfit = 71, level = 36, mana = 2000, health = 3000}}, effect = 111, storageTransf = 2930 } function onSay(cid, words, param, channel) local sagaTransformacao = saga[getPlayerVocation(cid)] if(param == '') then -- *caso nao digite o numero doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o numero da saga que voce deseja.") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end local t = string.explode(param, ",") local transform = sagaTransformacao[tonumber(t[1])] if tonumber(t[1]) > table.maxn(sagaTransformacao) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Essa saga não existe.") return true end if not sagaTransformacao then -- *caso saga diferente doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao pode trocar de saga.") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end if getPlayerLevel(cid) < transform.level then -- *caso nao tenha level correspondente a transformacao doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao tem level ".. transform.level .. ".") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end if getPlayerStorageValue(cid, transform.storage) < 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce ainda nao completou a saga") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end if getPlayerStorageValue(cid, 5432) >= os.time() then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao pode usar ainda, espere ".. getPlayerStorageValue(cid, 5432) - os.time() .." segundos. ") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) return true end if (t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Could not understand.") return true end if not (tonumber(t[1])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o numero da saga que voce deseja.") return true end if tonumber(t[1]) > #sagaTransformacao or tonumber(tonumber(t[1])) < 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Essa saga nao existe.") return true end if tonumber(t[1]) ~= getPlayerStorageValue(cid, saga.storageTransf) then -- doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "param = " .. tonumber(t[1]) .. "\nstorage = " .. getPlayerStorageValue(cid, sagaTransformacao.storage)) -- doCreatureAddMana(cid, - sagaTransformacao[getPlayerStorageValue(cid, transform.storage)].mana) -- doCreatureAddHealth(cid, - sagaTransformacao[getPlayerStorageValue(cid, transform.storage)].health) setCreatureMaxMana(cid, getCreatureMaxMana(cid) - sagaTransformacao[getPlayerStorageValue(cid, saga.storageTransf)].mana) setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) - sagaTransformacao[getPlayerStorageValue(cid, saga.storageTransf)].health) setPlayerStorageValue(cid, saga.storageTransf, tonumber(t[1])) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,getPlayerStorageValue(cid, saga.storageTransf) ) doSetCreatureOutfit(cid, {lookType = transform.outfit}, -1) doSendMagicEffect(getThingPos(cid), transform.effect) doPlayerSendTextMessage(cid, 25, "Voce escolheu uma nova saga!") doCreatureSay(cid, "Saga!!", TALKTYPE_ORANGE_1) setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + sagaTransformacao[tonumber(t[1])].health) setCreatureMaxMana(cid, getCreatureMaxMana(cid) + sagaTransformacao[tonumber(t[1])].mana) doCreatureAddMana(cid, getCreatureMaxMana(cid)) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) setPlayerStorageValue(cid, 5432, os.time() + cooldownzin) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você já está transformado nessa saga.") end return true end
    1 ponto
  10. O servidor/client é composto por vários arquivos fonte de desenvolvimento, cada um com sua função. Os arquivos .exe que você utiliza, são resultados de todos os outros arquivos unidos. Não, você não precisa compilar, você pode utilizar os arquivos .exe já existentes. A compilação é necessária se alterado algum arquivo fonte do projeto. TheForgottenServer.exe/OTClient.exe = Resultados da compilação dos arquivos fonte respectivos.
    1 ponto
  11. você pode ter vários cards diferentes? o cooldown é separado?
    1 ponto
  12. helder155

    [Yurots] Conjunto de Mapas

    Mapa Ziika Yorots 8.40 Link do DOWNLOAD :http://www.4shared.com/rar/1dfMaXvy/Ziika_Yorots.html Creditos: Helder e Lopys(Gabriel) Mapa Global Yorots 8.40 Link do DOWNLOAD :http://www.4shared.com/rar/cfW1YT5K/Global_Edited.html Creditos: Helder. Mapa Simple Yorots 8.4 Link do DOWNLOAD :http://www.4shared.com/rar/9GRr9RGh/Simple_Yorots.html Creditos: Helder. Bom aproveito use com moderação.
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...