Ir para conteúdo

joaohd

Visconde
  • Total de itens

    361
  • Registro em

  • Última visita

  • Dias Ganhos

    10

Tudo que joaohd postou

  1. Muito bem explicado. Aprovado e movido. flw
  2. Caro amigo brunozika78, você reviveu um tópico parado a 2 anos. Como vejo que é um novo usuário, fica valendo o alerta verbal. Caso venha se repetir, terei de alertá-lo. flw
  3. Material De Apoio Variáveis O que é uma variável? Uma variável é um objeto (uma posição, freqüentemente localizada na memória) capaz de reter e representar um valor ou expressão. Enquanto as variáveis só "existem" em tempo de execução, elas são associadas a "nomes", chamados identificadores, durante o tempo de desenvolvimento. Em Lua, as variáveis podem ser locais ou globais, dependendo da necessidade que temos na hora de construir nosso script. Veremos agora a diferença entre elas e quando usar cada uma. Variáveis Globais: São variáveis que podem ser acessadas e modificadas por todo o script a qualquer momento da execução. É a mais indicada quando iremos usá-la várias vezes, necessitando de alterá-la. Para que possamos definir uma variável global, ela tem de estar fora de qualquer bloco de código e seguindo as regras para definição de variáveis: 1º: Não pode ser precedida por números, mas pode contê-los; 2º: O único caracter alfanumérico que pode ser usado é o subtraço (underline). Abaixo você pode verificar a existência de uma variável global: minhaVariavel = "Essa é uma variável global" Variáveis Locais: São variáveis reservadas a trechos do script ou apenas ao script que a contém. Caso esteja dentro de um bloco de script, esta não pode ser acessada ou alterada fora deste bloco. O uso é recomendado quando temos que restringir a alteração dela em apenas um bloco de código. Para defini-la, usamos o modificador "local" antes do identificador desta variável, seguindo sempre as regras para definições de variáveis. Observe: local minhaVariavel = "Essa é uma variável local." Abaixo você pode ver melhor uma interação entre as variáveis globais e locais: userName = "apocarai" if userName == "apocarai" then local userArea = "scripting" if userArea == "scripting" then print(userName .. userArea) else print(userName .. "outras areas") end end print(userName .. userArea) Caso alguém execute, verá que teremos um erro na última linha, onde a variável "userArea" é desconhecida. Porém, se observarmos o script, veremos que a variável global "userName" será exibida mesmo fora ou dentro do script. Essa é a diferença entre as variáveis globais e locais. Referência: Manual de Referência Lua 5.1 Por hoje é só. flw
  4. Aprovado. flw
  5. Material de Apoio II Valores & Tipos Valores e tipos: Lua é uma linguagem dinamicamente tipada, ou seja, variáveis não possuem tipos. Não existe definição de tipos na linguagem. Todos os valores carregam seu próprio tipo. Observe abaixo a diferença entre um trecho de código em C e outro em Lua: int a = 1; float b = 1.25; char c[8] = "apocarai"; a = 1 b = 1.25 c = "apocarai" Todos os valores em Lua são valores de primeira classe. Isto significa que todos os valores podem ser armazenados em variáveis, passados como argumentos para outras funções e retornados como resultados. Existem oito tipos básicos em Lua: nil boolean number string function userdata thread table Cada tipo básico possui uma característica que o diferencia dos outros e também no modo de tratamento do valor. Abaixo você encontra uma detalhação dos tipos mais usados: nil: Nil é o tipo do valor nil, cuja propriedade principal é ser diferente de qualquer outro valor. Podemos entendê-lo também como uma ausência de valor útil. Não tem tratamento para este tipo. boolean: Boolean é o tipo dos valores true e false. Este nome se deve ao matemático George Boole, que elaborou a álgebra booleana, uma espécie de matemática que envolve somente os valores true e false e que só tem como resultado true ou false. number: Representa o tipo numérico e é tratado utilizando-se os operadores matemáticos e a biblioteca math. string: O tipo string representa cadeias de caracteres, ou seja, palavras, textos, letras e até mesmo números. É tratada utilizando-se a biblioteca string. table: O tipo table implementa matrizes associativas, isto é, matrizes que podem conter não apenas números, mas qualquer valor, excetuando-se nil. São o único mecanismo de estruturação de dados em Lua. Coerção: Diferentemente de outras linguagens, em Lua, há uma conversão automática entre valores do tipo string e do tipo number. Isto significa que qualquer operação matemática aplicada a uma string, tenta transformar o valor da string em número. O mesmo ocorre ao inverso, quando se usa um número para tentar representar uma cadeia de caracteres, este valor é automaticamente convertido em um valor do tipo string. Dito isto, podemos elaborar um resumo: 1º: Em Lua, variáveis não possuem tipos - somente valores possuem tipos; 2º: Existem oito tipos básicos em Lua; 3º: Lua é uma linguagem de tipagem dinâmica; 4º: Lua faz conversão entre os tipos string e number. Referências: Manual De Referência de Lua 5.1 Por hoje é só. flw
  6. Adicione na tabela "proibidos" assim: local proibidos = {"God", "Cm"} flw
  7. Material de Apoio Introdução & Convenções Léxicas O que será o "Material de Apoio": Uma série de tutoriais sobre a linguagem Lua, que vai desde o início ao conteúdo intermediário~avançado. Introdução: Lua é uma linguagem de programação projetada para dar suporte à programação procedimental em geral e que oferece facilidades para a descrição de dados. A linguagem também oferece um bom suporte para programação orientada a objetos, programação funcional e programação orientada a dados. Lua foi planejada para ser utilizada por qualquer aplicação que necessite de uma linguagem de script leve e poderosa. Por ser uma linguagem de extensão, Lua não possui a noção de programa principal: ela somente funciona embarcada em um programa cliente anfitrião, chamado de programa hospedeiro ou simplesmente de hospedeiro. Esse programa hospedeiro pode invocar funções para executar um pedaço de código Lua, pode escrever e ler variávels Lua e pode registrar funções C para serem chamadas pelo código Lua. Convenções léxicas: Em Lua, assim como outras linguagens de programação, temos particularidades na escrita do código e algumas restrições que devem ser obedecidas. Uma dessas características, são os identificadores, ou seja, os nomes dados a qualquer variável, dado ou função. Estes identificadores, por natureza, devem seguir algumas regras básicas: 1º: Poderá conter números, desde que não seja iniciado por este; 2º: Não poderá ser utilizado qualquer outro caracter alfanumérico que não seja o subtraço (Underline); 3º: Não poderá ser igual a qualquer uma das palavras reservadas da linguagem. Agora você se pergunta: "Palavras reservadas?? Que isso?". Mas é bem simples. As palavras reservadas nada mais são que nomes internos usados para identificar os procedimentos, funções e variáveis. Em Lua, temos 21 palavras reservadas: and break do else elseif end false for function if in local nil not or repeat return then true until while Se observarmos estas palavras, veremos que tem uma característica peculiar em todas elas: estão todas em minúsculo! Ou seja, podemos concluir que Lua é uma lingagem case-sensitive, isso quer dizer que ela diferencia caracteres maiúsculos dos minúsculos. Algo a ser observado também, é que, por convenção, identificadores escritos em maiúsculo e precedidos por subtraços, são reservados para variáveis globais internas usadas por Lua. Lua também possui particularidades no que diz respeito aos itens léxicos alfanuméricos, que serão abordados mais tarde, mas você pode conferi-los abaixo: + - * / % ^ # == ~= <= >= < > = ( ) { } [ ] ; : , . .. ... De posse disso, podemos então elaborar um resumo: 1º: Lua é uma linguagem de script, ou seja, ela necessita de um programa hospedeiro; 2º: Lua possui 21 palavras reservadas; 3º: Identificadores podem conter somente letras, subtraços e números, desde que não precedidos por este; 4º: Lua faz a diferenciação de maiúsculas e minúsculas. Referências: Manual De Referência de Lua 5.1 Por hoje é só. flw
  8. Aprovado e movido. flw
  9. Aguardando melhor formatação do tópico para aprovação. flw
  10. Aprovado e movido. flw
  11. Infelizmente isso não é permitido no fórum. Peço para que não se repita. Fica valendo aí o alerta verbal. flw
  12. Só adicionar os outros parametros no outfit: function onUse(cid, item, frompos, item2, topos) local poses = { [1] = {pos = {x = 1053, y = 1048, z = 7}, out = {lookFeet = 20, lookHead = 20, lookType = 127}}, [2] = {pos = {x = 1043, y = 1048, z = 7}, out = {lookFeet = 20, lookHead = 20, lookType = 128}} } local c = poses[math.random(#poses)] doTeleportThing(cid, c.pos) doSetCreatureOutfit(cid, c.out, -1) return true end flw
  13. Erro meu: function onSay(cid, words) local c = { money = 300000, health = 2000, max = 50000 } if getCreatureMaxHealth(cid) < c.max then if doPlayerRemoveMoney(cid, c.money) then setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + c.health) else doPlayerSendCancel(cid, "Você precisa de "..c.money.." gp's") end else doPlayerSendCancel(cid, "Você atingiu o limite máximo de HP.") end return TRUE end flw
  14. Tente assim: function onUse(cid, item, frompos, item2, topos) local poses = { [1] = {pos = {x = 1053, y = 1048, z = 7}, out = {lookType = 127}}, [2] = {pos = {x = 1043, y = 1048, z = 7}, out = {lookType = 128}} } local c = poses[math.random(#poses)] doTeleportThing(cid, c.pos) doSetCreatureOutfit(cid, c.out, -1) return true end flw
  15. Você reviveu um tópico parado a 8 meses. Mais cuidado da próxima vez. flw
  16. Você que desenvolveu o programa ou achou na internet?? Creio que isto seja de outra pessoa. Coloque os créditos ao autor. flw
  17. Conteúdo muito bem explicado, além de ser algo que muita gente precisa e não sabe como fazer. Aprovado! flw
  18. Antes de mais nada, seja bem vinda a nossa comunidade. O seu tópico está em local incorreto. Moverei para a seção correspondente. Caso tenha alguma dúvida, você pode ler este tópico ou entrar em contato comigo via pm. Movido. flw
  19. Vocês reviveram um tópico de 2009. Prestem mais atenção ao postar em algum tópico. Caso se repita serão punidos. flw
  20. joaohd

    O Que É Xml

    Tutorial aprovado e movido para a área correspondente. flw
  21. joaohd

    Nomes Dos Skills

    Não mexo com as sources, mas creio que seja no arquivo player.cpp. Caso tenha alguma dúvida sobre isto, pergunte a um programador que ele poderá te informar mais corretamente. flw
  22. joaohd

    Nomes Dos Skills

    Precisa de editar as sources e fazer uma edição no client usando um editor hexadecimal. flw
  23. Tente assim: function onSay(cid, words) local c = { money = 300000, health = 2000, max = 50000 } if getCreatureMaxHealth(cid) < c.max then if doPlayerRemoveMoney(cid, money) then setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + health) else doPlayerSendCancel(cid, "Você precisa de "..c.money.." gp's") end else doPlayerSendCancel(cid, "Você atingiu o limite máximo de HP.") end return TRUE end flw
  24. Reviver tópicos é contra as regras. Fica valendo o alerta verbal. Caso se repita, será alertado. flw
  25. Tente assim: function onUse(cid, item, frompos, item2, topos) local config = { tele = {x=98, y=43, z=10}, vocations = {1,2,5,6}, level = 30 } if item.uid == 2133 then if not isInArray(config.vocations, getPlayerVocation(cid)) then return doPlayerSendCancel(cid, "Somente Druids e Sorcerers entram aqui.") elseif getPlayerLevel(cid) < config.level then return doPlayerSendCancel(cid, "Você precisa ter level ".. config.level .. " ou mais para pode usar o Shrines.") end doTeleportThing(cid,config.tele) doPlayerSendTextMessage(cid,22,"Bem-vindo ao Shrine, onde voce pode encantar suas armas.") end return TRUE end O script é do vodkart. Só arrumei a string. flw
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...