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. Olá pessoal do TibiaKing, hoje venho aqui trazer um mini tutorial de como colocar o exhaustion corretamente em suas spells, bastante gente utiliza o exaustion que está no proprio xml, mas por lá acontece alguns erros exemplo: se tiver uma spell com 8000 de exaustion, e outra de 2000 e você vai no seu servidor e usa a spell com 8000 de exhaustion, tem que esperar o tempo dela pra usar qualquer outra, o método que venho trazer aqui ele funciona corretamente e ainda avisa no console quanto tempo falta para usar a spell, sem mais delongas vamos lá! 1- vá até o seu XML procure a magia que quer por o exhaustion exemplo: Spoiler <instant …

    • 3 respostas
    • 2.1k visualizações
  2. Started by Guiiway,

    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
    • 2.1k visualizações
  3. Started by Kimoszin,

    Oque é variavel? Variavel é aquilo que varia, ou seja nao tem um valor fixo, Em lua elas deixam o script mais facil, mais facil dos outros que nao entende muito de lua a modificar os script que fazemos Entendo: Sem variavel funciton onUse(cid, item) -- Função ao usar o item doPlayerAddMoney(cid, 1000) -- Adicionar dinheiro fixo end Com variavel funciton onUse(cid, item) -- Função ao usar o item local money = 1000 -- Variavel de dinheiro doPlayerAddMoney(cid, money) -- Adicionar dinheiro que esta na variavel end Exemplo de variaveis local variavel = 100 Como usar: doPlayerAddMoney(cid, variavel) variavel = 100 …

    • 4 respostas
    • 2.1k visualizações
  4. Started by TonyHalk,

    como esses programa fuciona? simples vou ensinar aqui com fotos e tudo mais Scripter-maker USANDO MONSTER MAKER E SPELL MAKER Bem-Vindo! Criar Monstro Criar Spell Tray Sobre Reportar Bug Sair Salvar Dano: Efeito: Efeito de Distância: Usar Area Nome da Magia: Palavras Magicas: Target Usa Direcao E Agrecssiva Da Exhaused Aprender Gerar Numero positivo cura e negativo ranca vida. Nome: Descricao: Raca: Experiencia: Velocidade: ManaCost: Vida: Tipo: Cabeca: Corpo: Pernas: Pes: Corpo (morto): Addons: Fisico Energia Fogo Veneno Life Drain Paralizia Outfit Bebado Invisive…

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

    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
    • 2k visualizações
  7. Started by Jeff Owns,

    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
  8. Started by joaotmed,

    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
    • 2k visualizações
  9. Started by xFatality,

    Hoje eu ensinarei como criar uma Spell de cura estilo "Heal Editeds" para criar uma magia dessa é simplesmente fácil, só requer paciência. Então vamos ao que interessa. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, 80000, 0, 100000)[/b] [left][b]function onCastSpell(cid, var) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Healing 80k~100k.") return doCombat(cid,…

    • 0 respostas
    • 2k visualizações
  10. Started by Slaake,

    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
  11. Started by vmf91,

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

    Olá TK, hoje venho publicar um sistema bem interessante que venho mexendo há algumas semanas, estou falando do Cam System, um sistema de nível avançado que coleta packets durante a jogatina e forma uma gravação daquele momento, onde você poderá assistir à essa gravação quantas vezes quiser, como um replay, porém o sistema está limitado somente para fins de estudos e curiosidades. Não recomendo utilizar em seu servidor, pois como está limitado, também está rodando dentro do TFS e pode pesar, já que não tive tempo para otimizá-lo e criar um server próprio somente para assistir às gravações. Também não está serializando/deserializando em arquivos.cam, está salvando na memóri…

    • 2 respostas
    • 1.9k visualizações
  14. Started by LuckinhaSan,

    Fala Pessoal Do Fórum Tibia King! Hoje Estou Aqui Para Mostrar a Vocês o Que é Memória RAM, Pra Que Serve e Como Mante-lá Limpa, Para Melhor Funcionamento De Seu Computador. Todos Sabem Que Ela é Essencial Para Um Bom Servidor Né? Então Vamos Lá! O QUE É MEMÓRIA RAM? a Memória RAM é a Memória Que Armazena Tudo o Que Você Acessou Recentemente No Computador. Ela Armazena Para Que o Próximo Acesso a Determinado Processo Ou Arquivo Seja Mais Rápido. Quanto Maior a Memória RAM, Maior o Número De "Processos" Suportados. PARA QUE SERVE A MEMÓRIA RAM? Se o Processador é o Cérebro Do PC Podemos Considerar a Memória RAM o Seu Coração, Ela Armazena Informações Para Que …

    • 1 resposta
    • 1.9k visualizações
  15. Started by 3visan,

    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…

  16. Started by Skyligh,

    Olá galera do tibiaking, hoje estou trazendo um tutorial para vocês que querem entender a linguagem.lua Entendendo A Linguagem.lua Então vamos aprender a linguagem . Abaixo irei amostrar todos os significado do ((if , end , else , elseif , then , and)) traduzido para o português if - Se then - Então end - Fim else - senão elseif - senãose and - e Functions Iniciais De Um Script Agora irei ensina-los qual e as functions certas para iniciar um script function onUse(cid, item, frompos, item2, topos) -- Action function onLogin(cid) -- so se for usa alguma tag no login.lua utilize essa function ela serve para creaturescripts. fu…

    • 2 respostas
    • 1.9k visualizações
  17. Started by Omaximo,

    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
  18. Started by KibeMatheus,

    Olá galerinha Xtibiana, Xtibiana nada, eu sai daquele forum lixo abandonado. Recomeçando... Olá galerinha Ktibiana ! Hoje eu estou aqui para ajudar a você um modo facil de entender um script, mas é muito facil mesmo! Vamos lá... Peguei esse script de um lugar qualquer... function onKill(cid, target, lastHit) local mName = "Nature Witch" -- monstername local storage = 15598 if(isPlayer(cid) and getCreatureName(target) == mName) then doPlayerAddItem(cid,12662,1) setPlayerStorageValue(cid, storage, 1) return true end elseif(isPlayer(cid) and getCreatureName(target) == mName and getPlayerStorageValue(cid, storage) == 1) then end return t…

    • 4 respostas
    • 1.9k visualizações
  19. Started by L3K0T,

    Bom pessoal estarei aqui lhe ensinando como aumentar os efeito de /x aqueles efeitos de distancia tipo bolt. Então vamo começar, vá em CONST.H e ache enum ShootEffect_t rolando pra baixo terá o efeito SHOOT_EFFECT_CAKE = 0x29, //41 add embaixo o novo efeito ficando SHOOT_EFFECT_NOVO1 = 0x30, //42 SHOOT_EFFECT_NOVO1 = Nome do efeito 42 que dei 0x30 = id do efeito todo efeito deverar ser +1 no cado efeito 43 terá que ser 31 //42 = Numero do efeito pra falar no /x 42 agora final troque …

  20. Started by 3visan,

    While & repeat Aula 8 Primeiramente desculpe a demora por essa aula, ficou meio aquela de; ah faz você, não faz você, anem faz você; Mais em fim estamos de volta com uma coisa indispensável em scripting que são os loops. Antes de tudo devo avisa que loops são perigosos, você pode travar seu servidor inteiro usando errado um loop. Os loops são usados para inicialmente quando temos varias funções juntas iguais, por exemplo, fazendo um jogador falar oi 10 vezes. Sem os loops você faria assim: doPlayerSay(cid,'oi',1) doPlayerSay(cid,'oi',1) doPlayerSay(cid,'oi',1) doPlayerSay(cid,'oi',1) doPlayerSay(cid,'oi',1) doPlayerSay(cid,'oi',1) doPlay…

    • 0 respostas
    • 1.8k visualizações
  21. Started by 3visan,

    Bem amigos da rede globo, estou aqui para dar continuidade as aulas. E a aula de hoje é sobre Funções, suas utilizações e como criar. O que são? Bom, você jovem padawan já deve ter se deparado com algo assim em algum script: function doPlayerAddAddons(cid, addon) for i = 0, table.maxn(maleOutfits) do doPlayerAddOutfit(cid, maleOutfits[i], addon) end for i = 0, table.maxn(femaleOutfits) do doPlayerAddOutfit(cid, femaleOutfits[i], addon) end end Peguei essa função no arquivo lib/functions.lua Isso é uma função (dãa). As funções são blocos de instruções (comandos) que o servidor lê e executa. Você tem a liberdade de criar elas na pa…

    • 1 resposta
    • 1.8k visualizações
  22. Started by KibeMatheus,

    Olá galerinha Ktibiana, Pra vocês que não sabem criar montros, ou não sabe balancear etc... Quem ler esse tópico vai aprender essa po$%! agora. Usarei o demon.xml totalmente modificado para que tenha mas exemplos nas partes onde cria mais dúvida as pessoas: <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" chance="8"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illu…

    • 1 resposta
    • 1.8k visualizações
  23. Started by Luquinha,

    Tutorial de Vocations e Outfits Aqui mostrarei como mexer completamente no vocations.xml, para você não ter mais duvidas. Como monta-lo <vocation id="1" name="Sorcerer" description="a sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="6" gainhpamount="5" gainmanaticks="3" gainmanaamount="5" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="1"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing=…

    • 10 respostas
    • 1.8k visualizações
  24. Started by Reds,

    Hoje estou trazendo um script bem simples, mas que é muito divertido.. Uma modificação no script da SD, mas que você pode utilizar em alguma outra rune/spell. O que eu fiz foi modificar para a SD ter uma chance de dar "double hit", nesse caso 20%. Para fazer isso é bem simples, altere o código da sua SD para: Spoiler local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) …

    • 4 respostas
    • 1.8k visualizações
  25. Started by Artur Henrique,

    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.8k visualizações
  26. Started by Ryzor,

    Metamétodos Bem, talvez não seja útil a todos (ou apenas não vejam a utilidade disso no começo), mas como já tinha feito um tutorial de POO em lua decidi me aprofundar mais e entrar em um assunto que não tem muita gente que sabe, ter um conhecimento intermediário sobre POO ajuda a aprender isso (saber usar a função setmetatable também), mas apenas um complementa o outro como veremos logo a seguir. Porque aprender ? Se eu dissesse que isso é necessário para programar eu estaria mentindo, mas pode acabar sendo útil, quem sabe para complementar o conhecimento de POO, mas é como eu já disse no outro tópico, aprende quem quiser. Metamétodos Metaméto…

    • 0 respostas
    • 1.8k visualizações
  27. Started by 3visan,

    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
  28. 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
  29. Started by Omaximo,

    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
  30. Started by WarW0lf,

    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
  31. Started by Skydangerous,

    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
  32. 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…

  33. Started by Garou,

    DICAS Para encurtar/embelezar seus scripts. INTRODUÇÃO Fala aê, beleza, galera do TibiaKing? Estava aqui eu sem fazer nada, quando pensei em criar uma coletânea de dicas para os scripters iniciantes, avançados e etcétera. Eu já naveguei muito nessas águas e já vi muitos scripts que podiam ser "escritos" de uma maneira melhor, fazendo a mesma função e estando mais bonitos e, então, tenho algumas dicas para vocês nesse assunto. Não vou enrolar muito não, logo ali abaixo, você já começa a ler essas dicas DICA NÚMERO 1 - USO DE MATH.MAX() E MATH.MIN() Essa é uma dica bem simples e básica, sabe quando você quer comparar uma var…

    • 3 respostas
    • 1.7k visualizações
  34. Fala galera, sou o [ADM]Harlock do Pokémon Undewater, e hoje vim mostrar a vocês como por acentos quando estiver editando seus scripts. Por exemplo: Você vê; Você está vendo; Está carregando, Pokémon.1- Primeiro baixe o Notepad ++ (Clique aqui) Escolha um Script para editar: local pokes = { ["Charmander"] = {level = 16, go = "Vai Charmander", back = "Volte Charmander."}, ["Charmeleon"] = {level = 35, go = "Vai Charmeleon", back = "Volte Demon."}, ["Charizard"] = {level = 75, go = "Vai Dragon Lord", back = "Volte Dragon Lord."}, ["Mewtwo"] = {level = 8, go = "Vai Mewtwo", back = "Volte Mewtwo"}, } local msgunica = false function onUse(cid, item, frompos, …

    • 2 respostas
    • 1.7k visualizações
  35. Started by Lyu,

    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.7k visualizações

Quem Está Navegando 0

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

Informação Importante

Confirmação de Termo