Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 04/27/13 em todas áreas
-
Simple Pet System
ChockerrGamer e 3 outros reagiu a Roksas por um tópico no fórum
Simple Pet System Saudações galerinha, bão? Tive uma ideia bem simples e vim trazer para vocês, é um PET para ele te ajudar nas batalhas. Instalação Vá em data/actions/scripts, copie algum arquivo da pasta e cole, renomeie para simple_pet e adicione isso dentro: Muito bem, agora sigamos para actions.xml e adicione essa tag: <action itemid="11256;11207;11144;9019" event="script" value="simple_pet.lua"/> Configuração Nesta parte do código: local dolls = { [11256] = {pet = "Crystal Spider"}, [11207] = {pet = "Ashmunrah"}, [11144] = {pet = "Demon"}, [9019] = {pet = "Vampire"}, } Oque está entre [ e ] nós colocamos os Item ID dos items que vão chamar o PET. Já entre { e } aonde está entre aspas, colocamos o nome do PET. E na tag do actions.xml adicionamos estes MESMOS Item Ids, separando-os por ; ficando: <action itemid="ID;ID;ID;ID" event="script" value="simple_pet.lua"/> Para o PET teleportar para você quando subir escadas, ou ficar muito longe, vá em config.lua e procure por: teleportPlayerSummons Se estiver false coloque true, se estiver "no", coloque "yes" Demonstração Finalizações Obrigado pela atenção galera, espero que tenham gostado, e qualquer dúvida estou aqui para respondê-los4 pontos -
[C++] Opcode versão 8.54+
Eskylo e 2 outros reagiu a BananaFight por um tópico no fórum
Adaptação pra source 8.54+ LEMBRE-SE, ISSO É NA SOURCE DO SERVIDOR Vamos ao código. protocolgame.h Embaixo de void AddShopItem(NetworkMessage_ptr msg, const ShopInfo item); Adicione void parseExtendedOpcode(NetworkMessage& msg);void sendExtendedOpcode(uint8_t opcode, const std::string& buffer); protocolgame.cpp Embaixo de uint32_t key[4] = {msg.GetU32(), msg.GetU32(), msg.GetU32(), msg.GetU32()};enableXTEAEncryption();setXTEAKey(key); Adicione // notifies to otclient that this server can receive extended game protocol opcodesif(operatingSystem >= CLIENTOS_OTCLIENT_LINUX)sendExtendedOpcode(0x00, std::string()); Embaixo de void ProtocolGame::AddShopItem(NetworkMessage_ptr msg, const ShopInfo item){const ItemType& it = Item::items[item.itemId];msg->AddU16(it.clientId);if(it.isSplash() || it.isFluidContainer())msg->AddByte(fluidMap[item.subType % 8]);else if(it.stackable || it.charges)msg->AddByte(item.subType);elsemsg->AddByte(0x01);msg->AddString(item.itemName);msg->AddU32(uint32_t(it.weight * 100));msg->AddU32(item.buyPrice);msg->AddU32(item.sellPrice);} Adicione void ProtocolGame::parseExtendedOpcode(NetworkMessage& msg){uint8_t opcode = msg.GetByte();std::string buffer = msg.GetString();// process additional opcodes via lua script eventaddGameTask(&Game::parsePlayerExtendedOpcode, player->getID(), opcode, buffer);}void ProtocolGame::sendExtendedOpcode(uint8_t opcode, const std::string& buffer){// extended opcodes can only be send to players using otclient, cipsoft's tibia can't understand themNetworkMessage_ptr msg = getOutputBuffer();if(msg){TRACK_MESSAGE(msg);msg->AddByte(0x32);msg->AddByte(opcode);msg->AddString(buffer);}} Embaixo de case 0x1E: // keep alive / ping responseparseReceivePing(msg);break; Adicione case 0x32: // otclient extended opcodeparseExtendedOpcode(msg);break; enums.h Embaixo de enum GuildLevel_t{GUILDLEVEL_NONE = 0,GUILDLEVEL_MEMBER,GUILDLEVEL_VICE,GUILDLEVEL_LEADER}; Substitua o OperatingSystem por este enum OperatingSystem_t{CLIENTOS_LINUX = 0x01,CLIENTOS_WINDOWS = 0x02,CLIENTOS_OTCLIENT_LINUX = 0x0A,CLIENTOS_OTCLIENT_WINDOWS = 0x0B,CLIENTOS_OTCLIENT_MAC = 0x0C,};/ player.h Embaixo de void sendCreatureShield(const Creature* creature) Adicione void sendExtendedOpcode(uint8_t opcode, const std::string& buffer){if(client) client->sendExtendedOpcode(opcode, buffer);} luascript.cpp Embaixo de void LuaScriptInterface::registerFunctions(){ Adicione //doSendPlayerExtendedOpcode(cid, opcode, buffer)lua_register(m_luaState, "doSendPlayerExtendedOpcode", LuaScriptInterface::luaDoSendPlayerExtendedOpcode); Embaixo de SHIFT_OPERATOR(int32_t, LeftShift, <<)SHIFT_OPERATOR(int32_t, RightShift, >>)SHIFT_OPERATOR(uint32_t, ULeftShift, <<)SHIFT_OPERATOR(uint32_t, URightShift, >>)#undef SHIFT_OPERATOR Adicione int32_t LuaScriptInterface::luaDoSendPlayerExtendedOpcode(lua_State* L){//doSendPlayerExtendedOpcode(cid, opcode, buffer)std::string buffer = popString(L);int opcode = popNumber(L);ScriptEnviroment* env = getEnv();if(Player* player = env->getPlayerByUID(popNumber(L))) {player->sendExtendedOpcode(opcode, buffer);lua_pushboolean(L, true);}lua_pushboolean(L, false);return 1;} luascript.h Embaixo de virtual void registerFunctions(); Adicione static int32_t luaDoSendPlayerExtendedOpcode(lua_State* L); creatureevent.h . Substitua CREATURE_EVENT_PREPAREDEATH Por isso CREATURE_EVENT_PREPAREDEATH,CREATURE_EVENT_EXTENDED_OPCODE // otclient additional network opcodes Embaixo de uint32_t executePrepareDeath(Creature* creature, DeathList deathList); Adicione uint32_t executeExtendedOpcode(Creature* creature, uint8_t opcode, const std::string& buffer); creatureevent.cpp Embaixo de else if(tmpStr == "death")m_type = CREATURE_EVENT_DEATH; Adicione else if(tmpStr == "extendedopcode")m_type = CREATURE_EVENT_EXTENDED_OPCODE; Embaixo de case CREATURE_EVENT_DEATH:return "onDeath"; Adicione case CREATURE_EVENT_EXTENDED_OPCODE:return "onExtendedOpcode"; Embaixo de case CREATURE_EVENT_DEATH:return "cid, corpse, deathList"; Adicione case CREATURE_EVENT_EXTENDED_OPCODE:return "cid, opcode, buffer"; Embaixo de std::cout << "[Error - CreatureEvent::executeFollow] Call stack overflow." << std::endl;return 0;}} Adicione uint32_t CreatureEvent::executeExtendedOpcode(Creature* creature, uint8_t opcode, const std::string& buffer){//onExtendedOpcode(cid, opcode, buffer)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 << "local opcode = " << (int)opcode << std::endl;scriptstream << "local buffer = " << buffer.c_str() << 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__char desc[35];sprintf(desc, "%s", player->getName().c_str());env->setEvent(desc);#endifenv->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, opcode);lua_pushlstring(L, buffer.c_str(), buffer.length());bool result = m_interface->callFunction(3);m_interface->releaseEnv();return result;}}else{std::cout << "[Error - CreatureEvent::executeRemoved] Call stack overflow." << std::endl;return 0;}} game.h Embaixo de int32_t getLightHour() {return lightHour;}void startDecay(Item* item); Adicione void parsePlayerExtendedOpcode(uint32_t playerId, uint8_t opcode, const std::string& buffer); game.cpp Embaixo de player->sendTextMessage(MSG_INFO_DESCR, buffer);} Adicione void Game::parsePlayerExtendedOpcode(uint32_t playerId, uint8_t opcode, const std::string& buffer){Player* player = getPlayerByID(playerId);if(!player || player->isRemoved())return;CreatureEventList extendedOpcodeEvents = player->getCreatureEvents(CREATURE_EVENT_EXTENDED_OPCODE);for(CreatureEventList::iterator it = extendedOpcodeEvents.begin(); it != extendedOpcodeEvents.end(); ++it)(*it)->executeExtendedOpcode(player, opcode, buffer);} /creaturescripts/creaturescrips.xml <event type="extendedopcode" name="ExtendedOpcode" event="script" value="extendedopcode.lua"/> /creaturescripts/extendedopcode.lua OPCODE_LANGUAGE = 1function onExtendedOpcode(cid, opcode, buffer)if opcode == OPCODE_LANGUAGE then-- otclient languageif buffer == 'en' or buffer == 'pt' then-- example, setting player language, because otclient is multi-language...--doCreatureSetStorage(cid, CREATURE_STORAGE_LANGUAGE, buffer)endelse-- other opcodes can be ignored, and the server will just work fine...endend Créditos : MaXwEllDeN 100% por adaptar o código3 pontos -
obrigado pelos elogios ! Só pra não ficar parado estou postando um mapa que eu fiz com o DuMal e o Gears2 pontos
-
[Tutorial] Efeito de texto
Lordbaxx reagiu a Alexclusive por um tópico no fórum
Fala moçada do X-Tibia. Estou aqui hoje, para ensinar vocês a criarem um efeito luminoso. Bom, vamos lá. 01. Pressione Ctrl+N para criar um novo documento e defina um tamanho de 462x236 pixels, depois de criado pressione a letra G do teclado para selecionar a Paint Bucket Tool e clique na cor do lado esquerdo e selecione a cor desejada. (No meu caso usei a cor Preta) 02. Agora duplique a layer, vá em Filter> Render> Clouds, pressione Ok, depois mude o modo de blend da layer para Luminosity. 03. Pressione a letra T do teclado para selecionar a Horizontal Type Tool. Neste tutorial usei a fonte CremonaOpenmas nada impede que ser usada outra fonte. 04. Escreva uma palavra ou frase qualquer. 05. Agora clique com o botão direito do mouse sobre a layer do texto e escolha a opção Blending Options, ao abrir a caixa de Blending Options vá em Outer Glow e defina os valores abaixo. 06. Sua palavra deverá ficar como a da imagem abaixo. 07. Agora pressione Ctrl+J para duplicar a layer, clique com o botão direito do mouse sobre a layer que acabou de ser criada e escolha a opção Blending Options, defina os valores abaixo. (Blend Mode: Divide) 08. Ainda com a caixa de Blending Options aberta vá em Gradiente Overlay e defina os valores a seguir. (Blend Mode: Hard Light e Gradient meio transparente) 09. Agora vá em Outer Glow e defina os seguintes valores, depois pressione Ok. 10. Agora pressione Ctrl+E para mesclar as duas layers, duplique novamente a layer, vá em Edit> Transform> Flip Vertical, pressione a letra V do teclado para selecionar a Move Tool e arraste a palavra para baixo, até a posição da foto abaixo. 11. Clique com o botão direito do mouse sobre a layer de baixo e escolha a opção Blending Options e defina como na foto abaixo. (Fill Opacity: 25%) 12. Sua imagem irá ficar como na foto abaixo. 13. Agora pressione Ctrl+E para mesclar as duas layers mais uma vez e vá em Filter> Blur> Gaussian Blur e defina os valores a seguir. 14. Sua imagem irá ficar como a imagem abaixo. 15. Agora pressione a letra E do teclado para selecionar a Eraser Tool e defina os seguintes valores para a ferramenta. 16. Apague suavemente a parte de baixo das letras deixando como na foto abaixo. 17. Agora vá em Filter>Sharpen>Sharpen, até pegar uma certa nitidez. Ficando assim: 18. Agora clique sobre a layer Background e pressione Ctrl+J para duplicar, vá em Filter> Render> Lens Flare e use os valores a seguir. 19. Agora vá em Edit> Fade Lens Flare e defina os valores abaixo. 20. Agora defina o valor de 69% para o Fill na sua paleta de layers. O final de seu texto deverá estar assim: Participe deixando seu comentário, dúvida, sugestão, ideias, exemplos ou simplesmente dizendo um "Olá!" Espero que gostem e aproveitem. Ficarei feliz se ver resultados por ai. Pode postar direto aqui si quiser. Abraço e até a próxima!1 ponto -
@Editado Não sei a área certa para criar esse tutorial, mas se estiver não estiver na área ccorreta, por favor, movam ! Continuando... Vou ensinar a criar um sistema de treinamento offline igual ao global. Requisitos: Apenas um ot com items.xml e items.otb que possuem as estátuas de treino ^-^ Seguindo. PastaDoOt/data//lib/ crie um arquivo chamado "103-offline-training.lua" Coloque isso dentro: em Data/actions/actions.xml adicione as seguintes tags: Os números 18488 - 18492 são os id's dos objetos a serem os "Treiners offline" ou seja, se vc trocar por exemplo o 18492 por um outro id tipo "1026" ( id de um muro) todos os muros que possui esse id, ao clicarem nele, o player irá deslogar, então prestem atenção e coloquem um id existente e que nao seja "usável" como exemplo, uma estátua. em data/actions/script crie um arquivo chamado "offtrain_statue.lua" Coloque isso dentro: ../data/creaturescripts/creaturescripts.xml ../data/creaturescripts/scripts/offtrain_login.lua ../data/creaturescripts/scripts/offtrain_logout.lua ./data/globalevents/globalevents.xml ../data/globalevents/scripts/offtrain_addMinutes.lua pronto, seu sistema de treino offline está criado Créditos: Gesior.pl -> membro da otland, e criador do sistema LookMe -> por trazer o conteúdo1 ponto
-
[Tuto] Colocando imagem dentro do texto.
mkbrabsolute reagiu a Alexclusive por um tópico no fórum
Descrição: Como colocar uma foto dentro de um texto através do Photoshop. Aqui deixo mais um tutorial p/ vocês: Até o próximo!1 ponto -
Global Gesior By PiabetaMan01 2.0
subyth reagiu a Piabeta Kun por um tópico no fórum
Global Gesior By PiabetaMan01 2.0 Bem Galera demorou mais saiu a ultima verção do meu Gesior! Novidades -Site 90% automatizado, ou seja, não precisa ficar mudando nome do seu servidor e caracteristicas no serverinfo por exemplo! - Pagina de criaturas mostrando os loots! - Pagina de montarias completa! - Achievements 1.0 (Em breve a versão mais completa do sistema)! - Pagina de houses automatica (Carrega todas houses do seu servidor e gera busca pelas cidades)! - Outifis em tempo real na pagina de characters! - Pagina de Vantagens Premium ou vip automatizada! - Top players 5 Adicionado! - Feature Article Adicionado! - Video Gallery (Não completo)! - Map view do Tibia ML (Mostra o mapa do tibia global em java)! - Painel Admin com atualizadores de criaturas, magias e outros sistemas (Alguns ainda não terminados)! - Pagina de Market Offers (mostra em tempo real todas as ofertas do market)! - Sistema de like facebook page! - e Layout de Manutenção 100% travado e igual do tibia global! Compatibilidade Servidores tfs 0.3.6, 0.3.7 e 0.4 (8x e 9x) Modificações - Correção no last login (estava dizendo que os chares que nunca logaram haviam logado em x data). - Correção no premium last days (account Management.php ( antes dava uma data errada e nao dizia qndo acabava a premium)). - Characters.php mais fiel ao global! (com achievement system by PiabetaMan01). - Retirado botões não funcionais do Shopadmin.php (sistema de Pacc somente). - Tibiarules.php mais bonita! 100% by PiabetaMan01 - Ranking Igual Tibia.com Sem (sem cores diferenciando quem está online e nao mostrando vocação do char) Download do Acc Maker + Database completa! http://www.4shared.c...I8224/site.html Créditos Gesior.pl VictorWebMaster Aleh Archez WalefXavier 1tyi PiabetaMan01 Em Breve ScreenShoots! OBS: não me responsabilizo por modificações no site, pois estará colocando em risco a proteção do mesmo e será por sua conta, e depois não venha vir aqui dizer que o site é falho!1 ponto -
[Tutorial] Adicionando Transforms Naruto
Developer Berg reagiu a Roksas por um tópico no fórum
Bom galera, ultimamente bastante membros perguntando como adicionar transformações de Naruto e tals. Decidi criar um Tutorial pra que seja mais fácil e bem explicado a todos! Irei ensinar completamente, desde adicionando Sprites no client, até adicionando nos Scripts do servidor. Bora ) • Colocando sprites no client! • Adicionando as sprites em seu Otserv • Criando as transformações Prontinho galera, agora basta entrar em seu Otserv e testar. Boa sorte, espero que tenham gostado e entendido, dúvidas só perguntar. Disponha ^^ OBS: IMAGENS UPADAS POR DynkzDosOts DynkzDosOts1 ponto -
Esse sistema serve para que você possa usar duas weapons ao mesmo tempo uma em cada slot correspondente as mãos do personagem. Com ele você pode utilizar duas sword's, dois axe's, dois club's ou etc... Esse sistema simplismente soma o attack do item que estiver no slot esquerdo com o attack do item que estiver no slot esquerdo. Aew vai os code para inserir nas sources! Vá em player.ccp e procure por: ret = RET_CANONLYUSEONEWEAPON; Você ira encontrar dois "ret = RET_CANONLYUSEONEWEAPON;", substitua por: ret = RET_NOERROR; Após, localize weapons.h e procure por: const Weapon* getWeapon(const Item* item) const; Embaixo você coloca: static int32_t getAttackLeft; static int32_t getAttackRigth; static int32_t getLeftExtraAttack; static int32_t getRigthExtraAttack; Depois, localize weapons.ccp e procure por: int32_t WeaponMelee::getWeaponDamage(const Player* player, const Creature* target, const Item* item, bool maxDamage /*= false*/) const { int32_t attackSkill = player->getWeaponSkill(item); int32_t attackValue = std::max((int32_t)0, (int32_t(item->getAttack() + item->getExtraAttack()) - elementDamage)); float attackFactor = player->getAttackFactor(); Substitua por: int32_t WeaponMelee::getWeaponDamage(const Player* player, const Creature* target, const Item* item, bool maxDamage /*= false*/) const { int32_t getAttackLeft; int32_t getAttackRigth; int32_t getLeftExtraAttack; int32_t getRigthExtraAttack; getAttackLeft = 0; getAttackRigth = 0; getLeftExtraAttack = 0; getRigthExtraAttack = 0; if (getAttackLeft == 0) { if (player->getInventoryItem(SLOT_LEFT) != NULL) { getAttackLeft = player->getInventoryItem(SLOT_LEFT)->getAttack(); getLeftExtraAttack = player->getInventoryItem(SLOT_LEFT)->getExtraAttack(); } else if (player->getInventoryItem(SLOT_LEFT) == NULL) { getAttackLeft = 0; getLeftExtraAttack = 0; } } if (getAttackRigth == 0) { if (player->getInventoryItem(SLOT_RIGHT) != NULL) { getAttackRigth = player->getInventoryItem(SLOT_RIGHT)->getAttack(); getRigthExtraAttack = player->getInventoryItem(SLOT_RIGHT)->getExtraAttack(); } else if (player->getInventoryItem(SLOT_RIGHT) == NULL) { getAttackRigth = 0; getRigthExtraAttack = 0; } } int32_t attackValue = std::max((int32_t)0, (int32_t)((getAttackLeft + getLeftExtraAttack + getAttackRigth + getRigthExtraAttack) - elementDamage)); int32_t attackSkill = player->getWeaponSkill(item); float attackFactor = player->getAttackFactor(); Compile e pronto!1 ponto
-
Sistema de Atribuição de Pontos - By Draky Lucas
Night Wolf reagiu a drakylucas por um tópico no fórum
Créditos: 100% Draky Lucas O que é? Cada level que você upa, você ganha uma quantidade de pontos configuráveis, que pode ser trocados por skills, vida e mana, porem sendo controlado o que pode ser trocado por vocação (assim. um knight, por exemplo, nao compraria ML) PS: configurem vcs mesmos tudo na LIB Funcionamento: Só colocar e ver oO Video: comandos: /atributos /atributos add, club /atributos add, axe /atributos add, sword /atributos add, fist /atributos add, shielding /atributos add, distance /atributos add, mana /atributos add, vitality /atributos reset /atributos build instalação: em data/lib crie um arquivo chamado atributos.lua e nele adicione isso: agora em data/talkactions/scripts crie uma pasta chamada drakylucas e nela crie um arquivo chamado atributos.lua , colocando isso nele: agora em data/creaturescripts/scripts crie uma pasta chamada drakylucas e nela crie um arquivo chamado atributos.lua (sim, todos arquivos tem o mesmo nome.. cuidado nas pastas) e coloque isso: agora em data/creaturescripts/scripts, abre o login.lua e coloque isso ANTES do último return true: agora em data/talkactions/talkactions.xml coloque isso: <talkaction words="/atributos" event="script" value="drakylucas/atributos.lua"/> agora em data/creaturescripts/creaturescripts.xml coloque isso: <event type="advance" name="avancarGanharPontos" event="script" value="drakylucas/atributos.lua"/> reinicie o servidor e divirta-se. PS: não sei se funciona com sqlite.. eu uso MYSQL como banco de dados. Testado com TFS 0.4 Rev 3887 8.60 Por favor, nao deixem de comentar, desanima criar coisas e a cada 100 visitas, apenas um comentario. EDIT: Arrumado bug do magiclevel!1 ponto -
Fala vou postar algumas fotos da escolinha de mapper; Bem Vamos La; Kaiotp Kaiotp Kaiotp Kaiotp Kaiotp ViTeRaS Jvdazica Jvdazica Professor DuMal Kaiotp kaiotp ViTeRaS Em Breve Postaremos mais Imagens Da Escolinha;...Obs; Comentem Creditos; kaiotp ViTeRaS Jvdazica DuMal1 ponto
-
[Download] Narutibia - WebSite Entrance
ivissonx6 reagiu a LuckinhaSan por um tópico no fórum
Download - Senha para extração - xtibia.com Tutorial - Primeiramente, baixe o Naruto WebSite Entrance e extraia para seu Desktop. Em seguida, vá na pasta do seu Xamp, depois em htdocs. Crie uma pasta com o nome do site, e mova todos os arquivos do seu WebSite para esta pasta. Depois de ter movido, coloque os arquivos do Naruto WebSite Entranca na pasta htdocs do Xamp. Abra a pasta config do Naruto WebSite Entrance, e depois abra config.php. $entra['site'] = 'link do site'; Em link do site, apenas coloque site. O resto configure como quiser.1 ponto -
[Poketibia] Kit Iniciais De Unova .idc
ravilli reagiu a narutochuuu por um tópico no fórum
Saudações! Vim postar aqui o download do kit inicial dos pokemon de unova que eu mesmo fiz, o que contém nesse kit? •Sprites dos Iniciais de Unova: Oshawott, Snivy, Tepig, Dewott, Servine, Pignite, Samurott, Serperior e Emboar •Corpse dos Iniciais de Unova: Oshawott, Snivy, Tepig, Dewott, Servine, Pignite, Samurott, Serperior e Emboar •Portrait dos Iniciais de Unova: Oshawott, Snivy, Tepig, Servine, Pignite, Samurott, Serperior e Emboar E tudo em .Idc caso não saiba importar estes sprites, abra seu dat editor, vá em Import / Import Items e selecione os arquivos e salve, pronto, agora é só criar os iniciais para seu server! •Download: http://www.4shared.com/rar/4YDXxKHx/Unova.html? Gostou +REP1 ponto -
sistema funciona assim se player fica muito tempo sem comer ele vai morrendo de fome ai ele perde porcentagem do seu life e vai morrendo se não comer nada ate que ele morre check.lua food.lua deathfood.lua Creditos1 ponto
-
----- PROJETO CANCELADO ----- Para construção de um tibia melhor.1 ponto
-
[Encerrado][Fairy Dream Online] - Recrutamento
Denuvo reagiu a LawlietPainn por um tópico no fórum
Fairy Dream Online MMORPG O projeto é baseado no anime Fairy Tail No anime os personagens são magos que podem definir se querem se aliar a alguma Guilda, e com isso utilizando seu tipo de magia eles podem fazer missões enviadas pelos cidadãos de toda Fiore (O país central no anime) Ideias para o projeto: 1º: O usuário começará em umas das cidades principais do reino de Fiore e escolhendo o tipo de mago que deseja ser. 2º: Logo após devem procurar por outros magos especializados em sua mesma magia e fazer missões para desbloquear magias específicas que só se obtêm com recompensas de missões. 3º: Completando essas missões o usuário já terá obtido EXP e Magias de acordo com sua classe. Chegando ao level 5,poderá escolher que Guilda quer entrar ou uma Guilda Negra. 4º: Conforme o jogador vai evoluindo seus status,ele ganhará reconhecimento em sua Guilda e então podendo competir contra outras Guildas. 5º: Quando completar todas as quests de sua Guilda, o usuário se tornará um Mago S-Class,tendo quests secretas e privilegiadas. 6º:Terá Pets e magias exclusivas VIPS Magias: Magia Elemental : Os magos elementares terão direito de escolher os seguintes tipos de elementos. • Ar • Gelo • Fogo • Água • Terra • Trovão Espíritos Celestiais : Os magos espirituais poderão invocar os espíritos de acordo chaves. -Chaves de Ouro : .Aquarius .Aries .Câncer .Gêmeos .Leão .Sagitário .Escorpião .Touro .Virgem -Chaves de Prata : .Crux .Horologium .Lyra .Nicolas . Pyxis Magos de Reequipar : Os magos que tiverem esse tipo magia terão o direito de invocar armaduras e armas mágicas de outra dimensão. Terão outras magias, a força de todas magias dependerá de seus status Vocações / Profissões : Mago - Terá o direito de entrar para a guilda que desejar, poderá realizar missões para ganhar dinheiro, fama, etc. Magos Negros - São magos de Guildas Negras, podendo capturar ou assassinar magos ''legais'' Spriter : BloodAngell , principe sharingan , [VAGA] . Programador : [VAGA] . Scripter : OrochiElf , [VAGA] . Mapper : LawlietPainn , Jardoc , [VAGA] . Designer : principe sharingan Bom , o mapa infelizmente está concluído em apenas 20% (Precisamos de Mappers e Spriters Urgente ! ), o Server vai começar com Magnólia e algumas vilas , e assim com o passar do tempo vamos fazendo o resto das Cidades . Todas as Guildas , vão ter o quadro de missões. Seremos sempre fiéis ao Anime ! Para se inscrever a seleção basta preencher o formulário abaixo. A seleção será feita pelos membros da equipe, não pense que será fácil, avaliamos perfeitamente, pois queremos os melhores. Boa Sorte a Todos ! Att.: Fairy Dream Online Staff1 ponto -
Eai galera tudo Bem? Hoje eu vou tentar ensinar a você como fazer uma área de swamp. Swamp é uma coisa fácil de se fazer. Primeiro de tudo abra o seu RME e crie um novo mapa (ctrl+n). Vamos lá, primeiro vamos trabalhar com as bordas de swamp (4713~4724, é bem importante prestar atenção nos ids de swamp pois tem o dark swamp (4725~4736), esse dark swamp é mais escuro que o swamp normal então peço que prestem atenção para não usar as bordas do swamp escuro com o swamp claro). Desligue o seu Auto Border (aperte a) e começe a fazer a base do swamp colocando as bordas no mapa, faça um formato legal para fazer isso coloque algumas bordas em cima das outras, deixe alguns buracos no meio também, Feito a base com as bordas a sua deverá ficar mais ou menos assim: Agora coloque os grounds de swamp (4691~4701, nessa parte é importante usando os tiles que eu disse pois tem o swamp dark também) e coloque também o que o player vai andar (eu vou colocar grass (4536, 4526, 4539,4541, recomendo usar só esses pois eles são meio amarelados e isso da a impressão que o garss está meio morto por causa do swamp) porém tem muitos tiles que se pode usar como 3264, 3265, 3263, entre muitos outros). Após colocar os tiles vai ficar assim: Agora vamos aos detalhes, coloque cogumelos (4175 e 4174) quando for colocar eles coloque em "montinhos" coloque também "matinhos" (6218 e 6219 recomendo só esses dois) ainda não está muito legal como podem ver: Então vamos colocar mais detalhes, agora coloque uma ou duas pedras, use as pedras grandes e com musgos tem muitas mais eu vou usar a (1305, 1306 e 3640~3643), coloque algumas pedrinhas andaveis (3653~3656 e 3621~3623) mais não exagere, coloque uns dois itens desses ids (4876~7882) no editor eles não ficam muito legais mais in game eles ficam, coloque plantes de água (2772, 2773, 2779, 2783, você pode criar "novas" plantas puxando uma em cima da outra como essas três: Você pode puxar eles pra cima das pedras isso fica legal também. Está assim: Então pessoal é isso foi um tutorial bem simples, swamp da pra colocar muito mais detalhas dependendo de qual monstro você vai colocar nessa área então é meio difícil eu explicar pra todos. Download do mapa do tutorial: http://www.4shared.c...tutoswamp.html? Espero que gostem ###########public/style_emoticons/default/smile.png1 ponto
-
Meu Primeiro show Off...Bem Vamos La..Espero Bastentes Comentarios; Imagens; Espero Que Gostem..Em Breve Mais Imagens... Cometem.. Creditos; Kaiotp1 ponto
-
1 ponto
-
Download: http://www.mediafire...2rc7eub2w9b2e2o1 ponto
-
Criando Vip Simples
crusheralpha reagiu a sens por um tópico no fórum
É simples você da use em um determinado item e ganha acesso a uma area (vip no caso), realmente e bem simples para queles servidores que tem varias vip, Exemplo: Você faz a quest e pega o item 2233 (apenas para exemplo) e da use ganhando storage 12345 ai você pode entrar. 1ª parte: 2ª parte @Editado: creditos: 85% Xtibia- Quase todo conteudo esta disponivel em diversos topicos do xtibia, não tenho nome de todos os criadores entao esto deixando isso para nao dizerem que estou ripando. 10% Sens - pesquisa correção e junção de scripts 3% Delalana - Correção da 1ª parte. 2% servidor OT Eribaiak v2.0 - algumas funções e alterações. Observações: crie este tutorial, para ajudar como podem ver e um junção de scripts simples (sou pessimo em portugues)1 ponto -
[Mapping] Mostre suas Idéias
Faelzdanil reagiu a realquimista por um tópico no fórum
Poste, caso consigam colocar uma "máquina" pode se dizer que possue rede elétrica.1 ponto -
tempo para usar magia diferente
KennyConrad reagiu a Roksas por uma questão
Ficaria assim: Mas, para que isso? É só por na tag do spells.xml, aonde tem "exhaustion" Alterar o valor para 100001 ponto -
[pedido] função que converte mes com o dia de uma string
drakylucas reagiu a caotic por uma questão
Deixa eu ver se entendi você quer uma função que mude de lugar na string dia/mês para mês/dia Se for e fácil function dateString(string) local function setDateStringTwoValues(string) y = string for i = 1, #y do local t = string.sub(y, i, i) if t == "/" and string.sub(y, i-2, i-2) == "" or t == "/" and string.sub(y, i-2, i-2) == "/" then y = ""..string.sub(y, 1, i-2).."0"..string.sub(y, i-1, #y).."" end end return y end local string = setDateStringTwoValues(string) local y = string.sub(string, 1, 3)..string.sub(string, 7, 10) local t = string.sub(string, 4, 6)..y return t end print(dateString("6/1/2013")) Funções acima analisa se a string verificando se o mês ou o dia tem apenas um único numeral. E se tiver apenas um único numeral ex: 2 ela transforma em dois ex :02(Isto evita bug) Depois ela só troca o lugar o mês pelo vice versa. E pronto1 ponto -
Nao ta errado nao !! Ele ta pedindo um servidor ué '-' OBS : XTibia - A sua comunidade de Tibia e OTserv → OTServ → Downloads de OTserv → Pedido de Downloads1 ponto
-
[Encerrado] Pokémon
frota123 reagiu a Niickmaster por um tópico no fórum
Basta você acessar o topíco Servidores Derivados , que lá tem varios downloads de OTServs ATS Pokétibia.1 ponto -
[Encerrado] Galera preciso que voces me ajudem .
Esquilo001 reagiu a Faelzdanil por um tópico no fórum
Amigo primeiramente você esta na área errada, a área certa é : Pedidos e dúvidas - Servidores Derivados Mas em fim posso lhe ajudar em questão de Outfits ! Vá em Data/XML/outfits.xml Você vai encontrar várias outfits: Exemplo¹: <outfit id="1"> <list gender="0" lookType="511" name="Trainer"/> - Female <list gender="1" lookType="510" name="Trainer"/> - Male </outfit> Nesse caso aqui essa é a Outfit Free, quando você começa e fica na lista de Outfits. OBS: Tire o - Female/-Male Exemplo²: <outfit id="2" premium="yes"> <list gender="0" lookType="615" name="Elite Trainer"/> <list gender="1" lookType="614" name="Elite Trainer"/> </outfit> Essa aqui como pode ver na primeira linha tem premium="yes" , bom significa que é para quem tem premium account. Quando é adicionados dias de p.a. na conta do player automaticamente ganhará essa outfit. Exemplo³: <outfit id="3" premium="yes" quest="181602"> <list gender="0" lookType="512" name="Rapper"/> <list gender="1" lookType="545" name="Rapper"/> </outfit> Essa outfit ela ganha através de quests ou venda por NPCs, e tem que estar p.a. também pra pode-la usar ! O numero 181602 é a storage da Outfit, que se deve colocar em scripts de quests e npcs ! Resumo: Na primeira linha os que contém: <outfit id="X"> - São free todos tem acesso a ela <outfit id="X" premium="yes"> - Receberá a outfit ao ser p.a. <outfit id="X" premium="yes" quest="XXXXXX"> - Apenas p.a. podem usar e recebe através de quests ou venda ! <outfit id="X" quest="XXXX"> - Pode utilizar dessa forma também que será apenas por quest ou venda, mas os frees também terão acesso1 ponto -
Rank de frags
Hamsterbob reagiu a Vodkart por uma questão
seu server não possui essa função... vai em data > lib > 050-function.lua e adc: function getPlayerFrags(cid) local time = os.time() local times = {today = (time - 86400), week = (time - (7 * 86400))} local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC") if(result:getID() ~= -1) then repeat local content = {date = result:getDataInt("date")} if(content.date > times.today) then table.insert(contents.day, content) elseif(content.date > times.week) then table.insert(contents.week, content) else table.insert(contents.month, content) end until not result:next() result:free() end local size = {day = table.maxn(contents.day),week = table.maxn(contents.week),month = table.maxn(contents.month)} return size.day + size.week + size.month end1 ponto -
[Avatares] PsyMcKenzie
PsyMcKenzie reagiu a Alexclusive por um tópico no fórum
Fiz 2 avatares aqui pra ti chegado. Espero que goste Abraço!1 ponto -
[Encerrado] Ajuda PokeClient..
KaboFlow29 reagiu a Niickmaster por um tópico no fórum
•Ah , eu fiz um client rapidinho aqui contendo apenas o IP. pois pelo oque eu entendi era isso que você queria.. é so você baixar aqui: Client Mex (2.3MB) MEGA Client Mex (2.3MB) 4SHARED Ele pedira os seguintes itens: Tibia.spr Tibia.dat Tibia.pic1 ponto -
Tipo dos lado do player que solto a magia? eMmaBWZd[/pastebin]1 ponto
-
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 18) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -8.10, -280, -8.40, -280) function onCastSpell(cid, var) local pos = getThingPos(cid) local posy = {x = pos.x, y = pos.y - 1, z = pos.z} local posy2 = {x = pos.x, y = pos.y + 1, z = pos.z} local posx = {x = pos.x - 1, y = pos.y, z = pos.z} doSendDistanceShoot(posy, getThingPos(getCreatureTarget(cid)), 18) doSendDistanceShoot(posy2, getThingPos(getCreatureTarget(cid)), 18) doSendDistanceShoot(posx, getThingPos(getCreatureTarget(cid)), 18) return doCombat(cid, combat, var) end1 ponto
-
/\ Rank que você nunca ira chegar1 ponto
-
Tutorial Swamp
FenixBorges reagiu a dbruno por um tópico no fórum
Combinações de plantas formato das bordas excelentes. Bom tutorial. Acho que em swamp pode-se adicionar também "vitórias régias" (é esse o nome né?): (Google imagens, busca: "swamp") Fora isso, os outros detalhes variam de acordo com o tema.1 ponto -
[PEDIDO] Quero Layouts Para Meu serve Naruto Tibia
VanWilder reagiu a AlexandreGiacobo por uma questão
Aqui está amigo: Link1 ponto -
[Sign #1] Naruto Sign
AlexandreGiacobo reagiu a LuckinhaSan por um tópico no fórum
Ta bem legal pra primeira sign cara. Mais tente colocar mais efeitos como gradient, iluminações, fractals e outros.1 ponto -
[PEDIDO] Quero Layouts Para Meu serve Naruto Tibia
VanWilder reagiu a LuckinhaSan por uma questão
Veja meus trabalhos1 ponto -
Sim, use o blood splash ou water splash no chão e clique em properties e vai ter ali do lado, water ai quando você clicar vai aparecer uma lista com os nomes tipo beer, limonade, urine, slime, a cada clique em um diferente é uma nova cor1 ponto
-
Usa o de água.. Dê 2 cliques no splash de água já no chão, abrirá propriedades, la vc opta por qual tipo você quer usar.. sem ser a opção de abrir pelo rme oficial e nao atalho quero saber ???1 ponto
-
[C++] Opcode versão 8.54+
akira021 reagiu a BananaFight por um tópico no fórum
Serve para comunicar servidor com client, Com isso é possível criar muitos sistemas, como de andar e soltar som etc.1 ponto -
Interessante, e daria uso ao Atributo Carisma certo? Pensei em Players tendo habilidade de persuadir os NPCs fazendo estes confiarem neles. Musica, por exemplo. Cada vez que fizesse um ato positivo para o NPC, mais fácil seria receber um desconto ou recompensas. Seria algo que se acumulasse... Adicionar estados, sejam negativos ou positivos, ajudam muito a detalhar e dar rpg ao jogo. Não só doenças entre os efeitos, mas Ferimentos, Hemorragias, Dor, Infecções, Ossos fraturados, Adrenalina, Pânico, Cegueira, Maldições, etc... Estes efeitos novos poderiam ser uma mistura de efeitos já conhecido como também introduzindo coisas novas... Na fraturação de osso eu pensei assim: Níveis de Fratura: -Trincado -Quebrado -Destroçado ou Esmagado Regiões Fraturáveis: -Cabeça -Tronco -Mão esquerda -Mão direita -Pernas -Pés Cada nível de fraturação em certa região aplicaria um efeito negativo no jogador. Na cabeça, se a fratura fosse muito grande seria fatal... Nas Pernas/Pés, o jogador perderia muita mobilidade. Agora nos braços, eu pensei em algo como a Arma/Escudo que ele tiver manuseando começasse a falhar. Exemplo: Tem uma espada na mão esquerda, e ela está trincada. O Jogador tem 30% de chance de falhar os golpes, e estes seriam menos potentes. Se fosse quebrado, 80%, e causaria metade do dano. Se a mão estivesse com os ossos destroçados, seria impossível utilizar qualquer coisa com aquele braço. Trincadas poderiam ser regeneradas com magias de cura, e ossos quebrados com as magicas de alto nível. Quando ficasse destroçado, o player teria de se curar em algum lugar especial, o que seria mais complicado.1 ponto
-
[Encerrado] Ajuda Please!
KaboFlow29 reagiu a StyloMaldoso por um tópico no fórum
if getPlayerStorageValue(cid, m[t[d]].storage) == -2then troque por... if getPlayerStorageValue(cid, m[t[d]].storage) == -2 then1 ponto -
Bom acho que é isso: vai em data/actions/scripts e cria 1 arquivo chamado vip9.lua e coloca isso: Vermelho: Storage que vai adicionar ao usar item. Azul: Mensagem que ele fala ao usar item. Depois vai em data/actions em actions xml adiciona: Vermelho: id do item que ira dar a vip Agora vai em data/movements/script e cria 1 arquivo chamaod vip_9.lua e coloca: Azul: posição que vai mandar se ele tiver a storage vermelho: Posição se ele nao tiver a storage Verde: Storage que precisa ter. depois vai em data/movements em movements.xml adiciona: Vermelho: actionid que voce coloca no tile. Então você vai no mapa editor e colocar esse actionid nos tiles que ficam na entrada da vip. @Editado: Corrigido 1ª parte. creditos: 85% Xtibia- Quase todo conteudo esta disponivel em diversos topicos do xtibia, não tenho nome de todos os criadores entao esto deixando isso para nao dizerem que estou ripando. 10% Sens - pesquisa correção e junção de scripts 3% Delalana - Correção da 1ª parte. 2% servidor OT Eribaiak v2.0 - algumas funções e alterações.1 ponto
-
[duvida] Puxar icone de spell direto
minatoxd reagiu a drakylucas por uma questão
eu peguei pronto.. só editei os ids e os tamanhos function Spells.getImageClip(id, profile) return (((id-1)%12)*SpelllistSettings[profile].iconSize.width) .. ' ' .. ((math.ceil(id/12)-1)*SpelllistSettings[profile].iconSize.height) .. ' ' .. SpelllistSettings[profile].iconSize.width .. ' ' .. SpelllistSettings[profile].iconSize.height end dae onde era id eu coloquei o iconId do cliente (que por sinal tem uma função para gettar também), e ond tava aquilo deprofile..width..height... deixei 32.. funcionou perfeitamente.. [abra modules/gamelib/spells.lua e verá]1 ponto -
[Encerrado]PROJETO GAME OF THRONES
Roksas reagiu a AlexSilvinha por um tópico no fórum
Gostei do projeto, tenho de pensar se participo como Mapper. Faltou ai o "Wargs".1 ponto -
Novos Pokemons
Drk Shadow reagiu a Faelzdanil por um tópico no fórum
Valeu @Mykez ! Em breve estarei disponibilizando também mapas, Hunts, cidades o que o povo estiver precisando mais !1 ponto -
Tutorial Completo - Mapping
LucasseravaT reagiu a PsyMcKenzie por um tópico no fórum
Mapping Vamos aprender sobre á Arte! Contéudo do Tutorial : • Ferramentas De Uso! ( Ferramentas, Atalhos, Perguntas e Palhetas ) • Mappeando ( Aprendendo a mappear ) ( Usando Remere's Map Editor) 1. - Floresta ( natureza ) 2. - Deserto 3. - Ice - Snow ( gelo ) 4. - Detalhes ( importante ) Tá, mas Psy, já tem um monte de tutoriais aqui igual a esse. Mas nenhum completo como tal. Então, vamos lá! Para quem não sabe nada sobre Mapping : Oque é Mapping? Mapping é umas das principais áreas de desenvolvimento, basicamente, é o ato de criar mapas (mappear) para um OTserv. Oque é um Mapa? Ao pé da letra, o Mapa é o espaço geografico do jogo, aonde o player vive. Que ferramenta devo usar? Bem, para criar os seus mapas você terá de utilizar a ferramenta chamada MapEditor. Os editores de mapa popularmente conhecidos e usados são SimOne e Remere's Map Editor (RME). Saiba que não existe um MapEditor melhor ou pior, quem faz os mapas é você, não a ferramenta. Um Mapa/MapEditor é de uma versão fixa? Não, existem várias versões de MapEditors, cada um para um protocolo do Tibia. Que extenção possuí o arquivo do meu mapa? OTBM ou OTX. » Ferramentas De Uso « Bom, como alguns sabem, o Remere's Map Editor, mais conhecido como RME foi liberado já tem algum tempo e com várias correções, um editor muito mais complexo que os já liberados até hoje, apesar de todas essas facilidades que ele possui algumas pessoas tem dificuldade de usa-lo. Vamos começar pelas Palhetas. Let's Go! Terrain Pallet Nature Nesta aba/paleta temos tudo relacionado a natureza (somente pisos), como água, grama, terra, areia, gelo entre outros que vocês podem ver utilizando o editor. Cave Nesta temos o básico utilizado em cavernas, os pisos normalmente usados, lava, água, entre outros. Snow Nesta se encontram tudo relacionado a gelo, montanhas gélidas, escadas e outros pisos utilizados. Town Aqui encontramos tudo que pode se formar uma construção/cidade/vila e etc, pisos, paredes e etc. Dooadad Pallet Corpes Nesta aba lógicamente se localiza os corpos de monstros/humanos e etc. Exterior Literalmente tudo que existe no exterior (não, não me refiro a outros países), alguns exemplos de items que há nesta: Portal, alavancas, cabanas, carroças entre outros. Hangables Nesta aba encontramos tudo que pode ser usado como decorações em paredes, como blackboards, placas e outros utensilhos. Interior Literalmente tudo que existe no interior, exemplos de items que são encontrados nesta aba são: caixas, estantes, mesas, cadeias, tapetes e alguns tipos de plantas usadas em casas. Magic Fields O nome mesmo já diz, campo mágico melhor dizendo, os conhecidos fire, energy e poison field entre outros. Nature Literalmente tudo que existe na natureza, árvores, arbustos, tufos, pedras, plantas e mais. Snow Nesta aba encontramos tudo que tenha haver com o tema gelo, items como, relógios, cadeiras, alguns tipos de piso, arvores e pedras. Splash Água, sangue e outros fragmentos liquidos. Trash Literalmente, lixo. Statues Estatuas. Underwater Nesta aba só existem items áquaticos, pedras, barcos em ruínas, items áquaticos mesmo como: estrela do mar e outros. Item Pallet Containers Os compartimentos do jogo. Equipament Equipamentos, armaduras, etc... Food Comida, de todos os tipos... Ornaments Amuletos, anéis.... Runes TODAS as runas do jogo que já foram implantadas e as que não foram também. Shields Escudos. Tools Ferramentas, pá, picareta, serrote, etc... Trinkets Bom, não sei explicar direito, mas são relógios, dados, enfim, alguns objetos de "enfeite". Weapons As armas do jogo, espadas, clavas, machados... Writables Items em que você pode escrever, pergaminhos, livros etc... RAW Pallet Raw Pallete são os items, como no simone map editor, items soltos, os ids mesmo... No doodad pallete, por exemplo, você bota a "cabeça" da cama e a cama inteira aparece, aí é tudo separado, as categorias são: Boats Cave Containers Exterior Grounds Interior Nature Others Sea Splash Stairs/Ramps/Ladders... É basicamente a mesma coisa que trabalhar no SimOne's Map Editor, porém tendo as paletas mais atualizadas e organizadas. -- Ferramentas Opitional Auto Border: Aí você vai usando isso para por a "borda" nas montanhas, ele também pode ser usado para por bordas nos items como wooden floor, para pontes.... e ele é um "auto border manual". Eraser: Usado para apagar. Normal Door, Locked Door, Quest Door e Magic Door: São as portas, OBS: só voce usar numa parede que o MAP EDITOR automaticamente seleciona o tipo de porta. Hatch Window: Janelas do Update 7.92, aquelas que da para fechar. Window: Janelas normais, que não é possível fechar. PZ TOOL: Área de protection Zone. NON PVP TOOL: Igual a pz tool, só que sua mana sobe e tal... NO LOGOUT TOOL: Uma área em que você fica com battle. PVP ZONE TOOL: Área em que os players podem se atacar. -- Perguntas & Respostas Como rodar os items? Simples, com alguns items do DOODAD palette é possível rodar, apertando a tecla X Como Randomizar mapa inteiro: O Remere's Map Editor conta com uma função muito útil para os otservers em que você fez com o SimOne Map Editor, "Randomize Map" Nessa função ele randomiza quase todos os tiles, as gramas, o gelo, a terra das caves e etc... Para fazer isso vá em Edit > Border Options > e clique em Randomize Map. Como Fazer todas as bordas: Essa função permite por bordas no seu mapa inteiro de uma vez, vá nas opçoedo auto border e clique em Borderize Map, o seu mapa ficará com as bordas. Como aumentar o zoom? Simples, use a "roleta" que tem no mouse. Como mudar a versão do meu mapa? No mapa em que deseja modificar a versão, você clica em Map > Properties, ou aperta Ctrl + P. Então, no quadrado Client Version, escolha a versão necessária e aperte OK. Salve. Tenha em mente que pode não ser possível transformar mapas em versões antigas (e.g.: 8.1 para 7.8), pois alguns IDs não existirão. Como adicionar cidades? Map > Edit Towns > Add Selecione o jeito que você quer e clique em OK. Como faço para alterar andar? Use o "+" e "-". Citação: Como faço para apagar tiles de casas / PZ? Você pode apagar com qualquer "pincel", mantenha pressionada a tecla CTRL e desenhe. (Shift ainda funciona como normal) Como eu utilizo a ferramenta apagar? Selecione a ferramenta de apagar (Eraser ). Se você só clicar com o botão esquerdo do mouse, você só removerá itens na posição atual. Se você manter pressionada Ctrl ao clicar com o botão esquerdo do mouse, você apagará telhas e chão. Se você manter pressionado Shift ao clicar com o botão esquerdo do mouse você pode selecionar um espaço de onde você deseja excluir todos os itens. Se você mantenha pressionada Ctrl, Shift e o botão esquerdo do mouse você pode selecionar um espaço de onde você deseja excluir todos os itens e todo terreno. A não ser que você desmarque a opção "Eraser don't delete unique itens" no Menu preferências a borracha não exclui itens em containers ou itens com unique e / ou action ID. Como eu faço casas? Bom, para fazer casas no Remere's Map Editor você deve criar uma cidade primeiro.... Para criar uma cidade vá até MAP > EDIT TOWNS Ali você faz a cidade... Agora faça uma casa, vá no pallete de casas, selecione a cidade e clique em ADD. Selecione os Tiles da casa e depois a saída dela. Pronto, aí está sua casa. Eu não encontrar um certo item, onde está ela? Você pode encontrar todos os itens utilizando o "Raw Palette" ou procure - o pressionando "J" no teclado. Você pode procurar por ambos os nomes e IDs. A lista com todos os itens encontrados de pesquisa serão exibidos em uma lista abaixo. Como importar mapas? Abra seu mapa e vá na aba File, depois clique em Import e Import Map Vai aparecer uma imagem similar a essa: Então, você configura as coordenadas de onde vai começar a colar o mapa importado. Cuidado: ele irá importar o mapa do X=0, Y=0, Z=0. Se o seu mapa começa na coordenada X=20, Y=20, Z=7, e você importa para X=400, Y=400, o mapa começará no X=420, Y=420, Z=7. Se estiver alguma parte de mapa no local onde você vai colar, você pode escoher se remove ou não os tiles. Citação: Como ir para uma certa coordenada? Aperte Ctrl + G e escreva a posição desejada (Ex.: X=1000, Y=1000, Z=7). Então, confirme. Como faço para copiar / colar / mover uma parte do mapa? Se você tem um item ou "pincel" selecionado de um espaço para selecionar o "ponteiro" (ou o que ele é chamado). Agora mantenha pressionado shift e arraste o mouse, mantendo baixo botão esquerdo do mouse para selecionar uma área. Agora, você pode simplesmente mover a área selecionada ou pressione Ctrl + c, Ctrl + v para, em seguida, colá - lo no Editor. Você precisará clicar com o botão esquerdo do mouse antes de botar o conteúdo colado ao próprio mapa. Eu não posso colocar staglamites sobre a água! Você pode colocar doodads sobre blocking tiles, mantenha pressionada ALT. Eu quero outra árvore! Posso ver os tipos de variações? Mantenha pressionada CTRL e clique em espaço, enquanto o doodad estiver selecionado a variação mudará. As paredes têm a orientação errada! Como faço para rodar elas? Mantenha pressionado ALT com o wallbrush selecionado e clique no tile para girar a parede. -- Atalhos T - Terrain Pallete. H - House Pallete. I - Items Pallete. D - Doodad Pallete. C - Creature Pallete. R - RAW Pallete. X - Girar items. Floresta ( Natureza ) A questão da nature em si, é muito mais estética do que realismo. Ao meu ver, para um simples bosque tibiano, o correto seria como está acima, não diria correto, porém coerente. Você nunca deve se dominar pelo "realismo" quando se mappeia, você deve levar em conta sim, mas não sempre, até porque, se fosse o realismo, não existiria magia no Tibia, né galerinha. Começe sempre pelos arbustos, eles tem que estar bem randomizados (iDs: 2767, 2768) Agora sim vamos colocar algumas árvores, coloque entre os arbustos, trace um caminho imaginário, aonde o player possa andar e/ou caçar com tranquilidade, lembra da geografia? (iDs: 2700, 2701, 2702, 2703...) Agora vamos entrar no detalhes, coloque algumas pedras, deixe elas espalhadas, porém concentradas em um único ponto. (iDs: 3648, 3649, 3650, 3651...) Ainda não acabou, vamos colocar os sagrados túfos de grama, como os arbustos deixe eles randomizados mas concentrados em uma linha, um ponto. (iDs: 6216, 6217, 6218, 6219) Deserto Agora vamos falar sobre Desert, é a mais simples e curta de todas, o motivo é que a nature se consiste basicamente em cactos, pedras, e alguns coqueiros entre outros detalhes. Vamos lá? Como eu disse é bem simples, seguiremos 4 passos: Coloque o ground. (iDs: 231) Coloque um Cacto (iDs: 2727, 2733, 2734, 2735.) Em volta, coloque tufos de grama, bem randomizado. (iDs: 6216, 6217, 6218, 6219) Enfeite com Dunas, algumas Pedras, um Esqueleto, oque você achar melhor. Podemos também fazer uma área mais "morta", com esqueletos e lagos de piche. se quiser aprender fazer o lago de pixe que é bem facil, você poderá baixar o mapa. Lago de Piche (ID: 708) Tufos de Grama Seca Sagrado *___* (IDs: 10736. 10737, 10738, 10739) Snow - Ice Vamos para Snow, a vegetação de consiste em árvores e pedras, as árvores em si é facil de pegar, mas o resto dos detalhes ja é meio complicado, mas no geral é muito simples. Vamos lá? Coloque o Ground (iDs: 670) Coloque umas 2 (duas) árvores separadas. (iDs: 2697, 2698, 7020, 7021, 7022, 7023, 7024.) Agora as pedras, neste tipo de vegetação teremos várias pedras grandes, então para começar coloque uma grande, e coloque algumas bem randomizadas em volta. Coloque alguns flocos de neve em volta, randomizados, e alguns discretos nas árvores.(iDs: 6715, 6716, 6717, 6718) Agora vamos detalhar, coloque a randomização dos grounds, flocos de gelo, etc... Exemplos file:///C:/Users/Victor/AppData/Local/Temp/moz-screenshot-11.png: Detalhes Os detalhes são muito importantes em seu Mapa, porém nem todos usam os detalhes, usando eles seu mapa pode ficar muito mais "lindo e sagrado" rsrsrs.. Vamos Láh Exemplo Com 'Ice-Snow, Floresta(natureza),Deserto' Então gente esse é um exemplo, com esses exemplos faça um Mapa otimo, e bonito! Obrigado Pela Atenção! Créditos: Victor Morin1 ponto -
Uma ideia melhorada das calhas (meio antiga)1 ponto
-
[Encerrado] [Pokemon] Dúvidas? - Pda
murluka reagiu a AsMinaPira por um tópico no fórum
@FlamesAdmin vai em data/lib/configuration.lua procura por nurseHealsPokemonOut = true no lugar de true coloca false. @Brunno Mude essa parte do Goback.lua: local x = pokes[pokemon] local boosts = getItemAttribute(item.uid, "boost") or 0 if getPlayerLevel(cid) + pokemonMaxLevelAbovePlayer < getItemAttribute(item.uid, "level") + boosts then doPlayerSendCancel(cid, "Your pokemon's level is much higher than yours, you can't use him.") return true end por essa: local x = pokes[pokemon] if getPlayerLevel(cid) + pokemonMaxLevelAbovePlayer < getItemAttribute(item.uid, "level") then doPlayerSendCancel(cid, "Your pokemon's level is much higher than yours, you can't use him.") return true end A outra alterção era pra remover o level requerido pra usar um pokemon Cansado demais @Taiger Sobre o fishing, vai em data/action/script/tools/fishing.lua e procura por: local chance = 10 + getPlayerSkillLevel(cid, 6) / 2.5 10 seria aonde você teria que alterar pra diminuir a chance de pesca.1 ponto