Ir para conteúdo

Tutoriais sobre Scripting

Aprenda com os mestres da comunidade a desenvolver seus scripts, sistemas e domine a linguagem .lua!

Atenção!

- 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:

 

  1. Started by ADM WAR,

    esse post e para aquelas pessoas que sofre com isso na hora de abrir a tfs em linux ./tfs: error while loading shared libraries: liblua5.1.so.0: cannot open shared object file: No such file or directory so basta executar isso apt-get install subversion autoconf build-essential pkg-config libboost-dev libgmp3-dev libxml2-dev liblua5.1-0-dev libmysqlclient-dev libcrypto++-dev ccache libboost-filesystem-dev libboost-regex-dev libboost-system-dev libboost-thread-dev screen libssl-dev

    • 1 resposta
    • 934 visualizações
  2. Galera vim aki mostrar o meu Primeiro Video do Canal e Escolhi faze-lo sobre uma duvida que muitos ainda tem "Como colocar novos itens no Server e no Mapa". Beleza, no video a seguir to explicando Passo-a-Passo de como fazer isso. Vídeo: https://www.youtube.com/watch?v=X_2et_d9bg8 Bom galera é isso, espero que gostem do video feito para responder essa duvida. Creditos: Eu-> por fazer o video e publicalo Zangoosedoido-> pelo cliente que usei para tirar as Sprites Xandeloko-> pelo server que usei para testar

    • 3 respostas
    • 1.8k visualizações
  3. Started by Bluetooth,

    Instale as lib # apt-get install git cmake build-essential liblua5.2-dev libgmp3-dev libmysqlclient-dev libboost-system-dev execute os comandos $ cd /pasta_do_tfs $ mkdir build && cd build $ cmake .. $ make pronto sua distro esta na pasta build nomeada de tfs

    • 3 respostas
    • 1.4k visualizações
  4. Started by TNTDZ,

    removido

    • 1 resposta
    • 580 visualizações
  5. Started by Antonio lucas,

    Eae ae blz leks do TK hoje vou ensinar como compilar seu client com o molebox 1ºBaixe instale e abra o molebox 2ºva em brower 3ºSelecione o arquivo .exe do seu client 4ºse vc quizer escolher o nome do seu client mude onde esta escrito Pack to 5ºclick em add file e escolha os arquivos .pic .dat e .spr 6ºclick em Pack To Box 7ºVai carregar uns treko e assim que termina vai aparecer isso 8ºpronto o arquivo vai tar na pasta em que esta o client original do seu ot Esse e meu primeiro tutorial se eu fiz algo errado mals ae Dowload do molebox:http://www.4shared.com/rar/DktdIb9cba/MoleBoxProv2612387Cracked-F4CG.html site do molebox pra vcs ver…

    • 5 respostas
    • 8.2k visualizações
  6. 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.3k visualizações
  7. Started by Duuhzera,

    Bom galera, vejo que muita gente pede ajuda para adicionar coondown em magias, runas, actions, etc.. entao vim aqui ensianr como adicionar o tao procurado coondown Primeiramente abra seu script, e procure onde ele faz a funçao como: Na linha a baixo da funçao, adicione isto : 23006 é o storage do exaust, coloque diferente em cada magia/action/talkaction para nao interferir umas nas outras. 20 é o tempo em segundos para poder usar a magia/action/talkaction/ novamente. Após adicionar isto, e configura-lo, pule uma linha e pronto Espero ter ajudado!

    • 2 respostas
    • 990 visualizações
  8. Ola galera do tibia king, bom esse topico ja havia sido feito mais estava muito grande e confuso resolvir edita-lo para melhor compreende-lo, bom como o Titulo ja diz eu irei ensinar como adicionar Wayfarer Addon Full nas versoes 8.60. (Desculpe-me pelos erros nas acentuaçoes pois meus acentos nao esta funcionando, n~~ao). Bom vamos la. Abra a pasta DATA>NPC>SCRIPTS> e crie um arquivo chamado wayfarer.lua e coloque isso dentro local focus = 0 local talk_start = 0 function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then se…

  9. Started by Featzen,

    Bom, todos acham 255 efeitos muito pouco, né? Então tá aí, pra quem quiser aumentar esse limite pra 65,535. Mas como nem tudo é perfeito, pra fazer isso você precisará estar usando OTClient e também ter as sources do seu servidor. PS: Só testei em 8.54 Vamos ás edições do servidor: No protocolgame.cpp: No protocolgame.h: No game.cpp: No game.h: No player.h: Bom, agora falta editar no const.h: Está quase pronto, agora, falta fazer o client aceitar esses dados, pra isso, em otclient/modules/game_things/things.lua, em baixo de: local version = g_game.getClientVersion()Adicine: …

  10. Started by cleber13,

    ola! gostaria de alguem que possa ajudar alguns que estao começando a criar ot server . eu criei spell no spell creator mais as tags que ele gera como adiciono elas no ot server. segue as magias e desde ja agradeço. <instant name="teste" words="default" lvl="100" maglv="0" mana="0" exhaustion="30" prem="0" needlearn="0" blockwalls="0" aggressive="1" event="script" value="teste.lua"> </instant> -- SpellCreator generated. -- =============== COMBAT VARS =============== -- Areas/Combat for 0ms local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, 226) setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_UN…

    • 3 respostas
    • 886 visualizações
  11. Started by dodoby,

    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
  12. Started by L3K0T,

    Bom pessoal eu estava sofrendo com um erro, que dava shutdown em meu server, ele não reiniciava, ficava só no shutdown o dia todo, então eu resolvi verificar esse código game.cpp, resolvi meu problema e venho compartilhar com vocês. Vá em game.cpp procure void Game::shutdown() até exit(1);#endif } e substitua entre ele por esse abaixo: void Game::shutdown() { std::clog << "Preparing"; Scheduler::getInstance().shutdown(); std::clog << " to"; Dispatcher::getInstance().shutdown(); std::clog << " shutdown"; Spawns::getInstance()->clear(); std::clog << " the"; Raids::getInstance()->clear(); std::clog << " server"; …

  13. Started by grafit,

    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

  14. Started by MerlinMage,

    Boa noite pessoal ,eu gostaria de saber primeiramente como que eu faço pros players usarem os outfits com os 2 addons .. sem ter aquela coisa de addon doll . ou de ter q pegar em npc... como eu habilito os 2 addons?

    • 3 respostas
    • 1.6k visualizações
  15. Started by tioj,

    Bom galera eu estava tentando arrumar a dex do pda porque quando você tenta adicionar novos pokes de outras gerações eles simplesmente não apareciam na dex ou no comando /dex, bom com essas gambiarras modificações que eu fiz está dando certo e não vejo nenhum erro (até agora). bom vamos as scripts: data>actions>scripts>pokedex.lua substitua todo o arquivo por esse: agora vá em data>creaturescripts>scripts>newpokedex.lua e substitua tudu por esse: function onSay(cid, words, param, channel) if param == "" then doPlayerSendCancel(cid, "Por Favor, digite /dex <name of pokemon> para ver se possui ele em sua d…

    • 2 respostas
    • 2.5k visualizações
  16. E ai galera, venho para minha primeira contribuição! Tenho visto bastante pessoas com dificuldade ao compilar em Linux. Estarei inserindo imagens ao TUTORIAL para facilitar e melhor explicar. PROGRAMAS NECESSÁRIOS: http://the.earth.li/~sgtatham/putty/0.63/x86/putty.exe- Putty - Para conectar ao Terminal. http://sourceforge.net/projects/filezilla/files/FileZilla_Client/3.9.0.5/FileZilla_3.9.0.5_win32-setup.exe/download?use_mirror=ufpr -Filezilla - Para transferir arquivos ao servidor. PASSO 1: Acessar o servidor via SSH utilizando o programa Putty. (imagem Putty 1) (imagem Putty 2) PASSO 2: Digite os comandos abaixo no Putty após conectado. apt-get update …

    • 10 respostas
    • 3.9k visualizações
  17. 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
    • 2.1k visualizações
  18. Olá pessoal! Nas etapas a seguir vou tentar descrever de uma forma clara e objetiva como compilar o servidor otserv global1051 com suporte ao mysql no Fedora 21, lembrando que não vou abordar a instalação de um servidor LAMPP e/ou configuração do Banco de Dados. Apenas a instalação dos pacotes necessário para compilar e as etapas. Requerimentos: Fedora 21 instalado ou virtualizado e devidamente atualizado; Poderes administrativos "root" para instalar os pacotes necessários; Conhecimento para acessar pastas usando o terminal (recomendado, mas é opcional, caso o seu gerenciador de arquivos tenha suporte de abrir terminal, no Nautilus é necessário ter instalado o n…

    • 1 resposta
    • 588 visualizações
  19. Started by Patrick Jean,

    Nome do Script: Removendo Account Salt Autor: Henke Rula Servidor Testado: OTX Server 9.8x e outras versões também serve Descrição: Mesmo tendo a opção no config.lua, não é retirado o salt do banco de dados. Então modifiquei nas sources forçando não criar o Salt na tabela. Requisitos: Sources do Servidor Abrir "iologindata.cpp" e procure por : query << "SELECT `name`, `password`, `salt`, `premdays`, `lastday`, `key`, `warnings` FROM `accounts` WHERE `id` = " << accountId << " LIMIT 1"; E Troque por: query << "SELECT `name`, `password`, `premdays`, `lastday`, `key`, `warnings` FROM `accounts` WHERE `id` = " << accountId << " LIM…

  20. Started by Fir3element,

    Não me lembro bem mas acho que esse bug foi fixado só na versão 8.62, então pode ajudar muita gente... O comando !disband não funcionava direito, o player continuava na guild e acho que dava pra clonar items também. Os créditos vão para o slawkens. No arquivo ioguild.cpp, troque: bool IOGuild::disbandGuild(uint32_t guildId) { Database* db = Database::getInstance(); DBQuery query; query << "UPDATE `players` SET `rank_id` = '' AND `guildnick` = '' WHERE `rank_id` = " << getRankIdByLevel(guildId, GUILDLEVEL_LEADER) << " OR rank_id = " << getRankIdByLevel(guildId, GUILDLEVEL_VICE) << " OR rank_id = " << getRankIdByLevel…

    • 3 respostas
    • 838 visualizações
  21. Started by MarceLoko,

    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
  22. Bom dia! Trago estas três funções .lua que utiliza o player ID da database para retornar o Nome, vice-versa e o próprio ID Não consigo lhes dar exemplos de utilização, entretanto eu as utilizo. Estou certo que pode servir para alguém. • getPlayerNameById(id) • getPlayerIdByName(name) • getPlayerID(cid) Créditos a mim mesmo. Abraço!

  23. Started by Caronte,

    Olá pessoal, estou fazendo esse tutorial a pedido de admelite no meu tópico como um tutorial é algo fácil e rápido de fazer (dependendo do tema) eu me propus a fazer: Esse tutorial é bem simples, porém não se encontra no TibiaKing, acho que o motivo é a sua simplicidade, e ele pode ajudar a qualquer um que esteja começando agora a criar um servidor tibia OTserver. Ok chega de lorotas, vamos começar: De nada adianta você querer adicionar uma spell, se você não sabe fazer uma, por isso, eu recomendo que veja pelo menos dois tópicos do fórum antes de ver este: http://www.tibiaking.com/forum/topic/7448-criando-spells-para-seu-servidor/ http://www.tibiaki…

    • 13 respostas
    • 4.8k visualizações
  24. Started by Summ,

    Com o avanço do TFS outras versões como 10.04, 12.04, 13.10... pararam de oferecer uma boa estabilidade para os otserv tfs 1.0 +, então várias pessoa estão migrando para o linux 14.04 e sentem algumas dificuldades com instalação de libs, compilamento e instalação de um banco de dados, então a pedido de um amigo meu fiz um breve tutorial, para alem de ajuda-lo ajudar outros com eventuais dúvidas. Então vamos ao que interessa : Downloads necessarios: SSH Secure Shell WinSCP Acessando Shell SSH veja os passos a seguir : Proxima vez que você for acessa sua maquina por Shell clique em Profile sem ter necessidade de clicar em Quick Connect: …

  25. Started by Bruno Minervino,

    Fala Galera, Hoje eu venho trazer um tutorial a vocês de um Painel de Controle Online para gerenciamento de seu OT. Com este exemplo, creio que vai inspirar muita gente a criar novas ferramentas. Minha intenção era vincular ao Gesior, porém, deixo por conta da imaginação de vocês. Pré-requisitos: Liberar a função "shell_exec" no seu PHP. Instalar os comandos sudo e screen. Vamos Começar... Faça login no seu servidor com o root. Entre com o comando em negrito: pico /etc/init.d/theforgottenserver e adicione isso: #!/bin/sh # # Startup and signals management script for TheForgottenServer # case "$1" in start) echo -n "Starting theforgottenserver…

    • 3 respostas
    • 1.9k visualizações
  26. Bem, quebrei muita cabeça um dia desses com esse maldito Bug, porém, com umas dicas do amigo "danihcv" e eu mexendo, acabei resolvendo e quis dividir esse tutorial com o povo do TibiaKing. Lembrando que esse erro acontece quem usa Mysql e possue website "Gesior"( Não sei se todas as versões dão esse erro, mas a versão 0.3.8 deu). Vamos deixar e papo e mão na massa . O erro é o seguinte: - Quando loga a conta no tibia ele abre a janela normalmente do char, porém, quando tenta logar dar esse erro: (Esse erro é um conflito que há entre as coordenadas (x,y e z) do config.lua + database). 1- Para retirar esse bug, a primeira coisa será entrar no config.lua e achar ess…

    • 9 respostas
    • 4.3k visualizações
  27. Started by Danihcv,

    Aqui no TK tem alguns tutoriais ensinando a botar novas mounts em seus servers, porém não achei nenhum que trouxesse uma informação fundamental: existe um limite de mounts que vc pode ter em seu server ao mesmo tempo. Por exemplo, em meu server o limite é de 50 mounts. Se eu colocar, no arquivo mounts.xml, 51 mounts, o player quando abrir a tela pra escolher a mount ou irá tomar debug, ou a mount simplesmente não estará lá. Tendo isso em mente, vamos ao tutorial: 1°) Colocando a criatura como mount Abra seu arquivo mounts.xml que se encontra na pasta data/XML. Dentro dele adicione a seguinte tag: Em vermelho vc irá colocar o id da mount. Para …

  28. Boa noite meus amigos do TK! Hoje venho trazer uma vídeo aula que muitos me pediram sobre como adicionar novos pokémons no PDA que possui Icon System! (Funciona nos que não possuem Icon System tbm) É um esquema bem simples, porém detalhista. Basta seguir o passo a passo que você não terá problemas http://youtu.be/AUlpi33gsgk OBS: Desculpem, o vídeo ficou muito longo, mas acredito que para aqueles que estiverem com dúvidas, esse vídeo responderá quase tudo! Edit: Item Editor by EdMignari Edit 2.0: Esse é um vídeo do membro Dyego que será muito útil sobre como adicionar as sprites novas no seu Object Builder!Não deixem de conferir: https://ww…

    • 37 respostas
    • 6.5k visualizações
  29. Started by fabiodias,

    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.3k visualizações
  30. Atualizado (2016) Olá galera do TibiaKing! Hoje vim trazer um tutorial em video de como criar novos moves no seu server de PDA. Então, vamos lá, espero que gostem! VIDEO: Spoiler *Desculpa pela má qualidade, não consegui deixar 720p. SCRIPT USADA: Spoiler elseif spell == "NOME DO ATAQUE" then setPlayerStorageValue(cid, 3644587, 1) addEvent(setPlayerStorageValue, 4*400, cid, 3644587, -1) for i = 1, 1 do addEvent(doMoveInArea2, i*10, cid, EFEITO, AREA, DAMAGE, min, max, spell) …

    • 11 respostas
    • 3.3k visualizações
  31. Started by SuggestName,

    Boa Noite pessoal, dando continuidade a série de tutoriais hoje eu venho trazer mais alguns exemplos de como podemos trabalhar com os parâmetros (position, lastposition, from position e toposition) só que agora em uma action simples. 1° Eu Criei uma função para verificar uma área pré-determinada a procura de creatures, e salva-las em um array. function getCreatureInArea(pos, area) local centro = {} local uids = {} for y = 1, table.getn(area) do for x = 1, table.getn(area[y]) do if area[y][x] > 0 then centro.x = math.floor(table.getn(area[y])/2)+1 centro.y = math.fl…

    • 1 resposta
    • 584 visualizações
  32. Aula 001 Movements- Explicação de parâmetros. Dentro das funções StepIn/StepOut temos alguns parâmetros que podem ser muito uteis para alguns tipos de scripts. Esses parâmetros são: position, lastPosition, fromPosition, toPosition 1° Parâmetro - position Esse parâmetro é o responsável por mostrar a posição de onde o script foi ativado, Toda vez que um player ou creature executar um movement StepIn/StepOut o parametro position vai marcar a exata posição de onde o script foi ativado. 2/3 ° Parâmetros - lastPosition, fromPosition Esses dois parâmetros tem a mesma função, que é registrar de onde o player ou creature que executou o script veio, To…

    • 1 resposta
    • 1.1k visualizações
  33. Started by r0bert0lol,

    Olá galerinha do TK... Recentemente em meu server estou com alguns problemas relacionados a spells... O problema é o seguinte... O Player X Usa uma spell de ataque no player Y porem se tiver mais de 1 player no mesmo sqm do player Y todos sofrerão o ataque mesmo se a spell usada pelo player X for uma spell de target... Alguns players sacaram esse problema e estão abusando fazendo pessoas pegarem red em Escadas que geralmente fica mais de 1 player no mesmo sqm... Talvez o problema seja facil de resolver mas eu não estou ligado como é... Esse bug eu posso consertar onde ? Na tag msm no spells.xml ? Por que acontece isso ? Uma magia de ataque target hitando todos que…

    • 1 resposta
    • 384 visualizações
  34. Started by GabrielSapient,

    Galera sempre procurei um Launcher AutoUpdate para meu servidor, depois de muita pesquisa e pouco conhecimento consegui fazer um em C#, está ai: 1. Download: • Download | • Scan 2. Oque ele faz: • Verifica a existência da versão local na pasta do cliente; • Se a versão do arquivo não existir, ele assume que a versão é "1.0" e cria um arquivo de versão; • Verifica arquivo .xml no servidor de atualização; • Baixar atualizações para todas as versões maiores do que a versão atual do cliente (atualiza tudo em apenas formato de arquivo .zip); • Extrai os arquivos .zip…

  35. Started by Sanieg,

    [[Tópico formatado e melhorado]] Então pessoal irei ensinar como adicionar um novo pokemon no servidor configurando as técnicas e passivas etc... Primeiro você terá que adicionar o pokemon no servidor, então vamos lá o pokemon que adicionarei é o shiny tangrowth Abra o bloco de notas com o arquivo Shiny Tangrowth.xml e nele coloque: Coloque esse script em data/monsters/scripts depois vá em data/monsters abra monsters.xml e em seguida adicione esse tag no Monsters.xml: <monster name="Shiny Tangrowth" file="scripts/Shiny Tangrowth.xml"/> Agora para poder capturar e usa-lo. Abra data/lib depois configuration.lua e…

    • 9 respostas
    • 8.2k visualizações

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Informação Importante

Confirmação de Termo