Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 05/09/15 em todas áreas

  1. Joao Barao

    [Show Off] Joao Barao

    Estou começando a atuar na parte de Mapping. Estou desenvolvendo meu primeiro mapa, se for possível me dar algumas dicas de como melhorar, agradeço desde já. Tenho 2 semanas de mapping, tenho muito de aprender e editar ainda. Aqui estão uma parte do meu trabalho, espero que gostem!
    2 pontos
  2. Só colocar: if item.itemid == 2392 and isPremium(cid) == false then return doPlayerSendCancel(cid, "Voce nao pode usar XXXXX.") end
    2 pontos
  3. Killua

    Comando !pvp

    Bota assim no creaturescripts: function onCombat(cid, target) if isPlayer(cid) and isPlayer(target) then if getPlayerStorageValue(cid, 123456) == 1 then return false end end return true end function onTarget(cid,target) if isPlayer(cid) and isPlayer(target) then if getPlayerStorageValue(cid,123456) == 1 then doPlayerSendCancel(cid, "Reative o PVP para atacar um jogador.") return false end end return true end function onLogin(cid) registerCreatureEvent(cid, "PVPTarget") registerCreatureEvent(cid, "PVPCombat") return true end No xml coloca essas TAGs: <event type="login" name="PVPLogin" event="script" value="script.lua"/> <event type="target" name="PVPTarget" event="script" value="script.lua"/> <event type="combat" name="PVPCombat" event="script" value="script.lua"/> No talkactions coloca assim: function onSay(cid, words, param, channel) if param == "" then return doPlayerSendCancel(cid, "Escolha se quer deixar o PVP on ou off.") end if isInArray({"on","off"}, param) then local value = param == "on" and 1 or 0 local status = param == "on" and "ativou" or "desativou" doPlayerSetStorageValue(cid, 123456, value) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você "..status.." o PVP.") else doPlayerSendCancel(cid, "Escolha se quer deixar o PVP on ou off.") end return true end A TAG vc coloca como quiser
    2 pontos
  4. Muitos sofrem com problemas ocasionados com bugs tanto no Xampp quando no Gesior eu estarei apenas ensinando algumas maneiras de deixar ambos um pouco mais seguro! Gesior Primeiramente vamos ao classico bug de redirecionamento, onde seu site fica sendo redirecionado para outro! Este é um bug do gesior e agora vamos corrigir esse problema! Vá em htdocs/config e abra o arquivo config.php, dentro procure a seguinte linha! $config['site']['access_news'] = 2; onde está ['access_news'] = 2; mude para ['access_news'] = 6; Explicando esse é o numero de acesso maximo para paginas do Gesior! Na linha de baixo adicone essa tag: $config['site']['access_tickers'] = 6; E nas linhas abaixo adicione o acess 6 em todas tags que contem comando de acess, ficando assim: $config['site']['access_news'] = 6; // access level needed to edit news $config['site']['access_tickers'] = 6; $config['site']['access_admin_panel'] = 6; // access level needed to open admin panel para ter acesso ao painel admin do site, batsa colocar page acess 6, na conta que irá ter o privilégio, isso no phpmyadmin ! Vá até layouts/sua-skin/layout.php e procure a tag <body e substitua por essa: <body onBeforeUnLoad="SaveMenu();" onUnload="SaveMenu();" oncontextmenu="return false" onselectstart="return false" ondragstart="return false"> Agora, logo abaixo da tag <body>, você adicionará o seguinte código: <?php { $sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$sql); $sql = trim($sql); $sql = strip_tags($sql); $sql = addslashes($sql); return $sql; } function protect($str) { if( !is_array($str) ) { $str = preg_replace("/(from|select|insert|delete|where|drop table|show tables)/i","",$str); $str = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))',$str); $str = preg_replace('~&#([0-9]+);~e', 'chr("\\1")',$str); $str = str_replace("<script","",$str); $str = str_replace("script>","",$str); $str = str_replace("<Script","",$str); $str = str_replace("Script>","",$str); $str = trim($str); $tbl = get_html_translation_table(HTML_ENTITIES); $tbl = array_flip($tbl); $str = addslashes($str); $str = strip_tags($str); return strtr($str,$tbl); } else return $str; } $nome = anti_injection($_POST["nome"]); $senha = anti_injection($_POST["senha"]); $link = htmlspecialchars($_POST['link'], ENT_QUOTES); echo $link; header("Content-Type: text/html; charset=ISO-8859-1",true)?> Ainda em layout.php logo abaixo da tag <head>, você adicionará o seguinte código: <script type="text/javascript"> function click() { if (event.button==2||event.button==3) { oncontextmenu='return false'; } } document.onmousedown=click document.oncontextmenu = new Function("return false;") </script> Esses códigos te ajudarão a se previr contra SQL Injection, mas eu afirmo logo que isso não é 100% seguro. Vá até o arquivo guilds.php e localize a seguinte tag: $guild_logo = $guild->getCustomField('logo_gfx_name'); if(empty($guild_logo) || !file_exists("guilds/".$guild_logo)) $guild_logo = "default_logo.gif"; Agora substitua por isso: foreach (array("/", "\\", "..") as $char) { $guild_logo = str_replace($char, "", $guild->getCustomField('logo_gfx_name')); } if (empty($guild_logo) || !file_exists("guilds/".$guild_logo)) { $guild_logo = "default_logo.gif"; } Pronto, seu guilds.php está seguro agora. Exclua completamente o arquivo houses.php, ele é um arquivo muito inutilizado e ainda muito vulnerável, pessoas maliciosas podem conseguir ver sua config.lua através dele, portanto apenas exclua. Agora vamos ao Xampp Vá na pasta Xampp e delete a pasta webdav. É ela que é responsavel pelo acesso do seu site de outro local, e pode ser usada para hackiar seu site! (recomentado o uso apenas para quem sabe mecher nas configurações da webdav). Irei postar agora um video de como proteger seu phpmyadmin Em breve estarei atualizando com mais conteudo como proteger seu xampp e gesior! Creditos: GPedro, lipehcf e PiabetaMan01
    1 ponto
  5. Killua

    Dice Arena

    Dice Arena Esse evento foi postado para o Script de Terça, para ver os outros scripts de terça, clique aqui. Como o evento funciona? Um número configurado de jogadores deve permanecer em posições configuradas (Igual na annihilator). Quando todas as posições tiverem ocupadas, o primeiro jogador puxa a alavanca, levando todos para dentro da Arena. Dentro da arena, tem um dado que, quando usado, sorteia um monstro. Quando os jogadores matam o monstro, um loot cai no chão (Quanto menor o número do dado, mais forte será o monstro e melhor será o item que dropa). - Se já tiver gente dentro da arena, outro time não poderá entrar. - Uma vez dentro da arena, cada jogador só pode rodar o dado uma vez. - Cada jogador só pode entrar na arena uma vez por dia (tempo configurável). - Os monstros e loots são configuráveis. Vídeo do evento (obrigado ao por me ajudar a gravar) Instalação Lib Actions Creaturescripts Movements Globalevents Configuração A configuração é feita inteiramente na lib, nesta tabela: dice_cfg = { positions_ = {{x = 164, y = 17, z = 7}, {x = 164, y = 18, z = 7}}, arena_pos = {x = 501, y = 141, z = 7}, wait_ = 60*60*24, max_time = 1800, numbers = { [1] = {"Orshabaal", "Morgaroth", "Ferumbras"}, [2] = {"Demodras", "Juggernaut"}, [3] = {"Demon", "Behemoth"}, [4] = {"Dragon Lord", "Hydra"}, [5] = {"Dragon", "Cyclops"}, [6] = {"Rotworm", "Rat"} }, noob_item = {2158, 10}, pro_item = {2160, 5}, arena_frompos = {x = 491, y = 125, z = 7}, arena_topos = {x = 512, y = 144, z = 7} } Em positions_, coloque as posições que os jogadores devem ficar para poder puxar a alavanca (Pode por quantas quiser). Em arena_pos, coloque a posição da arena (Pra onde os jogadores vão quando puxarem a alavanca). Em wait_, coloque o tempo que o jogador deve esperar para entrar na arena novamente (em segundos). 60*60*24 = 1 dia, aconselho deixar assim. Em max_time, coloque o tempo máximo que os jogadores podem permanecer na arena (em segundos (após esse tempo, eles serão teleportados para o templo)). Em numbers, coloque o nome dos monstros que podem vir dependendo do número sorteado pelo dado (quanto menor o número, mais forte devem ser os monstros). Em noob_item, coloque o {id, quantidade} do item que dropa dos monstros mais fracos/médios Em pro_item, coloque o {id, quantidade} do item que pode dropar dos monstros mais fortes/médios Em arena_frompos, coloque a posição do canto superior esquerdo da arena. Em arena_topos, coloque a posição do canto inferior direito da arena. Coloque NO-LOGOUT TOOL na arena inteira. Siga as imagens para facilitar a configuração: Se alguém se dispuser a fazer um mapa pro evento para eu disponibilizar para download, eu agradeceria. Espero que gostem do evento. Download do evento: Dice Arena Event por Killua.rar
    1 ponto
  6. Lordbaxx

    Pokemon Imperium - OPEN SOURCE

    RETIRADO!
    1 ponto
  7. Bem, desde tempos remotos uma das maiores duvidas dos donos de servidores é descobrir quantos players ele pode colocar online SEM LAG Hoje vou ensinar para vocês como calcular, é claro que não é um método 100% preciso porque não existe nada que te leve a essa precisão pelo fato das conexões na internet serem variaveis mas eu garanto que vc vai conseguir uma boa idéia ao final desse tutorial e utilizando o bom senso vai poder proporcionar qualidade ao numero maximo de players que sua internet suportar 2º Você deve descobrir o seu UPLOAD, bem destacado mesmo, porque o download praticamente não é utilizado por um servidor e eu vou provar isso pra vocês mais a frente. Então entre em http://www.speedtest.net, faça o teste no ponto recomendado, vou mostrar para voCês o meu resultado Download: 15Mbps Upload: 1.07Mbps Vamos esclarecer umas coisinhas aqui... Esses valores são Megabits por segundo, que é a oitava parte do Megabyte por segundo que é o que você está acostumado a ver por ai nos tamanhos dos seus arquivos Isso significa que uma musica de 3Megabytes por exemplo tem 24Megabits... Seguindo a mesma lógica, 15/8= 1.875Megabytes e 1.07/8 = 0.133 Megabytes que é aproximadamente 136Kilobytes por segundo(KB/s) Mas o que nos interessa mesmo é o upload, vou arredondar para 1Mbps assim os calculos ficam mais tranquilos... Eu fiz um teste com um programa de monitoramento de internet para descobrir quanto de banda o Tibia usa, confia abaixo Veja no youtube em 720p e tela cheia para fica mais legível. Minha conclusão foi a seguinte, o Tibia usa de 200 à 1200 Bytes da internet, tudo depende do que está acontecendo com o seu char no momento. (assista o video para mais detalhes com monitoração em tempo real) Como não podemos nivelar por baixo porque se não vai dar lag, vamos nivelar pelo alto, vamos assumir que cada char utilize 1024Bytes de internet, isso significa 1 Kilobyte. Mas tio, isso é de Upload ou Download? R: Depende. Como tudo na internet, sempre tem alguém enviando e alguém recebendo. O teste que eu fiz foi do ponto de vista do cliente, aquele que recebe. Mas para receber alguém tem que enviar, então podemos convencionar que se eu estou recebendo 1024 Bytes o servidor está enviando 1024 Bytes Por isso que o Upload é a coisa que mais importa para os servidores, porque o que ele vai receber do cliente é uma pequena fração do que ele vai ter que enviar. Mas voltando lá para o meu exemplo de 1 Mbps... Se cada char utiliza 1 Kilobyte e eu tenho 125 Kilobytes inteiros de banda (1Mbps/8=125Kilobytes) (repare no ponto) (ninguém vai ficar no youtube com o servidor ligado, ok? se não, não há calculo que resolva.) isso significa que eu posso colocar 125 players online né? Resposta: Apenas teoricamente. Como eu disse há variações, tanto paraa mais quanto para menos na banda que os chars usam, ai entra o bom senso, vamos limitar para 100 players, afinal quando estiver rolando aquela War massiva ninguém quer lag né? E o site? Meus caros amigos, o site é o seu maior inimigo. (Intrigaaaa!) Falando sério, ter que enviar toda a página para o player que está acessando consome muita banda e pode lagar o servidor Imagine um servidor de 100 players online, pelo menos 10 estão vendo o ranking, acessando a conta, criando chars novos... Ja pensou no estrago? Site é muito legal meus amigos, mas não é util para quem tem um servidor caseiro que ter ter o maximo de players que sua internet aguentar Utilizem ACC Manager, rank/guild ingame, se você quiser mesmo o site (o que eu acho até muito interessante/importante) faça uso de um Blog (Wordpress é uma boa pedida) você pode criar páginas com informações sobre o servidor, doações e etc.. ou faça um site mesmo só que totalmente desconectado do servidor, é a melhor maneira de previnir o lag. (e de previnir alguns zé manés atualizando as paginas do site só pra lagar de propósito) Conclusão: Em resumo, cada player utiliza: Aproximadamente 1024Bytes = 1Kb = 0.01Mbps do upload o servidor Vou deixar uma tabelinha para o que eu faria com um servidor meu, se vc quiser testar outros valores é com você Upload: 0.256mbps (256kbps) = 25 Players online 0.5 mbps (512 kbps) = 50 Players online 1mbps (1024kbps) = 100 Players online E por ai vai, essas são as 3 velocidades de upload mais populares do Brasil. Nota: 1024kb = 128Kb kb = Kilobits Kb = KiloBytes
    1 ponto
  8. Oneshot

    Outfits

    OUTFITS Atributos e Configurações Olá, pessoal. Muitas pessoas não sabem, mas você pode adicionar vários bônus às outfits diretamente pelo outfits.xml, sem precisar de nenhum creaturescript que eventualmente possa dar lag em um servidor com muitos jogadores. Com este tutorial, você aprenderá a configurar vários tipos de bônus e até especificar se são necessários addons para ativar esses bônus. Para começar, vou colar abaixo o conteúdo de um outfits.xml do The Forgotten Server trunk.r3884 (0.4.0), vamos trabalhar em cima dele: <?xml version="1.0"?> <outfits> <outfit id="1"> <list gender="0" lookType="136" name="Citizen"/> <list gender="1" lookType="128" name="Citizen"/> </outfit> <outfit id="2"> <list gender="0" lookType="137" name="Hunter"/> <list gender="1" lookType="129" name="Hunter"/> </outfit> <outfit id="3"> <list gender="0" lookType="138" name="Mage"/> <list gender="1" lookType="130" name="Mage"/> </outfit> <outfit id="4"> <list gender="0" lookType="139" name="Knight"/> <list gender="1" lookType="131" name="Knight"/> </outfit> <outfit id="5" premium="yes"> <list gender="0" lookType="140" name="Noblewoman"/> <list gender="1" lookType="132" name="Nobleman"/> </outfit> <outfit id="6" premium="yes"> <list gender="0" lookType="141" name="Summoner"/> <list gender="1" lookType="133" name="Summoner"/> </outfit> <outfit id="7" premium="yes"> <list gender="0" lookType="142" name="Warrior"/> <list gender="1" lookType="134" name="Warrior"/> </outfit> <outfit id="8" premium="yes"> <list gender="0" lookType="147" name="Barbarian"/> <list gender="1" lookType="143" name="Barbarian"/> </outfit> <outfit id="9" premium="yes"> <list gender="0" lookType="148" name="Druid"/> <list gender="1" lookType="144" name="Druid"/> </outfit> <outfit id="10" premium="yes"> <list gender="0" lookType="149" name="Wizard"/> <list gender="1" lookType="145" name="Wizard"/> </outfit> <outfit id="11" premium="yes"> <list gender="0" lookType="150" name="Oriental"/> <list gender="1" lookType="146" name="Oriental"/> </outfit> <outfit id="12" premium="yes" default="0"> <list gender="0" lookType="155" name="Pirate"/> <list gender="1" lookType="151" name="Pirate"/> </outfit> <outfit id="13" premium="yes" default="0"> <list gender="0" lookType="156" name="Assassin"/> <list gender="1" lookType="152" name="Assassin"/> </outfit> <outfit id="14" premium="yes" default="0"> <list gender="0" lookType="157" name="Beggar"/> <list gender="1" lookType="153" name="Beggar"/> </outfit> <outfit id="15" premium="yes" default="0"> <list gender="0" lookType="158" name="Shaman"/> <list gender="1" lookType="154" name="Shaman"/> </outfit> <outfit id="16" premium="yes" default="0"> <list gender="0" lookType="252" name="Norsewoman"/> <list gender="1" lookType="251" name="Norseman"/> </outfit> <outfit id="17" premium="yes" default="0"> <list gender="0" lookType="269" name="Nightmare"/> <list gender="1" lookType="268" name="Nightmare"/> </outfit> <outfit id="18" premium="yes" default="0"> <list gender="0" lookType="270" name="Jester"/> <list gender="1" lookType="273" name="Jester"/> </outfit> <outfit id="19" premium="yes" default="0"> <list gender="0" lookType="279" name="Brotherhood"/> <list gender="1" lookType="278" name="Brotherhood"/> </outfit> <outfit id="20" premium="yes" default="0"> <list gender="0" lookType="288" name="Demonhunter"/> <list gender="1" lookType="289" name="Demonhunter"/> </outfit> <outfit id="21" premium="yes" default="0"> <list gender="0" lookType="324" name="Yalaharian"/> <list gender="1" lookType="325" name="Yalaharian"/> </outfit> <outfit id="22" default="0"> <list gender="0" lookType="336" name="Warmaster"/> <list gender="1" lookType="335" name="Warmaster"/> </outfit> <outfit id="23" premium="yes" default="0"> <list gender="0" lookType="366" name="Wayfarer"/> <list gender="1" lookType="367" name="Wayfarer"/> </outfit> <outfit id="24" premium="yes" default="0"> <list gender="0" lookType="329" name="Wedding"/> <list gender="1" lookType="328" name="Wedding"/> </outfit> </outfits> [/code] [font=verdana,geneva,sans-serif]Existem diferentes tipos de atributos que você pode colocar na sua outfit, por exemplo, você pode colocar para quando um jogador estiver usando[b] X[/b] outfit, ele receba uma certa chance de refletir danos de um certo elemento. Vamos aprender abaixo a configuração de atributos do jogador.[/font] [font=verdana,geneva,sans-serif][hr][/font] [font=verdana,geneva,sans-serif]Para configurar atributos é muito simples, destacarei a outfit [b]Citizen[/b] para esse exemplo:[/font] <outfit id="1"> <list gender="0" lookType="136" name="Citizen"/> <list gender="1" lookType="128" name="Citizen"/> </outfit> Suponhamos que eu queira que quando um jogador estiver usando a outfit Citizen, ele receba speed +10 e recupere 30 de HP a cada 5 segundos, basta adicionar isso: <outfit id="1"> <list gender="0" lookType="136" name="Citizen" healthGain="30" healthTicks="5" speed="10" /> <list gender="1" lookType="128" name="Citizen" healthGain="30" healthTicks="5" speed="10" /> </outfit> Você pode diferenciar os tipos de bônus primários pelo sexo do jogador. Os bônus primários disponíveis são estes abaixo: manaShield invisible healthGain healthTicks manaGain manaTicks speed Agora existem bônus secundários que é necessária uma pequena edição na estrutura da configuração da outfit, vejamos abaixo: <outfit id="1"> <list gender="0" lookType="136" name="Citizen"/> <list gender="1" lookType="128" name="Citizen"/> </outfit> Estes bônus secundários variam desde pontos fixos em skills até chance de refletir algo ou absorver. Só que para que eles funcionem corretamente, você precisa "abrir" a configuração da outfit. Por exemplo, a outfit Citizen nos dará +50 de HPmáx e +1 em todas as skills de combate corporal. Vejamos: <outfit id="1"> <list gender="0" lookType="136" name="Citizen"> <stats maxHealth="50"/> <skills melee="1"/> </list> <list gender="1" lookType="128" name="Citizen"> <stats maxHealth="50"/> <skills melee="1"/> </list> </outfit> Veja que literalmente eu abri a outfit Citizen em sub-listas declarando atributos diferentes para elas, segue abaixo uma pequena lista de cada atributo e em que sub-lista ele deve ser declarado: stats maxHealth maxMana soul level magLevel || magicLevel maxHealthPercent maxManaPercent soulPercent levelPercent magLevelPercent || magicLevelPercent skills fist club sword axe distance || dist shielding || shield fishing || fish melee weapon fistPercent clubPercent swordPercent axePercent distancePercent || distPercent shieldingPercent || shieldPercent fishingPercent || fishPercent meleePercent weaponPercent || weaponsPercent Lembra que no começo desse tutorial, eu disse que era possível configurar chance de reflexão e absorção para as outfits? Pois é, é possível sim. Vamos pegar um exemplo diferente agora, a outfit Wizard. <outfit id="10" premium="yes"> <list gender="0" lookType="149" name="Wizard"/> <list gender="1" lookType="145" name="Wizard"/> </outfit> Vamos dizer que a outfit Wizard com addons completos dará a chance de 10% de refletir 25% do dano feito por elementos (Fire, Earth, Ice, Energy). Para fazer isso, é o mesmo esquema de stats e skills, só que o nome da sub-lista deve ser reflect ou absorb. Dependendo do que você quer que a outfit faça, refletir ou absorver. <outfit id="10" premium="yes"> <list gender="0" lookType="149" name="Wizard"> <reflect percentElements="25" chanceElements="10"/> </list> <list gender="1" lookType="145" name="Wizard"> <reflect percentElements="25" chanceElements="10"/> </list> </outfit> Veja abaixo a lista dos possíveis atributos para reflect e absorb: percentAll percentElements percentMagic percentEnergy percentFire percentPoison || percentEarth percentIce percentHoly percentDeath percentLifeDrain percentManaDrain percentDrown percentPhysical percentHealing percentUndefined chanceAll chanceElements chanceMagic chanceEnergy chanceFire chancePoison || chanceEarth chanceIce chanceHoly chanceDeath chanceLifeDrain chanceManaDrain chanceDrown chancePhysical chanceHealing chanceUndefined Por último, você pode definir quando esses bônus são dados, seja quando o jogador está utilizando o primeiro addon, o segundo, qualquer um dos dois ou ambos. O atributo para isso é requirement. <outfit id="10" premium="yes"> <list gender="0" lookType="149" name="Wizard" requirement="any"> <reflect percentElements="25" chanceElements="10"/> </list> <list gender="1" lookType="145" name="Wizard" requirement="any"> <reflect percentElements="25" chanceElements="10"/> </list> </outfit> first second any both Existem alguns atributos que manipulam se o jogador pode usar a outfit, o mais conhecido deles é o premium que só permite o uso da outfit a jogadores premium. Mas muitos não conheçam os atributos quest, storageId e storageValue que torna possível dar outfits em quests, igual acontece no Tibia. Para isso, pegaremos qualquer outfit. <outfit id="20" premium="yes" default="0"> <list gender="0" lookType="288" name="Demonhunter"/> <list gender="1" lookType="289" name="Demonhunter"/> </outfit> Quando você usa o atributo quest com o valor igual a uma storage do servidor, a outfit só poderá ser usada se a storage tiver valor igual a 1. Por exemplo: <outfit id="20" premium="yes" quest="2005" default="0"> <list gender="0" lookType="288" name="Demonhunter"/> <list gender="1" lookType="289" name="Demonhunter"/> </outfit> Se a storage 2005 tiver valor igual a 1, então eu poderei usar a outfit Demonhunter. Mas e se eu estou trabalhando com uma grande quest que o valor final da storage é 3 e não 1? Por isso que existem os atributos storageId e storageValue. <outfit id="20" premium="yes" storageId="2005" storageValue="3" default="0"> <list gender="0" lookType="288" name="Demonhunter"/> <list gender="1" lookType="289" name="Demonhunter"/> </outfit> Bom, isso é tudo. Qualquer dúvida não deixe de postar no tópico. Abração \o/
    1 ponto
  9. gabrielbsales

    [PDA] New Ditto System[PXG]

    Bom, esse ditto system: -Copia o pokemon e o balanceia sem necessidade de puxa-lo. -Copias Habilidades... Primeiramente, vá no some functions.lua - Localizado na pasta lib. E adicione isto no final(depois do ultimo end): Bom, essas são as funções de transformar e destransformar. Agora, vá no order.lua - Localizado no actions/scripts. E procure por: -------- TRANSFORM ---------- Apague tudo aqui dentro, até o: -------- LIGHT -------------- Ali dentro, bote: Pronto, ditto ja está tranformando, agora falta o !revert, para isso vá em talkactions/scripts e crie um arquivo(.lua) com nome de dittorevert, e dentro coloque: Agora, no talkactions.xml adicione esta linha: <talkaction words = "!revert;/revert" hide="yes" event = "script" value = "dittorevert.lua"/> Se fizer tudo corretamente, funcionará normalmente. Gif: Créditos: Gabrielbsales(sou op faço tudo solo)
    1 ponto
  10. Tony

    [Pedido] Faça seu pedido!

    [Tamanho*]: 300x300px. [Tema*] : Lorem Ipsum. [Tipografia*]: Lorem Ipsum. [Tipo*]: Background. [Outros]: Caso houver um detalhe que o designer possa colocar. [Cores preferenciais]: Vermelho,Azul,Verde.... [*] : OBRIGATÓRIO CASO OS CAMPOS OBRIGATÁRIOS NÃO ESTIVEREM TODOS PREENCHIDOS ENVIAREI UMA MENSAGEM PARA O CRIADOR DO PEDIDO , SE EM 24 HORAS ELE NÃO ALTERAR IREI APAGAR O POST PARA EVITAR POLUIÇÃO NO TÓPICO.
    1 ponto
  11. Gabriel Couto

    [EDIÇÃO #1] O Melhor Mapa

    Antes de ler esse tópico e resolver participar, leia atentamente ao tópico das regras: http://www.xtibia.com/forum/topic/233822-regras-o-melhor-mapa-omm/ Loja de Magia: Pode ser tanto uma loja onde um player pode comprar Spells (magias) ou uma loja em que o Player pode comprar runas, poções, etc. A escolha é sua. Início da Edição: 09/05/2015 Fim do Envio dos Mapas: 15/05/2015 as 23:59 Início da Votação: 16/05/2015 as 00:00 Fim da Votação: 17/05/2015 as 12:30 Resultado: 17/05/2015 até as 22:00 Início da Edição #2: 16/05/2015 as 00:00 Você deve enviar o seu mapa .otm com o seguinte título: OMM #1 (Loja de Magia) - SEU NICK O envio deve ser feito por mensagem privada ao Gabriel Couto com o mesmo título do arquivo .otbm e com o seguinte formulário: A(s) imagen(s) do mapa tanto para votação quanto para resultado será(ão) tiradas por mim. Boa sorte a todos, avisem aos seus amigos e convidem o pessoal para participar!
    1 ponto
  12. Gabriel Couto

    [Show Off] RetornoDeLaug

    Maneiro o mapa, foge um pouco ao meu estilo de deixar as coisas mais cheias de nature, seu mapa é bem mais limpo! hahahah Fiz parte de um remake desse mapa também, mas bem diferente do seu!
    1 ponto
  13. Wend ll

    Condowl e efeito em spell

    testei aqui: sobre o distance effect é essa função ai que você está procurando: doSendDistanceEffect(fromPos, toPos, distance_effect) Tem 3 argumentos essa função fromPos é de onde sai o distance effect toPos é pra onde ele vai. fromPos = de onde vai sair o distance effect, você vai trocar ele pela posição em que você quer que o distance effect saia. toPos = pra onde o distance effect vai, você vai trocar ele pela posição em que você quer que o distance effect atinja distance_effect = numero do distance effect, o efeito, a animação, como preferir chamar.
    1 ponto
  14. Krono

    [EDIÇÃO #1] O Melhor Mapa

    D+, mais um concurso voltando a ativa no Xtibia, que venham agora os mappers mostrar sua criatividade. Boa Gabriel
    1 ponto
  15. Bruno

    Vanaheim global open source

    O changelog da versão 1.2 pode ser acompanhado aqui: https://github.com/otland/forgottenserver/wiki/Changelog-1.2
    1 ponto
  16. 1 ponto
  17. o erro nao é na Source que causa e sim no seu Dev, Tem que procurar outro Dev para Compilar! - Exemplo o Pokemon dash v9 funciona com essa Dev Aqui: https://mega.co.nz/#!cRc2CZoB!6-aLe1oWpFPpY16oLlpCnzBDrqbt-CuQBZCe7eH5X24 - @edit: Quando voce for compilar posta o erro aqui no xtibia pode ser que um experiente na area de programaçao pode te ajudar tambem!
    1 ponto
  18. Mudrock

    Como Troca essa cor

    Vá em htdocs\layouts\tibiarl (SEU LAYOUT )\css Abra o arquivo basic_d Procure por body { margin: 0px; padding: 0px; background-color: #3a3326; Edite background-color: #3a3326;
    1 ponto
  19. 1 ponto
  20. No pokemon moves.lua dentro da função do Iron Defense.
    1 ponto
  21. o portrait é muito pequeno... ficaria com a imagem muito esticada/destorcida... na próxima versão vou colocar pra mostrar as evoluções semelhante aos moves...
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...