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
-
Operadores Aritméticos e Bibliotecas Aula 4 Na aula anterior vimos como chamar funções e conhecemos as funções print e type. Nesta aula apenas vou reforçar a aula anterior ensinando as funções mais básicas e usadas que são nativas da linguagem Lua, ou seja, não são funções criadas para Open Tibia Server, e sim funções prontas que já estão incluídas na linguagem Lua, e vou ensinar também os operadores aritméticos. Vamos começar com eles. Os Operadores Aritméticos OBS: Você pode fazer seus testes no editor e interpretador Lua usando a função print para exibir os resultados. Enquanto você quiser mecher em Lua (Ou em qualquer outra linguagem de progr…
-
- 2 respostas
- 1.9k visualizações
- 1 follower
-
-
A calculadora ainda não ganhou forma, apenas está no console. Irei fazer isso com o tempo, também irei otimizar a calculadora, porém vou disponibilizar o código-fonte para vocês. Lembrando que é (OPEN-SOURCE) e quem quiser editar ou fazer alguma coisa, vai fundo. Para não ficar muito extensa a tela do post irei postar o link para cada class, entretanto toda codificação será mantida e atualizada no github, irei também postar uma prévia do código. Abraços. Knight.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace JogoDaVelha.Vocacoes { class Knight : MaeVoc { …
-
- 0 respostas
- 1k visualizações
-
-
primeiramente seu mapa tem que ser nessa versão 0.4... Vamos la, para quem teve problema coma erro do talkaction do war system supostamente seguio esses passo aki que irei posta http://www.tibiaking.com/forum/topic/8827-war-system-guild-war-com-escudos-completo/ << esse aki usei como exemplo pois eu segui esses passo e mesmo assim fui surpriendido com erro do talkaction.... mais alguns dias de pesquisa consegui encontra aonde estava meu erro. Vou explica melhor, siga todos os passos desse tutorial aki http://www.tibiaking.com/forum/topic/8827-war-system-guild-war-com-escudos-completo/, apos isso voce vem aqui nesse topico http://tibiadev.com/index.php?/top…
-
- 0 respostas
- 976 visualizações
- 1 follower
-
-
Adicionando Global Storages no TFS 1.0 Olá, pessoal, estive trabalhando com o TFS 1.0, e me deparei com um problema ao utilizar uma storage global nesta versão, eles utilizaram uma versão com muitas diferenças da que estamos acostumados a programar nossos scripts, e essa versão antiga não possuía global storages. A solução que o pessoal encontrou para burlar isso, foi um tanto quanto arcaica, visto que esse modo deles pode acarretar em vários problemas eu resolvi desenvolver um código que funcionará normalmente no TFS 1.0. Enfim, deixando de falação, vamos ao tutorial... Primeiro, execute esse código SQL no seu Banco de Dados: CREATE TABLE `global_st…
-
- 3 respostas
- 821 visualizações
- 1 follower
-
-
Como criar um Script de quest Bom é bem simples fazer um Script de Quest, mais tem muita gente que ainda não sabe então irei ensinar através deste tópico. Primeiramente vá até a pasta "Actions" e depois vá em "Scripts" agora faça um arquivo chamadoQuest1.lua, e bote isso dentro dele: return TRUE end Legenda: Vermelho: É a Storage pode colocar qual quer numero, mais ele não deve existir em outra actions. Azul: É o ID do item. Agora volta na pasta "Actions" e abra o arquivo "Actions.xml" e coloque isto dentro dele: Agora para terminar a quest vá no Baú no seu mapa editor e bote o ActionID n…
-
- 15 respostas
- 39.9k visualizações
-
-
OLá Pessoal, Vim postar um tutorial de : Como ADD Outfit Em seu OT Serv Bom Poco Papo E Mais Trabalho O Primeiro Passo é Simples ! Entre em seuotserv/data/xml/outfit. Agora Aperte o Butao Direito do mause e selecione Editar Navegue e Adicione Depois De : <outfit id="22" premium="yes"> <list gender="0" lookType="336" name="Warmaster"/> <list gender="1" lookType="335" name="Warmaster"/> </outfit> Adicione isso: <outfit id="y" premium="yes"> <list gender="x" lookType="w" name="h"/> <list gender="z" lookType="k" name="f"/> </outfit> Legenda ! Y = Nesse ca…
- 2 respostas
- 4.8k visualizações
-
Conteúdo removido por "anunciar venda de scripts".
-
- 5 respostas
- 1.1k visualizações
-
-
<< Aula 5 - Variáveis e Comentários Escopo Aula 6 Vimos na aula anterior sobre variáveis, e vimos também, bem superficialmente, como declarar variáveis como locais. Você pode se perguntar: "Qual a utilidade de uma variável local?", "O que ela tem de diferente de uma variável global?" ou "Se elas são tão importantes, por que quase ninguém usa?". Vamos por passos. Imagine a seguinte situação: "Você tem uma variável chamada var, e ela vale 1, mas em certo ponto do script você quer que ela receba o valor 2, execute alguma coisa (Como um print) e, depois que executar, ela retorne ao valor anterior (1).". Um dos modos de fazer isto é usand…
- 2 respostas
- 2.7k visualizações
-
Conteúdo removido por "anunciar venda de scripts".
- 4 respostas
- 927 visualizações
- 1 follower
-
Tutorial de como Compilar um OtServer. (Retirado de outro fórum) Antes de começarmos gostaria de fazer um breve FAQ: O Que é Compilação? É a transformação de um programa em código fonte (programa escrito pelo programador) em linguagem de máquina (programa executável). Existem centenas de linguagens de programação diferentes umas das outras, cada uma oferece recursos específicos para atender melhor uma necessidade ou características particulares, algumas são voltadas para bancos de dados, outras somente para a criação de interfaces comunicação (front-ends), aprendizado, etc. Cada linguagem de programação possui comandos específicos que desempenham alguma função, m…
-
- 1 resposta
- 7.2k visualizações
-
-
Bem galera espero que gostem. Vá em Data/Actions/scripts , é crie o seu bloco de notas ; Coloque o script estará assim ; Aonde está de Vermelho e oque vai falar para o player quando fizer a quest... Aonde está de Azul 2160 < vocês poem o id do item depois da virgula 100 e quantos de item o player vai ganhar a fazer a quest... Aonde está de Verde E o aonde voçê vai por o uniquq id no baú do remere's map editor Para adicionar um novos itens aperte enter e copie a linha e edite novamente o id. 2160,100, 2160, 100 Agora vá em Data/Actions/Clique em actions coloque a seguinte linha Onde está de laranja você coloca o actio…
-
- 4 respostas
- 1.6k 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
-
-
Este é um tutorial escrito escrito originalmente para aqueles, que apesar de não terem experiencia com este SO, querem utiliza-lo para rodar seus OTServers, seja por segurança, estabilidade ou simplesmente por quererem aprender. O Linux apesar de assustar de inicio pra quem nunca teve contato, principalmente por não dispor de uma interface grafica (a não ser em casos onde você use o vnc, mas não é o foco deste tutorial), é um grande SO, principalmente quando se trata de gerenciamento de memória, segurança e estabilidade. Neste tutorial vamos fazer uso do Debian 6 64bits e um OT 8.6, apesar de servir para qualquer versão, desde que tenha as sources. Programas necessário…
-
- 3 respostas
- 4.4k visualizações
- 1 follower
-
-
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 S…
-
- 4 respostas
- 1.8k visualizações
-
-
Primeiramente você deve ter um Editor de Texto e um Compilador. Recomendados: Windowns - Dev-ccp Linux - Gedit e Terminal (G++) Acredito que em todos Linux já venha integrado. 1º Abra seu Editor(Gedit ou Dev-Ccp) e escreva as libs que vamos usar Código: [#include <string> #include <iostream> 2º Digite int main() e Abra seu Escopo. 3º Agora Vamos Criar as Variáveis: Código: char SkyFail; std::string r("potencia"); double x=0; double y=0; double z=0; Vou Explicar SkyFail = a Variavel onde ira guardar o tipo de Conta std::string r("potencia"); = Necessário para que você posa usar Letras no IF. double z x e y = Onde ira guardar os numeros da soma Agor…
-
- 0 respostas
- 1.1k visualizações
-
-
Referência Rápida de C++ Variáveis tipo tamanho(bytes) descrição char 1 representa um caractere ( valores entre 0 - 255 ) short int 2 valor inteiro curto int 2,4 valor inteiro long int 4 valor inteiro longo float 4 valor real (ponto flutuante) double 8 valor real (precisao dupla) long double 10 valor real long (precisao dupla) signed indica que o valor possui sinal unsigned indica que o valor não possui sinal void tipo vazio Constantes Constantes do pré-processador: (PS: não se utiliza ponto-e-vírgula no final deste tipo de constante) #define <constante> <valor> exemplo: #define PI 3.1415926 Tipos Constantes: …
-
- 0 respostas
- 733 visualizações
- 1 follower
-
-
Primeiro Vá Em Data/Spells/Scripts/Attack Crie Um Arquivo Chamado : noble Agora Abra O Arquivo E Cole Isto Dentro : local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_PHYSICALDAMAGE) setAttackFormula(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE, 50, 50, 80, 100) local area = createCombatArea(AREA_CROSS5X5) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end 50, 50, 80, 100) É O Ataque Do Poder Vcs Editam Quanto Vcs Querem ~~ Vamos Lá Salve e feche , Agora vá em 'spells.xml' e adicione esse TAG Aba…
-
- 1 resposta
- 1.3k visualizações
-
-
Bom, vi que algumas pessoas estão com problemas com coisas muito simples em scripting, então resolvi fazer esse tutorial ensinando o básico. Criando um novo monstro Vá em otserv/data/monster e escolha com qual monstro vc quer que o seu novo pareça ex. demon. Copie o aqruivo do monstro e renomeie para o nome do seu monstro e em seguida abra-o. aparecerá mais ou menos isso: <?xml version="1.0" encoding="UTF-8"?> <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="280" manacost="0"> <health now="8200" max="8200"/> <look type="35" corpse="5995"/> <targetchange interval="5000" chan…
-
- 2 respostas
- 1.9k visualizações
-
-
Criado por: Kaotar Testado e Baseado em: TFS 0.4_DEV Informações adicionais: Todo mundo já se deparou, quando foi modificar a sua spell, com a formula e não entendeu o que cada numero significava, irei explicar tudo o que necessitas nesse tópico. Hail, bom como já leram nas informações adicionais acima, estou aqui para explicar o que cada numero, na formulas de combat, significam. Formula: setCombatFormula(combat, type, mina, minb, maxa, maxb[, minl, maxl[, minm, maxm[, minc[, maxc]]]]) Como podem ver são varios os argumentos que passamos para essa função: para facilitar a explicação vou chama-los de forma diferente. Notem as cores, você pode escol…
-
- 2 respostas
- 2.5k visualizações
-
-
Pattern Pattern ("Padrão" em pt-br) é uma poderosa funcionalidade para manipulação de strings (caso você não saiba o que é uma "string", busque saber antes de continuar, recomendo também ter um certo domínio sobre a biblioteca string), e usada para buscar um padrão de texto pré-definido. Porque aprender ? Possui recursos indispensáveis quando se precisa trabalhar com strings, alta aplicabilidade em scripts direcionados a otserv (talkactions), não que se vá usar isso a todo o momento, mas é altamente recomendado que se saiba trabalhar com patterns, é extremamente útil as vezes. Funções Algumas funções da biblioteca padrão string que aceitam pattern em seu…
-
- 0 respostas
- 775 visualizações
- 1 follower
-
-
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
-
-
Eu acho que muito deles já podem ter sido postados aqui, só queria colocá-los juntos para as pessoas que querem entender e programar em C++. C++ Tutoriais - http://www.cplusplus...es/tutorial.pdf Este tutorial é bem detalhado, bem explicado e um pouco longo. C++ Game Programming Nesta página você poderá encontrar tutoriais para C++ e programação de jogos, não bem detalhado mas tem coisa boa. Beginners Games Programming Eu ainda não chequei este, mais parece ter coisas úteis. Programas Úteis - Download Dev C++ from SourceForge.net Aqui você poderá baixar o Dev-C++ v.4.9.9.2, use para criar programas em C++. Links Úteis - Browse Dev-C++ Development Packages File…
-
- 1 resposta
- 1.6k visualizações
- 1 follower
-
-
Funções muito úteis Galera, nesse tópico vou mostrar algumas funções muito usadas no mundo dos OTS, pra que elas servem e como devem ser usadas. doPlayerAddItem(uid, itemid[, count/subtype[, canDropOnMap]]) Nota: Parâmetros que ficam entre [], são opcionais e recebem alguns valores por padrão caso não sejam especificados. Conforme o tempo vou adicionando mais funções aqui .-. doCreatureSay(uid, words[, type]) getCreatureName(cid) getCreatureHealth(uid) getCreatureMaxHealth(uid) getCreatureMana(uid) getCreatureMaxMana(uid) getPlayer…
-
- 1 resposta
- 881 visualizações
-
-
Olá galera, eu estava sem nada pra fazer e fui brincar com o "SciTe", e fazendo meus codigos, precisei de uma forma de contar recrescivamente um numero, então eu fiquei com preguissa de fazer aquele codigo SUPER GRANDE, e resolvi testar alguns codigos simples. e acabei descobrindo o FOR para contagem de subtraçoes. Meu Codigo : local a = 60 for b = 1,60 do c = a - 1*b print(c) end Resultado : 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Es…
-
- 2 respostas
- 562 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 de fumaça e vai encerrar a execução. Caso contrário: se for um jogador com todo…
-
- 12 respostas
- 2.1k visualizações
-
-
<< Aula 6 - Escopo Estruturas de controle Aula 7 Bem-vindos à Aula 7 (Da sorte). Hoje iremos aprender mais uma coisa importantíssima na área de scripting e programação em geral: as Estruturas de Controle. Bem, Estruturas de Controle definem o andamento do script. Para entendermos melhor, vamos ver o algoritmo de uma Estrutura de Controle simples: Veja, agora um em lua: Compare as cores do script em Lua com o escrito em português. Nossa Estrutura de Controle se chama condição, iniciada por if (se). Para entendermos basta traduzir. Veja como se usa o if: Citado acima, true seria o que vai ser verificado, exemplo: …
-
- 1 resposta
- 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
-
-
Bom Galera, muita gente anda procurando um script ou tutorial de como colocar o GOD pra falar anonimamente no HELP chat, é eu e meu amigo conseguimos arrumar, então vim posta para o TK, ajudando a todos como sempre.... DIA 1 DE FEVEREIRO INAUGURAÇÃO DO REPLICA DO TIBIA GLOBAL - WOTABR... EM BREVE SITE ESTARÁ DISPONÍVEL Em Game.cpp usa o comando - Ctrl + F e procure por esse script. case MSG_CHANNEL: { if(channelId == CHANNEL_HELP) { if(player->hasFlag(PlayerFlag_TalkOrangeHelpChannel)) type = MSG_CHANNEL_HIGHLIGHT; if(player->hasFlag(PlayerFlag_CanTalkRedChannel)) type = MSG_GAMEMASTER_CHANNEL; } break; } Em seguida troque…
- 15 respostas
- 1.9k visualizações
-
Mods Mods são no geral um conjunto de scripts que quando unidos servem para executar alguma ação no seu servidor, como adicionar eventos como Capture The Flag e etc. Como funcionam? Todo mod, tem um arquivo xml que fica dentro de sua pasta mods . Eles geralmente têm essa estrutura: <?xml version = "1.0" encoding = "UTF-8"?> <mod name = "The Surprise Bag" author = "MaXwEllDeN" version = "1.0" enabled ="yes" contact = "maxwellmda@gmail.com"> <event type = "logout" name = "LTSBag_Logout" event = "script" value = "The Surprise Bag/Creaturescript.lua"/> <talkaction words = "!surprisebag" case-sensetive = …
- 9 respostas
- 822 visualizações
-
Olá Tk, Meu OTRestarter evoluiu desde a última versão 1.0.0, eu melhorei ele algumas vezes sobre e sem liberá-lo aqui devido a alguns comentários ruins última vez. De qualquer forma aqui é com SOPRO recursos! E muito mais na versão 2.0.3! Vamos começar a introdução de OTRestarter v2.0.3 -: | Imagens |: - - Botão Drag'n'Drop! -Visão geral do programa: -Auto-Updater -:| VIRUS SCAN |:- NOTA: Por favor relatar quaisquer bugs Se você encontrou algum. Visite o meu site! AeroSoft Agradecimentos para ver ou fazer download, Aerox Aerox12 ArthurLuna …
- 5 respostas
- 1.2k visualizações
- 1 follower
-
Neste tutorial ira ser ensinado como checar se um servidor esta online ou offline atravez do ip e port . Componentes Adicione em seu formulário um componente ClientSocket (localizado na paleta Internet), 1 Button e 2 Edits (1 para IP e outro para Port). Altere as seguintes propriedades do ClientSocket: - Active: False - ClientType: ctNonBlocking - Name: ClientSocket Altere o nome dos Edits para: - Edt_IP - Edt_Port Altere o nome do Button1 para Btn_Checar Altere o nome do Formulário para Frm_Principal Programação 1. No evento OnClick do Btn_Checar coloque : ClientSocket.Host := Edt_I…
- 1 resposta
- 5.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
-
ja vi varias pessoas com problema na Arena Quest principalmente em ots 9.6 ( Quando voce mata o Boss e mesmo assim nao passa pelo portal pra proxima room) vou mostrar como e simples arrumar o problema basta fazer o seguinte vá na pasta creaturescripts do seu ot e crie um arquivo com o nome arenakill.lua caso ja tenha basta abrir e subistituir o script, logo em seguida adicione o script: e salve o arquivo e feche. depois abra o arquivo creaturescripts.xml e adicione a linha: caso ja tenha nao precisa adicionar, depois de feito esse procedimento ligue o ot e faça a quest que estará funcionando 100% atenção so irá funciona caso vc nao esteja conseguindo passa…
- 2 respostas
- 1.1k visualizações
-
#Adicionando mounts em server 8.7+ Tutorial: Neste tuto vou ensinar a vocês como adicionar mais mounts em seu server 8.7+ que já tenha mount sistem, como por exemplo um War Wolf Va em seu Mounts.xml E adicione a tag com seu ID e nome <mount id="-" clientid="-" name="--" speed="--" /> * Mount id eh a identificaçao de sua montaria... no caso sempre ponha 1 a mais q o anterior. * O Client ID é o looktipe de sua Outfit. * Name é o nome de sua montaria. * Speed é a velocidade que a montaria oferece. * Vamos fazer com um War Wolf... que seu Outfit eh o numero 3 Logue o GOD e verá que o War Wolf já estará disponível…
-
- 5 respostas
- 2.9k visualizações
-
-
Lista dos melhores tutoriais, selecionados e classificados por nivel de conhecimento necessár io , a lista não precisa ser seguida necessariamente na ordem que se encontra, este tópico apenas contém um apoio ao estudo. Lembrando , não reviva os tópicos aqui listados com agradecimentos ou comentários desnecessários , salvo os casos onde alguma dúvida não foi sanada (pesquise antes para saber se sua pergunta já não foi respondida) e for relevante ao assunto tratado no tópico ! As estrelas representam o nível de recomendação tendo como base o conteúdo tratado em cada tutorial e não o nível de qualidade. Matematica Afina…
-
- 1 resposta
- 791 visualizações
-
Quem Está Navegando 0
- Nenhum usuário registrado visualizando esta página.