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
-
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…
-
- 1 resposta
- 559 visualizações
-
-
..:: String Tutorial ::.. O que são strings? São seqüências ordenadas de caracteres, símbolos, escolhidos a partir de um conjunto pré-determinado. Manipulando Strings A biblioteca string provê funções com diversas utilidades, para manipulação de strings (cadeias de caracteres, como explicado acima). Como exemplos, podemos citar a localização e extração de subcadeias, além de casamento de padrões. Em lua, o primeiro caractere da indexação vai estar na posição 1, e não na 0 (como em C). Os índices podem ter valores negativos, e nesse caso serão interpretados como uma indexação de trás pra frente, começando do final da cadeira. Logo, o ultimo caractere est…
-
- 0 respostas
- 813 visualizações
-
-
Ae galera, anônimo da OTbr mais uma vez aqui. Brinks :B Bom galera, hoje falarei sobre o RETURN, que todos acham que é um bicho de sete cabeças mas que na verdade não passa de algo simples e bem útil em alguns casos. Utilização: Exemplo 1: function getPlayerSet(cid) local items = {} for i = 1,10 do local item = getPlayerSlotItem(cid, i) if item.uid > 0 then table.insert(item, items) end end return items end Como podem ver nessa função, eu criei uma função que cria um loop e verifica todos os items do corpo do player e ela usa o return para retornar essa tabela com os items. Com isso se eu precisar p…
-
- 0 respostas
- 605 visualizações
-
-
Scripting Dictionary Antes de tudo Olá comunidade Tibia King. Venho através desse tutorial facilitar a vida de muitos scripters. Trago a vocês o Scripting Dictionary. Uma forma mais simples de entender aquelas siglas ou palavrinhas chatas encontradas em todos os scripts e que poucas pessoas sabem o significado ou o motivo de estar ali. Vocês também podem ajudar a aumentar o conteúdo desse dicionário enviando-me as palavras que vocês gostariam de serem adicionadas. Para isso, poste nesse mesmo tópico. Estou disposto a atualizar sempre que for preciso o tópico, mas, caso algum imprevisto aconteça, a moderação está liberada para editar, adicionando dicas e palav…
-
- 0 respostas
- 812 visualizações
-
-
{B}em... muitos vezes vejo nos meus e nos scripts de outras pessoas sendo declarandas variáveis uma embaixo da outra, como por exemplo: local stor1 = getPlayerStorageValue(cid,5551) local stor2 = getPlayerStorageValue(cid,5552) local stor3 = getPlayerStorageValue(cid,5553) local stor4 = getPlayerStorageValue(cid,5554) local stor5 = getPlayerStorageValue(cid,5555) local stor6 = getPlayerStorageValue(cid,5556) {U}ma forma de simplificar isto seria separando as variáveis por vírgula, colocando todas antes de um igual(=) e colocando, depois do igual(=), o valor atribuído a cada variável RESPECTIVAMENTE. Usando o exemplo acima, ficaria assim: …
-
- 0 respostas
- 549 visualizações
-
-
Cálculos Baseados em Porcentagem Autor: Guiminhah Nível: Fácil -------------------------------------------------------------- Olá galera, tudo bom? Vim aqui compartilhar uma ideia que não vi por enquanto aqui no fórum, e acho que é legal usar de vez em quando no servidor. Cálculos com porcentagem são úteis para balancear, já que utilizam valores relativos, e não absolutos. Para começar o tutorial, fiz um script para exemplificar. •Explicação: Quero criar uma action que quando o player (maior que level 50) clicar em um Life Crystal gaste 20% da sua mana total para adicionar +2 no HP total. ----------Life Crystal Increasing Players' Max H…
-
- 0 respostas
- 592 visualizações
-
-
Math A matemática por traz do script introdução: bem, antes de começar a explicar o math em si, acho melhor explicar que: não é recomendado colocar variáveis como x ou y em uma equação alem do exemplo acima, funções lua ou de otserv, não podem ser declaradas como nome de variáveis "=" é diferente de "==" para facilitar, de uma olhada nessa tabela com os simbulos matemáticos em lua : + ---------------------- adição - ------------------ subtração *---------------- multiplicação / ---------------------- divisão == ------------------ igualdade ~= -------------- desigualdade > ----------------- maior que >= --------…
-
- 0 respostas
- 1.4k visualizações
-
-
<< Aula 8 - while & repeat Essa aula foi escrita por um suricato Notorious, todos os créditos pertencem à ele. Tabelas Aula 9 #Introdução Olá, nessa aula vamos conhecer um elemento que facilita muito a vida de programadores, principalmente quando se trata de um código com muitas variáveis e operações, as tabelas! Imagine uma tabela como se fosse uma estante com várias gavetas, quantas você desejar, dentro de cada gaveta tem um objeto, temos a gaveta um, a gaveta dois, e assim em diante ... podemos guardar objetos dentro de cada gaveta, tirar objetos delas e também saber o que tem dentro de cada uma, nessa analogia uma…
-
- 2 respostas
- 3.3k visualizações
-
-
Ola galera do tk muitos como eu tem um problema na logica da programação lua como eu mais andei lendo uns texto da programação e estou entendendo melhor então vou explica-los +- o resumo dela O que é Lua? Quais as origens de Lua? Como contribuir para a comunidade Lua? Por que escolher Lua? Lua é rápida Lua é portátil Lua é embutível Lua é poderosa (e simples) Lua é pequena Incluir Lua numa aplicação não aumenta quase nada o seu tamanho. O pacote de Lua 5.2.1, contendo o código fonte e a documentação, ocupa 245K comprim…
-
- 0 respostas
- 1.1k visualizações
-
-
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
-
-
Manipulando arquivos através de LUA Abrindo um arquivo Para começar, você terá que abrir o arquivo.Para isso, usamos a função io.open(arquivo[modo]), que também pode cria-lo caso não exista.Arquivo será o seu diretório,que caso não exista retornará nil, e modo são os seguintes: "r" - Modo de leitura. "rb" - Leitura em modo binário. "w" - Modo de escrita. "wb" - Escrita em modo binário. "a" - Adicionar ao arquivo. "r+" - Modo de atualização preservando os dados anteriores. "w+" - Modo de atualização apagando os dados anteriores. "a+" - Modo de adição e atualização, preservando os dados anteriores e adicionando ao final do arquivo. …
-
- 0 respostas
- 4.1k visualizações
-
-
Algumas LIBs úteis em OTServ Introdução: Não sou NENHUM expert em lua e estou LONGE de ser. Porém, ontem eu vim procurar algum tutorial que me evidenciasse facilmente o assunto em questão e não encontrei, então resolvi estudar um pouquinho e trazer para vocês Fonte: A fonte do meu estudo foi um site muito conhecido por scripters, que é: Lua-Users.org Explicações: Optei por incluir nesse tutorial explicações somente das libs que eu achei mais interessantes e que pude ver uma utilidade em OTServ, como Math, Os e Table. Se você acha que faltou algo de interessante ou que alguma explicação pode ser melhorada, por favor, poste construtivamente aqui, …
-
- 0 respostas
- 821 visualizações
-
-
Lua é uma linguagem de programação poderosa e leve, projetada para estender aplicações. Lua também é frequentemente usada como uma linguagem de propósito geral. Lua é software livre de código aberto. Lua combina sintaxe simples para programação procedural com poderosas construções para descrição de dados, baseadas em tabelas associativas e semântica extensível. Lua é tipada dinamicamente, é interpretada a partir de bytecodes para uma máquina virtual, e tem gerenciamento automático de memória com coleta de lixo incremental. Essas características fazem de Lua uma linguagem ideal para configuração, automação (scripting) e prototipagem rápida. Um conceito fundamental…
-
- 2 respostas
- 543 visualizações
-
-
Criando suas próprias Runas. Primeiramente aqui vão algumas dicas: -Procure criar boas fórmulas de ataque -SEMPRE edite a cor do ataque da runa (Se é uma explosão, um powerbolt, ataque físico,etc) -Edite a animação de quando a runa acerta o alvo. Bom, vamos começar a criar nossas runas Para editar tudo isso, mantenha o arquivo spell.lua aberto. Ele esta localizado em data/spells/lib. Os ids de runes começam em 2260 (blank rune). Teste os Ids desejados para a criação de runas exclusivas 1- Vá até o spells.xml e crie a TAG da runa <rune name="runa" id="2301" charges="9" maglv="1" mana="0" enabled="1"></rune> 2…
-
- 3 respostas
- 1.2k visualizações
-
-
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
- 1.9k visualizações
-
-
Tenho em meu PC algumas listas copm informações para se colocar em algumas funções que não se acha tão facilmente... - = Slots = - Aposto que muitos já se perguntaram o que por em slot na função getPlayerSlotItem(cid, slot). Abaixo há a resposta: CONST_SLOT_HEAD (1) = helmet CONST_SLOT_NECKLACE (2) = necklace slot CONST_SLOT_BACKPACK (3) = backpack CONST_SLOT_ARMOR (4) = armor CONST_SLOT_LEFT (5) = left hand CONST_SLOT_RIGHT (6) = right hand CONST_SLOT_LEGS (7) = legs CONST_SLOT_FEET (8) = boots CONST_SLOT_RING (9) = ring slot CONST_SLOT_AMMO (10) = ammo slot Exemplo de uso: if getPlayerSlotItem(cid, 10).it…
-
- 0 respostas
- 611 visualizações
-
-
Este tutorial abaixo foi inteiramente criado por shoeei. Introdução Vou tentar ajudar vocês com um tutorial de os.date. Sendo sincero, eu aprendi a pouco tempo como usar o os.date, em um exemplar de programação lua. Estou fazendo este tutorial para esclarecer a maioria das duvidas que vocês possam ter, então, por favor, prestem muita atenção se forem ler, e não leiam a menos, que estejam com tempo, paciência e vontade de aprender, pois eu creio que mesmo sendo novato com o os.date, eu vou conseguir fazer um bom tutorial. Publico Alvo Este tutorial foi feito para ensinar programadores lua, do nível iniciante/intermediário, ou seja, aqueles que já tem algum conhecimento…
-
- 0 respostas
- 2.8k visualizações
-
-
Olá a todos, eu não achei nenhum tutorial nesta página de como colocar potions infinitas, então resolvi elaborar um. Primeiro Método: Na pasta do seu servidor, entrar na pasta "data", depois na pasta "actions" e por último na pasta "liquids" "Pasta do Servidor/data/actions/liquids/" Procure pelo arquivo "potions.lua" e abra ele com algum editor. (bloco de notas, etc..) (se não tiver esse arquivo veja o segundo método) Depois de ter aberto o arquivo procure por essa linha: (dica: Control + F) [8704] = {empty = 7636, splash = 2, health = {50, 100}}, -- small health potion Copie o primeiro ID da linha (no caso…
-
- 0 respostas
- 501 visualizações
-
-
Olá galera. Muitos de vocês que são iniciantes em scripting tem certa dificuldade para criar scripts, uns por falta de ideias, outros por realmente não conseguirem montar nada. Por isso, resolvi fazer esse tutorial simples e claro. Aprendendo a Scriptear Introdução: Bom, primeiramente, você já se perguntou "por quê quero scriptear"? Se sim, legal, mas chegou à uma resposta? Se não, pense nisso. Tente chegar à algo que te inspire, seja observando trabalhos de scripters mais conhecidos e habilidosos ou simplesmente querendo criar novas coisas para ter seu nome conhecido. Sem uma inspiração você não vai avançar, acredite em mim. Começando no mundo dos sc…
-
- 0 respostas
- 627 visualizações
-
-
Metodologia de um script O que será tratado Organização de um script. Compreensão de um script. Tornando o script fácil para edição. Meu objetivo com este tutorial. Tenho como objetivo facilitar a compreensão de muitos scripts. Sabemos, todos nós, que muita gente apenas copia os scripts para seu próprio servidor e não sabe nem ao menos editar os IDs, ou as posições, conforme sua necessidade e disponibilidade do script. Quero, também, propor que os scripters que nos disponibilizam scripts de sua autoria, organizassem melhor os scripts para que os iniciantes tivessem uma base para começar no mundo de lua scripting. Organizando para me…
-
- 3 respostas
- 573 visualizações
-
-
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
-
-
Bom, é o seguinte, eu estava pesquisando algo de útil sobre programação no PC e achei esse tutorial útil (na minha opinião), gostei muito dele e venho aqui compartilhar com vocês. Assim como todas as linguagens de programação, LUA tem suas particularidades e sua estrutura lógica própria, a qual envolve suas funções, operadores e engines. Para começarmos a programação em LUA, devemos conhecer sua lógica, para que possamos aplicá-la em nossos códigos. Abaixo, você encontra os operadores da linguagem e sua explicação: • “Local” = É usado para a definição de variáveis. Pode ser encontrado também destacando uma função. Neste último caso, seu uso pode ser dispensado…
-
- 0 respostas
- 951 visualizações
-
-
Esse é uma possibilidade de todo otserver mas foi se esquecendo a medida do tempo em que poggers pessoas foram excluindo isso e colocando aquelas tags de ataques nos monstros. Exemplo: Codigo: <attack name="fire" interval="2000" chance="7" range="7" min="-25" max="-45"> <attribute key="shootEffect" value="fire"/> </attack> Sendo que antigamente você fazia as spells dos monstros por scripts. Como apenas 2% de vocês deve saber isso ainda existe e funciona e por sinal bem melhor e mais fexivel que essa besteram que fizeram com os monstros. Vou lhes ensinar como. Primeiro pense em uma spell para seu monstro. Vamos imaginar …
-
- 3 respostas
- 2.7k visualizações
-
-
Eai Galera Tudo Bom? Estou aqui para ajudar a todos que querem começar a Programar , este tutorial que estou fazendo explicando a programação , funções e etc, irá te dar uma Noção de Programação. Primeiro não é lendo tutoriais,revistas vendo videos, que você vai ficar bom em programação. Sempre Faça Exercícios para ficar bom em programação e cada fez melhorar. Introdução . Linguagem de Programação . - Uma Linguagem de programação é um conjunto de símbolos (comandos, indentificadores, caracteres ASCII, etc...) e regras de sintaxe que permitem a construção de sentenças que descrevem de forma precisa ações compreensíveis e executáveis para o computador. …
-
- 0 respostas
- 1k visualizações
-
-
LuaSql Apesar de já existir um tutorial sobre luaSql no forum ele é antigo e agora usa outro metodo. O que é? LuaSql é você inserir, alterar, deletar, subistituir valores no bacno de dados MySql ou Sqlite de seu servidor facil e rapido. Como uso? É relativamente simples. caso você ja tenha mexido com MySql não vai ter 1 pingo de duvidas. Bom vamos começar pegando um valor da database. Para pega um valor antigamente tinha uma treta GIGANTESCA usando assert e outras coisas agora é mais facil basta usar a função: db.getResult(query) Essa função ela executa query no servidor Mysql ou sqlite vamos dar um exemplo. vamos criar uma Query que p…
-
- 0 respostas
- 725 visualizações
-
-
Automatização e Simplificação de Scripts Bem, este é minha segunda "aula", a primeira foi sobre o comando addEvent, esta é um pouco mais complexa, vou demonstrar algumas possibilidades de automatização e simplificação de scripts, algo muito importante pra tornar um script mais simples e prático. Vamos a algumas definições: Automação: é um sistema automático de controle pelo qual os mecanismos verificam seu próprio funcionamento, efetuando medições e introduzindo correções, sem a necessidade da interferência do homem. Simplificar: tornar menos complicado (fiquei com preguiça de procurar mais). Situação 1: Fazendo um cardápio Temos um talkact…
-
- 2 respostas
- 748 visualizações
-
-
Muita gente andou me pedindo para que eu desse algumas dicas com Lua. Então, resolvi por meio dessa aula, dar dicas gerais de toda a linguagem. Esse tutorial tem como objetivo apenas salientar alguns macetes e dicas legais para Lua tendo em vista que exista um mínimo conhecimento do assunto. Não responderei perguntas que julgo idiotas, portanto, nem tentem poluir esse tópico, se não sabe o que é Lua, procure no Google que é o melhor que você pode fazer. Desde já, desculpo me por minha antipatia por parte dos ignorantes. Comentários Além dos conhecidos comentários de linhas únicas iniciados por "-- comments go here" existem comentários de bloco, isto é, de mult…
-
- 4 respostas
- 2.2k visualizações
-
-
Tabelas - Open Lua #1 Olá galerinha , tudo tranquilo? Agora que passaram-se as comemorações festivas do carnaval, estou de volta com mais uma aula para auxilá-los a criarem seus scripts. Hoje estarei ensinando a criar e manipular tabelas na linguagem LUA. A aula está dividida em 2 partes! Considero no nível: INICIANTE Sem mais delongas, vamos lá! ~ Introdução Bem, vamos aprender a trabalhar com tabelas, mas antes devemos saber: - O que são tabelas? ~ Tabela é uma variável que pode armazenar outras variáveis dentro dela. - Porque eu devo usar tabelas? ~ Ao invés de criar uma infinidade de variáveis, você pode simplesmen…
-
- 1 resposta
- 891 visualizações
-
-
Faaaala galera! Tudo bem? Espero que sim, pois precisarão de muita atenção para entender algumas partes deste tutorial. A matemática é algo que nos acompanha no dia-a-dia, realmente muito importante, principalmente na programação. É indiscutível e concordável entre todos os programadores que um dos fatores de um bom profissional da área é o domínio da matemática! Bom, este tutorial vai ser para mostrar um pouco apenas da importância desta na linguagem LUA, ainda que se você tem experiência, provavelmente já percebeu isto. Sinais matemáticos simples Começando com os sinais matemáticos, o básico de lua e da matemática, são eles: Codigo: +…
-
- 3 respostas
- 5.3k visualizações
-
-
Como o título já diz tudo, vou ensinar umas partes para os iniciantes hoster de OTServer que sabe pouco ainda Vou fazer só 1 mesmo para entenderem mesmo (Estou pegando o outfits do Global Compacto, rsrs) O Outfit sem está editado <outfit id="1"> <list gender="0" lookType="136" name="Citizen"/> <list gender="1" lookType="128" name="Citizen"/> </outfit> Agora editando, passo a passo <outfit id="1"> - Eu peguei o primeiro addon, então será o número 1 <list gender="0" - Todo mundo sabe que GENDER é SEXO (SÉRIO? ¬¬), o número 0 é o sexo masculino e o número 1 é o sexo feminino. lookType="136" - o n…
-
- 2 respostas
- 1.3k visualizações
-
-
Eai Galera, venho trazer mais um tutorial só que agora sobre WEAPON, é simples <!-- Rods --> <wand id="2182" level="7" mana="2" min="8" max="18" type="earth" event="function" value="default"> <!-- Snakebite Rod --> <vocation id="2"/> </wand> Agora vou explicar como editar passo a passo <wand id="2182" - Aqui é o ID do item, para saber os ID só ir na pasta items/items.xml (¬¬) level="7" - Aqui é o level para o player poder usar a rod ou wand, no caso é rod mana="2" - Mana para poder usar a rod ou wand, no caso é rod min="8" max="18" - Aqui é minimo e o máximo hit que a wand ou a rod irá hi…
-
- 0 respostas
- 517 visualizações
-
-
Olá Galera do TK, agora estou postando um tutorial sobre stages.xml Todo mundo sabe que é super fácil, mais não existe ainda (EU ACHO), não custa nada criar Só irei explicar essa parte abaixo <stage minlevel="1" maxlevel="50" multiplier="200"/> Explicação agora <stage minlevel="1" maxlevel="50" multiplier="200"/> - Do level 1 ao 50 o player irá upar 200x de EXP Pronto, só isso.. rsrs
-
- 0 respostas
- 439 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.7k visualizações
-
-
Ola galerinha, hoje vou ensinar a vc's como usar if, else, elseif, and e or em lua If, Else, ElseIF, Then Agora vamos ver oque é oque: Entendo o Script function onSay(cid, words) -- Função aoFalar if getPlayerVocation(cid) == 4 then -- Se a vocação do player for igual a 4 entao doPlayerSendTextMessage(cid, 22, "Eu sou um Knight") -- Mandar uma mensagem com o texto, dizendo sua vocação elseif getPlayerVocation(cid) == 3 then -- Se nao, se a vocação do player for igual a 3 entao doPlayerSendTextMessage(cid, 22, "Eu sou um Paladin") -- Mandar uma mensagem com o texto, dizendo sua vocação else -- Se nao doPlayerSendTextMessage(cid, 22, …
- 20 respostas
- 5.2k visualizações
Quem Está Navegando 0
- Nenhum usuário registrado visualizando esta página.