Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 07/13/15 em todas áreas
-
Descubra qual fonte foi usada no texto de uma imagem ou foto
Descubra qual fonte foi usada no texto de uma imagem ou foto
TheSekcy e 2 outros reagiu a JonatasLucasf por uma resposta no tópico
3 pontosDescubra qual fonte foi usada no texto de uma imagem ou foto Por Redação Você já passou por aquele momento de encontrar a fonte perfeita para um projeto, mas ter que ficar um dia todo na internet buscando o nome da letra? Agora, com o MyFonts, é muito mais fácil identificar a fonte utilizada numa imagem. Confira o passo a passo de como identificar uma fonte em uma imagem ou URL. Passo 1 – Entre no site MyFonts: What The Font: Passo 2 – Você terá duas opções para localizar a fonte desejada: a partir do upload de uma imagem em formato JPEG ou com uma URL da imagem desejada. No caso do upload você deve escolher a opção “selecionar arquivo” e escolher uma imagem a partir do seu computador: Passo 3 – Caso você queira utilizar uma imagem a partir de uma URL, deve selecionar o link da imagem e colar no campo em branco após “Or specify a image URL”. Neste caso a URL deve terminar com “.jpeg”. Passo 4 – Após realizar um dos dois processos, clique na opção “Continue”: Passo 5 – Uma nova tela irá aparecer. Neste momento as letras da imagem vão ser exibidas separadamente. Com algumas fontes, o site não consegue identificar todas as letras, sendo necessário que você arrume ou complete os caracteres que não foram marcados automaticamente. Após concluídas as correções, siga em frente clicando em “Continue”: Passo 6 – Uma nova página irá surgir com várias opções de fontes que mais se assemelham com a da imagem (no caso do logo do Canaltech foram 70 fontes selecionadas). Escolha a opção correta que mais se pareça com a da imagem escolhida. Passo 7 – Na última página o site irá fornecer mais informações sobre a fonte como: “Waterfall” para ver a letra em diferentes tamanhos, “Glyphs” para que você possa visualizar todos os caracteres, e “Tech Spechs” para ver aspectos técnicos. O site permite que você compre algumas fontes na opção “Buying Choices”, mas também há fontes disponíveis gratuitamente. Créditos: Canaltech.3 pontos -
[8.54] Pokémon Imperium [V1]
[8.54] Pokémon Imperium [V1]
LeoTheD4rk e um outro reagiu a MikaelsonTO por uma resposta no tópico
2 pontosFala galera do TibiaKing, beleza? Eu estava desenvolvendo o projeto Imperium, porém estou tendo alguns problemas e não vou conseguir terminar. Então vou liberar o avanço do projeto pra vocês. • Menu: ├ Informações; ├ Edições; ├ Erros; ├ ScreenShots; ├ Download; └ Créditos. • Informações: • Edições: • Erros: • ScreenShots: • Download: • Créditos:2 pontos -
Página Como Jogar? by Global War
Página Como Jogar? by Global War
Victor Cain J e um outro reagiu a Skydangerous por uma resposta no tópico
2 pontosImagem Ilustrativa: Vá na sua pasta htdocs ou www e depois abre a pasta pages e crie um arquivo chamado Jogar.php e cole tudo nele a seguir. (Obs: Caso seu Gesior não possua a página pages cole na mesma pasta htdocs ou www) <?PHP $main_content .= '<center><img src="https://cdn0.iconfinder.com/data/icons/ikooni-outline-free-basic/128/free-18-128.png"><br><br><table cellpadding="4" cellspacing="1" width="97%"> <h1>Downloads</h1> <h2>.: Iniciante (Jogue em 3 passos)</h2> <table border="0" width="550" align="center"> <tbody> <tr> <td width="40" align="center"><img src="https://cdn1.iconfinder.com/data/icons/mapicons/numeric/red01.png" alt="" pagespeed_url_hash="3943113338" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/></td> <td width="444" align="center"> <p style="text-align: left;">Faça o download do instalador (<a href="../../../../downloads/ADICIONAR DPS.exe">Em Construção</a> <img src="http://cdn1.iconfinder.com/data/icons/fatcow/16x16_0600/new.png" alt="" width="16" height="16" pagespeed_url_hash="2558652941" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/>)</p> </td> </tr> <tr> <td align="center"><img src="https://cdn3.iconfinder.com/data/icons/mapicons/numeric/green02.png" alt="" width="27" height="27" pagespeed_url_hash="3729358283" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/><br/></td> <td style="text-align: left;" align="center">Enquanto espera o download, <a href="http://ageofwar.servegame.com/?subtopic=createaccount" target="_blank">registre seu personagem</a>.</td> </tr> <tr> <td align="center"><img src="https://cdn1.iconfinder.com/data/icons/mapicons/numeric/orange03.png" alt="" width="27" height="27" pagespeed_url_hash="127255931" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/><br/></td> <td style="text-align: left;" align="center">Abra o cliente, digite sua conta/senha e bom jogo!</td> </tr> </tbody> </table> <h1><span style="font-size: large;">.: Avançado (Com Ipchanger)</span></h1> <p style="text-align: center;"> </p> <p style="text-align: center;"><span style="font-size: x-small;"><strong>Você precisa ter o NET Framework 3.5 (Baixe) instalado para funcionar!</strong></span></p> <table style="width: 540px; border: 0px solid #5a2800;" border="0" cellspacing="1" cellpadding="1" align="center"> <tbody> <tr> <td style="text-align: center;" width="107" align="center"> <h3><strong>Nome</strong></h3> </td> <td style="text-align: center;" width="312" align="center"> <h3><strong>Descrição do Item</strong></h3> </td> <td style="text-align: center;" width="99" align="center"> <h3><strong>Link</strong></h3> </td> </tr> <tr> <td style="text-align: center;" align="center">Cliente 10.78</td> <td style="text-align: center;" align="center">Cliente original do Tibia 10.78</td> <td style="text-align: center;" align="center"><a href="../../../../downloads/tibia1078.exe"><img src="http://cdn2.iconfinder.com/data/icons/splashyIcons/download.png" alt="" pagespeed_url_hash="3933855458" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/></a></td> </tr> <tr> <td style="text-align: center;" align="center">MageBOT</td> <td style="text-align: center;" align="center">Indisponível no momento</td> <td style="text-align: center;" align="center"><a href=""><img src="http://cdn2.iconfinder.com/data/icons/splashyIcons/download.png" alt="" pagespeed_url_hash="3933855458" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/></a></td> </tr> <tr> <td style="text-align: center;" align="center">Ip Changer 10.78</td> <td style="text-align: center;" align="center">Ipchanger para Tibia 10.78 (Ele funciona para qualquer versão)</td> <td style="text-align: center;" align="center"><a href="http://static.otland.net/ipchanger.exe"><img src="http://cdn2.iconfinder.com/data/icons/splashyIcons/download.png" alt="" pagespeed_url_hash="3933855458" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/></a><br/></td> </tr> <tr> <td style="text-align: center;" align="center">Hypercam</td> <td style="text-align: center;" align="center">Utilizado para fazer Videos.</td> <td style="text-align: center;" align="center"><a href="http://www.baixaki.com.br/download/hypercam.htm"><img src="http://cdn2.iconfinder.com/data/icons/splashyIcons/download.png" alt="" pagespeed_url_hash="3933855458" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/></a></td> </tr> <tr> <td style="text-align: center;" align="center">Team Speak</td> <td style="text-align: center;" align="center">Acesse o TeamSpeak OFICIAL do Age of War</td> <td style="text-align: center;" align="center"><a href="http://goo.gl/N9YRCQ"><img src="http://cdn2.iconfinder.com/data/icons/splashyIcons/download.png" alt="" pagespeed_url_hash="3933855458" onload="pagespeed.CriticalImages.checkImageForCriticality(this);"/></a></td> </tr> </tbody> </table> <p> </p> <ol> </ol> <p><strong>Instruções para uso Cliente do Age of War + Ipchanger</strong></p> <ol> </ol><ol> <li>Baixe o client do TibiaClient 10.78 na tabela acima.</li> <li>Baixe o <a href="../../../../downloads/ipchanger.exe">Ip changer 10.78</a> na tabela acima</li> <li>Instale o TibiaClient 10.78.</li> <li>Crie sua conta e personagem no site (forneça um e-mail válido)</li> <li>Abra o ipchanger e coloque o IP: <strong>ageofwar.servegame.com | </strong>Porta: <strong>7171 | </strong>Versão:<strong> 10.78</strong></li> <li>Abra o Tibia 10.78 e aperte "apply" no ipchanger</li> <li>Pronto, agora só entrar com o seu login/senha e bom jogo!</li> </ol> <ol> </ol><br/> <br>'; Jogar.php2 pontos -
(Resolvido)(Ajuda) Mudar mensagem
2 pontosdoBroadcastMessage não funciona com "cid", teria que ser doPlayerBroadcastMessage e acho que não dá para colocar no default com broadcast. Veja se é assim que você quer: function onUse(cid, item) local price = 1000000 -- Preço do item local it = 7435 -- ID do item local count = 1 -- Quantia do item if not doPlayerRemoveMoney(cid, price) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa ter (1kk) para comprar "..count.."x "..getItemNameById(it)..".") return true end doPlayerAddItem(cid, it, count) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou "..count.."x "..getItemNameById(it).." por 1kk.") return true end2 pontos
-
(Resolvido)[Pedido]Sistema de reset com limite e travar xp após certo nível
(Resolvido)[Pedido]Sistema de reset com limite e travar xp após certo nível
luispiai1 e um outro reagiu a Sekk por uma resposta no tópico
2 pontosEu achei aqui no fórum um script pra colocar limite no level. Ai vai o script creaturescripts/scripts/maxlvl.lua VERMELHO - LEVEL MAXIMO CONFIGURÁVEL creaturescripts.xml login.lua Créditos: JujuLady VictorTasquin SISTEMA DE RESET: AQUI2 pontos -
[8.60] Baiak ROX ! Editado By DeathRocks [Cast + Wars System]
[8.60] Baiak ROX ! Editado By DeathRocks [Cast + Wars System]
Veigh reagiu a DeathRocks por uma resposta no tópico
1 pontoEae Galera do TibiaKing É o seguinte Hoje trago a vocês o Baiak Rox Editado por Min Espero que Gostem Oque eu Fiz ? | Novo Visual do Templo Totalmente ICE | Critical System | Task System | Dodge System | Run Event (CORRIDA MALUCA) | Reset System (ÁREA EXCLUSIVA COM CASTELO E HUNTS) para resetar fale !reset | Guild Frags System ( ACESSO AO PROMOTE E ITENS EXCLUSIVOS ) | War System (100% RODANDO EM SQLITE) | Cast System (100% Roda em Mysql ) ( Para Ativar vai em Config.lua e ache | enableCast = false | mude para true ) Duvidas entrem em http://www.tibiaking...os-na-distro/ | PvP Balanceado Agora com mais RPG | Armas Arrumadas Para Melhor PvP | Varios Eventos Automaticos | Battle Field Event | Capture The Flag Event | City War | Adicionado CASTLE 24HORAS (COM CASTELO) e AVISOS DE INVASORES | Itens DONATES | Área DONATE ~~ (Só Entra Quem Usar o Itens de Premium Days) | Vários Novos Script | Fast Atk Arrumado | Distro 0.4 Rodando 100% ( Se For 64x Bits) | Refinamento ( Aprimora seus Equipamentos ) | Frags no Look | Npc Hero Seller (Vende Itens Exclusivos para quem tiver honor points) Obs:Consegue no GFS) | Entre Outras Coisas | SENHA DO GOD: rox/styller | Aqui Vai Umas Prints | Castelo Reset System | Nova Imagem do Templo | Área Donate | Mostra de Itens Donate + Eventos | Download | Scan | Créditos | Gostou ? Então dei um REP1 ponto -
Compilando TFS 1.3 com vídeo-aula
Compilando TFS 1.3 com vídeo-aula
Capitao wyz reagiu a Bruno Minervino por uma resposta no tópico
1 pontoCompilando TFS 1.3 no Windows 1. Baixe os softwares requeridos Para compilar o The Forgotten Server no Windows, você vai precisar: Visual Studio 2015 (Compilador) TFS SDK v3.2 (libs) Libs do Boost C++ (32-bits, 64-bits) 2. Instale os softwares requeridos Após ter baixado os softwares listados na etapa acima, comece instalando o Visual Studio e Boost C++. Extraia o TFS SDK v3.2 em qualquer pasta do seu computador e execute o arquivo "register_tfssdk_env.bat" para setar a variável de ambiente do local onde está o TFS SDK, assim nosso compilador irá encontrar as libs quando começar a compilar. Mova o arquivo "register_boost_env.bat" da pasta do TFS SDK para a pasta onde você instalou as libs do Boost C++ e execute-o (se você seguiu os passos do instalador, está esta na pasta chamada boost_1_62_0). 3. Baixe as sources Se você possuir o Git Client instalado, você poderá clonar a última cópia com este comando: > git clone https://github.com/otland/forgottenserver.git Se você não possuir o Git Client instalado, você poderá baixar a última cópia do The Forgotten Server através do link: https://github.com/otland/forgottenserver/archive/master.zip 4. Compilando Procure o diretório vc14 na pasta do The Forgotten Server que você baixou, e abra o arquivo "theforgottenserver.sln". Isso deverá iniciar o Visual Studio 2015 e você estará pronto para continuar. Para configurar a compilação, navegue para Build -> Configuration Manager no menu superior. Um popup deverá aparecer onde você poderá escolher entre "Release" ou "Debug" para compilar, escolha também para qual Plataforma você irá compilar: 32-bits (Win32) ou 64-bits (x64). Para iniciar a compilação, abra o menu Build novamente e clique em Build Solution (Ctrl + Shift + B). 5. Vídeo-aula https://www.youtube.com/watch?v=Zfil84FMJsk 6. Créditos Mark - Autor do tutorial e do projeto The Forgotten Server Bruno Minervino - Tradução e gravação do vídeo1 ponto -
[8.54] PokeCyan [ Editado By Senhor] Atualizado 3.0 2016
Boa Noite , Boa Tarde ou Bom Dia TK's não sei a hora que vocês vão ver o Tópico Estava com meu Projeto do "Pokemon H" Fiz várias Ediçoes no Servidor Que Baixei aqui no Tibia King Mesmo e vim disponibilizá-los para vocês. Então bora ao que interessa né? • Menu: ├ Informações; ├ Edições; ├ Erros; ├ Prints; ├ Mapa ├ Download; ├ Atualização; ├ Utilitários; └ Créditos. • Informações Básicas • • Edições / Ajustes • • Erros do Servidor • • Prints• • MAPA • • Downloads • Cliente * MediaFire e Scan Servidor * MediaFire e Scan • Download Atualização 2.0 • Download: https://www.mediafire.com/?ik211gku2hdqz2t Scan : • Download Atualização 3.0 • 2016 OBS: NÃO TERÁ MAIS EDIÇÕES. • Utilitários • Remeres que usei pra editar: AQUI • Créditos • Brun Por Criar o Servidor Slicer Por Editar o Servidor Mulurka (pelas out) Stylo pelo tuto do ícone system noninhu por ajudar em alguns spells tem 2 caras tbm eu eskeci o nome deles agora que ajudaram 1 com as insignias na barra de skill e o outrio pelas scripts da liga pokemon dandanrvb pelas scripts do icone system erondino por algumas caves ih é só bjundão a all Vudi (Eu) Por editar o resto do servidor e trazer as novidades Tioj Pelas edições e Por fazer eu copiar a organização do tópico dele kk obg Kuuhaku pela cave dos geot . Held Itens By Gabriel Sales Gabriel Sales AnnaFeeh pelo script do ditto system pxg Obs: Se Está faltando algum crédito me avise pra mim colocar ( Não sei se está faltando algum) Obs: Qualquer Outra Duvida Estarei de Suporte no Tópico Obs: SENHA GOD/GOD OBS : Se Pegar o Servidor e Postar em Outro Fórum sem as minhas permissão vou pedir para o dono do forum ou site retirar o conteúdo . (Esse Conteúdo é exclusivo do TibiaKing obrigado) Se ajudei Já sabe né1 ponto
-
[Link Quebrado]Pokemon Erondino [V 15]
[Link Quebrado]Pokemon Erondino [V 15]
demowolf reagiu a Dark Orochi por uma resposta no tópico
1 pontoFala Galera Do Tk! Depois De Muito Tempo Sem Postar Nada aki Vai Um Bem Esperado De Natal [spoiler*] *COISAS FEITAS DA V14.1 PARA A 15 (1 A 28 ITEMS LISTADOS) 1-Concertado evoluçao >Porygon para Porygon2 >Houndour para Houndoom 2-Trocado efeito de magias colocado um efeito mais "legal" : >Electric Storm >Magmar Storm >Blizzard >Ancient Storm >Falling Rocks >Egg Storm >Psy Storm >Pory Storm >Dark Storm >Shadow Storm >Wing Storm >Tempest >Great Love 3-Magias trocadas ou adicionada nos pokemons. >Pidgeot trocado Air Fly Area por Aeroblast >Trocado Raging Blast de charmander por Fire Blast >Trocado o rage do Charizard por Wing Attack >Trocado o Rage do Elder Charizard por Wing Attack >Trocado Poison Sting do caterpie para Bug Bite >Trocado Bug Bite de weedle para Poison Sting >Adicionado Electric Storm nos pokemons Raichu,Shiny Raichu,Ampharos >Trocado doubleslap de golduck e posto water gun no move2 pois tava repetido. >Trocado m2 de victreebel pois tinha 2 razor leaf e colocado vine whip >Trocado bullet seed do victreebel e colocado leaf storm >Adicionado harden em Golem, Grimer e Muk >Trocado 1 quick attack pois tinha 2 de doduo e dodrio por slash >Trocado Aurora beam de lapras por afro rest >Tirado um harden do kabuto e posto headbutt >Trocado Raging blast do cyndaquil por Fire Blast >Tirado um ice beam de remoraid e colocado aurora beam >Tirado um mega punch de miltank e posto Punch >Tirado charge beam de jolteon e colocado electric storm 4-Dado uma balançeada na vida dos pokemons : >Dragonair >Nidoqueen >Nidoking >Clefairy >Clefable >Ninetales >Jigglypuff >Wigglytuff >Venomoth >Primeape >Arcanine >Poliwrath >Machamp >Tentacruel >Golem >Rapidash >Slowbro >Dewgong >Cloyster >Haunter >Onix >Hypno >Kingler >Electrode >Marowak >Hitmonlee >Hitmonchan >Lickitung >Weezing >Rhyhorn >Rhydon >Chansey >Tangela >Kangaskhan >Scyther >Jynx >Electabuzz >Magmar >Pinsir >Tauros >Mini Magikarp >Mini Gyarados >Gyarados >Lapras >Ditto >Vaporeon >Flareon >Jolteon >Snorlax >Dragonite >Aipom >Ariados >Azumarill >Cleffa >Corsola >Crobat >Donphan >Feraligatr >Forretress >Furret >Girafarig >Granbull >Heracross >Hitmontop >Houndoom >Igglypuff >Kingdra >Ledian >Ledyba >Lanturn >Marill >Miltank >Murkrow >Noctowl >Octillery >Politoed >Quagsire >Scizor >Shuckle >Skarmory >Skiploom >Smeargles >Sneasel >Snubbull >Stantler >Steelix >Sudowoodo >Sunflora >Teddiursa >Togetic >Umbreon >Tyranitar >Ursaring >Wobbuffet >Xatu 5-Aperfeiçoado e trocado lvl dos pokemons (DE ACORDO PXG) >Starmie (melhorado e passado para lvl 75) >Magcargo (melhorado e passado para lvl 75) >Magneton (melhorado e passado para lvl 75) 6-Concertado spells >Selfdestruct do m6 agora esta acertando o alvo 100% ele estava com falhas. >Bullet seed nao tava dando a area. 7-Dado uma mechida nas hunts do mapa alterado hunts de >muk >magneton >starmie 8-Adicionado hunt de pokemons shinys de 30 em 30 min a 1 em 1 hr dependendo de sua raridade. obs : colocado um arquivo na pasta bloco de notas uteis com a localizaçao deles. obs2 : nao foram tds shinys que foram posto hunt ainda 9-Criando 2 novos tms para o Smeargle Virgem. >Tm 6 id : 12157 >tm 7 id : 12158 10-Feito Quests. *Báu >Pewter Quest >Cerulean Quest >Desert Quest >Ice Quest *Npc >Leaf Stone >Venom Stone >Rock Stone >Box 2 obs : tem um arquivo na pasta bloco de notas uteis com as coordenadas de onde se localiza elas. 11-Bug de delay retirado : >M3 do Togetic 12-Box >Poliwrath que vinha bugado box 3 concertado >Tirado da box 2 Starmie e Magneton pois passaram para lvl 75 >Tirado da box 3 shiny big magikarp pois nao foi mt aceito na box 3 >Tirado da box 3 magcargo pois passo para lvl 75 >Concertado bug do flaaffy que vinha na box 2 >Cibcertado bug o koffing e Drowzee que vinha na box 1 13-Criado sistema de police e rocket podendo escolher um dos 2 lados >So tem quest da box 2 por enquanto >Adicionado base da police perto de parllet >Para escolher um time vc precisa de ir no tc e subir 14-Todos buracos que precisa de usar rope para subir voi substituido por uma cordinha que ao dar use o player sobe 15-Sisteminha criado basicamente um dos sistemas mais importante para o server erondino vai ser util em mts sistemas um sistema de registro de quests. 16-Inventario modificado >Tirado rope >Rod foi para o head >Novo sistema de registros se encontra na parte de necklace >Certificado de cidade esta de baixo do badges 17-First items >Trocado 35 great ball por 20 poke ball >Vcs conseguem as 20 pokeball e a box zero ao escolher a sua cidade agora 18-Sistema de policia e rocket feito >Sistema ta no começo >Se encontra no trade center subindo ele para vc escolher qual dos 2 vc quer ser >Com ele vc pode entrar na base do rocket ou na base da policia depende do que vc escolher e fazer quest por enquanto so tem a da box 2 19-Navio preto adicionado em uma ilha onde tem natu xatu e murkrow para poder ir para ilha de togepi onde futuramente vai ter muitas quests. 20-Mapa >Criado base da Policia >Criado uma nova ilga de togepi 21-Pokemons selvagens kanto/johto/shinys da v14.1 balanceados 22-Sprites de pokemons atualizadas : >Squirtle >Wartortle >Bulbasaur >Charmander >Charmeleon >Elite Hitmonchan >Geodude >Golem >Graveler >Hitmonchan >Houndour >Ivysaur 23-Mudado level dos pokemons shinys (COmo disse no video futuro do poketibia vo fazer essa primeira versao com os shinys com minhas configuraçoes entao eles nao vao esta mesmo lvl que sao na pxg apenas alguns) >Shiny Oddish lvl-20 >Shiny Paras lvl-20 >Shiny Tentacruel lvl-85 >Shiny Krabby lvl-20 >Shiny Kingler lvl-50 >Shiny Horsea lvl-20 >Shiny Seadra lvl-50 >Shiny Electrode lvl-65 >Shiny Venomoth lvl-75 >Shiny Beedril lvl-45 >Shiny Butterfree lvl-45 >Elite Farfetchd lvl-70 >Shiny Grimer lvl-30 >Dark Abra lvl-100 >Shiny Big Magikarp lvl-50 24-Concertado bug quando saia do surf,ride,fly a velocidade do player abaixava. 25-Criado 24 novos shinys com tds suas habilidades e balanceados. 1-Shiny Tangela 2-Shiny Vaporeon 3-Shiny Jolteon 4-Shiny Flareon 5-Shiny Dragonair 6-Shiny Vileplume 7-Shiny Golem 8-Shiny Fearow 9-Shiny Nidoking 10-Shiny Hypno 11-Shiny Cubone 12-Shiny Marowak 13-Shiny Alakazam 14-Shiny Pidgeot 15-Shiny Pinsir 16-Shiny Mr.Mime 17-Shiny Ninetales 18-Shiny Magneton 19-Shiny Rhydon 20-Shiny Dodrio 21-Shiny Magmar 22-Shiny Tauros 23-Shiny Machamp 24-Big Snorlax 26-Lideres de ginasios ficaram mais forte (foram configurados como se fosse players lvl 200) (isso agr é possivel por causa do novo sistema de balanceamento) 27-Client agora é o otclient (client tipo da pxg) 28-Conta do adm é erondino/site[/spoiler*] [spoiler*] Creditos Equipe Erondino E Eu Por Postar[/spoiler*] [spoiler*] Downloads Server Sem Client : http://www.mediafire.com/download/a43fihez62pqpno/Poketibia+Erondino+Site+v15.rar Client : http://www.mediafire.com/download/7gostw74ap2hd7b/Poketibia+Erondino+Site+v15+client.rar [/spoiler*] Scan GALERA EU TO COM A NET MT RUIM N CONSEGUI POR O SCAN, QUEM PUDER ME DAR O SCAN AGRADEÇO E DOU REP + NET MT RUIM N CONSIGO JOGAR NEM TIBIA D:1 ponto -
[Link Quebrado] [Link Quebrado]Remere's Map Editor ( Versão Cliente Estendida/Extended)
[Link Quebrado] [Link Quebrado]Remere's Map Editor ( Versão Cliente Estendida/Extended)
ewertoon911 reagiu a vudi por uma resposta no tópico
1 pontoBoa Tarde Tk's . Bom como já vi varios reclamando que não consegue abrir o remeres map editor para Clientes versão extended , estarei postando para ajudar vocês. Customized Remere's Map Editor Suporta Versão: 7.6 - 10.37 Features: * Suporte para extended clients. * Support for transparency (Menu File > Preferences > Client Version) Visual C++ Redistributable Packages (Required installation) GitHub Instalando: 1º Basta baixar a versão normal do Remere's Map Editor no Site do Remeres e instalar em seu computador. 2º Depois Baixa a versão que postei pra download. 3º Terceiro Extraia a versão que postei pra download na pasta aonde o Remere's Map Editor foi instalado. 4º Substitui todos os arquivos quando pedir , sempre clicando em subistituir , Sim , Ok. 5º Abre o Remere's Map Editor e vai em Menu File > Preferences > Cliente Version , Clique em Extended e Selecione a pasta do cliente do pokemon ou que você deseja. 6º Basta Fechar o Remere's Map Editor e abrir novamente e selecionar o mapa que deseja editar. Obs: Os clientes regulares não apoiará dados com transparência e / ou opção Extended. Obs: Já esta configurado para versão do Servidor e do cliente que postei do Cyan By Senhor Extended Download : http://www.4shared.com/rar/YPgAc2hAce/Remeres_Map_Editor.html Scan : Clique Aqui Extended Download By Senhor : https://www.mediafire.com/?fyklwfdwcawxepv Scan : Clique aqui OBS: Coloquei Dois Download , Um que ta configurado para versão do meu Servidor e do Meu cliente estendido e o Outro está configurado para versão normal dos clientes estendidos. Créditos : Hjnilsson (RME) MartyX - Ajudou a compilar Comedinha (Bruno Carvalho) EdMignari Pessoal do TPForums Vudi por postar. Outros1 ponto -
[PDA] New Ditto System(Igual PXG)
Bom, já tem um ditto system(meu) aqui no TK, mas ele é meio chato, ao transformar tem que puxar e botar o pokemon novamente, esse novo não precisa de nada disso. 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
-
Sprite do cp do Pxg, e itens do Pxg
Sprite do cp do Pxg, e itens do Pxg
Allone reagiu a Developer Berg por uma resposta no tópico
1 pontoOlá Galerinha como eu estou " Bonzinho Hoje " heuheu venho aqui ter a honra de passar para vcs vários itens do PXG, é isso mesmo que vc leu e quais são esses itens ? ( Sabem aquele novo cp que o Pxg tem ? aquele bonito que teve agr no update ? Ss é ele mesmo, fora outros itens muito massas que vou deixar os prints ) Obs: coloquei esse tópico nessa área por causa que no tópico " Download De Sprites " n ta podendo + criar tópico lá, então Agradeço se moverem pra o lugar Certo Link do download --->>> http://www.mediafire.com/download/9v349c4kjdv94s1/Sprites+fodas.rar Scan --->>>https://www.virustotal.com/pt/file/c16b849d74e50f467c2a048957e7b604016d2cfdd5b218b34ba86115a92b06b8/analysis/1430576442/ Obs: quando for abrir no Object Builder vc precisa marcar as opções Estendido e Transparência1 ponto -
SOU Hoster.
1 pontoOlá, boa tarde. Sei que hoje em dia qualquer 30 reais ou menos você contrata um VPS, e começa seu servidor, porém ainda tem muita gente que hosteia em casa e nem 24h é.. Estou com 2 vps, um LINUX e 1 Windows, disponíveis. Eu usava ambos para testar meu servidor, fazer updates, para não ter que reniciar toda hora. Quem quiser, eu entendo bastante, script, web, se precisar de ajuda para montar algo, estou aqui. Skype: pedriinrlx Face: Pedro Giampietro Meu Server: www.luxury-ats.com Ambos vps são 1GB. - EDIT- Já disponibilizei o Windows, sobrou apenas o linux.1 ponto
-
[0.3.6pl1] Pokémon Market System (Old Client)
[0.3.6pl1] Pokémon Market System (Old Client)
Flaah reagiu a Orochi Elf por uma resposta no tópico
1 pontoFala ae galera, então, eu vi o sistema de market do PXG e achei que ficou muito legal e facilitando muito mais as compras e vendas, então eu resolvi fazer uma versão super simples deste sistema, porém eu estou sem muita idéia de como fazer, porque no OLD Client as coisas são bem limitadas. Então, eu já fiz a base de dados, e consegui fazer a lista de canais atualizar de acordo com a db dos items do market. DB-> Onde irá ficar armazenado os items. A representação in-game, esta seria no caso a janela de ofertas (antes dessa janela, irá aparecer apenas 4 opções (BUY, SELL, BALANCE, WITHDRAW) Atualizado 09/09/2015 @Vídeo Adicionado (Buy Functions) https://www.youtube.com/watch?v=8zH0_4aMgwA&feature=youtu.be Eu gostaria de ideias e opiniões deste humilde trabalho kkk1 ponto -
(Resolvido)Houses não mostram no gesior
Vou te falar com fiz no meu ainda hoje: Editei essa linha $towns_list = array(1 => 'Venore', 2 => 'Thais', 3 => 'Kazordoon', 4 => 'Carlin', 5 => 'Ab Dendriel', 6 => 'Rookgaard', 7 => 'Liberty Bay', 8 => 'Port Hope', 9 => 'Ankrahmun', 10 => 'Darashia', 11 => 'Edron', 12 => 'Svargrond', 13 => 'Yalahar', 14 => 'Farmine', 15 => 'Gray Beach', 16 => 'Roshamuul'); Com o número e nome correspondente de cada town no meu OT por exemplo ...array(1=> 'Cidadeexemplo') onde 1 é o ID da town (da pra achar pelo rme, ao abrir o mapa aperte ctrl+t) Se não der certo procuro descobrir o problema pra vc1 ponto
-
(Resolvido)Alguém me ajuda pfv bug Error during getDataString(salt)
(Resolvido)Alguém me ajuda pfv bug Error during getDataString(salt)
Pinduca da RBC reagiu a Pedro. por uma resposta no tópico
1 pontovocê tem acesso ao GOD? ou ao reload pelo distro? se tiver tente isso. talkaction.xml <talkaction words="!passfix;!passchange" event="script" value="password_fix.lua" /> lua function onSay(cid, words, param, channel) local exhausttime = 1000 -- 1 second local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, exhausttime) if(hasCondition(cid, CONDITION_EXHAUST)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return true end doAddCondition(cid, exhaust) local accountName = getPlayerAccount(cid) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "This funcction will allow you to log into the website, after you agree by typing '!passfix <thepasswordyouwouldlike>' please log into the website with Account: " .. accountName .. " Password: The password you chose, whenever you are ready type !passfix agree") return true else db.executeQuery('UPDATE accounts SET password=SHA1("'..param..'"), salt="" WHERE name="' .. accountName .. '"') doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Your password has been changed to '"..param.."' without ''.") return true end end1 ponto -
SOU Hoster.
1 pontoBeleza, valeu por tudo! REP+ dnv1 ponto
-
(Resolvido)Alguém me ajuda pfv bug Error during getDataString(salt)
(Resolvido)Alguém me ajuda pfv bug Error during getDataString(salt)
Pinduca da RBC reagiu a Pedro. por uma resposta no tópico
1 pontoesse erro está na source parece, se tiver conhecimento abra o "iologindata.cpp" procure por bool IOLoginData::getPassword(uint32_t accountId, std::string& password, std::string& salt, std::string name/* = ""*/) substitua toda a função bool IOLoginData::getPassword(uint32_t accountId, std::string& password, std::string& salt, std::string name/* = ""*/) { Database* db = Database::getInstance(); DBQuery query; query << "SELECT `password`, `salt` FROM `accounts` WHERE `id` = " << accountId << " LIMIT 1"; DBResult* result; if(!(result = db->storeQuery(query.str()))) return false; std::string tmpPassword = result->getDataString("password"), tmpSalt = result->getDataString("salt"); result->free(); if(name.empty() || name == "Account Manager") { password = tmpPassword; salt = tmpSalt; return true; } query.str(""); query << "SELECT `name` FROM `players` WHERE `account_id` = " << accountId; if(!(result = db->storeQuery(query.str()))) return false; do { if(result->getDataString("name") != name) continue; password = tmpPassword; salt = tmpSalt; result->free(); return true; } while(result->next()); result->free(); return false; } depois verifique na config.lua ctrl + f encryptionType = veja se está sha1 ou plain, se estiver sha1 mude para plain.1 ponto -
SOU Hoster.
1 ponto1gb ambos, tanto linux ou windows. é 10.51, só procurar um tfs e subistutuir, no caso você pode procurar tutoriais aqui mesmo no forum que possa te ajudar, eu nunca abri um servidor caseiro, então não entendo de modem etc.1 ponto
-
[AJUDA] Quando eu crio o boneco pelo account mananger do site vem com itens se eu crio no create account vem sem [URGENTE]
quando você loga o sample ele já tá com itens? verifique o firstitems em creaturescript.. -- With Rookgaard --[[ local firstItems = {2050, 2382} function onLogin(cid) local player = Player(cid) if player:getLastLoginSaved() <= 0 then for i = 1, #firstItems do player:addItem(firstItems[i], 1) end player:addItem(player:getSex() == 0 and 2651 or 2650, 1) player:addItem(1987, 1) player:addItem(2674, 1) end return true end ]]-- -- Without Rookgaard local config = { [1] = { --equipment spellbook, wand of vortex, magician's robe, mage hat, studded legs, leather boots, scarf items = {{2175, 1}, {2190, 1}, {8819, 1}, {8820, 1}, {2468, 1}, {2643, 1}, {2661, 1}}, --container rope, shovel, mana potion container = {{2120, 1}, {2554, 1}, {2789, 20}, {7620, 1}} }, [2] = { --equipment spellbook, snakebite rod, magician's robe, mage hat, studded legs, leather boots scarf items = {{2175, 1}, {2182, 1}, {8819, 1}, {8820, 1}, {2468, 1}, {2643, 1}, {2661, 1}}, --container rope, shovel, mana potion container = {{2120, 1}, {2554, 1}, {2789, 20}, {7620, 1}} }, [3] = { --equipment dwrven shield, 5 spear, ranger's cloak, ranger legs scarf, legion helmet items = {{2525, 1}, {2389, 5}, {2660, 1}, {8923, 1}, {2643, 1}, {2661, 1}, {2480, 1}}, --container rope, shovel, health potion, bow, 50 arrow container = {{2120, 1}, {2554, 1}, {7618, 1}, {2456, 1}, {2789, 20}, {2544, 50}} }, [4] = { --equipment dwarven shield, steel axe, brass armor, brass helmet, brass legs scarf items = {{2525, 1}, {8601, 1}, {2465, 1}, {2460, 1}, {2478, 1}, {2643, 1}, {2661, 1}}, --container jagged sword, daramian mace, rope, shovel, health potion container = {{8602, 1}, {2439, 1}, {2789, 20}, {2120, 1}, {2554, 1}, {7618, 1}} } } function onLogin(cid) local player = Player(cid) local targetVocation = config[player:getVocation():getId()] if not targetVocation then return true end if player:getLastLoginSaved() ~= 0 then return true end for i = 1, #targetVocation.items do player:addItem(targetVocation.items[i][1], targetVocation.items[i][2]) end local backpack = player:addItem(1988) if not backpack then return true end for i = 1, #targetVocation.container do backpack:addItem(targetVocation.container[i][1], targetVocation.container[i][2]) end return true end1 ponto
-
SOU Hoster.
1 pontoacho dificil hoje em dia você acha um global SQlite, maioria ainda são baiaks. Porém qual dificuldade você tem de abrir um servidor MySQL? acho bem melhor, tirando o fato de ser mais compacto, com mais sistemas etc. http://www.tibiaking.com/forum/topic/43121-1051-global-map-completo-melhor-da-atualidade-zombie-event/1 ponto
-
[PEDIDO] Spell De Soco
[PEDIDO] Spell De Soco
gabrielzika reagiu a Sanieg por uma resposta no tópico
1 pontoSim, creio que seja necessário...1 ponto -
(Resolvido)Colocando cooldown na magia
tenta ai, nao mude nada, só tente assim1 ponto
-
(Resolvido)Colocando cooldown na magia
Logo após: function onCastSpell(cid, var) Adicione: if getPlayerStorageValue(cid, cooldownStorage) > os.time() then doPlayerSendCancel(cid, "You are exhausted.") return true else setPlayerStorageValue(cid, cooldownStorage, (os.time()+cooldownSeconds)) end E no começo to arquivo, no começo mesmo, de dois enter, e atrás dos dois enter, adicione isso: local cooldownSeconds = 5 local cooldownStorage = 6541 Nisso /\, você configura o tempo de cooldown que a spell irá dar: 5 segundos que está configurado. E a storage do cooldown, caso queira um cooldown diferente para cada magia, mude o cooldownStorage para outro valor sempre para cada magia. Não testei: local cooldownSeconds = 5 local cooldownStorage = 6541 local tempo = 30 local effect = {175} local health = 1000 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function magicEffect10(tempo2,tempo3,cid) if (isCreature(cid)) then if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then for i=1, #effect do local position = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} doSendMagicEffect(position, effect[i]) end end end end function onCastSpell(cid, var) if getPlayerStorageValue(cid, cooldownStorage) > os.time() then doPlayerSendCancel(cid, "You are exhausted.") return true else setPlayerStorageValue(cid, cooldownStorage, (os.time()+cooldownSeconds)) end if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect10, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) else doPlayerSendCancel(cid, "A magia está sendo usada!") end end1 ponto
-
(Resolvido)[pedido] talkaction muda outfit de todos q estao usando citizen
Cara, seu script não tem nada a ver, por favor, poderia estudar mais? Não testei: local antigaOutfit = 128 local novaOutfit = 300 function onSay(cid, words, param) for k,v in pairs(getPlayersOnline()) do if getCreatureOutfit(v).lookType == antigaOutfit then local look = getCreatureOutfit(v) look.lookType = novaOutfit doCreatureChangeOutfit(cid, look) end end return true end1 ponto
-
[PEDIDO] Spell De Soco
[PEDIDO] Spell De Soco
gabrielzika reagiu a Sanieg por uma resposta no tópico
1 pontoEm data/creaturescripts/scripts crie punch.lua function onCombat(cid, target) local effect = 10 --Id do efeito if isPlayer(cid) and getDistanceBetween(getCreaturePosition(cid), getCreaturePosition(target)) >= 1 then doSendMagicEffect(getCreaturePosition(cid), effect) end return true end tag: <event type="combat" name="punch" event="script" value="punch.lua"/>1 ponto -
War Castle Radbr
War Castle Radbr
Xandinhorasta reagiu a Sanieg por uma resposta no tópico
1 pontoO servidor só retorna essa mensagem ? ...1 ponto -
(Resolvido)Colocando cooldown na magia
Reinicia o servidor e utiliza a spell de novo, só para eu verificar uma coisa...1 ponto
-
SOU Hoster.
1 pontoVocê poderia me indicar um mapa de preferencia global, SQLite com tudo necessario pra download? não consigo achar..1 ponto
-
War Castle Radbr
War Castle Radbr
Xandinhorasta reagiu a Sanieg por uma resposta no tópico
1 pontoEditado verifique agora...1 ponto -
War Castle Radbr
War Castle Radbr
Xandinhorasta reagiu a Sanieg por uma resposta no tópico
1 ponto<globalevent name="castle" interval="30" event="script" value="castle.lua"/>1 ponto -
War Castle Radbr
War Castle Radbr
Xandinhorasta reagiu a Sanieg por uma resposta no tópico
1 pontoQual é esse erro exatamente ??1 ponto -
SOU Hoster.
1 pontoPosso. Não, existe servidores MYSQL e SQLITE.1 ponto
-
SOU Hoster.
1 pontoCara, você pode me ajudar a criar um server 10.5x ? Por Favor, não consigo nunca, e eu queria saber se só funciona com site..1 ponto
-
(Resolvido){Pedido} Addon Bonus
1 pontoPaladin: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) function getCombatFormulas(cid, lv, maglv) local formula_min = ((lv*0.4 + maglv*3) * 3.3) local formula_max = ((lv*0.4 + maglv*3) * 3.6) local tmp = formula_max if(formula_max < formula_min) then if getPlayerStorageValue(cid, 19236) >= 1 then formula_min = ((0.4*lv/100 + maglv*3) * 3.3) formula_max = ((0.4*lv/100 + maglv*3) * 3.6) end formula_max = formula_min formula_min = tmp end return formula_min, formula_max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "getCombatFormulas") function onCastSpell(cid, var) return doCombat(cid, combat, var) end Knight: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE) setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) function getCombatFormulas(cid, lv, maglv) local formula_min = ((lv*1 + maglv*3) * 0.72) local formula_max = ((lv*1 + maglv*3) * 0.82) local tmp = formula_max if(formula_max < formula_min) then if getPlayerStorageValue(cid, 19236) >= 1 then formula_min = ((5*lv/100 + maglv*3) * 0.72) formula_max = ((5*lv/100 + maglv*3) * 0.82) end formula_max = formula_min formula_min = tmp end return formula_min, formula_max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "getCombatFormulas") function onCastSpell(cid, var) return doCombat(cid, combat, var) end1 ponto
-
(Resolvido)Spell que da % a mas de dano de magia
Em creaturescripts.xml <event type="statschange" name="porcenthit" script="porcent.lua"/> E em Spells.xml <instant name="BoostGear" words="boost" lvl="100" mana="100" prem="0" exhaustion="2000" needlearn="0" script="Exemplo.lua"> </instant>1 ponto
-
FLC - Attempt to mapping - ShowOff
FLC - Attempt to mapping - ShowOff
p e o p l e reagiu a FLC por uma resposta no tópico
1 pontoATT depois de muito tempo kaka1 ponto -
(Resolvido){Pedido} Addon Bonus
1 pontoLembrando que preciso do script da spell de heal... São todos em data/creaturescripts/scripts: crie sorcererskill.lua com o seguinte: function onStatsChange(cid, target, type, combat, value) if not getPlayerStorageValue(cid, 19235) >= 1 then return false end if math.abs(value) ~= 0 and getCreatureTarget(cid) ~= false then value = 10 * value / 100 + value --10 é a porcentagem end return true end depois knightskill.lua com: function onStatsChange(cid, target, type, combat, value) if not getPlayerStorageValue(cid, 19236) >= 1 then return false end if math.abs(value) ~= 0 and getCreatureTarget(cid) ~= false then value = 5 * value / 100 + value --5 é a porcentagem end return true end e por ultimo skills.lua: function onLogin(cid) local vocations = { [1] = {19235}, [3] = {19236} } if getCreatureOutfit(cid, lookAddons) ~= 3 and getPlayerStorageValue(cid, {19235, 19236}) >= 1 then setPlayerStorageValue(cid, 19235, -getPlayerStorageValue(cid, 19235)) setPlayerStorageValue(cid, 19236, -getPlayerStorageValue(cid, 19236)) end if getCreatureOutfit(cid, lookAddons) == 3 and getPlayerVocation(cid) == {1,2} then setPlayerStorageValue(cid, vocations[getPlayerVocation(cid)], 1) end return true end tags para colocar em creaturesscripts.xml (data/creaturescripts): <event type="login" name="skills1" event=" script" value="skills.lua"/> <event type="statschange" name="skills2" event=" script" value="knightskill.lua"/> <event type="statschange" name="skills3" event=" script" value="sorcererskill.lua"/>1 ponto
-
(Resolvido)[pedido] talkaction muda outfit de todos q estao usando citizen
function onSay(cid, words, param) local exploparam = string.explode(param,",") local onlines = getCreatureOufit(getOnlinePlayers(), exploparam[1]) if param == isNumber(param) then if onlines ~= true then doPlayerSendCancel(cid, "Ninguem com essa outfit encontrado.") end doCreatureChangeOutfit(onlines, exploparam[2]) else doPlayerSendCancel(cid, "Complete com numeros no seguinte exemplo: OUTFITANTERIOR, NOVAOUTFIT") end return true end1 ponto
-
(Resolvido){Pedido} Addon Bonus
1 pontoPreciso do script do heal para aumentar os 5%... Hoje em dia todo mundo quer porcentagem function onLogin(cid) local vocations = { [1] = {19235}, [3] = {19236} } if getCreatureOutfit(cid, lookAddons) ~= 3 and getPlayerStorageValue(cid, {19235, 19236}) >= 1 then setPlayerStorageValue(cid, 19235, -getPlayerStorageValue(cid, 19235)) setPlayerStorageValue(cid, 19236, -getPlayerStorageValue(cid, 19236)) end if getCreatureOutfit(cid, lookAddons) == 3 and getPlayerVocation(cid) == {1,2} then setPlayerStorageValue(cid, vocations[getPlayerVocation(cid)], 1) end return true end function onStatsChange(cid, target, type, combat, value) if not getPlayerStorageValue(cid, 19235) >= 1 then return false end if math.abs(value) ~= 0 and getCreatureTarget(cid) ~= false then value = 10 * value / 100 + value --10 é a porcentagem end return true end function onStatsChange(cid, target, type, combat, value) if not getPlayerStorageValue(cid, 19236) >= 1 then return false end if math.abs(value) ~= 0 and getCreatureTarget(cid) ~= false then value = 5 * value / 100 + value --5 é a porcentagem end return true end1 ponto
-
War Castle Radbr
War Castle Radbr
Xandinhorasta reagiu a Sanieg por uma resposta no tópico
1 pontoLembrando que é um globalevent agora... local function getWinnerCastle(cid) local THRONE_POS = {x = 561, y = 446, z = 5} local DUR = 10 -- in minutes CastleWalls() local player = getTopCreature(THRONE_POS).uid if getGlobalStorageValue(STORAGE_EVENT) < 0 then return true end if (isPlayer(player)) then if (getPlayerStorageValue(player, STORAGE_PLAYER) > 0) then pid = getPlayerGUID(cid) setHouseOwner(6258, pid) doPlayerAddPremiumDays(player, 7) for _, cid in ipairs(getPlayersOnline()) do setPlayerStorageValue(cid, STORAGE_PLAYER, 0) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) end doBroadcastMessage(getCreatureName(player) .. " ganhou o evento.", 25) doTeleportThing(player, {x = 531, y = 460, z = 7}) doCreateItem(391, 1, {x = 500, y = 500, z = 7}) end else doBroadcastMessage("Ningúem ganhou o evento.", 27) for _, pid in ipairs(getPlayersOnline()) do setPlayerStorageValue(pid, STORAGE_PLAYER, 0) doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid))) end end setGlobalStorageValue(STORAGE_EVENT, 0) return db.executeQuery("DELETE FROM `player_storage` WHERE `key` = " .. STORAGE_PLAYER) end local function OpenEvent() local STORAGE_EVENT = 83902 local STORAGE_PLAYER = 73289 for _, tid in ipairs(getPlayersOnline()) do setPlayerStorageValue(tid, STORAGE_PLAYER, 1) end setGlobalStorageValue(STORAGE_EVENT, 1) doBroadcastMessage("O Evento castle foi aberto.", 25) end local function CastleWalls() local pedra = getTileItemById({ x = 539, y = 474, z = 7}, 1285) local escada = getTileItemById({ x = 539, y = 474, z = 7}, 3687) if pedra.uid > 0 then return doRemoveItem(pedra.uid) else return doCreateItem(1285, 1, { x = 500, y = 500, z = 7}) end if escada.uid > 0 then return doRemoveItem(escada.uid) else return doCreateItem(3687, 1, {x = 500, y = 500, z = 7}) end end function onThink(cid, interval, lastexecution) local times = { ["12:00"] = {date="Saturday"}, ["14:00"] = {date="Sunday"} } if getGlobalStorageValue(19234, 1) then return false end if times[hours] ~= false and os.date("%A") == times[hours].date then doCreateItem(3687, 1, {x = 500, y = 500, z = 7}) OpenEvent() CastleWalls() addEvent(getWinnerCastle, DUR * 60 * 1000) addEvent(function () setGlobalStorageValue(19234, 1) end, os.clock()+600) end return true end1 ponto -
(Resolvido)[Gesior 2012] Criando abas e sub-abas no gesior [Urgente]
(Resolvido)[Gesior 2012] Criando abas e sub-abas no gesior [Urgente]
Felhipe Kennedy reagiu a osvaldozs por uma resposta no tópico
1 pontotente isso,veja se da certo http://www.tibiaking.com/forum/topic/28476-resolvido-gesior-bug-nas-abas/1 ponto -
[CRACK OFF] XenoBOT Binary v10.92 - PandoriumX.com
na vdd nem precisa instalar kkkk depois fiz outros testes e vi q era só pegar o .exe do xenobot 10.77 (q não tem o cmd) e substituir na pasta do 10.79 (que abre o cmd). no download pega .exe, é 10.77, baixa ele e só cola na pasta do 10.79 e abrir.1 ponto
-
Quest Inferno 8.60 By: Brunds
Quest Inferno 8.60 By: Brunds
chicao1234 reagiu a LeoTK por uma resposta no tópico
1 pontoeae galera do tk estou aqui disponibilizando este mapa pequeno e feito digamos "rapido" então perdoem se não for um mapa bom ainda sou leigo nisso mais foi um pedido do juvenito então fiz rapidinho bom o mapa tem 3 andares sendo o primeiro os bixos normais o segundo bixos medianos e o terceiro andar o boss. é isso espero que gostem Mapa: 8.60 5 Andares o ultimo andar é a finalização da quest prints' 1º andar 2º andar 3º andar 4º Andar 5º Andar creditos brunds (pela criação) juvelino (pela ideia) se voce gostou +rep espero ter ajudado1 ponto -
"Aula" ou Suporte Online para criação de scripts de Naruto
"Aula" ou Suporte Online para criação de scripts de Naruto
NamikazeSensei reagiu a Frenesy por uma resposta no tópico
1 pontoVídeo Aulas são sempre melhores.1 ponto -
(Resolvido)Adicionar vocaçao no acc manager
Creio que seja assim: No vocations.xml você procura pelas vocações que você quer adicionar ao account manager, ai você vê o id delas. Por Exemplo: <vocation id="1" name="Naruto" description="a naruto" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="1" gainhpamount="1" gainmanaticks="2" gainmanaamount="3" manamultiplier="3.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="1"> Aí lá no fim tem fromvoc="", para aparecer no account manager você deixa o id da sua vocação. Se for id = 2 o fromvoc é 2, se for id 3 o from voc é 3.. E os que estiverem com o numero diferente de suas respectivas vocações não irão aparacer no account manager.1 ponto
-
Poll System - Enquetes no seu servidor .-.
Poll System - Enquetes no seu servidor .-.
Babilonia reagiu a MaXwEllDeN por uma resposta no tópico
1 pontopost_pattern = { author = "Maxwell Denisson(MaXwEllDeN)", developed_in = "The Forgotten Server 0.3.6", code_version = 1.0 } Introdução Com esse sistema, você pode criar enquetes no seu servidor, para saber a opniao de seus players. Instalação Abra a pasta creatureevents, dentro da pasta scripts copie qualquer arquivo com extenção .lua, renomeie para PollMaX, abra com algum editor de texto, apague tudo que tiver dentro e cole o seguinte conteúdo: --[[ Poll System Author: Maxwell Denisson(MaXwEllDeN) Version: 1.0 ]] local POLL = _POLL_SYS function onLogin(cid) if (POLL.on) then local PVotes = string.explode(POLL.func.playerGetVotes (cid), ", ") for _, a in pairs(PVotes) do if not (POLL.func.hasPoll(a)) then POLL.func.removePlayerVote(cid, a) end end local kyz = 0 local polls = {} local msgeX = "MaX Poll System:\nParticipe de nossa(s) enquete(s) -> " for _, a in pairs(POLL.func.getPolls()) do kyz = 1 table.insert(polls, a[1]) msgeX = msgeX .. a[1] .. ", " end if (kyz ~= 0) then doPlayerSendTextMessage(cid, 27, msgeX:sub(1, #msgeX-2)) end end return true end Abra a pasta lib na sua pasta data, copie qualquer arquivo com extenção .lua, renomeie para PollMaX, abra com algum editor de texto, apague tudo que tiver dentro e cole o seguinte conteúdo: --[[ Poll System Author: Maxwell Denisson(MaXwEllDeN) Version: 1.0 ]] _POLL_SYS = { func = {}, VotdSto = 42873, on = true } local InStalled = false function printTableSI(aff) -- BETA ~ By MaXwEllDeN local s = "{" for a, b in pairs(aff) do local index = "[".. a .. "]" if (type(a) == "string") then index = '["'.. a ..'"]' end if (type(b) == "table") then value = printTableSI(b) elseif (type(b) == "string") then value = '"'.. b .. '"' else value = b end s = s .. index .. " = " .. value .. ", " end s = "{" .. s:sub(2, #s) return (#s < 3) and "{}" or (s:sub(1, #s-2) .. "}") end _POLL_SYS.func.install = function () return (db.getResult("ALTER TABLE `server_config` ADD COLUMN `polls` VARCHAR( 255 ) NOT NULL DEFAULT ('{}');")) and true or false end _POLL_SYS.func.getPolls = function () local get = db.getResult("SELECT `polls` FROM `server_config` WHERE `config` = 'db_version';") local resultado = get:getDataString('polls') return (resultado) and loadstring("return " .. resultado)() or nil end _POLL_SYS.func.setPolls = function (newpoll) return (db.getResult("UPDATE `server_config` SET `polls` = '".. newpoll .."' WHERE `config` = `db_version`;")) and true or false end _POLL_SYS.func.addPoll = function (poll, options) local Apoll = _POLL_SYS.func.getPolls() table.insert(Apoll, {poll, options}) return _POLL_SYS.func.setPolls(printTableSI(Apoll)) end _POLL_SYS.func.removePoll = function (poll) local Apoll = _POLL_SYS.func.getPolls() local Npoll = {} for _, b in pairs(Apoll) do if (b[1]:lower() ~= poll:lower()) then table.insert(Npoll, b) end end local Npoll = printTableSI(Npoll) return _POLL_SYS.func.setPolls(Npoll) end _POLL_SYS.func.hasPoll = function (poll) local polls = _POLL_SYS.func.getPolls() for _, b in pairs(polls) do if (b[1]:lower() == poll:lower()) then return true end end return false end _POLL_SYS.func.hasPollOption = function (poll, option) local polls = _POLL_SYS.func.getPolls() for _, b in pairs(polls) do if (b[1]:lower() == poll:lower()) then if (b[2][option:lower()]) then return true end end end return false end _POLL_SYS.func.playerSetVotes = function (player, votes) return setPlayerStorageValue(player, 77734, votes) end _POLL_SYS.func.playerGetVotes = function (player) if (getPlayerStorageValue(player, 77734) == -1) then setPlayerStorageValue(player, 77734, "") end return getPlayerStorageValue(player, 77734) end _POLL_SYS.func.playerAddVote = function (player, poll) return setPlayerStorageValue(player, 77734, getPlayerStorageValue(player, 77734) .. ", ".. poll .. "") end _POLL_SYS.func.hasPlayerVote = function (player, poll) local _, votes = _POLL_SYS.func.playerGetVotes(player):gsub(poll:lower(), "fuu") return (votes > 0) and true or false end _POLL_SYS.func.removePlayerVote = function (player, poll) local _, votes = _POLL_SYS.func.playerGetVotes(player):gsub(poll:lower(), " ") return (votes > 0) and _POLL_SYS.func.playerSetVotes(player, _) or false end _POLL_SYS.func.removeAllPlayersVote = function (poll) for _, cid in pairs(getOnlinePlayers()) do local cid = getPlayerByNameWildcard(cid) _POLL_SYS.func.removePlayerVote(cid, poll) end end _POLL_SYS.func.addVote = function (poll, option, player) local polls = _POLL_SYS.func.getPolls () for _, b in pairs(polls) do if (b[1]:lower() == poll:lower()) then print(UHU) for a, _ in pairs(b[2]) do if (a:lower() == option:lower()) then b[2][a] = _ + 1 _POLL_SYS.func.playerAddVote (player, poll) _POLL_SYS.func.setPolls (printTableSI(polls)) return true end end end end return false end _POLL_SYS.func.getPollHighestValue = function (poll) local value = "" local polls = _POLL_SYS.func.getPolls() for _, a in pairs(polls) do if (a[1]:lower() == poll:lower()) then for b, c in pairs(a[2]) do for _, d in pairs(a[2]) do if (_ ~= b) then if (c > d) then value = b end end end end end end return value end if not(InStalled) then local file = io.open("data/lib/PollSystem.lua", "r") local content = file:read("*all") local content, _ = content:gsub("In".. string.upper("s") .."talled = false", "InStalled = true") file:close() local file = io.open("data/lib/PollSystem.lua", "w+") file:write(content) file:close() return _POLL_SYS.func.install() end Abra a pasta talkactions, dentro da pasta scripts copie qualquer arquivo com extenção .lua, renomeie para PollMaX, abra com algum editor de texto, apague tudo que tiver dentro e cole o seguinte conteúdo: --[[ Poll System Author: Maxwell Denisson(MaXwEllDeN) Version: 1.0 ]] function onSay(cid, words, param) local funcs = {"add", "result", "finalize", "list", "vote"} local POLL = _POLL_SYS if not(POLL.on) then return false end local paramCHECK = param:lower() local param = param:lower() local params = string.explode(param, ";") local param = params[1] local helpE = "Max Poll System Help: \n \n * vote - serve para votar em uma enquete. \n" local helpE = helpE .." Exemplo de uso: " .. words .. " vote; enquete; opção " .. words .. " vote; Quem é o mais gato?; Maxwell\n" local helpE = helpE .."\n * list - lista as enquetes existentes. \n" local helpE = helpE .." Exemplo de uso: " .. words .. " list" if (getPlayerAccess(cid) >= 4) then helpE = helpE .. "\n\n * add - serve para adicionar uma enquete. \n Exemplo de uso: " .. words .. " add; Você votaria no sim?; {'Não', 'Sim'}\n" helpE = helpE .. "\nVocê votaria no sim? é a enquete, o que estiver dentro de {} são as opções, ATENÇÃO: TODAS OPÇÕES DEVEM SER FEITAS DENTRO DE \'\', E SEPARADAS POR VIRGULA!" helpE = helpE .. "\n\n * finalize - serve para finalizar uma enquete. \n Exemplo de uso: ".. words .. " finalize; Você votaria no sim?\n\nVocê votaria no sim é a enquete que você deseja finalizar." end if not(isInArray(funcs, param)) then return doShowTextDialog(cid, 1953, helpE) end if (param == "add") and (getPlayerAccess(cid) >= 4) then if not(params[3]) then return doShowTextDialog(cid, 1953, helpE) end local optionS = loadstring("return " .. params[3]:lower())() if (type(optionS) ~= "table") then return doShowTextDialog(cid, 1953, helpE) end local _, paramCHECK = paramCHECK:gsub(";", "a") if (paramCHECK > 2) then return doPlayerSendTextMessage(cid, 27, "Você não pode usar \";\" nas opções") end if not (optionS[2]) then return doPlayerSendTextMessage(cid, 27, "Sua enquete deve ter no mínimo 2 opções") end local Opt = {} for _, b in pairs(optionS) do Opt[b] = 0 end if (POLL.func.hasPoll(params[2])) then return doPlayerSendTextMessage(cid, 27, "Já existe uma enquete nomeada ".. params[2]) end POLL.func.addPoll(''..params[2]..'', Opt) doPlayerSendTextMessage(cid, 27, "A enquete ".. params[2] .." foi adicionada com as opções: ".. params[3]:lower() ..".") elseif (param == "finalize") and (getPlayerAccess(cid) >= 4) then if not (params[2]) then return doShowTextDialog(cid, 1953, helpE) end if not (POLL.func.hasPoll(params[2])) then return doPlayerSendTextMessage(cid, 27, "Não existe nenhum enquete no banco de dados nomeada ".. params[2] .. "!") end local HValue = POLL.func.getPollHighestValue(params[2]) if (HValue == "") then doBroadcastMessage("A enquete " .. params[2] .. " foi finalizada, sem opções vencedoras!") else doBroadcastMessage("A enquete " .. params[2] .. " foi finalizada, e a opção que recebeu mais votos foi: ".. HValue ..".") end doPlayerSendTextMessage(cid, 27, "A enquete ".. params[2] .." foi finalizada.") POLL.func.removePoll (params[2]) POLL.func.removeAllPlayersVote (params[2]) elseif (param == "list") then local polls = POLL.func.getPolls() local kizizim = 0 mszi = "MaX Poll System:\n\nEnquetes Ativas:\n" local function getPollsOptions(poll) local fukZz = "" for _, b in pairs(polls) do if (b[1] == poll:lower()) then for c, _ in pairs(b[2]) do fukZz = fukZz .. "\n " .. c end return fukZz end end end for a, b in pairs(polls) do kizizim = 1 mszi = mszi .. "\n * ".. b[1] .. getPollsOptions(b[1]) end mszi = mszi .. "\n~-~-~-~-~-~-~-~-~-~-~-~-~-" if (kizizim == 0) then return doPlayerSendTextMessage(cid, 27, "Não existe nenhuma enquete no momento!") end doShowTextDialog(cid, 1953, mszi) elseif (param == "vote") then if not (params[3]) then return doShowTextDialog(cid, 1953, helpE) end if not (POLL.func.hasPoll(params[2])) then return doPlayerSendTextMessage(cid, 27, "Não existe nenhum enquete nomeada \"".. params[2] .. "\"! Para ver a lista das enquetes disponíveis digite: ".. words .. " list") end if (POLL.func.hasPlayerVote(cid, params[2])) then return doPlayerSendTextMessage(cid, 27, "Você já votou nesta enquete.") end if not(POLL.func.hasPollOption(params[2], params[3])) then return doPlayerSendTextMessage(cid, 27, "A enquete ".. params[2] .. " não tem nenhuma opção nomeada ".. params[3] .. "! Para ver a lista das enquetes e suas opções disponíveis digite: ".. words .. " list") end POLL.func.addVote(params[2], params[3], cid) doPlayerSendTextMessage(cid, 27, "Obrigado por participar da enqute ".. params[2] .. ".") elseif (param == "result") then local polls = POLL.func.getPolls() local kizizim = 0 mszi = "MaX Poll System:\n\nResultado das enquetes:\n" local function getPollsOptions(poll) local fukZz = "" for _, b in pairs(polls) do if (b[1] == poll:lower()) then for c, d in pairs(b[2]) do fukZz = fukZz .. "\n " .. c .. " - ".. d .. " voto(s)." end return fukZz end end end for a, b in pairs(polls) do kizizim = 1 mszi = mszi .. "\n * ".. b[1] .. getPollsOptions(b[1]) end mszi = mszi .. "\n~-~-~-~-~-~-~-~-~-~-~-~-~" if (kizizim == 0) then return doPlayerSendTextMessage(cid, 27, "Não existe nenhuma enquete no momento!") end doShowTextDialog(cid, 1953, mszi) end return true end Depois instale as seguintes Tags: #Creatureevents.xml <event type="login" name="PollLogin" event="script" value="PollMax.lua"/> <!-- Poll System By MaXwEllDeN --> #Talkactions.xml <talkaction words="!polls" event="script" value="PollMax.lua"/> <!-- Poll System By MaXwEllDeN --> Condiderações Finais Faz tempo que eu fiz esse sistema, por isso pode conter vários bugs, quem encontrar faça o favor de reportar!1 ponto -
[MOD] Killed Monsters Count
1 pontoÉ um simples MOD que conta quantos monstros você ja matou. Ele exibe em seu look e você tambÉm pode consultar pela talkaction !monsters Logo mais vou aprimorá-lo, e colocar ranks (: Para instalar basta você ir na pasta servidor/data/mods ou só servidor/mods, criar o arquivo monsterskill.xml e colocar lá: <?xml version = "1.0" encoding = "UTF-8"?> <mod name="Monsters Kill" version="1.0" author="Renato Ribeiro" enabled="yes"> <config name="config-monsterskill"><![CDATA[ storage = 1647 killedMonsters = getPlayerStorageValue(cid, storage) ]]></config> <event type="look" name="monsterLook" event="script"><![CDATA[ domodlib("config-monsterskill") function onLook(cid, thing, position, lookDistance) if(isPlayer(thing.uid)) then doPlayerSetSpecialDescription(thing.uid, "\n Killed Monsters: " .. killedMonsters) end return TRUE end ]]></event> <event type="kill" name="monsterKill" event="script"><![CDATA[ domodlib("config-monsterskill") function onKill(cid, target) if(isMonster(target)) then setPlayerStorageValue(cid, storage, math.max(1, getPlayerStorageValue(cid, storage) + 1)) end return TRUE end ]]></event> <event type="login" name="monsterLogin" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "monsterLook") registerCreatureEvent(cid, "monsterKill") return TRUE end ]]></event> <talkaction words="!monsters" event="script"><![CDATA[ domodlib("config-monsterskill") function onSay(cid, words, param, channel) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have killed " .. killedMonsters .. " monsters at the moment") return TRUE end ]]></talkaction> </mod> [/code] [color=#ff0000][b]Lembre-se:[/b][/color] script não testado, qualquer bug manda aqui1 ponto
-
COMO SER UM SCRIPTER
COMO SER UM SCRIPTER
Makhai Drakon reagiu a 3visan por uma resposta no tópico
1 pontoveja na seção de tutoriais de scripts tem aulas comesse com essa depois vai avançando as etapas, depois que você entende a lógica da programação tudo fica melhor (:1 ponto -
[Aula 1] Introdução
[Aula 1] Introdução
maixmilion12 reagiu a 3visan por uma resposta no tópico
1 pontoIntrodução Aula 1 O que é scripting? Do modo mais simples possível: scripting é o ato de programar. O nome scripting vem do nome "script". O que é um script? De um modo geral, um script é um bloco de Código escrito em uma linguagem de programação interpretada, ou seja, ele precisa que alguma coisa leia ele e possa "traduzir" seu conteúdo. Lembre-se de que "script" não é um termo específico de Open Tibia Servers. O que é uma linguagem de programação interpretada? Os brasileiros falam português, ingleses falam inglês e chineses falam mandarim, e com isso o mundo é composto por várias línguas. No mundo da programação não é diferente. Existem várias línguas que podem ser usadas, cada uma com uma característica e modo de escrever diferente (Assim como o português é diferente do inglês). Entre estas linguagens, existem 2 tipos: as linguagens interpretadas e as linguagens compiladas (Não-interpretadas). Podemos fazer uma comparação tosca com a vida real: o português seria uma linguagem interpretada (Nosso cérebro precisa "traduzir" a mensagem), e os desenhos seriam a língua compilada (Nosso cérebro reconhece automaticamente a "mensagem" do desenho). As linguagens compiladas são aquelas que não precisam ser lidas por nenhum programa, pois "conversam" diretamente com o computador, enquando a linguagem interpretada não consegue se comunicar com o computador, então a linguagem compilada recebe a mensagem do codigo interpretado e traduz numa linguagem que o computador entenda, dai a linguagem interpretada pode conversar com o computador (Desde que alguém traduza suas mensagens). Voltando para a parte de Open Tibia Servers, a linguagem compilada é a linguagem usada no seu servidor: o .exe no Windows, por exemplo, e a linguagem interpretada são os scripts .lua. O seu servidor compilado vai ler os scripts .lua e traduzir o conteúdo deles para que o computador possa executar o que o script manda. Se os scripts são escritos em linguagens interpretadas, qual é a linguagem dos script usados nos Open Tibia Servers? Os Open Tibia Servers usam uma linguagem de programação (Interpretada) chamada Lua, que foi feita aqui no Brasil mesmo. Características da linguagem de programação Lua: Linguagem de Programação Interpretada Linguagem de Programação Imperativa ou Programação Procedural Linguagem de Scripts ou Linguagem de Extensão Pequena, Fácil, Leve e Eficiente " Lua foi criada por um time de desenvolvedores do Tecgraf da PUC-Rio, a princípio, para ser usada em um projeto da Petrobras. Devido à sua eficiência, clareza e facilidade de aprendizado, passou a ser usada em diversos ramos da programação, como no desenvolvimento de jogos (a LucasArts, por exemplo, usou a linguagem no jogo Escape from Monkey Island), controle de robôs, processamento de texto, etc. Também é freqüentemente usada como uma linguagem de propósito geral. " Wikipédia - Lua (Linguagem de Programação) O que eu preciso para aprender Lua e começar a produzir meus scripts? Paciência (Embora seja de fácil aprendizado, você vai levar algum tempo para aprender a linguagem) Humildade (Nunca se sinta o melhor, nem ridicularize aqueles que tiverem um conhecimento menor que o seu) Vontade (Não adianta fazer as coisas sem o menor interesse, você não chegará a lugar nenhum sem vontade) Criatividade (O principal para produzir um script é ter a idéia do que você vai fazer) Conhecer a Lógica da Programação (Não se preocupe, eu vou ensinar a Lógica da Programação nas próximas aulas.) Interpretador Lua (Para testar seus scripts, claro. Você pode usar o seu OTServer para testar, e ainda usar um interpretador Lua para testar seus scripts simples fora do OTServer) Editor Lua (Não é realmente necessário, uma vez que você pode usar um editor de textos qualquer, como o bloco de notas, mas ter um Editor Lua vai ajudar muito, e alguns até vêm com um Interpretador Lua junto!) Pagar uma taxa de R$ 700,00, afinal, não estou escrevendo estas aulas de graça! (OK, não precisa pagar nada, mas no mínimo poste seus scripts aqui e ajude a seção a crescer ) Onde posso encontrar um Interpretador e/ou Editor Lua? Como interpretador (No caso de produzir scripts para Open Tibia Servers) você deve usar um servidor próprio, pessoal somente para testar os scripts que você fez, e pode usar também um Interpretador Lua geral, para testar seus scripts fora dos OTServers. Como Editor Lua você pode usar qualquer editor de textos, mas eu recomendo usar um editor que seja próprio para a linguagem Lua. Existem dois editores que já vem com um Interpretador Lua "embutido". São eles: OTScript Live! [Download] e SciTE (Scintilla) [Removido]. Exercício-Tarefa: Pesquise mais na internet sobre a linguagem Lua, Scripts, etc... Creditos: 99%: Skyen Hasus 1% Vittu #Aula 2 Logica da Programação1 ponto