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
-
Fala clã, tudo bom? Então, vi esse tal emote spells em um servidor e decidi fazer, e também, compartilhá-lo com vocês ? O que é? É um código simpleszinho que possibilita players escolherem a cor da mensagem das spells por meio de comando, LARANJA ou AMARELO, como nas imagens abaixo: Spoiler Vamos aos códigos.. abra game.cpp, na função playerSaySpell, procure por: if (result == TALKACTION_BREAK) { if (!g_config.getBoolean(ConfigManager::EMOTE_SPELLS)) { return internalCreatureSay(player, TALKTYPE_SAY, words, false); } else { return internalCreatureSay(player, TALKTYPE_MONSTER_SAY, words, false); } } e…
-
- 9 respostas
- 6.6k visualizações
-
-
Olá,participo do tibiaking faz muito tempo e nunca tive vontade de aprender LUA até alguns dias atrás. começei a estudar 2 - 4 horas,assisto videos, leio artigos do lua.org, leio tutoriais aqui do tibiaking, em outros lugarem também. porém fico com bastante duvidas, até tenho uma amigo muito bom mesmo com os LUA e outros estilos de linguagem,porém nem toda hora ele pode me ajudar. se alguém puder me ajudar com as duvidas que tenho ficarei muito muito grato mesmo!! 1 - como posso últilizar tabelas? vejo muitos script aqui no tibiaking que possuem tabelas mas não últilizam da função table.insert, ou de outra função table alguém pod…
- 9 respostas
- 2.5k 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
- 980 visualizações
-
-
<< 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.4k visualizações
-
<< Aula 4 - Operadores e Bibliotecas Variaveis Aula 5 Olá, bem-vindos a nossa 5ª aula de scripting. Nesta aula iremos tratar de uma coisa indispensável em todos os scripts: Variáveis. As variáveis podem ser entendidas como uma "caixa"que armazena um valor na memória RAM, ou um substituto de um valor, uma igualdade de um valor, como se ela fosse o valor em si. Toda variável deve ter um nome definido por você, mas existem regras para definí-los: quando for escolher o nome da variável, não use números no começo e nunca use caracteres especiais, como acentos, sifrões ou asteríscos. Use apenas a-z, A-Z e pode-se usar números também, d…
- 8 respostas
- 3.6k visualizações
-
Como funcionam os Scripts? Você já deve ter se perguntado como os scripts funcionam ou não. Por exemplo: Como o servidor sabe que quando eu apertar com o botão direito em um Health Potion ele terá que healar o player alvo? Em primeiro lugar devemos entender o que são callbacks. Do modo mais simples callback é algo que acontece devido a uma reação, é como a Terceira Lei de Newton que diz que toda ação gera uma reação, esse callback é a nossa reção, é uma função que vai ser executada assim que algo acontecer, no caso do Health Potion assim que ele for usado. Quando um item é usado ele provoca a chamada de um callback dessa função: functio…
- 8 respostas
- 2.5k visualizações
-
Tipo: Acho que é um tutorial meio que com scripts seilá, Autor: Eu. Como vocês podem notar os otserv's hoje em dia não investem muito em quest's com rpg são quase todas iguais clique no baú pegue o item então tava entediado e resolvi criar essa quest(criei +/- falta algumas coisas se quiserem editar elas) . @Se consiste. Em falar com o NPC pegar o item ir na statue usar o item que ganhou do NPC ganhar outro item ir em outra statua destruir ela colocar o item no fogo e vocês decidem oque mais só coloquei para soltar efeito. MOVEMENTS: ACTIONS: function onUse(cid, item, fromPosition, itemEx, toPosition) if itemEx.itemid == ID DA…
-
- 8 respostas
- 1k visualizações
-
-
Criando funções Nesse breve tutorial vou tentar explicar da forma mais simples possível como criar funções, principalmente para pessoas que entraram recentemente no universo de Lua. Como fazer funções? Quando você cria um script para otserver, uma action por exemplo,geralmente se inicia com uma function onUse(...). Quando se faz isso, você está simplesmente criando uma função em Lua, que será executada pelo software em C++ que roda o servidor, assim executando o script. Na declaração de uma função, usamos a seguinte sintaxe: function nomeDaFunção() corpoDaFunção end Ou a seguinte: nomeDaFunção = function() corp…
- 8 respostas
- 2k visualizações
-
apaga samerda to puto ja com nego q n sabe mexer e fica mandano private toda hora
-
- 8 respostas
- 3.7k visualizações
-
-
Olá Amigos do TibiaKing! Faz um bom tempo que não apareço por aqui, mas enfim vamos ao tutorial, um amigo chamado DkHenzo (espero que não se importe em colocar seu nome ) Bem vamos agora ao tutorial, devido a algumas pessoas terem erros em servidores de Poketibia, não sei se Tibia possui, eu resolvi fazer esse tutorial para ajudar o amigo citado acima e pensei "porque não ajudar mais pessoas também!", este e o principal motivo deste tutorial ajudar quem precise. O erro e o ( EVENT.WALK ) ele e um erro simples, que me custou algumas horas para descobrir como concertá-lo, primeiro para corrigi-lo existe 2(dois) meios o primeiro o corrige(Necessário source (Código Fonte …
-
- 8 respostas
- 2k visualizações
-
-
Alterações nas sources para editar a BaseSpeed dos players. Vá em player.h e procure: void updateBaseSpeed() { if (!hasFlag(PlayerFlag_SetMaxSpeed)) { baseSpeed = vocation->getBaseSpeed() + (2 * (level - 1)); } else { baseSpeed = PLAYER_MAX_SPEED; } } A fórmula é (2 * (level - 1) 2 * level do player - 1 = velocidade do player
- 8 respostas
- 3.4k visualizações
- 1 follower
-
Fala pessoal, olha eu aqui novamente. Hoje eu vou explicar como funciona a tal respawn automático (chamada raids) que serve para todo tipo de servidor e a configuração é tudo para que possa funcionar perfeitamente! Agora algumas dicas para que seu sistema funcione perfeitamente. *Vocês precisa saber sobre o nome monstro que vai nascer a posições e o horário. *Verifique se o monstro está sendo sumonado pelo /m para que ele possa aparecer quando o scripts da raids for chamado pelo globalevents. *Aqui va umas parte que iremos configurar para quem não sabe muito do inglês vaja abaixo. Em Português = Em Inglês …
- 8 respostas
- 2.2k visualizações
- 2 followers
-
Fala clã, hoje irei ensiná-los como agrupar funções em uma classe e usá-las como métodos (similar ao TFS 1.x). Bom, primeiramente o que são métodos? Um método é nada mais nada menos que uma função membro de uma classe, destinadas a serem executadas por objetos instanciados. Bom, não irei se aprofundar no assunto, serei direto. Abaixo segue um exemplo da diferença entre uma função e um método: doPlayerSendCancel(player, 'Hello World') -- Função sendo chamada player:sendCancel('Hello World') -- Método sendo chamado por um objeto 'player' Mas afinal, como utilizar métodos em TFS 0.4? Primeiramente teremos que criar uma lib cha…
- 8 respostas
- 1.6k visualizações
-
É o seguinte galera, vocês vão ter que ir em: /data/creaturescripts/pokeexp.lua PARA EDITAR O EXP QUE O PLAYER GANHA QUANDO MATA POKEMONS: procurem por: playerAddExp(pk, expTotal) e depois disso do lado da variavel expTotal vocês botam '/' que significa dividir, no caso vai ser expTotal dividido por o numero que você quiser. Vou botar 10 de exemplo playerAddExp(pk, expTotal / 10) e salvem ai no caso se um ratata tiver dando 20k de exp ele agora vai tar dando 2k de exp graças a essa divisão. Mas ai vocês escolhem o numero que vcs querem dividir. PARA EDITAR EXP QUE SEU POKEMON GANHA AO MATAR POKEMONS…
- 8 respostas
- 3k visualizações
-
LÓGICA, ALGORITMO E OPERADORES Na aula passada, você aprendeu qual a linguagem usada nos servidores, onde surgiu a programação Lua, o que é scripting e como se tornar um scripter. Nessa segunda aula, você irá aprenderá a pensar como um programador, irá aprender a transformar seu raciocínio lógico em uma sequência de instruções e finalmente, com a apresentação do que são operadores, você irá montar um script básico, mas eficaz. Lógica e Algoritmo Toda linguagem de programação, inclusive a Lua, segue uma certa lógica para funcionar corretamente. A isso, damos o nome de lógica de programação. Para fazer um script em Lua não é difer…
-
- 7 respostas
- 2.2k 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
- 4k visualizações
-
Bom este tutorial nao e de minha autoria mas foi o unico que deu certo pra mim entao resolvi trazer ele pra voces eu so poderei tirar as duvidas dos erros que eu arrumei pra mim gostaria de pedir aos usuarios que usam esse programa e tem muita esperiencia nele que ajudacem aki no topico nas duvidas dos usuarios e ate nas minhas Tutorial Compilando no Windows com Microsoft Visual C++ 2010 Express</h1> NOTES: Sinta-se livre para relatar erros e Rep + + me. Você precisa: Microsoft Visual C + + 2010: http://www.superdownloads.com.br/download/72/microsoft-visual-c-2010-express/</a>(eu usei esse link) Bibliotecas - OpenSSL incluids para TFS: http…
- 7 respostas
- 5.4k visualizações
-
Olá galerinha estou hoje para postar efeitos maneiros para seu servidor... no caso só os números dos efeitos.. créditos reservados ao membro Leandrowebmaster caso vocês não saibam como instalar efeitos estarei postando o link do meu tutorial! http://www.tibiaking.com/forum/topic/31660-colocando-efeito-no-seu-server/
-
- 7 respostas
- 3.2k visualizações
-
-
- 7 respostas
- 6.3k visualizações
-
A Organização O Projeto Olá venho aqui fornecer a todos um repositório que estou começando fazer code views de todos os códigos lua que julgar interessante para um sistema de RPG Este é o local onde podem ser vistos os PR e os CodeReviews. Fiquem livres para utilizar os códigos da melhor maneira possivel. Quer interagir? bom então eu te convido a fazer parte da organização deixando seu nick no github aqui em baixo ou me mandando uma pm! todos serão bem vindos! PRS Me ajude a desenvolver criando um Issue e fazendo seu pedido, tente preencher todas as lacunas ao fazer o pedido para não gastarmos tempo com issues inúteis Usando este repos…
- 7 respostas
- 1.6k visualizações
- 2 followers
-
Esse tutorial e para inciantes que querem deixar suas runas infinitas Bom vá confing lua e aperta CTRL + F Proucure [removeRuneCharges = ] Se estiver removeRuneCharges = "yes" Deixe removeRuneCharges = "no" Bom tabem tem removeRuneCharges = true Deixe removeRuneCharges = false Bem vocês podem pensar nossa todo mundo sabe disso nao precisava , mais eu ja precisei disso e sei quem tem iniciantes que tabem precisam
- 6 respostas
- 76.7k 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
-
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 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.5k visualizações
-
O que são Storages? Storage Value é um valor que fica gravado no banco de dados, no banco de dados ele é estruturado assim: quando você usa a função getPlayerStorageValue(uid, chave) O que acontece é praticamente o seguinte: É basicamente assim que funciona, por isso por padrão todas storages que não tenham um valor definido recebem o valor -1. Se não me engano um player pode ter até 65555 storages, todas ficam em uma única tabela no banco de dados. Como atribuir uma storage a um player: Como verificar a storage de um player: Exercício: Crie um script que só deixe o player usar um item uma vez. Esse tuto…
- 6 respostas
- 3.3k visualizações
-
Aleatório Olá, estou a um tempo parado e decidi postar este tutorial conceitual. O objetivo hoje é explicar como funciona a função math.random(...) em lua. O que é aleatório? Por conceito aleatório é aquilo que é escolhido independente de qualquer valor, ao acaso. Aplicação? Na prática, não existe aplicação exata ao conceito, entretanto, utilizamos fórmulas matemáticas para gerar valores que fogem um pouco do controle do usuário. Quando se utiliza math.random por exemplo, você está pedindo para a máquina gerar um número, definirei portanto esta atitude como semi-aleatória. Por que semi-aleatório? Simples, quando você utiliza math.random, o…
-
- 6 respostas
- 787 visualizações
-
-
Ola pessoal , todos ja viram , ou pelo menos ouviram falar do Linux , certo ? Oque é linux ? Ele é simplesmente a melhor opçao para hospedagem de otserv e website. alem de sua alta capacidade para rodar otservs , ele tambem é bem resistente contra os famosos "Nukers" ... chega de papo , vamo la (: Bom primeiramente se voce tiver um VPS ou Dedicado baixe o SSH e a TRUNK Caso voce for hostear o ot , baixe apenas a TRUNK Primeiramente vamos instalar as Libs : sudo apt-get install autoconf libxml2-dev liblua5.1-0-dev g++ libgmp3-dev libcrypto++-dev libboost-filesystem1.40-dev libboost-system1.40-dev libboost-regex1.40-dev libboost-thread1.40-dev libmysql…
-
- 6 respostas
- 2k visualizações
-
-
Se não estiver na area correta, peço para que algum moderador mude. Bem gente, eu estava com um problema que era tipo, os paladins não atacavam ao usar potions e runes.. Após uma longa busca de como concertar isso, eu encontrei em outro forum e decidi trazer aqui afinal sei que muita gente tem problemas com isso, é algo bem simples olha: Abra Weapons.xml, e adicione essa tag em todas as Ammunitions de RP swing="true" Vai ficar tipo: Antes: <distance id="7367" level="42" event="function" value="default"/> Depois: <distance id="7367" level="42" swing="true" event="function" value="default"/> Bem gente é isso, espero ter ajudado.. vlws …
- 6 respostas
- 1.7k visualizações
-
Resolvi trazer esse tutorial, já que não há no TK. Créditos: Evil Mark resources.h, vá até o final e substitua o código com isso #define CLIENT_VERSION_MIN 861 #define CLIENT_VERSION_MAX 862 #define CLIENT_VERSION_STRING "Only clients with protocol 8.61 and 8.62 are allowed!" #define STATUS_SERVER_NAME "TheForgottenServer" #define STATUS_SERVER_VERSION "0.3.5" #define STATUS_SERVER_CODENAME "Crying Damson" #define STATUS_SERVER_PROTOCOL "8.62" Então vá ao itemloader.h e procure por CLIENT_VERSION_854 = 16, Quando achar substitua por: CLIENT_VERSION_854 = 16, CLIENT_VERSION_855 = 17, CLIENT_VERSION_856 = 18, CLIENT_VERSION_857 = 19…
-
- 6 respostas
- 2.5k visualizações
- 1 follower
-
-
Olá galera do Tk, eu estava vendo uns tópicos que pediram fly para vips ai resolvi cavucar com esse assunto então mexi um pouco com o script de fly e na sorte acabei conseguindo. Testei no meu servidor pda e deu certo! Só deixar claro a todos que eu não sou scripter fiz isso na sorte mesmo. Resumidamente, esse tutorial é para você que quer usar sistema de fly só para vips. Primeiro vá em data/lib/order.lua e procure seu sistema de fly você vai achar o seguinte: Agora embaixo você vai encontrar o seguinte: Apague isso e adicione no lugar esta parte: Dúvidas pergunte. Espero ter ajudado a todos
-
- 6 respostas
- 2.5k visualizações
-
-
Boa noite! Trago ao fórum um simples porém útil tutorial de manipulação dos valores da database. O uso da database me garante melhor organização das minhas variáveis, em comparação a storages. Por storages você está preso a valores numéricos. Via database, você pode atribuir nomes, utilizar strings, e organizar as variáveis em grupos. Responderei dúvidas conforme for possível. Para inserir uma linha nova em uma tabela db.executeQuery("INSERT INTO `accounts` (`id` ,`name` ,`password`)VALUES ('5', 'marcelo', 'druida');") Neste exemplo, será adicionado na tabela accounts, uma nova conta marcelo/druida. (na verdade a senha é encriptada, mas serve como exem…
-
- 6 respostas
- 1.1k visualizações
-
-
Bom á muito tempo, muitas pessoas procuram tutoriais para pokemon dash, erondino, entre outras bases antigas, de como adicionar pokemons, colocar para evoluir, adicionar fly, ride, surf, criar spells, adicionar attacks aos pokemons etc. Irei fazer este tutorial justamente para quem tanto procura esse tipo de coisa e quer ingressar em uma coisa séria! Aviso! (É trabalhoso e exige dedicação e atenção) ( ͡° ͜ʖ ͡°) Tutorial n° 1 (Como adicionar novos pokemons) Bom como em todos os servidores é obrigatório ter o xml do pokemon e o seu registro na pasta monster. (Pularei a parte da monster...) Para adicionar um novo pokemon ao caught "Catch" Siga as im…
-
- 6 respostas
- 2k visualizações
-
-
Ola amigos do tibiaking, estou trazendo aqui para vocês um TFS 0.4 8.6 com cast system e war system feita pelo LuanLuciano! lembrando que foi feita por ele não por mim, só estou disponibilizando aqui para vocês! TFS 0.4 DEV rev 3777 (by TFS Team) Anti-Divulgação (.servegame, .no-ip, .net, .com, .org, .pl, .biz, .br, .sytes, .info) War System Cast System (by Summ) Retirado bugs de anti-push .. Retirado bugs de elfbot ... Retirado erro de não aceitar outros items ... Retirado erro de Malformed File ... Add creatureevent onMoveItem() ... Add função getCreaturePathTo () ... E vários outros! https://www.youtube.com/watch?v=iIVJxDFLvlg Datapack Sources …
- 6 respostas
- 1.2k visualizações
-
Olá, hoje venho trazer o mais simplificado possível para você aprender a fazer seus itens vips o mais simples possível. Servidor: Styller Yourots 0.7.5 TFS: 0.4 Tibia: 8.6 Primeiramente, você deve escolher os itens que quer transformar em Itens Vips. Vamos utilizar os mais Simples possíveis. aqui você verá o set completo. Helmet, Armor, Legs e Boots. que escolhi para fazer, tendo ID e Imagem do Item! Spoiler You see a pirate hat (Arm:3). It weighs 12.50 oz. ItemID: [6096] You see a pirate shirt (Arm:3). It weighs 20.00 oz. ItemID: [6095] …
- 6 respostas
- 6.1k visualizações
-
Interpretador Lua e SciTE É uma ferramenta para scripters avançados, ela não mostra as funções de otserv como getPlayerHealth, ela usa as fonções de lua mesmo, socket., math., string, byte, etc. É uma ferramenta que está em lua.org e agradeço a moto3500 por me mostrar para que eu possa compartilhar com vocês. O interessante que se você escrever em seu otserv: print('oi') (em um lua clado) ele vai mostrar no console: oi, este é um console onde você digita o code em lua e ele executa. OTScript Live!v0.4.1.13 (By: colex) Make your scripts come to live Features: Destaque na Sintaxe de LUA * (Melhorado, agora com cores diversas e alterá…
-
- 5 respostas
- 5.3k visualizações
-
Quem Está Navegando 0
- Nenhum usuário registrado visualizando esta página.