Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. (Resolvido)Ajuda Em Spell

    KotZletY e um outro reagiu a Calvin por uma resposta no tópico

    2 pontos
    Posta ela inteira mano ! Mais mesmo assim testa e me fala. elseif spell == "Mamaragan" then local ret = {} ret.id = 0 ret.cd = 9 ret.eff = 207 ret.check = 0 ret.spell = spell ret.cond = "Stun" local pos = getThingPosWithDebug(cid) local areas = {rock1, rock2, rock1, rock10, rock4, rock10, rock5, rock11, rock6, rock10, rock5, rock12, rock9, rock4, rock5} for i = 0, 14 do addEvent(doMoveInArea2, i*120, cid, 207, areas[i+1], ELECTRICDAMAGE, min, max, spell, ret) addEvent(doMoveInArea2, i*120, cid, 207, areas[i+1], ELECTRICDAMAGE, 0, 0, spell) end
  2. [APRESENTAÇÃO] Hoje vou postar um pack de sprites de NTO na perspectiva 45°, junto com um client que tem vários modulos bacanas que não vou printar aqui... ------------------------------------- [PRINTS] OBS: Essa só são algumas, tem diversas outras no client. aproveite. Tem uma sprite de um creeper de bônus ( que pode ser usado pra um evento xD ) [DOWNLOAD] Download Scan /PERIGO\ Não abra o SPOILER
  3. [Aula 2] Lógica da Programaçao

    denisbts96 reagiu a MaXwEllDeN por uma resposta no tópico

    1 ponto
    << Aula 1 - Introdução Lógica da Programação Aula 2 O que é a Lógica da Programação? Bem, tudo o que é escrito em alguma linguagem de programação deve seguir uma lógica para poder funcionar. Vamos pegar um exemplo simples e curto: Um script de SD. (Sudden Death Rune) Quando o script de SD for chamado (Alguém usou a SD), ela segue passos básicos, que é basicamente a execução dela. Primeiro o script vai verificar se quem usou a SD possui nível, magic level, etc... suficiente para poder usar a SD. Se não possuir opa! Ela vai enviar uma mensagem de erro ao jogador, um efeito de fumaça e vai encerrar a execução. Caso contrário: se for um jogador com todos os requerimentos básicos para usar uma SD, então o script vai verificar se o alvo é um Player ou Monstro. Se não for vai enviar uma mensagem de erro, efeito, e vai parar de executar. Se for um monstro ou player, então o script fará um efeito da SD atingindo o alvo, toda aquela piromancia louca, e então vai tirar o devido dano do jogador. Um pouco cansativo de ler tudo isso, mas observe o exemplo abaixo: Quando uma SD for usada, então faça: Verifique se o jogador que usou a SD possui nível igual ou maior que 45, e se possui nível mágico maior ou igual a 15. Se possuir, faça: Se o alvo da SD for um Monstro ou Jogador, então faça: Calcule o dano que causará ao alvo. Remova uma carga da SD. Execute o efeito de SD. Calcule o dano que causará ao alvo e execute-o no alvo, tirando a vida dele ou mana, no caso de o alvo estiver usando o Magic Shield (Utamo Vita). Mas se o alvo da SD não for um Monstro ou Jogador, então faça: Envie uma mensagem de erro ao jogador. Envie um efeito de fumaça na posição do jogador. Aqui termina a verificação se o alvo da SD é um Monstro ou Jogador, ou nenhum dos dois. Mas se o jogador não possuir estes requerimentos, então faça: Envie uma mensagem de erro ao jogador. Envie um efeito de fumaça na posição do jogador. Aqui termina a verificação se o jogador possui ou não os requerimentos. Aqui termina a execução da SD. Agora, depois deste algoritmo, talvez tenha ficado mais claro como os programas de computador funcionam. Tudo não passa de um processo lógico, onde a linguagem de programação só serve como uma "máscara" para que o programador escreva o código seguindo esta lógica, por isso é ultra importante saber a lógica da programação antes de começar a programar. O que é um Algoritmo? O "código" que eu escrevi acima (Dentro da caixa de texto) representando o uso da SD foi um algoritmo. Os algoritmos são formas de representar a lógica seguida pelo programa. São passos que o programa segue para atingir determinado objetivo ou em outras palavras, completar uma tarefa (No caso da SD, matar ou não o alvo, ou enviar uma mensagem de erro). Um exemplo de algoritmo são as operações matemáticas, como somar, dividir, multiplicar, subtrair... Quando você soma 2 mais 2, você está executando um algoritmo para ele atingir o objetivo (O resultado!!), que é 4. Um programa ou script é basicamente a escrita dos algoritmos em uma linguagem de programação que é executada pelo computador de forma lógica. Esta aula foi curta pois eu prefiro lhes ensinar as estruturas lógicas conforme ensino as mesmas em Lua, assim trabalhando a lógica e Lua ao mesmo tempo. Primeiro ensino como funciona a estrutura na Lógica e depois ensino como aplicar em Lua. Exercícios-Tarefa: 1. Monte o algoritmo de um script de "Shovel (Pá)". 2. Monte o algoritmo de um script de "Pedra que troca sexo". 3. Monte o algoritmo de "Ir ao cinema". 4. Monte o algoritmo de "Fazer bolo". Respostas: Só abra depois de ter tentado resolver os exercícios! Exercício 1: Exercício 2: Verifique se quem clicou na pedra é um jogador, se for, então faça: Verifique se o jogador é mulher, se for, então faça: Transforme o sexo dele em homem Execute um efeito de magia azul na posição do jogador Envie uma mensagem ao jogador afirmando que o sexo dele foi trocado Mas se o jogador é homem, então faça: Transforme o sexo dele em mulher Execute um efeito de magia azul na posição do jogador Envie uma mensagem ao jogador afirmando que o sexo dele foi trocado Finalize a verificação se o jogador é mulher ou homem Finalize a verificação se quem clicou na pedra é um jogador Exercício 3: Se arrume Tome banho Dirija seu carro até o cinema Pague o ingresso Assista o filme Volte para casa Exercício 4: OBS: Nota-se que já fiquei cansado nas respostas do exercício 3 e 4... Aqui só serão aceitas dúvidas ou reporte de erros. Qualquer coisa que não se encaixe nesta descrição será apagado sem aviso. Essa aula foi escrita por uma raposa levada Skyen Hasus, todos os créditos são dele. Aula 3 - Primeiros Passos >>
  4. 1 ponto
    Fala galera estou trazendo um tutorial sobre kpdo porque eu tinha alguns videos porém acabei excluindo todos então resolvi trazer esse tutorial pra galera que acha complicado editar o client do kpdo e por online bom vamos lá Primeiramente tudo o que vocês vão precisar Hex editor Xampp 1.7.3 Template do Otpokemon Pic Editor Resourcer Hacker Photoshop Online Image Converter Notepad++ só clicar para baixar os mesmos ou acessar os sites /\ 1º- Criando ip fixo para o Kpdo Bom vamos começar criando um IP fixo obs: seu ip deve conter no máximo quatro letra ficando assim exemplo: poke.sytes.net (sytes.net obrigatório) usem a criatividade. Acessem https://www.noip.com/pt-BR caso não seja cadastrado se cadastre quando terminar irá aparecer isso Adicionar Rápido ali você vai criar seu host coloque o nome do host lembre ip com no maximo quatro letras e escolha o domínio sytes.net ficando assim Depois de ter criado o host você vai para essa página https://www.noip.com/pt-BR/download?page=win e logo em seguida clique no botão laranja faça o download agora para baixar o client do no-ip logo depois de baixar vamos configura-lo logo depois de abrir irá pedir o login e a senha você pode usar o email que usou para criar a conta e a senha ou username e a senha também irá funcionar logo depois de entrar na sua conta clique em edit host e marque a caixinha ao lado do ip que você criou de um save ali embaixo e clique em refresh now pronto seu ip fixo está criado 2º- Editando o Ip no Client Agora vamos colocar o seu ip fixo no client do kpdo agora vou falar por que são necessarios apenas quatro letras no ip e é obrigatório o sytes.net porque o seu ip tem que ser o mais curto possivel para poder funcionar o client do kpdo é todo cheio de "travas" digamos assim abra o hex editor que veio como xvi32 depois de aberto aperta ctrl + O ou clique em file na parte superior esquerda e procure pelo client após abrir ele aperte Ctrl + F e procure por 127.0.0.1 vai achar isso Aqui você vai editar da seguinte forma lembre toda vez que começar adicionar o IP comece adicionando sempre a partir do 1 do 127 não comece nem antes nem depois do 1 sempre comece por ele isso realmente é necessário caso contrario seu ip não irá funcionar depois de editado ficara exatamente assim pronto agora o seu client kpdo já está com o ip fixo seu editado. 3º- Editando background Aqui vamos editar a imagem do fundo do client vamos abrir o arquivo da pasta pic editor 1 depois de aberto clique em Arquivo - Abrir procure pelo kpdo.pic e abra ele ficara assim agora vamos para o site photoshop online que está no começo do tópico eu vou pegar uma imagem qualquer da internet mas caso tiverem problemas procure sempre uma imagem pokemon ou por nome de pokemon no final coloque wallpaper Feito isso ao abrir o site do photoshop online ele vai abrir uma aba perguntando se você quer criar uma imagem nova e etc.. pode fechar essa aba e ir no canto superior esquerdo e clicar em file e clique em open image e procure pela imagem que você salvou logo em seguida clique em imagem e image size ficando assim você vai editar o tamanho da imagem para 640x480 lembre desmarque aquela caixa escrito Constrain proportions caso contrario você não vai conseguir por essas dimensões depois de feito você clica no T na parte inferior esquerda e coloque o nome do seu servidor ficando assim depois que tiver editado totalmente ao seu gosto salve a imagem como bmp Voltando ao pic editor vamos colocar a nova capa do client clicando em arquivo e importar irá ficar assim depois disso clique em Arquivo novamente e clique em compilar selecione seu client e espere um pouco Obs: pode aparecer uma mensagem no programa como tal ele parou de funcionar ou um travamento isso é normal só esperar um pouco até ele voltar ao normal isso acontece sempre quando você compila depois de pronto ficara assim espero que tenham gostado vamos ao próximo passo 4º- Editando o Icone Antes de tudo pegue qualquer imagem da internet uma pokebola ou um pokemon ou até um logo que você tenha criado logo agora clique no site imagem converter vai ter uma lista na parte esquerda do site selecione a Convert to ICO selecione sua imagem ou logo do seu server e clique em converto file logo depois vai iniciar um download é a mesma imagem porém o arquivo vai estar convertido para icon depois abra o resource hack clique em file - Open e selecione o executável do seu servidor agora vamos para a opção Action na parte superior e clique em replace icon Vai aparecer essa aba clique em Open file with new icon e selecione a imagem que você baixou do site aquela que foi convertida logo em seguida clique em Replace e seu icone irá mudar ficando assim agora clique em File novamente clique em Save As e selecione seu client e salve ele irá perguntar se quer substituir você diz que sim lembre sempre faça uma copia antes de qualquer tipo de alteração depois de salvo abra seu client e teste obs: algumas imagens podem não dar certo ao passar para ICO podem ser leves demais ou pesadas demais caso tiver problemas estarei colocando aqui a imagem ico que usei neste client test para ser usada como base image ico anexada no tópico depois de pronto ficara assim agora o icone é uma pokebola xD 5º- Abrindo as portas 7171 - 7172 - 8090 no moldem e roteador OBS!! : Moldem é o aparelho que recebe o fio do poste até a sua casa o aparelho que recebe esse fio é o moldem, o fio da internet que sai do moldem e vai para outro aparelho esse aparelho é o roteador porém eu tenho um aparelho da NET que são os dois juntos ele é moldem e roteador então no caso o meu acesso ao roteador vai ser diferente de muitos caso tiverem problemas nessa parte não darei suporte neste tópico abram um tópico com o problema e me mandem mensagem privada para eu responder o tópico. Agora vamos ao firewall do windows se encontra em painel de controle - sistema e segurança - firewall do windows - configurações avançadas - regras de entrada vai estar assim porém sem as portas como está no meu feito isso clique ali na parte superior direita Nova Regra Vai aparecer essa aba Cliquem em porta e avançar logo em seguida vai aparecer essa aba deixe como TCP e coloque a porta 7171 logo abaixo como o meu esta e clique em avançar vai aparecer essa outra aba deixe a opção permitir conexão e clique em avançar logo em seguida vai aparecer outra aba com dominio / particular / público e ao lado deles caixas já marcadas não precisa mexer só clicar em avançar em seguida a próxima aba vai pedir para você colocar o nome a descrição não precisa e logo em seguida clique em concluir pronto você abriu a porta 7171 no seu computador repita o processo usando a porta 7172 e 8090 Agora vamos para o roteador primeiramente você vai abrir o executar do seu PC e vai escrever cmd e de enter vai aparecer a propomt de comando escreva ipconfig e de enter vai aparecer vários números e etc... você vai pegar seu gateway padrão e vai escrever ele em uma página da internet vai aparecer uma aba não igual porém uma aba pedindo um usuário e senha logo depois que você logar vai aparecer a senha do wifi o usuário a senha de tudo essa aba é para você configurar o roteador então tome cuidado caso não souber mexer nessa parte faça apenas o que estiver aqui no tutorial logo após logado procure por firewall e virtua server ou apenas virtua server no meu caso é firewall e virtua server e vocês vão abrir as portas 7171 - 7172 - 8090 as restantes não precisa no meu está porque foi para testes obs: ao abrir as portas vai pedir um IP privado segue a print O ip privado no caso Private IP Address é o seu endereço de ipv4 ou endereço de ip que vai estar na propomt de comando que usamos para saber o gateway padrão lá vai estar também o endereço de ipv4 basta colocar ali e pronto fazer o procedimento com todas as portas e você terá aberto as portas no PC e no roteador caso usar um ou moldem. 6º- Instalando o Xampp 1.7.3 - Configurando e Deixando o Site Online Logo após baixar o xampp vamos instalar após abrir o instalador do xampp vai aparecer isso Só clicar em install e esperar instalar após terminar a instalação vai aparecer essa aba essa primeira está perguntando se você quer que crie um atalho para o desktop e o menu iniciar do windows eu geralmente coloco não no caso N mas caso vocês quiserem basta deixar Y e dar enter Logo após dar enter vai aparecer essa outra aqui vai estar perguntando algo sobre alocar corretamente as pastas algo assim eu deixo Y e do enter após da enter vai aparecer esse aqui perguntando se vai ser de sua escolha as pastas eu coloco não ai ele verifica todas após dar enter vai ocorrer o processo quando terminar vai ficar assim depois disso aperte enter vai aparecer outra mensagem só apertar enter novamente depois vai te apresentar algumas opções basta colocar o x que irá fechar a aba Agora vamos configurar o xampp vá até a pasta dele que está no diretório do disco C:\ após abrir a pasta do xamp abra uma pasta chamada apache ao abrir vai ter outras pasta abra a pasta conf procure um arquivo chamado httpd.conf abra ele como notepad++ vamos mudar todos os 80 para 8090 ficando assim depois disso pode salvar a fechar ainda na pasta conf vai ter outra pasta chamada extra abra ela e abra o arquivo httpd-ssl.conf usando o notepad++ aperta ctrl + H coloque para localizar o código 443 e coloque para substituir por 4499 e clique em substituir tudo feito isso pode salvar e fechar. Dentro da pasta do xampp abra o xampp control e habilite o apache e o mysql escreva localhost:8090 vai aparecer esta página depois de escolher o idioma você vai ser redirecionado para esta parte do site clique em segurança logo após vai aparecer a seguinte aba e clique em => http://localhost/security/xamppsecurity.php <= após clicar vai aparecer essa página, nesta página é onde você vai colocar a senha do root depois de colocar a senha do root clique em alterar senha depois de alterar feche a primeira página e na anterior vai ter a opção phpmyadmin vai ficar entre as ultimas opções da lista depois de clicar em phpmyadmin você vai ser redirecionado para esta página basta colocar root e a senha que você colocou no passo anterior após entrar vai aparecer o seguinte, como podem ver em mysql localhost já aparece a opção de criar um banco de dados porém ele vem com a opção collation mude para utf8_general_ci igual o que está abaixo os dois tem que ficar igual o de cima tem que ficar igual o que esta embaixo ficando assim depois de criar o banco de dados vai ficar assim clique em importar você vai ser redirecionado para esta parte Agora já não precisamos de nada que está na pasta htdocs do xampp porque já o configuramos pode excluir tudo dentro da pasta htdocs do xampp ficando assim pegue disponibilizado para download e jogue dentro dessa pasta htdocs do xampp ficando assim agora voltando no phpmyadmin clique em escolher arquivo e selecione o Otpokemon.sql que esta na pasta htdocs do xampp depois de selecionar clique em executar e vai ficar assim agora vamos configurar para o site acessar o bando de dados vá na pasta do seu site que agora está no htdocs do xampp e abra o config.php como notepad++ configurando o site após configurar isso certinho você vai conseguir acessar o site normalmente usando localhost:8090 caso estiver com o programa do no-ip aberto e configurado o seu site já vai estar online para o público usando o ip do no-ip em seguida 8090 ficando meuip.sytes.net:8090 no meu caso está pkns.sytes.net:8090 7º- configurando o config.lua para trabalhar com o site Antes de começar no ip do config.lua você vai usar o ip do no-ip no meu caso pkns.sytes.net Nessa parte aqui vocês vão configurar da seguinte maneira pronto isso é o necessário para deixar o servidor online com site obs: quase esquecendo no kpdo na pasta data/xml tem um arquivo chamado servers.xml nele você configura o ip do mundo você vai apagar tudo o que tiver e vai colocar esse aqui Agora o xampp esta hospedando o seu site e trabalhando com o servidor agora você ficara com o servidor online não use windows 10 estou usando e não é aconselhável use windows 7 ou xp obrigado a todos espero que ajude vocês qualquer dúvida só comentar e se eu errei em alguma parte por favor me corrijam para o tópico ficar sempre atualizado xD A maioria dos programas que usei tem disponibilizado aqui no fórum mas os tenho a muito tempo então não sei o que é de quem, quem souber me diz que coloco os créditos dos programas by: Brunds imagem ico.rar
  5. Lista completa de Magic Effects e Shoot Type

    xwarlleyx reagiu a Cat por uma resposta no tópico

    1 ponto
    MagicEffects CONST_ME_FIRST = 1, CONST_ME_DRAWBLOOD = CONST_ME_FIRST, CONST_ME_LOSEENERGY = 2, CONST_ME_POFF = 3, CONST_ME_BLOCKHIT = 4, CONST_ME_EXPLOSIONAREA = 5, CONST_ME_EXPLOSIONHIT = 6, CONST_ME_FIREAREA = 7, CONST_ME_YELLOW_RINGS = 8, CONST_ME_GREEN_RINGS = 9, CONST_ME_HITAREA = 10, CONST_ME_TELEPORT = 11, CONST_ME_ENERGYHIT = 12, CONST_ME_MAGIC_BLUE = 13, CONST_ME_MAGIC_RED = 14, CONST_ME_MAGIC_GREEN = 15, CONST_ME_HITBYFIRE = 16, CONST_ME_HITBYPOISON = 17, CONST_ME_MORTAREA = 18, CONST_ME_SOUND_GREEN = 19, CONST_ME_SOUND_RED = 20, CONST_ME_POISONAREA = 21, CONST_ME_SOUND_YELLOW = 22, CONST_ME_SOUND_PURPLE = 23, CONST_ME_SOUND_BLUE = 24, CONST_ME_SOUND_WHITE = 25, CONST_ME_BUBBLES = 26, CONST_ME_CRAPS = 27, CONST_ME_GIFT_WRAPS = 28, CONST_ME_FIREWORK_YELLOW = 29, CONST_ME_FIREWORK_RED = 30, CONST_ME_FIREWORK_BLUE = 31, CONST_ME_STUN = 32, CONST_ME_SLEEP = 33, CONST_ME_WATERCREATURE = 34, CONST_ME_GROUNDSHAKER = 35, CONST_ME_HEARTS = 36, CONST_ME_FIREATTACK = 37, CONST_ME_ENERGYAREA = 38, CONST_ME_SMALLCLOUDS = 39, CONST_ME_HOLYDAMAGE = 40, CONST_ME_BIGCLOUDS = 41, CONST_ME_ICEAREA = 42, CONST_ME_ICETORNADO = 43, CONST_ME_ICEATTACK = 44, CONST_ME_STONES = 45, CONST_ME_SMALLPLANTS = 46, CONST_ME_CARNIPHILA = 47, CONST_ME_PURPLEENERGY = 48, CONST_ME_YELLOWENERGY = 49, CONST_ME_HOLYAREA = 50, CONST_ME_BIGPLANTS = 51, CONST_ME_CAKE = 52, CONST_ME_GIANTICE = 53, CONST_ME_WATERSPLASH = 54, CONST_ME_PLANTATTACK = 55, CONST_ME_TUTORIALARROW = 56, CONST_ME_TUTORIALSQUARE = 57, CONST_ME_MIRRORHORIZONTAL = 58, CONST_ME_MIRRORVERTICAL = 59, CONST_ME_SKULLHORIZONTAL = 60, CONST_ME_SKULLVERTICAL = 61, CONST_ME_ASSASSIN = 62, CONST_ME_STEPSHORIZONTAL = 63, CONST_ME_BLOODYSTEPS = 64, CONST_ME_STEPSVERTICAL = 65, CONST_ME_YALAHARIGHOST = 66, CONST_ME_BATS = 67, CONST_ME_SMOKE = 68, CONST_ME_INSECTS = 69, CONST_ME_DRAGONHEAD = 70, CONST_ME_ORCSHAMAN = 71, CONST_ME_ORCSHAMAN_FIRE = 72, CONST_ME_THUNDER = 73, CONST_ME_FERUMBRAS = 74, CONST_ME_CONFETTI_HORIZONTAL = 75, CONST_ME_CONFETTI_VERTICAL = 76, // 77-157 are empty CONST_ME_BLACKSMOKE = 158, CONST_ME_LAST = CONST_ME_BLACKSMOKE, // 159-166 are empty CONST_ME_REDSMOKE = 167, CONST_ME_YELLOWSMOKE = 168, CONST_ME_GREENSMOKE = 169, CONST_ME_PURPLESMOKE = 170, CONST_ME_EARLY_THUNDER = 171, CONST_ME_RAGIAZ_BONECAPSULE = 172, CONST_ME_CRITICAL_DAMAGE = 173, // 174 is empty CONST_ME_PLUNGING_FISH = 175, ShootTypes CONST_ANI_NONE = 0, CONST_ANI_FIRST = 1, CONST_ANI_SPEAR = CONST_ANI_FIRST, CONST_ANI_BOLT = 2, CONST_ANI_ARROW = 3, CONST_ANI_FIRE = 4, CONST_ANI_ENERGY = 5, CONST_ANI_POISONARROW = 6, CONST_ANI_BURSTARROW = 7, CONST_ANI_THROWINGSTAR = 8, CONST_ANI_THROWINGKNIFE = 9, CONST_ANI_SMALLSTONE = 10, CONST_ANI_DEATH = 11, CONST_ANI_LARGEROCK = 12, CONST_ANI_SNOWBALL = 13, CONST_ANI_POWERBOLT = 14, CONST_ANI_POISON = 15, CONST_ANI_INFERNALBOLT = 16, CONST_ANI_HUNTINGSPEAR = 17, CONST_ANI_ENCHANTEDSPEAR = 18, CONST_ANI_REDSTAR = 19, CONST_ANI_GREENSTAR = 20, CONST_ANI_ROYALSPEAR = 21, CONST_ANI_SNIPERARROW = 22, CONST_ANI_ONYXARROW = 23, CONST_ANI_PIERCINGBOLT = 24, CONST_ANI_WHIRLWINDSWORD = 25, CONST_ANI_WHIRLWINDAXE = 26, CONST_ANI_WHIRLWINDCLUB = 27, CONST_ANI_ETHEREALSPEAR = 28, CONST_ANI_ICE = 29, CONST_ANI_EARTH = 30, CONST_ANI_HOLY = 31, CONST_ANI_SUDDENDEATH = 32, CONST_ANI_FLASHARROW = 33, CONST_ANI_FLAMMINGARROW = 34, CONST_ANI_SHIVERARROW = 35, CONST_ANI_ENERGYBALL = 36, CONST_ANI_SMALLICE = 37, CONST_ANI_SMALLHOLY = 38, CONST_ANI_SMALLEARTH = 39, CONST_ANI_EARTHARROW = 40, CONST_ANI_EXPLOSION = 41, CONST_ANI_CAKE = 42, CONST_ANI_TARSALARROW = 44, CONST_ANI_VORTEXBOLT = 45, CONST_ANI_PRISMATICBOLT = 48, CONST_ANI_CRYSTALLINEARROW = 49, CONST_ANI_DRILLBOLT = 50, CONST_ANI_ENVENOMEDARROW = 51, CONST_ANI_GLOOTHSPEAR = 53, CONST_ANI_SIMPLEARROW = 54, fonte: https://github.com/otland/forgottenserver/blob/master/src/const.h Lista com Gif CONST_ME_DRAWBLOOD = 0 CONST_ME_LOSEENERGY = 1 CONST_ME_POFF = 2 CONST_ME_BLOCKHIT = 3 CONST_ME_EXPLOSIONAREA = 4 CONST_ME_EXPLOSIONHIT = 5 CONST_ME_FIREAREA = 6 CONST_ME_YELLOW_RINGS = 7 CONST_ME_GREEN_RINGS = 8 CONST_ME_HITAREA = 9 CONST_ME_TELEPORT = 10 CONST_ME_ENERGYHIT = 11 CONST_ME_MAGIC_BLUE = 12 CONST_ME_MAGIC_RED = 13 CONST_ME_MAGIC_GREEN = 14 CONST_ME_HITBYFIRE = 15 CONST_ME_HITBYPOISON = 16 CONST_ME_MORTAREA = 17 CONST_ME_SOUND_GREEN = 18 CONST_ME_SOUND_RED = 19 CONST_ME_POISONAREA = 20 CONST_ME_SOUND_YELLOW = 21 CONST_ME_SOUND_PURPLE = 22 CONST_ME_SOUND_BLUE = 23 CONST_ME_SOUND_WHITE = 24 CONST_ME_BUBBLES = 25 CONST_ME_CRAPS = 26 CONST_ME_GIFT_WRAPS = 27 CONST_ME_FIREWORK_YELLOW = 28 CONST_ME_FIREWORK_RED = 29 CONST_ME_FIREWORK_BLUE = 30 CONST_ME_STUN = 31 CONST_ME_SLEEP = 32 CONST_ME_WATERCREATURE = 33 CONST_ME_GROUNDSHAKER = 34 CONST_ME_HEARTS = 35 CONST_ME_FIREATTACK = 36 CONST_ME_ENERGYAREA = 37 CONST_ME_SMALLCLOUDS = 38 CONST_ME_HOLYDAMAGE = 39 CONST_ME_BIGCLOUDS = 40 (OBS: são as nuvens do exevo gran mas vis) CONST_ME_ICEAREA = 41 CONST_ME_ICETORNADO = 42 CONST_ME_ICEATTACK = 43 CONST_ME_STONES = 44 CONST_ME_SMALLPLANTS = 45 CONST_ME_CARNIPHILA = 46 CONST_ME_PURPLEENERGY = 47 CONST_ME_YELLOWENERGY = 48 CONST_ME_HOLYAREA = 49 CONST_ME_BIGPLANTS = 50 (é quase igual, só que cresce mais, não consegui gif) CONST_ME_CAKE = 51 CONST_ME_GIANTICE = 52 CONST_ME_WATERSPLASH = 53 CONST_ME_PLANTATTACK = 54 CONST_ME_TUTORIALARROW = 55 CONST_ME_TUTORIALSQUARE = 56 CONST_ME_MIRRORHORIZONTAL = 57 CONST_ME_MIRRORVERTICAL = 58 CONST_ME_SKULLHORIZONTAL = 59 CONST_ME_SKULLVERTICAL = 60 CONST_ME_ASSASSIN = 61 CONST_ME_STEPSHORIZONTAL = 62 (Ignorado) CONST_ME_BLOODYSTEPS = 63 (Ignorado) CONST_ME_STEPSVERTICAL = 64 (Ignorado) CONST_ME_YALAHARIGHOST = 65 CONST_ME_BATS = 66 CONST_ME_SMOKE = 67 CONST_ME_INSECTS = 68
  6. Otpokemon Sprites

    netoxdd reagiu a henriquesafadao por uma resposta no tópico

    1 ponto
    Esto compartilhando com vocês do TK o spr é dat do Otpokemon 11/04/2018. Tem um aqui no Tk mais é uma verção anterior a esta!!!!!Fiquem Ligado asim que tive Nova Atualização irei Compartilha com vocês Scan:=https://www.virustotal.com/pt/file/ed4a742e870fa2d0a4567b88dddc50b458f9461d19d0c417654373f3246719af/analysis/1523488621/ Down:= https://mega.nz/#!n4R2ybbI!wSMAA-lYAOzuqcqfHTmys50vB74m0CftHTkQD3hHC1w
  7. Job System

    ADM Mayk on BaiakME reagiu a Dwarfer por uma resposta no tópico

    1 ponto
    ACABOU A MOLEZA! Você que sempre fez os NPC's trabalharem dia e noite, disponíveis a qualquer momento mesmo que seja apenas para receber um "hi, buy rope, yes". A COISA MUDOU! Agora você vai ter que ralar. E olhe que os monstros estão com muito gold para gastar devido às mortes de aventureiros, despreparados de AOL ou de bençãos, que acabam por deixar dinheiro nas suas backpacks. VÁ TRABALHAR, SEU VAGAB..! Depois dessa ladainha toda, estava eu testando algumas funções, umas coisitas aqui e ali e ao misturar tudo saiu isso aí meio que sem querer. Tem uns pontos que podem ser melhorados, mas como disse serviu apenas como uns testes para mim, mas resolvi compartilhar, mesmo sendo simplesinho. Acho que será útil para servidor com um pouquinho de RPG. Testado em TFS 0.4 e versão 8.60. O Job System é um sistema no qual o player atenderá pedidos dos monstros. Cada pedido correto, o player ganha 1 job point que pode ser utilizado para comprar itens no npc ou como você queira fazer, em quests, acessos, seja lá o que for. O funcionamento é demonstrado no vídeo abaixo: Segue o código do sistema (MOD) e do NPC. jobsystem.xml CONFIGURAÇÃO: Desde que configure corretamente o mapa, não tem praticamente nada para modificar. monsters = { [1] = {"Amazon", "Dwarf", "Elf Scout"}, [2] = {"Barbarian Bloodwalker", "Dwarf Guard", "Warlock"}, [3] = {"Vampire Bride", "Dwarf Geomancer", "Infernalist"} } times = { deal = 30, lever = 2 } Aqui deal é o tempo em segundos entre cada pedido. Lever é o tempo em minutos para poder usar a alavanca novamente. Aconselho deixá-los nesses valores, já testei e funcionou certinho assim. A configuração ocorre praticamente no mapa: 1 - Crie uma "loja" do mesmo tamanho e com a mesma configuração que as mostradas no vídeo e na imagem abaixo. Apenas com a posição do meio livre. Não importa a "orientação" da loja. A única exigência é que a alavanca sempre esteja do lado do braço direito do char, conforme a imagem. MUITO IMPORTANTE: NÃO USE ITENS STACKABLES NA LOJA 2. Definindo o rank da loja: ALAVANCA DE ACTION ID: 4421 - Rank Apprentice 4422 - Rank Merchant 4423 - Rank Rashid 3. Todos os itens que não devem ser arrastados (itens da loja ou de decoração que não devam ser arrastados como o royal axe que mostrei lá no vídeo) devem receber o actionid 4420. 4. Os pisos onde os monstros serão criados devem ter actionid 4420. Além disso, ser área no-pvp e no logout (apenas por precaução). 5. Toda a área restante deve ser Protection Zone (PZ). Além disso, os locais do centro da loja onde os players ficarão devem ser No Logout Area. Dwarfer.xml job.lua Configuração do NPC: promote = {tomerchant = 50, torashid = 100}, tomerchant = 50 -> São necessários 50 pontos no rank Apprentice para avançar torashid = 100 -> São necessários 100 pontos no rank Merchant para avançar entice_rank = {-- Apprentice [2154] = {price = 1}, [2158] = {price = 3}, [2155] = {price = 7}, [2156] = {price = 100} }, merchant_rank = { -- Merchant [1998] = {price = 15}, [5950] = {price = 25}, [1987] = {price = 70}, [2402] = {price = 100} }, rashid_rank = { -- Rashid [9993] = {price = 15}, [9992] = {price = 25}, [9992] = {price = 70}, [7399] = {price = 100}} } [id_do_item] = {price = preço do item} que aparecerá na lista do NPC. É isso aí, seus vagal's
  8. [SHOW OFF] Elder Tale Online

    KotZletY reagiu a Ryukiimaru por uma resposta no tópico

    1 ponto
    E ae pessoas, venho apresentar aqui o projeto Elder Tale Online, que como base principal terá o anime Log Horizon. Pagina: facebook.com/ElderTaleOnline Youtube: https://www.youtube.com/channel/UCO_dna2DQWkbCAT3gSr5kBA
  9. Preciso de um script

    Cleiton Felipi reagiu a Storm por uma resposta no tópico

    1 ponto
    @Cleiton Felipi Enfim , troque a storage para outro numero que não seja 12345 e teste. -- Movements -- Não esqueça de colocar o ActionID no tile no seu Map Editor -- Tag na XML = <movevent type="StepIn" actionid="48000" event="script" value="quest.lua"/> function onStepIn(cid, item, position, fromPosition) local storage = 34556 local effect = 3 local message = "Você não pode entrar nesse local" -- Entre aspas local pos = getCreaturePosition(cid) if not isPlayer(cid) then return true end if getPlayerStorageValue(cid, storage) >= 1 then doSendMagicEffect(pos, effect) doPlayerSendTextMessage(cid, 20, message) doTeleportThing(cid, fromPosition) return false end return true end
  10. Preciso de um script

    Cleiton Felipi reagiu a yoroshigod por uma resposta no tópico

    1 ponto
    Só mudar if getPlayerStorageValue(cid, storage) > 0 then para if getPlayerStorageValue(cid, storage) >= 1 then
  11. (Resolvido)Ajuda Em Spell

    Calvin reagiu a KotZletY por uma resposta no tópico

    1 ponto
    @Junior Moura sempre que a pergunta for respondida, marque como melhor resposta, como eu fiz. @Calvin obrigado por ajudar o membro com sua duvida!
  12. (Resolvido)Ajuda Em Spell

    KotZletY reagiu a Calvin por uma resposta no tópico

    1 ponto
    Valeu Amigo!
  13. [PEDIDO]Uma Base Lenda de Poketibia

    guhgle reagiu a amoxicilina por uma resposta no tópico

    1 ponto
  14. [SHOW OFF] Elder Tale Online

    KotZletY reagiu a Ryukiimaru por uma resposta no tópico

    1 ponto
  15. [SHOW OFF] Elder Tale Online

    KotZletY reagiu a Ryukiimaru por uma resposta no tópico

    1 ponto
  16. Requerimentos RME 3.2 (scan) .otb oficial do TFS (scan) RME Modification Files (scan) Como Instalar 1. Baixe o .rar que contem os arquivos do mod. 2. Copie os arquivos do mod nessa pasta: RME(pasta do Remeres) > data > client 3. Substitua os arquivos .xml Sobre A maioria dos tiles de chão, paredes e montanhas que estão faltando precisam ser adicionadas pra terrain. (autoborder) A maioria dos RAW foram reorganizada e ordenadas Grande porção da pallete de itens foi reorganizada e ordenada *O MOD é feito em 10.98 porém é compativel com qualquer client adicionado ao RME 3.2. A pallete terrain vai ter alguns tiles pretos em clients com versão menor que 10.98 mas o RME ainda sim vai funcionar. Fotos Feedback Procura o criador do MOD RokojoM e fala com ele, em inglês, ele quer deixar o arquivo atualizado e adicionar mais terrain e doodads. Existem várias razões para dar feedback; bugs; código bagunçado/mal feito; itens mal rotulados; itens com nomes errados etc. Se você encontrar não exite em contata-lo. Ou posta aqui em pt-BR eu passo pra ele. Créditos RokojoM (RAW, autoborder das paredes, autoborder das montanhas, aleatoriedade do ground...) Limos (Maior parte da pallete dos itens, autoborder do chão) Tradução do post original feita por mim com autorização de seu criador.
  17. 1 ponto
    O que são? Modules são scripts que fazem alterações no cliente, se você compilou seu otclient com proteção contra bot, essas modificações se restringirão quase completamente a GUI, o que difere os MODs dos Modules é que os Modules são os scripts essenciais do otclient e os MODs são adições criadas por usuários, portanto se você quer modificar algo que já existe, procure na pasta modules, se você quer criar algo novo, crie na pasta MODs. Como eu crio um novo MOD? Primeiro crie uma pasta dentro da pasta mods, por exemplo, meu_mod, o modulo se consiste não apenas de scripts Lua mas também de 2 arquivos: meu_mod.otmod e meu_mod.otui, sendo que o arquivo .otmod é essencial para qualquer modulo enquanto o .otui serve apenas para mods que contenham uma GUI dentro do otclient. Observe este exemplo de arquivo .otmod: Module name: otclient_meumod description: Olha mãe, um mod author: Eventide website: http://otserv.com.br autoload: true autoload-priority: 1000 sandbox: true @onLoad: | dofile 'meu_mod' meu_mod.init() @onUnload: | meu_mod.terminate() Note que há um certo numero de espaços entre certas partes do código, este numero de espaços é essencial e não deve ser mudado, o script é extremamente sensível, recomendo que você copie e cole sempre ao invés de digitar tudo, o mesmo vale para o arquivo .otui, agora vou explicar parte por parte, exceto as que são óbvias: autoload: true autoload-priority: 1000 sandbox: truePadrão, não mude. @onLoad: | dofile 'meu_mod' meu_mod.init() @onUnload: | meu_mod.terminate() Muito bem, se você está olhando este tutorial provavelmente sabe o que o dofile faz, certo? Não? dofile executa um determinado script, portando esse 'meu_mod' deve ser o nome do script principal do seu modulo, que deve ser, mas pode não ser, o nome do seu modulo, claro que o script tem que ter a extensão .lua, mas não é necessário especificar isso no dofile. meu_mod.init() e meu_mod.terminate() são duas funções padrão, que ficarão dentro de uma tabela, a tabela do seu modulo, voltarei nisso depois de explicar sobre o arquivo otui. Agora um exemplo de arquivo .otui: MainWindow !text: tr('Meu MOD') size: 160 450 @onEnter: meu_mod.destroy() @onEscape: meu_mod.destroy() Label id: meuModLabel !text: tr('Oi, eu sou um mod') width: 130 height: 200 anchors.top: prev.top anchors.left: prev.left margin-top: 5 margin-left: 120 Button id: meuModButton !text: tr('Bem-vindo') width: 100 height: 15 anchors.right: parent.right anchors.bottom: parent.bottom margin-right: -6 margin-bottom: -5 @onClick: meu_mod.welcome() Percebe a semelhança com um código CSS? Pois é, essa é uma linguagem baseada no CSS desenvolvida especialmente para o otclient, o nome dessa linguagem é OTML, agora explicando parte por parte. MainWindow é a janela que será usada para a interface, neste caso, MainWindow é o padrão para a janela do cliente. !text é o nome da janela, sempre use a função tr() para colocar a string. size é o tamanho da janela, a sintaxe é: largura, altura. @onEnter é a função que é chamada quando se aperta a tecla enter. @onEscape é a função que é chamada quando se aperta a tecla esc. Label é usado na maioria das vezes para mostrar um texto. id deve ser um nome único e sem espaços que represente este texto. !text é o texto que será mostrado na label, novamente a string deve ser colocada dentro da função tr(). width é a largura da label. margin-right que funciona igual o CSS, quanto maior o valor, mais ele se posicionará contra a direita, quanto menor, a favor. margin-bottom é igual ao margin-right, mas em vez de contra/favor a direita ele funciona para baixo. @onClick deve ser configurado com a função que é chamada quando se clica no butão. O script .lua Agora chegamos a parte final deste tutorial, como fazer o seu script, a parte principal do mod. Primeiro crie o arquivo, que aqui será chamado de meu_mod.lua, observe como ficou o arquivo a partir do que já foi feito até agora: meu_mod = {} modWindow = nil function meu_mod.init() connect(g_game, {onGameStart = meu_mod.run}) end function meu_mod.terminate() disconnect(g_game, {onGameStart = meu_mod.run}) end function meu_mod.run() modWindow = g_ui.displayUI('meu_mod.otui') end function meu_mod.welcome() g_game.talk("Este é o meu modulo!") end function meu_mod.destroy() modWindow:hide() end Como eu acredito que já deixei bem claro o que faz maioria das funções, darei enfase a função init e terminate, a função init serve para alinhar os eventos do cliente com o seu script, e a terminate desfaz, isso é feito a partir das funções connect e disconnect, cuja sintaxe é: connect(g_game, {eventoPadrão= meuEvento}) disconnect(g_game, {eventoPadrão= meuEvento}) Esse tutorial foi feito com o otclient 6.2.1 mini tutorial que achei de otclient creditos Evesys
  18. [Aula 3] Primeiros Passos

    Ghaz reagiu a MaXwEllDeN por uma resposta no tópico

    1 ponto
    << Aula 2 - Lógica da programação Primeiros Passos Aula 3 Relembrando o que eu disse na primeira aula, você precisará de um interpretador Lua e é muito recomendado que possua também um bom editor com suporte à sintaxe Lua, então nosso primeiro passo será obter o editor e o interpretador. As aulas serão voltadas ao scripting para Open Tibia Servers, então nada melhor do que um bom OTServer para testar seus scripts, mas ficar testando os scripts em um OTServer pode ser uma tarefa cansativa e demorada, então vamos usar também scripts fora de OTServers para praticar. Para isso, você pode fazer o download de qualquer um dos seguintes programas: Editores + Interpretadores: SciTE Scintilla [Avançado] OTScript Live! [Recomendado] Editores: Notepad++ Interpretadores: Lua [Oficial] Depois que você tiver seu editor e interpretador Lua (Recomendo o OTScript Live!), instale ele. No caso do OTScript Live!, depois de descompactar, vá em "Help", no menu, e clique em "Register To Lua". Abrirá uma caixa confirmando a alteração, basta apertar "OK" e todos os seus scripts irão abrir com o OTScript Live!. Testando seus scripts! No caso do SciTE, para testar o seu script você deve primeiro salvá-lo com a extensão Lua (*.lua). No caso do SciTE e do OTScript Live! você pode testar seu script apenas apertando F5, sendo que no OTScript Live! não é necessário salvar o script antes de testar. Após pressionar F5, o SciTE irá abrir uma área de textos abaixo da área de edição com as informações do teste, e o OTScript Live! vai abrir uma janela. Para testar se o seu SciTE ou OTScript Live! está funcionando, use o seguinte script: print("Hello world!") Nas informações mostradas pelo interpretador deve estar escrito "Hello world!". Se aparecer, parabéns, você testou o seu primeiro script Lua... (ou não ) O que o script fez? o0 Uma das coisas mais importantes nos scripts são as funções. Uma função é "um bloco de código previamente pronto", uma subrotina, que quando chamada executa esse bloco. Imagine as funções como um atalho para executar alguma coisa. Pode ser usada, por exemplo, para encurtar scripts que tenham alguma parte do codigo que se repita muitas vezes. Criando uma função você pode usar esse código que se repete muitas vezes somente uma vez (Dentro da função), então em vez de usar esse bloco várias vezes, você só precisaria chamar a função várias vezes. Você pode criar suas próprias funções, mas isso veremos mais para frente. Tudo o que importa agora é aprender a chamar funções. O "Nome da Função", na verdade, é o nome da variável em que está armazenada a função, mas não se preocupem com isto ainda... O "Nome da Função" é o nome que você deve chamar para que a função ocorra, pois há vária funções (Obviamente), então você deve especificar qual função quer chamar. É a mesma coisa do que ter 3 pessoas. Quando quiser chamar uma das pessoas, deve dizer o nome dela. Os argumentos são as "Respostas" para as "Perguntas" da função chamada. A maioria das funções faz "perguntas". No caso da função "print", ela nos "perguntou" o que queriamos escrever na tela, e "respondemos": "Hello world!". É importante lembrar que cada pergunta deve ser respondida adequadamente, por exemplo, se alguém te pergunta: "Que horas são?" você não pode responder: "Sim.". A mesma coisa acontece com as funções, você deve responder exatamente o que ela está perguntando. Outra observação importante é que você deve responder as perguntas da função na ordem em que foram perguntadas. Se a pergunta nº 1 for "Que horas são?" e a nº 2 for "Quer um biscoito?", você deve responder respectivamente que horas são e se você quer um biscoito. OBS: Algumas funções fazem "perguntas" opcionais, ou seja, você pode ou não responder. Se você não "responder", a própria função atribuirá um valor padrão para a resposta. Os parâmetros são simplesmente o conjunto de todos os argumentos. OBS: Todos os argumentos (Respostas) do parâmetro devem estar entre parênteses e ser separados por vírgulas! Tipos de valores! Bem, como eu disse, cada resposta deve seguir o tipo da pergunta, então vou citar aqui os tipos destes valores. OBS: Existe uma função para descobrir o tipo de cada valor! Esta função é a função type(valor)... Numbers Como o nome diz, numbers são números, não há muito o que falar sobre eles... Exemplo: print(1) print(2) print(3) OBS: A função print aceita todos os tipos como resposta. Strings As strings devem iniciar com um símbolo especial e deve terminar com o mesmo caractere que foi usado para iniciar a string. Esses símbolos são: Apóstrofo: Começa com ' e termina com '. Aspas: Começa com " e termina com ". Colchete-Colchete: Começa com [[ e termina com ]]. Colchete-Igual-Igual-Colchete: Começa com [==[ e termina com ]==]. As strings são conjuntos de caracteres, como letras, números (Não são numbers, pois se houver um número entre os símbolos especiais será tomado como string!!!), acentos, espaços, etc... Se você quiser escrever uma frase na tela, por exemplo, não pode deixá-la solta pelo script. Esta frase deve ser uma string, ou o script dará erro. Exemplo: print('Apóstrofos') print("Aspas") print([[Colchete-Colchete]]) print([==[Colchete-Igual-Igual-Colchete]==]) OBS: 1 << Isto é um number. "1" << Isto é uma string. Booleanos Os booleanos podem assumir apenas dois valores: true e false. true: Valor verdadeiro. false: Valor falso. OBS: Os booleanos podem ser complicados de entender no começo, mas com o tempo você acostuma. Não se preocupe com eles agora... Exemplo: print(true) print(false) print(nil) Functions Exatamente o que o nome diz: é o que estamos vendo agora. Functions são nada mais nada menos do que funções. Exemplo: print(function() end) OBS: Não se preocupe com isso ainda! Tables ou Arrays São tabelas, ou seja, armazenam mais do que um valor dentro de uma "caixa". Tabelas podem armazenar outras tabelas e todos os valores dentro de uma tabela possuem um identificador, chamado "index" (índice). Tabelas começam com o símbolo { (Chave) e terminam com o símbolo } (Chave). Exemplo: print({}) Userdata Lua é uma linguagem de programação criada para dar extensão à linguagem de programação C e C++. Userdatas são ponteiros que indicam valores em C ou C++. Não se preocupe com eles. Nil Nil simboliza um valor nulo. Não deixa de ser um valor, mas é um valor sem conteúdo. Exemplo: print(nil) As funções retornam! Toda função retorna um ou mais valores, nem que sejam valores nulos (nil), portanto você pode usar uma função dentro do print para escrever os valores que a função retornar! Vamos usar como exemplo a função type(valor), que vai nos retornar uma string com o tipo do valor. Exemplo: print(type(1)) O exemplo acima vai escrever em sua tela a frase: "Number", pois 1 é um number! Exercícios: Usando a função print para escrever na tela e type para pegar o tipo de algum valor, obtenha as seguintes frases na tela: Resposta: Essa aula foi escrita por uma raposa levada Skyen Hasus, todos os créditos são dele. Aula 4 - Operadores e Bibliotecas >>
  19. [Aula 1] Introdução

    jhonathan wendrell reagiu a MaXwEllDeN por uma resposta no tópico

    1 ponto
    Introduçã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) [Download]. Exercício-Tarefa: Pesquise mais na internet sobre a linguagem Lua, Scripts, etc... Somente dúvidas serão aceitas aqui! Comentários que não forem dúvidas serão apagados e os autores serão reportados! Essa aula foi escrita por uma raposa levada Skyen Hasus, todos os créditos são dele. Aula 2 - Lógica da programação >> Script Live By colex.rar
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo