Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. StyloMaldoso

    Pokemon dash advanced !

    •[Pokemon] PDA v1.8 (Slicer) com editaçoes no mapa (totalmente refeito)• • Menu: ├ Informações; ├ Ediçoes; ├ Erros; ├ Prints; ├ Download; ├ Senha do ADM; └ Creditos. • Informações Basicas • • Edições / Ajustes • • Erros Do Servidor • • PrintScreen • • Download's • PDA v1.8 Mapa totalmente refeito (4Shared). Client ja vem junto com o server. http://www.4shared.com/rar/m5QfBBFf/PDA_V18_f_Creditos_-_Slicer_St.html Versão v0.2 http://www.mediafire.com/?o7xmeczpb7az5yj @Client ja vem junto a pasta do servídor, Good luck ! OBS: Se gostarem do server, Comentem e deem sua sugestão para atalizar, não irei pedir 'rep+' pois pra min isso não muda nada, mais sim contribui meu trabalho • Creditos • Slicer - Por ataliza diariamente o PDA v1.8 sendo uns dos melhore servidor pokemon ja posto pra dowload. Stylo Maldoso - Por ter refeito o mapa. Brunin123 por criar o pda Gabrielxtu por ter me ajudado <3 Equipe Pdaventures pelo mapa
    4 pontos
  2. Oneshot

    doPlayerSetInvisible(cid)

    Nome: doPlayerSetInvisible(cid) Tipo: Função Lua/C++ Autor: Oneshot Todos sabem que na maioria dos servidores atuais existe uma função "interna" para talkactions que deixa o jogador invisível. Como já vi alguns pedidos de funções parecidas nas seções de pedidos, fiz algumas adaptações nesta função interna para que funcionasse como uma função Lua, a qual você poderá usar em actions e etcétera. Sendo assim, basta seguir os passos abaixo. 1. Vá em luascript.h e procure pela linha abaixo: static int32_t luaDoCreatureSetNoMove(lua_State* L); Adicione logo abaixo: static int32_t luaDoPlayerSetInvisible(lua_State* L); 2. Em luascript.cpp, procure por: 0.3.6 lua_register(m_luaState, "doCreatureSetNoMove", LuaScriptInterface::luaDoCreatureSetNoMove); 0.4 lua_register(m_luaState, "doCreatureSetNoMove", LuaInterface::luaDoCreatureSetNoMove); Adicione logo abaixo: 0.3.6 lua_register(m_luaState, "doPlayerSetInvisible", LuaScriptInterface::luaDoPlayerSetInvisible); 0.4 lua_register(m_luaState, "doPlayerSetInvisible", LuaInterface::luaDoPlayerSetInvisible); 3. Ainda em luascript.cpp, procure por: 0.3.6 int32_t LuaScriptInterface::luaDoCreatureSetNoMove(lua_State* L) [b]0.4[/b] [code] int32_t LuaInterface::luaDoCreatureSetNoMove(lua_State* L) Adicione logo abaixo do fim da função: 0.3.6 int32_t LuaScriptInterface::luaDoPlayerSetInvisible(lua_State* L) { //doPlayerSetInvisible(cid) ScriptEnviroment* env = getEnv(); Player* player = env->getPlayerByUID(popNumber(L)); if(!player) { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); return 1; } SpectatorVec::iterator it; SpectatorVec list = g_game.getSpectators(player->getPosition()); Player* tmpPlayer = NULL; Condition* condition = NULL; if((condition = player->getCondition(CONDITION_GAMEMASTER, CONDITIONID_DEFAULT, GAMEMASTER_INVISIBLE))) { player->setHideHealth(false); g.game->addCreatureHealth(player); IOLoginData::getInstance()->updateOnlineStatus(player->getGUID(), true); for(AutoList<Player>::iterator pit = Player::autoList.begin(); pit != Player::autoList.end(); ++pit) { if((tmpPlayer = pit->second) && !tmpPlayer->canSeeCreature(player)) tmpPlayer->notifyLogIn(player); } for(it = list.begin(); it != list.end(); ++it) { if((tmpPlayer = (*it)->getPlayer()) && !tmpPlayer->canSeeCreature(player)) tmpPlayer->sendMagicEffect(player->getPosition(), MAGIC_EFFECT_TELEPORT); } player->removeCondition(condition); g_game.internalCreatureChangeVisible(player, VISIBLE_GHOST_APPEAR); } else if((condition = Condition::createCondition(CONDITIONID_DEFAULT, CONDITION_GAMEMASTER, -1, 0, false, GAMEMASTER_INVISIBLE))) { player->addCondition(condition); player->setHideHealth(true); g.game->addCreatureHealth(player); g_game.internalCreatureChangeVisible(player, VISIBLE_GHOST_DISAPPEAR); for(it = list.begin(); it != list.end(); ++it) { if((tmpPlayer = (*it)->getPlayer()) && !tmpPlayer->canSeeCreature(player)) tmpPlayer->sendMagicEffect(player->getPosition(), MAGIC_EFFECT_POFF); } for(AutoList<Player>::iterator pit = Player::autoList.begin(); pit != Player::autoList.end(); ++pit) { if((tmpPlayer = pit->second) && !tmpPlayer->canSeeCreature(player)) tmpPlayer->notifyLogOut(player); } IOLoginData::getInstance()->updateOnlineStatus(player->getGUID(), false); if(player->isTrading()) g_game.internalCloseTrade(player); player->clearPartyInvitations(); if(player->getParty()) player->getParty()->leave(player); } lua_pushboolean(L, true); return 1; } 0.4 int32_t LuaInterface::luaDoPlayerSetInvisible(lua_State* L) { //doPlayerSetInvisible(cid) ScriptEnviroment* env = getEnv(); Player* player = env->getPlayerByUID(popNumber(L)); if(!player) { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); return 1; } SpectatorVec::iterator it; SpectatorVec list = g_game.getSpectators(player->getPosition()); Player* tmpPlayer = NULL; Condition* condition = NULL; if((condition = player->getCondition(CONDITION_GAMEMASTER, CONDITIONID_DEFAULT, GAMEMASTER_INVISIBLE))) { player->setHideHealth(false); g.game->addCreatureHealth(player); IOLoginData::getInstance()->updateOnlineStatus(player->getGUID(), true); for(AutoList<Player>::iterator pit = Player::autoList.begin(); pit != Player::autoList.end(); ++pit) { if((tmpPlayer = pit->second) && !tmpPlayer->canSeeCreature(player)) tmpPlayer->notifyLogIn(player); } for(it = list.begin(); it != list.end(); ++it) { if((tmpPlayer = (*it)->getPlayer()) && !tmpPlayer->canSeeCreature(player)) tmpPlayer->sendMagicEffect(player->getPosition(), MAGIC_EFFECT_TELEPORT); } player->removeCondition(condition); g_game.internalCreatureChangeVisible(player, VISIBLE_GHOST_APPEAR); } else if((condition = Condition::createCondition(CONDITIONID_DEFAULT, CONDITION_GAMEMASTER, -1, 0, false, GAMEMASTER_INVISIBLE))) { player->addCondition(condition); player->setHideHealth(true); g.game->addCreatureHealth(player); g_game.internalCreatureChangeVisible(player, VISIBLE_GHOST_DISAPPEAR); for(it = list.begin(); it != list.end(); ++it) { if((tmpPlayer = (*it)->getPlayer()) && !tmpPlayer->canSeeCreature(player)) tmpPlayer->sendMagicEffect(player->getPosition(), MAGIC_EFFECT_POFF); } for(AutoList<Player>::iterator pit = Player::autoList.begin(); pit != Player::autoList.end(); ++pit) { if((tmpPlayer = pit->second) && !tmpPlayer->canSeeCreature(player)) tmpPlayer->notifyLogOut(player); } IOLoginData::getInstance()->updateOnlineStatus(player->getGUID(), false); if(player->isTrading()) g_game.internalCloseTrade(player); player->clearPartyInvitations(); if(player->getParty()) player->getParty()->leave(player); } lua_pushboolean(L, true); return 1; } Eu só adaptei a função interna exclusiva das talkactions para uma função Lua. É claro que eu poderia fazer algo BEM melhor, editando a função canSee, por exemplo. Abraços.
    3 pontos
  3. Oneshot

    getSpectatorsFromArea

    Como eu acho que a função getSpectators é um pouco complicadinha de mexer, pois precisa de vários parâmetros, digamos, complicados, fiz ela um pouco mais versátil, precisando apenas da posição superior-esquerda e da posição inferior-direita. function getSpectatorsFromArea(fromPosition, toPosition, multifloor) local lenght = ((math.max(fromPosition.x, toPosition.x) - math.min(fromPosition.x, toPosition.x)) * 0.5) + 1 local width = ((math.max(fromPosition.y, toPosition.y) - math.min(fromPosition.y, toPosition.y)) * 0.5) + 1 if multifloor == true then local ret = {} for f = math.min(fromPosition.z, toPosition.z), math.max(fromPosition.z, toPosition.z) do local tmp = getSpectators({x = math.min(fromPosition.x, toPosition.x) + lenght, y = math.min(fromPosition.y, toPosition.y) + width, z = f}, lenght, width, false) for k = 1, #tmp do table.insert(ret, tmp[k]) end end return ret end return getSpectators({x = math.min(fromPosition.x, toPosition.x) + lenght, y = math.min(fromPosition.y, toPosition.y) + width, z = fromPosition.z}, lenght, width, false) end Caso você use a opção multifloor, a função retorna uma tabela com todos os spectators do intervalo dos floors das posições. getSpectators({x = 100, y = 100, z = 7}, {x = 200, y = 200, z = 11}, true) No caso acima retornaria todos os spectators do floor 7 ao floor 11 Abraços.
    3 pontos
  4. Oneshot

    Fist Fighting/Attackspeed

    Nome: Fist Fighting/Attackspeed Tipo: C++ Autor: Oneshot Já vi alguns pedidos no fórum sobre a skill Fist Fighting, onde quanto mais você treinasse ela, mais rápido você atacaria no jogo, e parece que isto é um feature do Tibia. Como é uma modificação muito fácil nas sources, resolvi passar aí para a galera. Por padrão, o intervalo entre ataques do Tibia é 2000ms, ou seja, um ataque físico a cada dois segundos. Eu fiz uma pequena modificação nas sources onde o Fist Fighting seria inversamente proporcional ao tal intervalo, ou seja, quanto maior o valor da skill, menor seria o intervalo. Fiz de um modo que um jogador com Fist Fighting de nível 200, então, teria uma redução de 75% no intervalo de ataque, ou seja, um ataque a cada meio segundo ou dois ataques por segundo Leve em consideração que ele pega como base o attackspeed da vocação ou da arma usada, ou seja, se seu servidor já tem o tal chamado "fast attack", de nada adianta adicionar esse código C++. Abra seu player.cpp, procure por isso: Player::getAttackSpeed() Substitua toda a função, dependendo da versão de seu servidor: 0.3.6 uint32_t Player::getAttackSpeed() { Item* weapon = getWeapon(); if(weapon && weapon->getAttackSpeed() != 0) return std::ceil(weapon->getAttackSpeed() * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375))); return std::ceil(vocation->getAttackSpeed() * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375))); } 0.4 uint32_t Player::getAttackSpeed() const { return std::ceil(((weapon && weapon->getAttackSpeed() != 0) ? weapon->getAttackSpeed() * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375)) : (vocation->getAttackSpeed() / std::max((size_t)1, getWeapons().size()) * (1 - (getSkill(SKILL_FIST, SKILL_LEVEL) * 0.00375))))); } Isso adiciona uma utilidade para a skill Fist Fighting que em muitos dos servidores é algo deixado de lado e inútil. Abraços.
    2 pontos
  5. Vmspk

    [Original][8.60] Azeroth Rpg Reborn

    Azeroth Server Updated 12/03/2012: v1.1 Outras Versões: v1.0 [8.70]: http://www.xtibia.com/forum/topic/150269-azeroth-server-updated/ v2.0 [9.60]: http://www.xtibia.com/forum/topic/205054-960-azeroth-rpg/ Versão: 8.60 Distro: TFS 0.4 Mapa Base: Yourots Edited e Mix Yourots Features: > 7 Cidades: Azeroth Avalon Zatur Liberty Bay Gloria Sand Trap Tiquanda > Mapa RPG bem detalhado para Ots Low e Mid rate. > Inúmeras invasões automáticas, Low e High lvl (ou iniciadas pelo comando /raid "nome"). > NPCs de Travel/Boat diferentes para cada cidade. > Mais de 70 quests (além das principais) espalhadas pelo mapa. > Quests especiais com NPCs > Arena PvP sem perda de items. > Sistema de Guerras pelo Castelo [entre guilds] (mais detalhes abaixo) > Sistema de Refinamento e Slot (mais detalhes abaixo). > Sistema de Mineração (mais detalhes abaixo) > Scripts e sistemas aprimorados para o servidor > Distro SEM erro algum > Principais Quests: Annihilator Blue Legs Pits of Inferno MMS The Inquisition The Death FireWalker Boots Demon Helmet Draken Hell Conquer > 23 Raids Automáticas e configuradas: > Sistema de Guerras pelo Castelo [Honor Castle, a oeste de Azeroth] Evento automático. Quando a guerra é anunciada as guilds podem batalhar pelo controle do castelo, dando use no monumento do último andar e permanecendo assim até a guerra acabar. O último jogador a ter o controle do castelo antes do tempo acabar será o vencedor, e sua guild se tornará dona do castelo. Todos os membros da Guild ganharão uma recompensa e poderão acessar o mapa do subsolo. Os membros de outras Guilds serão teleportados para o templo e não poderão acessar o castelo. O sistema envia mensagens a todos antes de o evento começar, quando começar, quando o dono do castelo muda, antes de se finalizar e ao finalizar, relatando o conquistador do castelo e a guild vencedora. Imagens: Raids Honor Castle War Upgrade & Slot System > Histórico: V 0.2 V 0.3 V 0.4 V 1.0 V 1.1 Edição e postagem(leia): Eu autorizo edições e repostagens do Azeroth Server (aliás, não posso proibir isso) mas peço a vocês que pelo menos respeitem o estilo do mapa. Eu não sei se poderei dar continuidade a ele, mas trata-se de um projeto RPG. Pensa só, eu tive um trabalhão pra editar o server, fiz tudo com mais amor do que o arroz que sua mãe faz com sazón, e você vai baixar, encher de teleportes e hunts quadradas, colocar armas com atk de 350000, sistemas VIPs sem propósito algum, vai copiar o tópico, retirar meus créditos e postar novamente? Reconsidere, pois não há nada mais desmotivador para um desenvolvedor do que isso, ver seu trabalho cair em desuso, como aconteceu com o Styller YourOts, Vancini e Baiak, que agora é um monstro sem pé nem cabeça (alguns gostam desse tipo de server, tudo bem, mas essa não é a proposta deste servidor). Se teve boas ideias e quer editar o servidor para postar, fique à vontade, estarei à disposição quando puder, mas não me decepcione, ok? lindos Não há teleports diretos para hunts ou quests. Não há items ou monstros editados(além dos trainers). Não há sistema VIP, VIP 2, VIP 3, VIP 345456364. Não há raids com monstros excessivamente fortes nas cidades iniciais. Créditos: < Unknow YourOts Edited >< Mix Yourots Team >< Crystal Server Team >< Tryller >< Mock >< TFS Team >< TonyHanks >< Centera World >< Vmspk > (Nunca retire os créditos, nem mesmo se for postar o servidor em outro fórum) DOWNLOADS > Opcionais IP Changer - Utilitários(opcional) - Map Editor *Utilitários inclui: Lista com códigos de todos os looktypes, SQLite Studio 1.1.1, códigos das cores dos outfits e o OTRestarter. > Servidor Tive problemas para encontrar um distro confiável. Vários TFS não funcionavam direito ou pareciam estar infectados, segundo o VirusTotal, mas ao que me parece o site deve ter mudado algo em suas configurações, por que até arquivos limpos como o antigo Mix YourOts, postado aqui mesmo, agora ficam com 16 + arquivos suspeitos no novo scan. Eu optei por usar um TFS 0.4 postado na Vapus pelo usuário Lyonman (LINK). O distro foi testado com vários anti-virús, sem nenhum problema, e funciona perfeitamente com o Azeroth Server, porém, sou responsável apenas pelo DataPack do servidor. Se você decidir usar este distro, será por sua própria conta (ou se alguém tiver alguma versão do tfs 0.4 r3884 que passe lisa nos scans, poderei substituir). DOWNLOADS: Opção 1                                             Opção 2                                         Somente DataPack (+ IpChanger e SqliteStudio)            Servidor Completo (DataPack + Distro e DLLs) Acc do GOD: vmspk/222222 Comandos: !war para executar a guerra pelo castelo manualmente, !reset para interromper o funcionamento da war e !castle para limpar todos os dados, ou seja, o castelo volta a ser terra de ninguém. !info para saber mais sobre as novidades do Azeroth Server. Editável na pasta do Ot, em Notícias. Comando !bless e !rank disponíveis. Para saber os IDs das pedras e outras coisas vá ao Histórico, na versão 1.0. Se acha que ter um OtServ é só baixar, abrir e largar lá, ou ainda editar chars e equipamentos para você mesmo jogar e fazer o que quiser, garanto-lhe que não vai durar 2 dias. Conheça o mapa, crie eventos, interaja com os jogadores, faça torneios Pvp, marque datas para a Honor Castle, faça updates no mapa, crie monstros, hunts e quests, dê suporte e, o mais importante, mantenha o HELP aberto, sempre. Contato: vmspk@hotmail.com Conheça também o 4Fun Server 9.1 Este servidor está liberado para postagem, mas por enquanto só existe aqui no Xtibia Um bjo pra vcs
    1 ponto
  6. Como o Xtibia mudou seu site, e o modo de edição de tópico colocarei resumido.. Global Compacto Versão 8.60 Links com DLL e Sem DLL http://www.mediafire.com/?651yyaal4lklfbb http://www.mediafire.com/?wkwwote6edvcv4o
    1 ponto
  7. [8.54] Naruto Legend V2.0 - Com Teleports! Informações: - Novo Mapa RPG, com teleports (Com Levels); - Novas Organizações (Akatsuki, anbu, sannin, shippuden, hokage, etc); - Novas Transformações; - 24 Vocações; - Novos Jutsus; - Novos Itens; - Novos Sistemas e comandos; - Novos Monstros; - 3 Vilas; - Ajeitei o servidor para rodar em sqlite (Account Manager já configurado). - Sistema Premium (Com Premium Zone). - Servidor 100% estável; - E mais! Screen's: Download Servidor & Scan: Download: http://adf.ly/UA7a9 Scan: https://www.virustot...sis/1355872674/ Download Distro & Dll's: OBS: Os vírus encontrados são falso positivos ou seja são dll's não reconhecidas que são acusadas como vírus, use-os caso você não tenha nenhum outro de sua confiança para usar Download: http://adf.ly/UA7fX Scan: https://www.virustotal.com/file/7f0c9ae8dbb26b2019aac3147e8aaebcbe37fbc226b5c5fd402cef2f7e9f17f8/analysis/1355915844/ Download Client & Scan: Incluso tibia.spr e tibia.dat! Download: http://www.mediafire...9fdj1y9nc4ta1fy Scan: https://www.virustot...sis/1355873069/ Créditos: Tfs Team Uffox Wono-CJ SmoOkeR
    1 ponto
  8. Overpower

    [PACK] ~ MegaTextures .

    Eae galera beleza? denovo eu APOSKAPOSKAPOKS. Vim trazer esse pack com 502 textures que achei e resolvi compartilhar por que é muito louco '-' Preview: Descrição: Texturas de ótima qualidade '-' Tamanho: 274MB. Formato: .RAR/.JPG/.PNG Créditos: ERZASCARLET Download Sendspace
    1 ponto
  9. Alissow OTs 4.15! [07/04/ 2012] Está versão foi editada e adicionada mais uma nova city. Aproveitem. Créditos: Alissow Comedinha Luis Nirk TFS Team Viniply Xedegus Soxo Bugs Corrigidos: Great Mana Potion-Ok Attack Target-Ok !deathlist-Ok !Bless-Ok Aleta sio-Ok Money-Ok !afkOn-Ok Magebomb-Ok Nukers-Ok Bug Comprar Itens de graça-Ok !aol-Ok !addon-Ok (need addon doll) Sobre o OT/Mapa: Principais quests: -Annihilator -Inquisition Quest -Pits of inferno -Demon Oak -Solar axe quest -HOTA -MPA quest -The Challenger Monstros: -Total monstros: 10292 -Total spawn: 5587+ Cidades: -13 Cidades Contando Com SebCity ! -200 Houses+- Raids/Invasões: -Rat -Orshabaal -Ghazbaran -Giant spider/The old window -Ferumbras -Morgaroth ------ - Versão 8.6, todos os items, outfits e monstros novos (Comedinhasss, Fireelement) - Adicionados os novos monstros 8.6 (Alissow) - Bug das potions arrumado (Por Min) - Erros das runas arrumado (Comedinha, Gabriel linhares, Matheusmkalo, fireelement) Download Servidor: 4shared Download: http://www.4shared.com/rar/P9JoW1ai/Alissow86sebcit.html Atenção - Acc do God: god/god - Reportem se houver algum bug - A database fica na pasta schemas+Database -Comentem, critiquem -Usei as Dlls e o distro do alissow original. - Se você gostou, clique no ali embaixo ó.
    1 ponto
  10. Gesior Java World Map Viewer!! Bom galera , pra quem usa mapa global, vou postar aqui como por aquele mapa mundo , do tibia ml no seu site , da pra voce ter uma ideia do mapa global , cidades , respawns , ele mostra os npcs , creatures etc.. script bem legal , para os iniciantes no tibia e tambem pra quem ja nao eh mais iniciante pra ter uma ideia melhor do mapa , ele funciona em java, veja abaixo o script. Imagem. Imagem zoom. Vá em htdocs e crie um arquivo php com o nome de mundoglobal.php e coloque isso dentro. mundoglobal.php [/center] <?PHP $main_content .= '<b><TD> </TD></TR></TBODY></TABLE> <noscript><p id="javascript-error"><strong>Error</strong><br />This page requires JavaScript to be activated in your browser.</p></noscript> <div id="applet"><applet id="MapViewer" mayscript="" width="800" height="700" code="com.tibiaml.map.MapViewer.class" codebase="http://map.tibiaml.com/" archive="MapViewer.jar" title="Java"><param name="image" value=""><param name="boxbgcolor" value="white"><param name="boxfgcolor" value="white"><param name="appwidth" value="800"><param name="appheight" value="700"><param name="linkedpos" value="true"><param name="minimap" value="false"><param name="x" value="32198"><param name="y" value="31100"><param name="z" value="7"><param name="q" value="3"><p id="java-error"><strong>Error</strong><br>You need to enable Java to see this applet. Install Java <a href="http://www.java.com">here</a>.<br>If you are unable to install Java on your computer, you can use a very basic map viewer <a href="http://map.tibiaml.com/?p=32198,31100,7:3&gmap">here</a>.</p></applet></div> <b>'; ?> Index.php case "mundoglobal"; $topic = "mundoglobal"; $subtopic = "mundoglobal"; include("mundoglobal.php"); break; Layout.php </a> <a href='?subtopic=mundoglobal'> <div id='submenu_mundoglobal' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)' onMouseOut='MouseOutSubmenuItem(this)'> <div class='LeftChain' style='background-image:url(".$layout_name."/images/general/chain.gif);'></div> <div id='ActiveSubmenuItemIcon_doacao' class='ActiveSubmenuItemIcon' style='background-image:url(".$layout_name."/images/menu/icon-activesubmenu.gif);'></div> <div class='SubmenuitemLabel'><font color=red><blink>Global Map</blink></font></div> <div class='RightChain' style='background-image:url(".$layout_name."/images/general/chain.gif);'></div> </div> Creditos: TibiaML
    1 ponto
  11. Mudar server de MySql para SqlLite Olá pessoal, estou com meu server online por mysql, mas gostaria de passar para sqlite. Gostaria de uma explicação bem detalhada, pois mudei lá no config.lua, de mysql para sqlite, funciona, mas o server trava do nada e não abre mais, poderiam me ajudar ? Vou postar meu config.lua e a base do ot que eu uso. A base do Otserver que uso Meu config.lua
    1 ponto
  12. LuckOake

    Aprendendo A Scriptear

    Olá galera. Muitos de vocês que são iniciantes em scripting tem certa dificuldade para criar scripts, uns por falta de ideias, outros por realmente não conseguirem montar nada. Por isso, resolvi fazer esse tutorial simples e claro. Aprendendo a Scriptear Introdução: Bom, primeiramente, você já se perguntou "por quê quero scriptear"? Se sim, legal, mas chegou à uma resposta? Se não, pense nisso. Tente chegar à algo que te inspire, seja observando trabalhos de scripters mais conhecidos e habilidosos ou simplesmente querendo criar novas coisas para ter seu nome conhecido. Sem uma inspiração você não vai avançar, acredite em mim. Começando no mundo dos scripts: Quando você tentou aprender a scriptear pela primeira vez, o que você fez? 95% das pessoas responderiam: "Eu li tutoriais". Tudo bem, mas será que isso é certo? Posso te assegurar que não. É claro, ler um tutorial abre sua mente para a parte teórica de scriptear, mas nada muito grande, de pouco adianta a teoria se você não entende a prática. Como praticar: Vou compartilhar com vocês uma experiência de vida. Eu tenho um server que está atualmente fechado para reformas, mas antigamente, eu necessitava sempre de inovar para agradar os players, só que os scripts que eu queria nem sempre estavam disponíveis na net. O que eu fazia? Simples, procurava scripts que possuiam as funções que eu precisava e ia juntando os pedaços até formar o que eu queria. Não, nunca funcionava de primeira, tinha vez que eu levava umas 2 horas para montar um script não muito avançado. Resultados da prática: Com a prática dita acima, você aprende as funções (como elas funcionam, o que significam, etc), aprende a estrutura de um script (if, else, end, etc), e o principal, aprende a criar. Moral: Não leia tutoriais apenas, pratique à partir do que você já conhece. Exemplo disso: Você conhece as cores azul e vermelho. Se você juntar as duas, você conhecerá uma nova cor, a cor roxa. Ou seja, juntando seus conhecimentos você obtêm mais sabedoria. Aprendendo a Imaginar Introdução: Bom, o maior problema de todo scripter é a falta de idéias, mas nem todos sabem resolver isso e encalham, alguns até desistem. Como resolver? Mas antes de tudo, vamos ao por quê. Por quê não tenho ideias? Você provavelmente já se perguntou isso. Se não, SE PERGUNTE. É importante. Parte das pessoas diriam que é porquê tudo já foi inventado, mas acredite, isso tá errado. Eu mesmo tinha essa visão, mas aprendi a imaginar, mesmo que às vezes seja difícil. Você não tem ideias bem provavelmente porquê você não tentou ter. Ou se tentou, fez da maneira errada. Então como ter ideias? Cara, você mora num universo que provavelmente está dentro de outras imensidões que seres humanos como nós são incapazes de compreender, mas fiquemos na Terra mesmo. O que tem na Terra? Muitas coisas, e a cada dia são criadas mais e mais coisas. Observe o mundo ao seu redor, se você prestar atenção em cada detalhe, verá que existem objetos, pessoas e até ambientes que você nunca imaginava que existisse. Você, tendo um pingo de criatividade, pode criar na sua mente um paraíso inteiro à partir de um simples campo de futebol. Moral: Você aprende a imaginar à partir do que já existe, isso é fato, mas com isso, você pode muito bem tirar uma base da sua imaginação ou até mesmo da realidade e criar um sistema que não existe, afinal, muitas coisas ainda não existem. Conclusão Final Você aprende praticando, e com a prática você evolui, mas para praticar você precisa de uma inspiração, e a partir da inspiração você tem ideias, e a partir das ideias você pratica, e com a prática você evolui, e fica nesse ciclo infinito. --------------------------------------------------------------------------------------------- Obrigado galera, espero que vocês tenham entendido o que eu quis dizer. Att. Luck Oake
    1 ponto
  13. SmiX

    Promotion System 1.0 - By SmiX

    Oi galerinha, tudo bem? Queria dizer que é uma honra fazer scripts para todos vocês, aproveitando quero pedir avaliação de todos sobre o sistema. Bom, me espelhando no RPG perdido, utimamamente, pelos otservidores criei esse sistema. Que funciona basicamente assim: Há 5 tipos de promotions para cada vocação, cada uma com o seu nível, como podem ver a baixo a tabela de Promotions existentes no sistema: ////////////////////////////////////////////////////////////////// | Sorcerer -> Pyromantic -> Incendiary -> Cloud Walker -> Skyer Mage | Druid -> Lightbringer -> God Hands -> Bloody Priest -> Death Disciple | Paladin -> Hunter -> Head Hunter -> Ninja -> Strong Assassin | Knights -> Barbarians -> Hellborn -> Gladiators -> Imperial Gladiators | ////////////////////////////////////////////////////////////////// | O player pode trocar de vocação dando certo(s) item(s) ao npc(configurável). Vale lembrar que a cada nível de vocação é multiplicado pelo quantidade de itens que o player tem que entregar; ou seja, se o player estiver no nível 1 e a quantidade de itens a ser entregue for igual a "5" na próxima troca de vocação ele terá que entregar "10" itens e na terceira troca "15" e assim por diante. Vamos a instalação: (Substitua todo) data/XML/vocations.xml: <?xml version="1.0" encoding="UTF-8"?> <vocations> <vocation id="0" name="None" description="none" needpremium="0" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="1" manamultiplier="4.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="0" attackable="no"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="1" name="Sorcerer" description="a sorcerer" needpremium="0" gaincap="25" gainhp="15" gainmana="10" gainhpticks="6" gainhpamount="5" gainmanaticks="3" gainmanaamount="5" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="1"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="2" name="Druid" description="a druid" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="3" gainhpamount="5" gainmanaticks="6" gainmanaamount="5" manamultiplier="3.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="4"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="3" name="Paladin" description="a paladin" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="4" name="Knight" description="a knight" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="5" name="Pyromantic" description="a pyromantic" needpremium="0" gaincap="25" gainhp="15" gainmana="10" gainhpticks="6" gainhpamount="5" gainmanaticks="3" gainmanaamount="5" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="1"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="6" name="Lightbringer" description="a lightbringer" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="3" gainhpamount="5" gainmanaticks="6" gainmanaamount="5" manamultiplier="3.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="4"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="7" name="Hunter" description="a hunter" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="8" name="Barbarian" description="a barbarian" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="9" name="Incendiary" description="a Incendiary" needpremium="0" gaincap="25" gainhp="15" gainmana="10" gainhpticks="6" gainhpamount="5" gainmanaticks="3" gainmanaamount="5" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="1"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="10" name="God Hands" description="a God Hands" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="3" gainhpamount="5" gainmanaticks="6" gainmanaamount="5" manamultiplier="3.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="4"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="11" name="Head Hunter" description="a Head Hunter" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="12" name="Hellborn" description="a Hellborn" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="13" name="Cloud Walker" description="a Cloud Walker" needpremium="0" gaincap="25" gainhp="15" gainmana="10" gainhpticks="6" gainhpamount="5" gainmanaticks="3" gainmanaamount="5" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="1"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="14" name="Bloody Priest" description="a Bloody Priest " needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="3" gainhpamount="5" gainmanaticks="6" gainmanaamount="5" manamultiplier="3.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="4"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="15" name="Ninja" description="a Ninja" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="16" name="Gladiators" description="a Gladiators" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="17" name="Skyer Mage" description="a Skyer Mage" needpremium="0" gaincap="25" gainhp="15" gainmana="10" gainhpticks="6" gainhpamount="5" gainmanaticks="3" gainmanaamount="5" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="1"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/> </vocation> <vocation id="18" name="Death Disciple" description="a Death Disciple" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="3" gainhpamount="5" gainmanaticks="6" gainmanaamount="5" manamultiplier="3.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="4"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="19" name="Strong Assassin" description="a Strong Assassin" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> <vocation id="20" name="Imperial Gladiators" description="a Imperial Gladiators" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="10" gainmanaticks="4" gainmanaamount="10" manamultiplier="3.0" attackspeed="2000" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> </vocations> Agora em: data/npc/setPromotion.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Cap. Oxinar" script="setPromotion.lua" walkinterval="1" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="158" head="50" body="113" legs="113" feet="113" corpse="2212"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|, you want to change your vocation? talk: {info}."/> </parameters> </npc> Agora crie: data/npc/scripts/setPromotion.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local config = { [1] = {itemNeeded = 2160, count = 1, new={"Sorcerer", "Pyromantic", "Incendiary", "Cloud Walker", "Skyer Mage"}}, [2] = {itemNeeded = 2160, count = 2, new={"Druid", "Lightbringer", "God Hands", "Bloody Priest", "Death Disciple"}}, [3] = {itemNeeded = 2160, count = 1, new={"Paladin", "Hunter", "Head Hunter", "Ninja", "Strong Assassin"}}, [4] = {itemNeeded = 2160, count = 1, new={"Knight", "Barbarians", "Hellborn", "Gladiators", "Imperial Gladiators"}}, } --------------- local novoc = {17,18,19,20} local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local msg, x = string.lower(msg), config[getPlayerStorageValue(cid, 1893)] if(msgcontains(msg, 'info'))then if getPlayerStorageValue(cid, 1893) < 1 then setPlayerStorageValue(cid, 1893, getPlayerVocation(cid)) end if isInArray(novoc, getPlayerVocation(cid)) then selfSay("Sorry, you're on your last level of his vocation.", cid) talkState[talkUser] = 0 return true else selfSay("--Info-- \nYou can go from ["..getPlayerVocationName(cid).."] to ["..x.new[getPlayerStorageValue(cid, 1894)+1].."]", cid) talkState[talkUser] = 1 return true end elseif(msgcontains(msg, 'set vocation')and talkState[talkUser] == 1) then if(doPlayerRemoveItem(cid, x.itemNeeded, x.count*getPlayerStorageValue(cid, 1894))) then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) selfSay("Congratulations, your new vocation was changed to: "..getPlayerVocationName(cid).."", cid) setPlayerStorageValue(cid, 1894, getPlayerStorageValue(cid, 1894)+1) else selfSay("Sorry, you need a "..x.count*getPlayerStorageValue(cid, 1894).." "..getItemNameById(x.itemNeeded)..""..(x.count == 1 and "" or "s")..".", cid) talkState[talkUser] = 0 return true end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Lembrando, eu não balanciei as vocações, deixei isso a seu gosto. Só isso, fui...
    1 ponto
  14. Tem bons tutoriais de como criar assinaturas é só tu da uma olhada na area de designer essa no fui eu que fiz foi o Over o cara é fera d+ em photoshop fala com ele depois ele faz uma pra ti. E cara se eu fosse abri um server agr eu ia por ele on com esses mapas pra ve se dava player on ou nao, faz isso vai tira tua duvida ve oque da mais player
    1 ponto
  15. Não, não há um modo fácil de fazer essa troca de versão do distro. Exige bastante trabalho, pois você tem que reparar vários scripts, trocar libs, items.otb e etcétera. Como o tópico está a mais de 7 dias inativo, estou trancando. Abraços.
    1 ponto
  16. Resolvido!!! Quem poder rep+ Paulo, muito atencioso e gente fina.
    1 ponto
  17. zodiak

    [Sign] - Natsu

    Resolvi tentar uma sign um pouco diferente, sem uso de C4D's, efeitos e iluminação. Fiz a lineart da render, coloquei sobre a render original, apaguei algumas partes, fiz o mesmo nos traçados de fundo e usei algumas elipses. Bem simples mesmo.. Obs: Agora vou começar a colocar todos os PSD's das minhas signs, talvez ajude alguns iniciantes. Usem honestamente PSD: http://www.4shared.com/photo/_B__opkd/ft_online.html?
    1 ponto
  18. Benny

    [Galeria] Overpower.

    , cordenador foi tu que feiiz LOL! fico boa pakaas lek ^^ coomo o dia ja ta acabando Rep+ pq tu foi o que eo vi d mais daora o dia todo >..<' #AteAMeiaNoiteTuFoi Dp começa certas coissas :P:P
    1 ponto
  19. Arquivo game.cpp, procure pela linha bool Game::playerMoveItem(uint32_t playerId, const Position& fromPos, uint16_t spriteId, int16_t fromStackpos, const Position& toPos, uint8_t count) Dentro da função, procure por: Cylinder* toCylinder = internalGetCylinder(player, toPos); Adicione logo abaixo: if(toCylinder->getTile()->getItemCount() > 5) { player->sendCancelMessage(RET_NOTPOSSIBLE); return false; } Abraços.
    1 ponto
  20. Overpower

    [Galeria] Overpower.

    @Atualizado +2 signs Smudge... Avaliem =X Eu nem to acreditando que fui eu quem fez essas signs =O
    1 ponto
  21. SmiX

    Editar essas spell ajuda

    sugura ai:
    1 ponto
  22. local posi = {x=1, y=1, z=1} -- Posicao pra onde vai o player function onStepIn(cid, item, position, lastPosition, fromPosition) if getPlayerLevel(cid) < 51 then doTeleportThing(cid, posi) doSendMagicEffect(getThingPos(cid), 10) else doPlayerSendTextMessage(cid, 27, "Sorry, you need a level 50 minus.") doTeleportThing(cid, lastPosition) end end
    1 ponto
  23. SmiX

    [Encerrado] Storage?

    skill = { item = 9971, -- Item quantidade = 0, -- Quantidade quantidadeskill = 90, -- Skill adicionada limiteskill = 90 -- Limite } magicLevel = { item = 9971, quantidade = 0, quantidademl = 90, limitedeml = 90 } skillID = { ["club"] = SKILL_CLUB, ["sword"]= SKILL_SWORD, ["axe"] = SKILL_AXE, ["distance"] = SKILL_DISTANCE, ["shielding"] = SKILL_SHIELD } vocationSkill = { -- Vocações - SKILL ["club"] = {4, 8}, ["sword"] = {4, 8}, ["axe"] = {4, 8}, ["distance"] = {3, 7}, ["shielding"] = {4, 8} } vocationMagicLevel = {1, 2, 5, 6} -- Vocações - MAGIC LEVEL protectZone = "sim" function onSay(cid, words, param, channel) if getPlayerStorageValue(cid, 1839) <= 0 then setPlayerStorageValue(cid, 1839, 1) local pid = getPlayerGUID(cid) if (protectZone == "sim") and (not getTilePzInfo(getCreaturePosition(cid))) then doPlayerSendCancel(cid, "Você precisa estar em protection zone pra poder comprar.") end if (param == '') then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Como usar: !comprar club; !comprar magiclevel.") return true end local storage, duration = 5, 5 if (param == 'magiclevel') then if getPlayerMagLevel(cid) < magicLevel.limitedeml then if isInArray(vocationMagicLevel, getPlayerVocation(cid)) then if doPlayerRemoveItem(cid, magicLevel.item, magicLevel.quantidade) then if (os.time() - getPlayerStorageValue(cid, storage)) >= duration then setPlayerStorageValue(cid, storage, os.time()) doRemoveCreature(cid, true) db.executeQuery("UPDATE `players` SET `maglevel` = `maglevel` + ".. magicLevel.quantidademl .." WHERE `id` = ".. pid) else doPlayerSendCancel(cid, "Espere ".. duration .." segundos para comprar novamente.") end else doPlayerSendCancel(cid, "Você não tem o item requerido.") end else doPlayerSendCancel(cid, "Voce não pode comprar magic level.") end else doPlayerSendCancel(cid, "Você chegou no limite de magic level.") end return true end if(skillID[param:lower()]) then if(getPlayerSkill(cid, skillID[param:lower()]) < skill.limiteskill) then if isInArray(vocationSkill[param:lower()], getPlayerVocation(cid)) then if doPlayerRemoveItem(cid, skill.item, skill.quantidade) then if (os.time() - getPlayerStorageValue(cid, storage)) >= duration then setPlayerStorageValue(cid, storage, os.time()) doRemoveCreature(cid, true) db.executeQuery("UPDATE `player_skills` SET `value` = `value` + ".. skill.quantidadeskill .." WHERE `player_id` = ".. pid .. " and `skillID[` = ".. skillID[param:lower()]) else doPlayerSendCancel(cid, "Espere ".. duration .." segundos para comprar novamente.") end else doPlayerSendCancel(cid, "Você não tem o item requerido.") end else doPlayerSendCancel(cid, "Voce não pode comprar este skill.") end else doPlayerSendCancel(cid, "Você chegou no limite de skill.") end else doPlayerSendCancel(cid, "Skill desconhecida.") end else doPlayerSendCancel(cid, "Você já usou esse comando um vez.") end return true end
    1 ponto
  24. mkbrabsolute

    [Encerrado] iDuvidas Em Otserv

    Sim Prezado, basta pegar a pasta inteiro contento o spells.xml e os scripts e colocar no seu servidor, pode haver algum bug, mas é possível sim, quanto ao Vocations também! Ajudei? CLICA NO + AÍ, REP+
    1 ponto
  25. Slicer

    [Encerrado] [dúvida] Meu OT Rikudou

    tem q criar o topico em Aprovação de Downloads
    1 ponto
  26. chauz

    [Arquivado]Área do Mapper

    Olha vocês parecem ter muito potencial, mas porfavor tirem fotos in-game, assim o zoom fica errado e nao da pra avaliar direito obrigado.
    1 ponto
  27. brun123

    outro error em onTextEdit , me ajudem

    mude isso: if skillId.add == "none" then return false elseif skillId.add == "speed" then doChangeSpeed(cid, getCreatureSpeed(cid)+(value*skillId.count)) elseif skillId.add == "health" then setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+(value*skillId.count)) elseif skillId.add == "mana" then setCreatureMaxMana(cid, getCreatureMaxMana(cid)+(value*skillId.count)) end para isso: if skillId.add == "speed" then doChangeSpeed(cid, getCreatureSpeed(cid)+(value*skillId.count)) elseif skillId.add == "health" then setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+(value*skillId.count)) elseif skillId.add == "mana" then setCreatureMaxMana(cid, getCreatureMaxMana(cid)+(value*skillId.count)) end
    1 ponto
  28. brun123

    Script quest

    abre o arquivo actions.xml (data/actions) e adicione essa linha: <action actionid="9543" event="script" value="tocha_quest.lua"/> aí cria um arquivo chamado tocha_quest.lua em data/actions/scripts e coloca aquele script que postei lá em cima agora vai no map editor, clica 2x em cima daquela tocha que precisa dar use e coloque o action id dela como 9543, e teste
    1 ponto
  29. Bem, pra deixar mais noticias sobre o servidor e para que passam e interagir mais o objetivo nosso é seriamente em um Global de Tibia. Mas um global com quest`s novas, entretenimento muito mais cativante, mapa global 100% editado por nós, experiencia referente a diversão e novos mapas. Queremos fazer um servidor que passe a ter amigos para poderem jogar, quest onde apenas em grande grupos será possivel fechar e claro, atualizações toda semana com novidades tanto por nossa conta quanto por sugestão dos players. Website totalmente nosso. Evento nos quais jamais visto em outros servidores estarão sendo feitos por nossa equipe. Bom, por enquanto é isso que posso deixar claro para vocês, esse é a visão referente ao nosso servidor. Se alguem tiver mais ideias e opiniões, eu peço por favor que comente e opine. Isso será de grande ajuda para nós criamos um servidor de alta qualidade. Grato.
    1 ponto
  30. WH47

    Conhecendo seu PhotoShop

    1º - Obter o Photoshop O Photoshop é o Programa de Edição de imagens mais Utilizados, Por Isso Recomendo Baixá-lo Para Mecher. Existem Várias Versões do Photoshop, As Mais Utilizadas São o Cs2 e o Cs3, Porém eu Utilizo o Cs4 Quem Não Tem, Clique aqui 2º - O Básico O Photoshop Possui Muitas Ferramentas, Que São Muito úteis. A Seguir Farei Uma Descrição De Todas Elas. Marquee Tool(M) - Para Poder Selecionar Partes, Ou Selecionar Uma Determinada Parte Para Aplicar o Efeito. Exitem Quatro "Jeitos? de Seleção: Rectangular, Elliptical, Single Row e Single Column. Move Tool(V) - Ferramenta Usada ParaMover Coisas Lasso Tool(L) - Normalmente Usada Para Recortes, Mas é Mais Complicada =X Magic Wand Tool(W) - Voc? Pode Usá-la para Selecionar areas do seu Layout Por Valores, Cores ou Tons, Dependendo da é Tolerance?. Também Pode Recortar Imagens. Crop Tool - Para Recortar Também. Basta Selecionar Uma área, E Tudo Que Estiver Fora Dela Será Cortada. Slice Tool(K) - Ferramenta Muito útil para Webmasters; Você Pode Fatiar o Seu Documento em Partes Que na Hora de Ser Exportado Vai Ser Automaticamente Recortado em Partes Determinadas, Otimiza Seu Trabalho. Recortando o Seu Layout em Partes, Você Faz com Que Sua Página Indiretamente Carregue Mais Rápido. Você Poderá Definir Opções Para Cada Fatia Como Nome e URL. Heal Brush Tool(J) e Path Tool(J) - Usada Para "Concertar" Imagens Danificadas. Pencil e Brush Tool(B) - Uma Coisa Bastante Usada. É Como se Fosse o Lápis e o Pincel do Famoso "Paint". Você Pode Definir Cor, Grossura, Etc. Existem Alguns Brushes Prontos Com Uns EFeitos Legais. Clone Stamp Tool(S) - Serve Para Copiar Uma Parte da Imagem e Colá-la Na Mesma Layer. Geralmente é Usada Para Remover Espinhas e Cravos de Imagens History Brush Tool(Y) - Serve Para Tornar a Imagem Transparente. Eraser Tool(E) - Usado Para Apagar Coisas Indesejadas. Paint Bucket Tool(E) e Gradient Tool(E) - O Paint Bucket Tool ? Para Pintar Pequenas Partes da Imagem, Como o Balde do Paint. O Gradient Tool Pode Ter 2 Cores Ou Mais e Geralmente é Usado no Trabalho Inteiro. Blur Tool - Sharpen Tool- e Smudge Tool - A Smudge Tool Também é Muito Usada. Serve Para Borrar Determinada Regi?o, e Dependendo do Strenght Tem Diferentes Resultados. A Sharpen Tool Serve Para Dar Mais Nitidez a Imagem, Mas Não Exagere. A Blur Tool, Diferente da Sharpen, Torna a Imagem Embaçada Dodge Tool(O) Burn Tool(O) e Sponge Tool(O) - A Burn Tool Serve Para Escurecer Determinados Pontos, Bastante Usado Para Fazer Iluminação nas Signs. A Dodge Tool, Ao Contrário da Burn Tool, Serve Para Clarear Uma Imagem. Já a Sponge Tool Tira a Saturação de Certa Parte, Ou Seja, A Torna P&B ( Preto & Branco). Path Selection Tool(A) Direct Selection Tool(A) - O Path selection tool serve para selecionar um ponto apenas do shape que fizemos com a Pen tool, assim poderemos editar a forma; o Direct selection tool serve para selecionar todos os pontos do seu shape, ou seja, você o move inteiramente. Horizontal/Vertical Type Tool(T) e Horizontal/Vertical Mask Type Tool(T) - A Horizontal Type Tool é a Ferramenta Usada Para Fazer a Tipografia do Jeito Convencional, Ou Seja, Deitada. Já a Vertical Type Tool Tem a Mesma Função, Porém a Tipografia Fica Vertical. O Horizontal Mask Type Tool tem a mesma função do Horizontal type tool mas ele apenas deixa selecionado o texto, não o preenche, fica como uma máscara; o Vertical Mask Type Tool da mesma forma que o Vertical Type Tool se dispõe de cima para baixo, mas também fica apenas selecionado, não é preenchido. Pen Tool(P) e Freeform Pen Tool(P) - Com a Pen Tool você pode traçar riscos, que podem ser usados junto com o shape tools. o FreeForm Pen Tool é usado bastante para fazer formas arrojadas em layouts para websites, ou formas que não podem ser feitas com outras ferramentas como o Marquee tool, lasso tool... O Add Anchor Point Tool serve para adicionar um ponto a mais no seu shape feito pelo freeform pen tool, para obter um efeito, curva esperado; o Delete Anchor Point Tool deleta o ponto que você desejar, caso ele seja necess?rio, serve para retas, caso você queira uma parte não curva, quanto menos pontos mais fácil fazer a reta. Shape Tools(P) - Com essa ferramenta você pode criar formas pré-definidas: Rectangle, Round Rectangle, Ellipse, Polygon, Line e Custom(qualquer). Podendo fazer janelas com cantos arredondados, muito utilizado por webmasters; na versão 7 se não me engano, essa ferramenta ficou disponível, nas versões anteriores do Photoshop para se fazer uma janela com cantos arredondados, prescisávamos utilizar o Maquee Tool para arredondá-los. Com essa ferramenta tudo se tornou muito mais fácil. Zoom Tool(Z) - Ferramenta Para Dar Zoom e Ver Mais Detalhadamente Certos Pontos Hand Tool(H) - Não tem muita utilidade, apenas substitui a barra de ferramentas; ou a rodinha do seu mouse... Caso seu documento esteja mais comprido que o campo de visão do seu monitor... EyeDropper Tool(I) - Copia a cor de uma área determinada. 3º - Filters Filters São Efeitos Que Podem Ser Aplicados na Sign (Claro Que Não São os únicos) Não Vou Explicar Todos, Pois Acho que é Muito Importante a Pessoa Aprender Mexendo, ás Vezes Ela Pode Aprender Mais Assim Do Que Lendo Tutoriais (Mas Leiam Tutos Mesmo Assim AUSHaush) 4? - Qual a Diferença Entre Avatar e sign? Exemplo de Avatar Exemplo de Sign Começando... As Signs Normalmente Variam de Tamanho ENtre 400x120px At? 440x160px, porém depende da inspiração e estática do designer. Já os Avatares, Aqui na Thunder Cheats Tem o Tamanho 150X 280X, podendo ser menor, se quiserem. A Diferença Entre Eles é Claro, Principalmente o Formato e Tamanho. 5º - O Que é Render? A Render é o Elemento Principal de Uma Sign A Render é Um Objeto, Pessoa, Ou Qualquer Coisa Recortada, Para Ser Colocada na Sua Sign. A Render Tem Que Ser o Mais Importante da Sign 6º - Como Crio um Documento e Aplico Renders? Para Criar um Novo Documento, Basta Ir em File --> New E Colocar os Dados Desejados Para Adicionar Renders, Basta ir em File --> Place e Posicioná-la 7º I - O Que é Blending Mode? O Blending Mode é o Modo da Camada. Cada Blending Mode Tem Características Específicas 7º II - Os Blending Modes Normal Edita ou pinta cada pixel para transformá-lo na cor resultante. Esse é o modo padrão (o modo Normal é chamado de Limiar quando se trabalha em imagens bitmaps ou de cores indexadas). Dissolve / Dissolver Edita ou pinta cada pixel para transformá-lo na cor resultante. Entretanto, a cor resultante é uma substituição aleatória dos pixels pela cor básica ou de mesclagem, dependendo da opacidade na localização de qualquer pixel. Darken / Escurecer Examina as informações de cor em cada canal e seleciona a cor básica ou de mesclagem (a que for mais escura) como cor resultante. Os pixels mais claros que a cor de mesclagem são substituídos e os mais escuros não são alterados. Multiply / Multiplicar Examina as informações de cor em cada canal e multiplica a cor básica pela cor de mesclagem. A cor resultante é sempre a mais escura. Multiplicar qualquer cor por preto produz a cor preta. Multiplicar qualquer cor por branco não altera a cor. Ao pintar com uma cor que não seja preto ou branco, as pinceladas sucessivas de uma ferramenta de pintura produzem cores progressivamente mais escuras. O efeito é semelhante ao de se desenhar na imagem com vários marca-textos. Color Burn / Superexposicao de cores Examina as informações de cor em cada canal e escurece a cor básica para refletir a cor de mesclagem, aumentando o contraste. Mesclar com branco não produz alterações. Linear Burn / Superexposicao Linear Examina as informações de cor em cada canal e escurece a cor básica para refletir a cor de mesclagem, diminuindo o brilho. Mesclar com branco não produz alterações Lighten / Clarear Examina as informações de co em cada canal e seleciona a cor básica ou de mesclagem (a que for mais clara) como cor resultante. Os pixels mais escuros que a cor de mesclagem são substituídos e os mais claros não são alterados. Screen / Divisao Examina as informaões de cor em cada canal e multiplica o inverso das cores de mesclagem básica. A cor resultante é sempre mais clara. Dividir por preto não altera a cor. Dividir pro branco produz a cor branca. O efeito é semelhante a projetar vários slides fotográficos, um sobre o outro. Color Dodge / Subexposicao de cores Examina as informações de cor em cada canal e clareia a cor básica para refletir a cor de mesclagem, diminuindo o contraste. Mesclar com preto não produz alterações. Linear Dodge / Subexposicao Linear Examina as informações de cor em cada canal e clareia a cor básica para refletir a cor de mesclagem, aumentando o brilho. Mesclar com preto não produz alterações. Overlay / Sobrepor Multiplica ou divide as cores, dependendo da cor básica. Padrões ou cores se sobrepõem aos pixels existentes, preservando os realces e as sombras da cor básica. A cor básica não é substituida e sim misturada com a cor de mesclagem, para refletir a luminosidade ou a sombra da cor original. Seu resultado ira depender da camada inferior Soft Light / Luz indireta Escurece ou clareia as cores, dependendo da cor de mesclagem. O efeito é semelhante ao de iluminar a imagem com uma luz de spot difusa. Se a cor de mesclagem (origem da luz) for mais clara que 50% cinza, a imagem ficará mais clara, como se tivesse sido subexposta. Se a cor de mesclagem for mais escura que 50% cinza, a imagem será escurecida como se tivesse sido superexposta. A pintura com preto ou branco puro produz uma área mais escura ou mais clara, de forma distinta, mas não resultará em preto ou branco puro. Hard Light / Luz direta Multiplica ou divide as cores, dependendo da cor de mesclagem. O efeito é semelhante ao de iluminar a imagem com uma luz de spot direta. Se a cor de mesclagem ( origem da luz) for mais clara que 50% cinza, a imagem ficará mais clara, como se tivesse sido dividida. Isso é importante ao adicionar realces a uma imagem. Se a cor de mesclagem for mais escura que 50% cinza, a imagem será escurecida, como se tivesse sido multiplicada. Isso e importante ao adicionar sombras a uma imagem. Pintar como preto ou branco puro resulta em preto ou branco puro. Vivid Light / Luz brilhante Superexpõe ou subexpõe as cores, aumentando ou diminuindo o contraste, dependendo da cor de mesclagem. Se a cor de mesclagem ( origem da luz) for mais clara que 50% cinza, a imagem será clareada pela diminuição do contraste. Se a cor de mesclagem for mais escura que 50% cinza, a imagem será escurecida pelo aumento de contraste. Linear Light / Luz Linear Superexpõe ou subexpõe as cores, aumentando ou diminuindo o brilho, dependendo da cor de mesclagem. Se a cor de mesclagem ( origem da luz) for mais clara que 50% cinza, a imagem será clareada pelo aumento de brilho. Se a cor de mesclagem for mais escura que 50% cinza, a imagem será escurecida pela diminuição de brilho. Pin Light / Luz do pino Substitui as cores, dependendo da cor de mesclagem. Se a cor de mesclagem ( origem da luz) for mais clara que 50% cinza, os pixels mais escuros que a cor de mesclagem são substituídos e os mais claros não são alterados. Se a cor de mesclagem for mais escura que 50% cinza, os pixels mais claros que a cor de mesclagem são substituídos e os mais escuros não são alterados. Isso é importante ao adicionar efeitos especiais a uma imagem. Diference / Diferenca Examina as informações de cor em cada canal e subtrai a cor de mesclagem da cor básica ou a cor básica da cor de mesclagem, dependendo de qual tiver brilho maior. Mesclar com branco inverte os valores da cor básica, enquanto mesclar com preto não produz alterações. Exclusion / Exclusao Cria um efeito semelhante, mas de menor contranste que o do modo Diferença. Mesclar com branco inverte os valores da cor b?sica. Mesclar com preto não produz alterações. Hue / Matiz Cria uma cor resultante com a luminosidade e a saturação da cor básica e com a matiz da cor de mesclagem Saturation / Saturação Cria uma cor resultante com a luminosidade e a matiz da cor básica e com a saturação da cor de mesclagem. Pintar com esse modo em uma área com saturação zero ( cinza) não produz nenhuma alteração. Color / Cor Cria uma cor resultante com a luminosidade da cor básica e com a matiz e a saturação da cor de mesclagem. Isso preserva os níveis de cinza na imagem e ú útil para colorir imagens monocromáticas e pintar imagens coloridas. Luminosity / Luminosidade Cria uma cor resultante com o matiz e a saturação da cor básica e com a luminosidade da cor de mesclagem. Esse modo cria um efeito inverso ao efeito de modo Cor. 8º - Como Aplico C4d's ? http://t1.gstatic.co...6BtQSnbK58nG06Q Exemplo de C4d's C4d's São Uns Efeitos Bem Legal Para a Sign Mas Se Posicioná-los Mal, Pode Acabar Com a Sign Para Colocá-los, é Igual a Renders... File --> Place Mas Não Basta Só Fazer Isso. Precisa Mudar Seu Blending Mode. Normalmente Usa-se Lighten, Linear Dodge (Mais Usado) Ou Screen. 9º - Como Coloco Borda? É Simples, Primeiro Selecione Tudo Apertando Ctrl A Em Seguida, Vá Em Edit --> Stroke e Coloque o Tamanho e a Cor! 10º - Como Faço um BG Legal? Fazer o BG Pode Ser Algo Difícil, Porém é Apenas Deixar a Imaginação Fluir. Você Pode Fazer um BG Smudgeando Renders, Ou Simplesmnete Colocando Algumas C4d's, Dando Alguns Efeitos Como Radial Blur, Usando Brushes, Enfim, Existem Muitos Modos! 11º - Saturação Perceba a Diferença. Primeira Sign Normal, Segunda Saturada A Saturação é o Que Dã Cores á Sign. Uma Saturação Muito Baixa Resulta Numa Sign Em Preto e Branco. A Saturação Pode Dar Um Toque Muito Legal á Sign, Mas Do Mesmo Jeito Pode Acabar Com Ela. Uma Saturação Muito Alta Deixa as Cores Muito Fortes, Fica Ruim de Se Ver e Chega a Doer os Olhos Caso Não ENtendeu, Pegue Uma Sign, Dê um Apply Image, Aperte Ctrl U e Aumente a Saturação. Você Notará a Diferença. 12º - Dicas Bom Galera... Pra Quem Está Começando, é Muito Importante Que Leia Tutoriais, Pois é Com Eles Que Se Aprende Muita Coisa, Técnicas Novas, Estilos Novos, Etc. Não Saia Por Aí fazendo Signs Que Nem Loco, Procure Ler Bastnate Tutoriais, Procurar Reproduzir o Efeito do Tuto, Aí Quando Tiver Uma Boa Série de Informações Faça a Sign. Considerações finais: Tutorial feito por _-CєяßєRט§ RєßøRи§-_
    1 ponto
  31. Slicer

    [Encerrado] [PEDIDO] erro no pda by sciler

    /\ sim sim, to tentando colocar todos os bugs la.. quando eu lembro kkk cabei de colocar esse la, vlw ae..
    1 ponto
  32. brun123

    Ajuda Em mágia de sumon

    function onTargetTile(cid, position) position.stackpos = 255 local creature = doCreateMonster("azerus", position, false) doConvinceCreature(cid, creature) if isCreature(getCreatureTarget(cid)) then doTeleportThing(creature, getClosestFreeTile(creature, getThingPos(getCreatureTarget(cid))), false) end doSendMagicEffect(position, CONST_ME_MAGIC_BLUE) return true end local arr = { {1, 0, 1}, {0, 2, 0}, {1, 0, 1}, } local removeTime = 1.0 --time to remove the clones local function removeCreatures(cid, creature) if isCreature(creature) == TRUE then doRemoveCreature(creature) end end function onTargetTile(cid, pos) local creature = doSummonCreature("azerus", pos) doCreatureAddMana(cid, -1500) doCreatureSay(cid, "Utevo", TALKTYPE_ORANGE_1) doConvinceCreature(cid, creature) if isCreature(getCreatureTarget(cid)) then doTeleportThing(creature, getClosestFreeTile(creature, getThingPos(getCreatureTarget(cid))), false) end addEvent(removeCreatures, removeTime * 1000, cid, creature) return TRUE end local area, combat = createCombatArea(arr), createCombatObject() setCombatArea(combat, area) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) return doCombat(cid, combat, var) end
    1 ponto
  33. narutochuuu

    [Poketibia] Santuário dos Altarias

    Saudações! Hoje irei mostrar um santuário do pokemon Altaria, depois de ver muitos tutoriais aqui no xtibia dei uma boa melhorada em meus mapas, gostaria de ver suas opiniões: Todas as opiniões são bem vindas.
    1 ponto
  34. WH47

    O Que é isso?

    1. Render = Imagens que se usam para fazer trabalhos.. São imagens já recortadas, que é só você usar onde quiser (caso tenha permissão do autor) 2. Stock = São imagens ainda não recortadas, normalmente são fotos, ou paisagens! Quando recorta-se a parte principal da stock, como por exemplo uma pessoa, essa parte vira uma render. 3. C4D / 3D render = São imagens feitas em programas 3D ( Como o cinema4D ), que são usadas em SIGNS. 4. Sign = Imagens, normalmente por volta do tamanho 400x130, que são usadas na assinatura dos foruns. Dái o nome : SIGNATURE(em ingles) -> SIGN 5. Sprite Sprite são imagens em duas dimenssões muito usadas em gifs animados tais como Mário Sf etc.. 6. PSD's = São arquivos do Photoshop, que permitem visualizar como foi feito um trabalho.
    1 ponto
  35. Lordfire

    hum ... satisfações?

    São pontos de vista diferentes. O vital900 nada poderia fazer sem o aval do Anyur na coordenação, e o Anyur sempre aprovou ou não e dava seus argumentos para o vital. Acontece que o vital queria fazer MUITA coisa ao mesmo tempo, coisa que nem a seção nem a equipe da seção poderia fazer assim ao mesmo tempo. Ao ser recusado pelo Anyur várias vezes, sabendo disso, ele rebelou e aí foi removido. Mas muito do que ele sugeriu e fez até hoje é usado sim, não desmerecemos nenhum trabalho dele. O Anyur não queria trabalhar com você e, por isso, demos a oportunidade pra ele de preferir se comunicar com o Won ou comigo, E NÃO que você não seria diretor dele. Se nós decidíssemos que ele teria de fazer algo, mudar algo pra melhor e você sim participasse dessa decisão, isso não importa. O mesmo com o vital, só que um colaborador não pode sair fazendo as coisas sem consultar o coordenador, que sempre é escolhido tendo em vista sua capacidade de decidir isso. Não vejo essa zona nas seções que você tanto fala, até porque coordenadores tratam suas seções de formas diferentes, um pode preferir apagar todos os tópicos depois de X dias pra manter a atualização, enquanto outros preferem não fazer isso para que os membros possam procurar coisas antigas antes de perguntar. Não quis ter de te remover, como dito, e acho sim que podemos recomeçar de outro jeito. Só vejo vocês mantendo esse rancor como um empecilho sem motivo algum, sem necessidade. Não vou dar prioridade a membro X porque todos gostam dele, não sou populista, não sou o administrador mais do povo que já passou por aqui, isso não faz sentido.
    1 ponto
  36. GuhPk

    [Encerrado] [Pedido] Lunus Ot Server

    É só o cliente este ai também!!! '-'
    1 ponto
  37. Postarei esta resposta em 2 línguas, usuário é mexicano. English Modern AAC is very good for servers not only with products, but also with servers tibia even ... It has a good safety, although not very effective if you are willing to invade, hackers lammers vain and always find a way to hack into your system, and firewalls etc. ... Gesior ACC is also very good, but very vulnerable if you have a server with Gesior, it must be hosted on a site that has Linux operating system, ubuntu / debian .. Stable versions to own hospeamento service tibia. Gesior problem today is the lack of scripts for the SQL Injectors able to invade. If you can find a good developer that provides a prev sql inject high quality, you will not have problems when creating your server with Gesior. I make available in the session downloads from websites, optimized my website. There is nothing more but contains, protection on all pages, unicos systems, among other factors unprecedented in XTibia ... I've been always bringing something new here! Whether you have a server with a website, has ... But always consider well before the factors that can give you the website. Português Modern AAC é muito bom para servidores nao só com derivados, mas também com servidores de tibia mesmo... Tem uma segurança boa, porem não muito eficaz se estiverem dispostos a invadir, os hackers e lammers vao sempre dar um jeito de invadir seu sistema, firewalls e etc... Gesior ACC é muito bom tambem, porem muito vulneravel, caso voce tenha um servidor com gesior, ele precisará estar hospedado em um local que tenha sistema operacional linux, ubuntu/debian.. Versões estaveis para proprio hospeamento do serviço tibia. Problema do gesior hoje em dia é a falta de scripts para que os SQL Injectors consigam invadir. Caso voce consiga encontrar um bom programador que disponibilize um ant sql inject de alta qualidade, voce não terá problemas na hora de criar seu servidor com gesior. Eu disponibilizo na sessao downloads de websites, meu website otimizado. Não é nada a mais, mas contem, proteção em todas as paginas, sistemas unicos, entre outros fatores ineditos no XTibia... Venho sempre trazendo algo de novo para cá! Quer ter um servidor com website, tenha... Mas sempre estude muito bem antes os fatores que o website pode lhe proporcionar.
    1 ponto
  38. Hi Casar Yes nomedoparceiro Agora o outro player fala Hi Casar Yes Prosseguir Yes
    1 ponto
  39. cdmanga

    Comandos Rapidos Rme

    Ola pessoal, trousse todos os comandos rapidos que conheço do RME : Ctrl + Q = fecha o Remere's map editor Ctrl + W = deixa o floor a baixo invisível Ctrl + E = deixa o mapa invisível Ctrl + T = abre o editor de cidades (serve para editar o nome da cidade e aonde fica o templo “local onde o personagem renasce após a morte”) Ctrl + Y = vai para frente (ex: após usar Ctrl + Z) Ctrl + O = procurar para abrir um arquivo (open file) Ctrl + P = abre as propriedades do mapa Ctrl + S = salva o mapa Ctrl + F = procura itens (pela id ou nome) Ctrl + G = vai para o local escolhido (definido por: X/Y/Z Ctrl + Z = volta uma coisa Ctrl + C = copia o local selecionado Ctrl + V = cola o local selecionado (após usar Ctrl + C) Ctrl + N = cria um novo projeto Q = deixa o floor abaixo mais escuro W = abre palette de waypoints E = desativa visão de casa R = abre palette de RAW T = abre palette de Terrain I = abre palette de items O = marca em vermelho os locais onde o personagem não consegue passar S = aparece ou desaparece o Spawn time flame (fogo que faz monstros renascerem) D = abre palette doodad F = faz os animais desaparecerem G = Deixa objetos transparentes H = abre house palette J = abre o itens selecionado no RAW palette (usando id ou nome) C = abre palette de creatures V = marca em azul todos os detalhes do mapa M = abre o mini mapa de navegação Espero que não seja inutil, e tambem espero que gostem, vlw Xtibia!
    1 ponto
  40. /\ nao importa se é double post, ele só quis dar mais informação sobre o projeto. que vacilão toma aki seu rep di volta brow
    -1 pontos
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...