Tutoriais sobre Scripting
Aprenda com os mestres da comunidade a desenvolver seus scripts, sistemas e domine a linguagem .lua!
- Esta área é para publicação de Tutoriais sobre criação de códigos Otserv.
- Ao ler um tutorial, dê reputação ao membro que o publicou e comente no tópico. Este pequeno incentivo faz com que membros continuem trazendo tutoriais e outros conteúdos ao fórum.
- Se o conteúdo não for seu, adicione Créditos!
- Por motivos de segurança é necessário que um membro da equipe Aprove o seu Tópico, dessa forma mantemos o fórum organizado e livre de conteúdos maliciosos, obrigado pela compreensão!
Procure pelo tipo de código:
280 tópicos neste fórum
-
<< 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 …
- 8 respostas
- 5.5k visualizações
-
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 é difer…
- 11 respostas
- 6.7k visualizações
- 1 follower
-
Tipo: Tutorial. Autor: Skymagnum(Skyforever). Encina: Como usar corretamente o addEvent sem bugs e erros no console. Creio que todos vocês conheçam a função addEvent senão vou explicar, ela funciona da seguinte maneira addEvent(function, seconds, ...). Bom se você usar a função doSendMagicEffect(position, effect) ela vai soltar o efeito na hora correto? com addEvent você pode fazer o efeito soltar depois se usar corretamente exêmplo de uso incorreto: addEvent(doSendMagicEffect, getThingPos(cid), 5 * 1000, 35) agora veremos do jeito certo: addEvent(doSendMagicEffect, 5 * 1000, getThingPos(cid), 35) . …
- 13 respostas
- 4.3k visualizações
-
Lua Orientada a Objetos Avançado ! Lua é uma linguagem de programação(Sério??) , sua orientação a tabelas, meta tabelas, meta métodos é bem prático eversátil. * Meta tabelas * O que é uma meta tabelas? São tabelas que controla o comportamento de outras estruturas de dados, ela nos permiti alterar o comportamento da tabela. Exemplo, se colocar o código abaixo num interpretador Lua. nome = "Tibia King, forum de todos" print(nome:upper()) A saída será: Tibia King, forum de todos Porém, da onde saiu esse upper()? Vejamos. print(getmetatable(nome)) Sua saída será: table: 0033BE78 Uma meta tabela associado…
- 2 respostas
- 1.9k visualizações
-
Créditos: Shynzo Tinha um caboco desesperado aqui no forum querendo esse Código, então resolvi postar com tutorial ainda Bom, será necessárias as sources. Vá em commands.cpp e depois de Coloque No fim de commands.cpp coloque: Em commands.h depois de Adicione: Depois compile Espero que ajude!
-
- 4 respostas
- 1.8k visualizações
-
-
Ola Poketibianos, Venho Postar o Sistema De CLANS Do "PokeXGames"... Arrumei Uns Problemas Neles e Agora So Podem Entrar Nos Clan Level 80+ e contem promoçoes! Aviso: Funcional em servidores sem level nos pokemons e em PDA! Vamos Ao Tutorial Então: Vá a "Pasta Do Servidor > Data > Lib" Crie Um Um Arquivo.lua Nomeado Como "clan system" Adicione Isso Dentro Dele: Salve e Feche. Agora Vá a Pasta "NPC" e Crie Os Seguintes Npc's: Gardestrike Master Malefic Master Naturia Master Orebound Master Psycraft Master Raibolt Master Seavel Master Volcanic Master W…
- 6 respostas
- 7.6k visualizações
-
Vim trazer hoje um tutorial bem útil para quem esta aprendendo a linguagem lua. Com a autorização do grande Jhon vou postar aqui um tópico desenvolvido por ele. Tutorial Básico sobre CreatureScripts CreatureScripts = São scripts que serão ativados após uma determinada ação criada pelo monstro ou personagem. Essas ações são determinadas como funções. Existem varias funções utilizadas para a criação de creaturescripts e estas são: onDeath(cid, corpse, killer)-- que é executada ao morrer. onPrepareDeath(cid, lastHitKiller, mostDamageKiller) -- semelhante a onDeath. onAttack(cid, target) -- executa ao atacar. onCombat(cid, target) -- se…
- 14 respostas
- 3.2k visualizações
- 1 follower
-
removido
-
- 0 respostas
- 1.2k visualizações
- 1 follower
-
-
Se você já se perguntou: Por que na coluna vip_time aparece um número absurdo, se eu adicionei apenas alguns dias vip? Aqui encontrará a resposta! Os players do seu server que tem conta VIP terão em sua vip_time um número parecido com este: 1344747131 Mas, o que este número quer dizer? Este número é o tempo em segundos medido desde a Era Unix, ou seja, desde 1 de Janeiro de 1970 às 00:00:00. Logo... Digamos que no dia 1 de janeiro de 2012 às 0h, eu tenha adicionado 1 dia vip em determinada conta do meu server. O número que aparecerá na vip_time será: 1324512000 Que é, aproximadamente, o resultado de: 42 anos * 365 dias * 24 horas * 60 …
-
- 0 respostas
- 1.9k visualizações
-
-
Olá, Galera do Tibiaking hoje vim trazer para vocês um basico tutorial sobre Programação O que é source? Source é o nome dado ao conjunto de códigos que futuramente será um programa, em otserv nem sempre conseguimos esta source, mesmo sendo uma lei sua liberação, o servidor mais usado atualmente “TFS” tem seus códigos liberados e podemos conseguir na seção Download otserv procurando a versão desejada. Como abrir uma source? Como os códigos são apenas textos podemos abrir-los em um editor de texto normal, porem para facilitar o trabalho do programador usamos IDE, o mais popular no mundo dos otservs, Dev-cpp. Como criar um executável (compilar)? C…
-
- 5 respostas
- 4.1k visualizações
-
-
Fala galerinha do TK, como estão ? Bom, vou ensinar a voces a como adicionar novas Outfits Bom, é simples e rapido, então vamos la 1º vá em data/xml/outfits.xml e abra-o e estarão assim [/font]<?xml version="1.0"?> <outfits> <outfit id="1"> <list gender="0" lookType="136" name="Citizen"/> <list gender="1" lookType="128" name="Citizen"/> </outfit> <outfit id="2"> <list gender="0" lookType="137" name="Hunter"/> <list gender="1" lookType="129" name="Hunter"/> </outfit> <outfit id="3"> <list gender="0" lookType="138" name="Mage"/> <list gender="1" lookType=…
- 7 respostas
- 4.1k visualizações
-
Introdução a Lua Esse vídeo é para os que não gostam de ler, e preferem um vídeo. Eu fiz ele com a intenção de ajudar, mas vendo o vídeo me atrapalhei de mais, ficar 3 meses sem mecher em programação acaba esquecendo tudo. E to gripado.. e são quase 1h da manhã ..
-
- 2 respostas
- 1.5k visualizações
-
-
boa noite como se ja viram meu nome é eduardo ha muitas pessoas que mechem a xp no config.lua e a xp nao muda eu queria ajudar a mecher nisso abra data\XML e logo em seguida abra Stages.xml <?xml version="1.0" encoding="UTF-8"?> <stages> <world id="0" multiplier="1"> <stage minlevel="1" maxlevel="300" multiplier="1000"/> <stage minlevel="301" maxlevel="500" multiplier="900"/> <stage minlevel="501" maxlevel="750" multiplier="800"/> <stage minlevel="851" maxlevel="900" multiplier="700"/> <stage minlevel="901" maxlevel="1000" multiplier="600"…
-
- 2 respostas
- 732 visualizações
-
-
1. Abra a pasta "data > raids". 2. Como vocês estão vendo, tem várias raids, vamo copiar uma, para fazer a nova. 3. No meu caso, vou fazer uma invasão de "Yeti" , então vamos lá, vo criar um arquivo chamado "YetiRaid". 4. Dentro, vai ter isso . (é GS, porque eu fiz uma cópia dela). Explicando ... Amarelo : <announce delay="0" type="event" message="The mating season of the giant spiders is at hand. Leave the Monty Fields as fast as you can." /> announce delay, é o tempo que a mensagem vai sair. (se não me engano é a cada 100 mil é 10seg). type="event" - Muda nada . message = "The mating season of the giant sp…
-
- 0 respostas
- 1.8k visualizações
-
-
Criando Quest Muitas pessoas ainda nao sabem ou se confundem ao criar um bau de quest, esse tutorial aqui vai ensinar direitinho como criar um. Este tutorial é dividido em 4 passos. Criando Quest -Passo 1 - Script.lua crie um arquivo.lua novo, ele deve ficar localizado na pasta data/actions/scripts e escreva isto nele: function onUse(cid, item, frompos, item2, topos) if item.uid == X then queststatus = getPlayerStorageValue(cid,Y) if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid,22,"Você achou um(a) Z") item_uid = doPlayerAddItem(cid,ID,Q) setPlayerStorageValue(cid,Y,1) else doPlayerSendTextMessage(cid,22,"O…
-
- 0 respostas
- 1.9k visualizações
-
-
Kepler: Kepler é uma comunidade de desenvolvedores de software livre usando Lua como uma opção viável de desenvolvimento de aplicações web. Kepler foi originalmente criado pela Fábrica Digital e Puc-Rio em 2004 mas já recebeu muitas contribuições desde então. Site: http://www.keplerproject.org/ Ekolu - Embedded Lua: Framework de desenvolvimento Lua para o mundo embedded. O projeto oferece Lua para diversas plataformas e arquiteturas diferentes de microcontroladores. eLua roda em "bare metal", não dependendo de nenhum sistema operacional "por baixo" para ser utilizada. Site: OFF-line GINGA - A TV digital brasileira Lua: Framework para desen…
-
- 0 respostas
- 2.1k visualizações
-
-
Manipulações de Strings. Strings devem estar entre aspas (simpes ou duplas). local texto1 = 'Ola mundo.' local texto2 = "TibiaKing" Funções Báscias string.byte() Retorna o valor da tabela ASCII s = string.byte('A') print(s) string.char() Retorna um caracter a partir do valor numérico da tabela ASCII. s = string.char(66) print(s) string.len() Retorna o tamanho da string. s = 'Programar em LUA é muito fácil.' a = string.len(s) print(a) string.lower() Retorna um string com os caracteres maiúsculos convertidos para minúsculo s = 'Programar em LUA é muito fácil.' a = string.lower(s…
-
- 1 resposta
- 1.4k visualizações
-
-
| ~ | Editando opção infinita | ~ | | ~ | by Northon e OhGod | ~ | Como assim infinita? Editar se é infinita runas e arrows. | ~ | Mãos a obra! | ~ | Acesse a config.lua, que se encontra na pasta do seu otserv. Abra ela, é em seguida procure por isso: Quote -- remove ammunation? (bolts/arrows) removeammunation = "no" -- remove rune charges? (sd/hmm/gfb) removerunecharges = "yes" Edite as opções entre aspas, no caso acima ela não esta infinita. "yes" -> Não deixar infinita "no" -> Deixar infinita. Vai em arquivo > salvar.
-
- 2 respostas
- 900 visualizações
-
-
Mais uma vez eu aqui para mostrar como combila um OTserver no linux agora acompanhe o tutorial abaixo criado por OhGod e GM Bekman: Porque um OTServer em linux? Linux é tudo 100% melhor que Windows. Proteção, o Linux tem uma rígida proteção contra acessos indesejados, acessos maliciosos. O Linux tem um mega capacidade de proteção DDoS isso e se você tiver as configurações corretas. No Windowsvocê só pode utilizar mapa com o tamanho máximo 100mb no Linux é ilimitado. No Linux o OTServer tem um desempenho maior com agilidade muito boa. Deixando de bla, bla, vamos ao que interessa. AAAA, observe antes de tudo tenha uma maquina Linux, assim o tutorial terá se…
- 14 respostas
- 17.5k visualizações
-
Olá Pessoal mais uma vez eu aqui ! para mostrar como combila um otserver no WINDOWNS veja abaixo no tutorial feito por mim e pelo GM Bekman : Boa galera andei olhando e vi alguns tópicos até meio parecidos com o que estou fazendo agora, mais, eu não acho eles completos por tanto aqui vamos nois. 1° Vamos fazer todos os downloads necessários. Vamos usar um source TFS pra versão de Tibia 8.60 - Source - Stians Dev-Cpp <> 32bits - Stians Dev-Cpp <> 64bits 2° Abra o Dev-cpp: 3° Clique em Tools > Check For Updates/Packages: 4° Clique em Check For Updates and Upstairs select devpacks.org: 5° Seleciona OpenSSL 0.9.8a e clique em Dowload: 6° Em seg…
-
- 11 respostas
- 9.9k visualizações
- 1 follower
-
-
Strings strings são palavras ou letras geralmente são usadas entre "" vamos aos strings: Esses são os strings mais usados Math's esses são os math's mais conhecidos
-
- 4 respostas
- 1.4k visualizações
-
-
Esse mini-tutorial irei ensinar essas funções que lê a entrada do usuário e consequentemente mostrará na tela o que escrevemos. é muito simples, irei ensinar o básico. Nós queremos também que o usuário digite o seu valor, e que não apenas demos um valor e assim não dando opção para o usuário, fazendo com que ele tenha que editar sempre o código fonte. Por isso, estarei dando um pequeno exemplo das funções io.write e io.read io.write("Digite seu nome:") nome = io.read() print ("O seu nome é:", nome) Como um breve resumo das função seria: io.write = Essa função faz com que possamos escrever io.read = Essa função lê o que escrevemos. Con…
-
- 8 respostas
- 1k visualizações
-
-
Olá galera vou deichar Um Joiner , para que vocês usem com sabedoria Lembrando ele não precisa de crypter não ToTal FUD esse só não vou gravar uma video porque estou compproblemas no cantasia mais embreve amostro. RAT -> http://up21.mais.me/QJ6MV4L2HRFCNHT/Mais.me_RAT.jar Joiner -> http://up22.mais.me/XFV3LQDM4WXXEH3/Mais.me_Joiner.jar Creditos: Monstervip BY MONARIBK <<< CONTEUDO LEMBRANDO E VIP E PRIVADO TUDO OQUE APOSTO KKKKK SE VOCEIS ACHA OUTRO FORUM COM O MSM POST PORFAVOR ME AVISE KKK
-
- 0 respostas
- 818 visualizações
-
-
Porque um OTServer em linux? Linux é tudo 100% melhor que Windows. Proteção, o Linux tem uma rígida proteção contra acessos indesejados, acessos maliciosos. O Linux tem um mega capacidade de proteção DDoS isso e se você tiver as configurações corretas,roda map de qualquer tamanho sem limite de 100 mb. Primeiramente Obtenha uma plano Linux VPS/DEDICADO em www.gamershost.com Download Necessario: SSH Secure Shell FileZilla FTP Sources TFS - Qualquer versao. Primeiramente entre em contato com suporte do seu VPS/DEDICADO e peça para adicionar: Ubuntu add: deb http://ubuntu.mirror.cambrium.nl/ubuntu/ lucid main universe Debian add: deb http:/…
- 19 respostas
- 9.1k visualizações
-
É chato entrar num ot e ver a quest: Mata o dragon e abra o baú. então resolvi fazer um tutorial para vocês. lembrando que: Você não deve fazer uma quest assim exatamente como a minha, com o baú do lado da alavanca e etc..., fiz o mapa em menos de um minuto. Isso serve como exemplo de actions, e realmente, da para fazer muita coisa com esse exemplo. Resumindo: Você puxa uma alavanca, então é atribuido um storage ID à você, quando vc pisa no tile especial, ele checa se vc ja puxou a alavanca, se não, ele move você 1 sqm para o lado oposto. Vou por um esquema para vocês verem: Fiz o script da alavanca o mais facil possivel de configurar: …
-
- 4 respostas
- 1.1k visualizações
-
-
O que são tabelas? R: São estruturas multidimensionais que permitem o armazenamento de vários dados. Como declarar uma tabela? R : local tabela = {} Como faz para adicionar valores na tabela? R: Para adicionar um valor na tabela, devemos inserir nossos dados entre os colchetes{} local tabela = {"skydangerous",15} Como inserir um dado na tabela? R: Para inserir um dado na tabela e fácil, cada dado adiciona tem uma posição. local tabela = {} tabela[1] = "skydangerous" tabela[2] = 15 local posicao1,posicao2 = tabela[1],tabela[2] print(posicao1,posicao2) Print: skydangerous 15 Podemos perceber que adicionamos dois conteúdos em…
-
- 2 respostas
- 3.5k visualizações
-
-
Olá galerinha, hoje vou ensinar como vocês podem criar suas proprias Raids. - Mais oque são Raids? São invasões, eventos, que em determinado tempo podem acontecer. - Para que servem? Deixar seu servidor mais legal, as raids acontecem automaticamente, ou seja, você nao precisa estar com o GOD, CM, GM online para que as invasões começem. - Opa, gostei... como eu começo? Simples, vou ensinar a vocês agora mesmo. 1. Vá para \data\raids e crie um arquivo .xml com o nome de um monstre (Exemplo: Monk) 2. Logo em seguida, adicione os seguintes codigos: <raid> <announce delay="0" type="event" message="Message1"> Quando executar a …
- 9 respostas
- 8.5k visualizações
-
Salve, aqui vou estar postando as tags para funcionar os novos items 8.6 Todos os servidor 8.6 que baichei nenhum funcionava, tudo bugado. Resolvi ficar 1h configurando cada item pra deixar 100% ao global. Na pasta movements.xml você colca isso em algum lugar. <!-- New Items 8.6 Edited by SkyDangerous --> <movevent type="DeEquip" itemid="9000" slot="feet" event="function" value="onDeEquipItem"/> <movevent type="Equip" itemid="11234" slot="feet" event="function" value="onEquipItem"> <vocation name="Knight"/> <vocation name="Elite Knight" showInDescription="0"/> <vocation name="Paladin"/> &…
-
- 4 respostas
- 1.7k visualizações
-
-
Olá Galera, hoje vou postar um tutorial que ensina você a deixar seu código mais bonito, legível e organizado. Vamos lá. Em primeiro lugar vamos aprender oque é indentação ou identação. Exemplo de um código com indentação: function doPlayerCompleteQuest(uid, quest) doPlayerAddItem(uid, quest[1], quest[2]) setPlayerStorageValue(uid, quest[3], 1) doTeleportThing(uid, getTownPosition(getPlayerTown(uid))) doPlayerSendTextMessage(uid, 27, "Você completou a quest ".. quest[4] ..".") if (getPlayerStorageValue(uid, quest[5]) > 0) then doPlayerSendTextMessage(uid, 27, "E recebeu um bônus por ter completado outra quest.") …
- 5 respostas
- 2.5k visualizações
-
Olá galerinha TKbianos, Eu postei aqui, a tradução (as funções) que estão no config.lua, vejo muita pessoa com dúvidas que acha que precisa fazer script, mas naverdade essas dúvidas estão na cara de vocês, bem no config.lua! (Botei os necessários) Config.lua : accountManager = "no" (Utilização de account manager.) newPlayerChooseVoc = "yes" (Se o player pode escolher a vocação, caso esteja em "no" ele vai começar como "no vocation".) {newPlayerSpawnPosX = 155} {newPlayerSpawnPosY = 39} (Posição do player criado pelo account manager.) {newPlayerSpawnPosZ = 7} newPlayerTownId = 1 (ID da cidade [configurado no map editor].) newPlayer…
-
- 6 respostas
- 14.2k visualizações
-
-
Ola pessoal do Tibiaking meu 1 post nesse forum Action: Pelo mapa você coloca um unique id na alavanca, vamos pegar por exemplo 5000(pode ser qualquer número, desde que já não seja usado no arquivo actions.xml você adiciona essa linha: Sendo que o nome do script é onde vai ficar as informações que vem abaixo: Ai em cima já tem tudo o que modificar explicado. Tá agora o cara foi teleportado para o outro lugar Nesse outro lugar você anda... ai tem outra sala com alguns bichos e uma alavanca, que ao puxar nasce o boss da quest. Vou explicar agora: No mapa na alavanca você coloca outro unique ID, por exemplo 5001(já que o 5…
- 13 respostas
- 2.7k visualizações
-
Olá Galera.. Muita Gente n sabe Coloca Para o slingshot solta Pedra SEM PRECISA ter pedras SO Bota ele na Mão Ai Ele Solta as pedras Primeiro Vc Abra o Items.xml (data/items) e Procure La Slingshot E Substitua ele Por isto Pronto Feche o Items.xml Salve.. e seu Slingshot Estará Pronto Espero que Gostem PS: Eu Coloquei Pra ele nao Ser DUAS MÃOS
-
- 2 respostas
- 2k visualizações
-
-
Olá Galera Hoje Irei Da esse Tutor De quest Então Vamos Lá Vá em data/actions/script. Renomei um arquivo.lua que n estar sendo usado apage tudo que ta dentro.. e adicione isto function onUse(cid, item, fromPosition, itemEx, toPosition) a = 9930 id = 2342 if getPlayerStorageValue(cid, a) < 1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voçe Pegou (a) "..getItemNameById(id)..".") doPlayerAddItem(cid, id, 1) doPlayerSetStorageValue(cid, a, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voçe Ja Pegou Este Item") end return TRUE end Ond tem (a) eh action do seu ot que vc vai bota.. NAO BOTE UMA ACTION JA USA…
-
- 2 respostas
- 1.2k visualizações
-
-
Introdução: Primeiramente, vou explicar, a forma em que eu comecei aprender a criar npcs mais complexos, e digo uma coisa.. sozinho se você reparar bem nos detalhes, creio eu que você pode criar coisas impressionantes, utilizando da sua criatividade. Então, ando tentando me virar sozinho, sempre. Por isso, caso ajam functions que não precisam ser postas, quero que alguém que saiba mais que eu corrija-me por favor! O começo: Cansado, de não ser respondido, em um outro fórum, que hoje em dia já abandonei, eu fui atrás, de uma forma independente. Baixei vários Otservers, e comecei a prestar atenção em casa function declarada, cada situação. E…
- 11 respostas
- 2.4k visualizações
-
Bom Galera, Sou Novo No ramo de scripts.. sou novo aki no tibiaking então vou postar.. cores Para Outfits De Npcs e Monster,Então Vamos la.. Obs: Nao Funciona Em Algum Monstros... Primeiro Vou Ensinar Como Mudar a Cor dos Npcs.. <look type="134" head="69" body="54" legs="32" feet="45" addons="3"/> VERDE: Numero Da Outfit PRETO: Cor Do Cabelo Azul-piscina: Cor Da Armadura Vermelho: Cor Da Legs ROSA: Cor Da Bota Looktype Do Monstro Ou Npc <look type="7" head="20" body="30" legs="40" Cinza: Numero Da Looktype Numero Das Cores Do Looktype: Bom Galera.. Foi Meu Primeiro Post Ai No Tibiaking.. Espero Que G…
- 6 respostas
- 13.9k visualizações
- 1 follower
Quem Está Navegando 0
- Nenhum usuário registrado visualizando esta página.