iunix 41 Postado Dezembro 19, 2012 Share Postado Dezembro 19, 2012 (editado) Olá abiguinhos, venho aqui mais uma vez dar uma aula para meus grandes amigos ♥. Variáveis O que são variáveis? Para o que elas servem? Como usa-las? Quais os tipos de variáveis? O que são variáveis? Vamos imaginar variáveis como um lugar onde você pode armazenar qualquer valor e mudar isso quando quiser. Isso é o conceito básico de variáveis. Mas para o que isso serve? Suponhamos que você precise pegar o level do player: getPlayerLevel(cid) várias vezes no código. E para evitar isso, você gostaria de ter uma maneira mais simples e eficaz de salvar esse level. Para isso servem as variáveis. Como usa-las? Vamos continuar o exemplo a cima. if getPlayerLevel(cid) < 65 then print("O player tem o level menor que 65") elseif getPlayerLevel(cid) == 65 then print("O Player tem level 65") elseif getPlayerLevel(cid) > 65 then print("O player tem level menor que 65") end Isso seria um código sem variáveis. Podem ver que eu usei várias vezes a função "getPlayerLevel(cid)". Vamos tentar fazer usando variáveis. local level = getPlayerLevel(cid) if level < 65 then print("O player tem o level menor que 65") elseif level == 65 then print("O Player tem level 65") elseif level > 65 then print("O player tem level maior que 65") end Viram como ficou um pouco mais simples? Ok, agora vamos entender o que eu fiz. Toda vez que você for criar uma variável, você tem que declarar o valor dela. Mas como fazer isso? Simples, faça isso: local var = value Onde var seria o nome da variável e value o valor da variável. Mas dai você me pergunta: "O que é esse local?". Já chego lá amigo, aguente um pouco xD Porem o nome das variáveis tem algumas regras: 1º - As seguintes palavras não podem ser utilizadas: and break do else elseif end false for function if in local nil not or repeat return then true until while 2º - Não se pode começar um nome com um numero. exemplo: 1variavel = valor (Mas pode conter números) 3º - Não podem conter esses símbolos: + - * / % ^ # == ~= <= >= < > = ( ) { } [ ] ; : , . .. ... Quais valores elas podem conter? (Tipos de Dados) Existem alguns "tipos" de valóres que elas podem conter: String = Texto Number = Numero Bool = True/False Function = Funções (Sim, pode conter funções) Tables = Sim, podem conter tabelas. Userdata = Ponteiros em C (Não iremos usar isso) Thread = Escopo de processamento (Não iremos usar isso também) Nil = Valor nulo, sem valor ou vazio. Mas e aquele "local", o que significa? Bom, esse local significa que a variável é local desse arquivo. Isso é um tanto quanto irrelevante em otserver, já que ele não consegue pegar variáveis de outros scripts (Só em libs, que se você declarar uma variável como local em alguma lib, ela não será lida em outros códigos). Finalizações Bom, qualquer duvida ou sugestão. Postar abaixo. E se lembrarem de algo que eu esqueci, me avisem (Estou fazendo isso as 8 da manhã e estou sem dormir, meio obvio que deixarei algo passar. Editado Dezembro 19, 2012 por iunix Link para o comentário https://xtibia.com/forum/topic/201848-aulas-b%C3%A1sicas-com-o-sr-iunix-3-vari%C3%A1veis-e-tipos-de-dados/ Compartilhar em outros sites More sharing options...
Fir3element 185 Postado Dezembro 19, 2012 Share Postado Dezembro 19, 2012 Só corrigindo ali é, "O player tem level maior que 65". Ótimo tutorial, estou sem rep :c Link para o comentário https://xtibia.com/forum/topic/201848-aulas-b%C3%A1sicas-com-o-sr-iunix-3-vari%C3%A1veis-e-tipos-de-dados/#findComment-1416884 Compartilhar em outros sites More sharing options...
iunix 41 Postado Dezembro 19, 2012 Autor Share Postado Dezembro 19, 2012 Só corrigindo ali é, "O player tem level maior que 65". ótimo tutorial, estou sem rep :c Opa, obrigado. Já corrigi Link para o comentário https://xtibia.com/forum/topic/201848-aulas-b%C3%A1sicas-com-o-sr-iunix-3-vari%C3%A1veis-e-tipos-de-dados/#findComment-1416885 Compartilhar em outros sites More sharing options...
DinoAdmin 57 Postado Dezembro 19, 2012 Share Postado Dezembro 19, 2012 Parabens Iunix Mais uma vez. Link para o comentário https://xtibia.com/forum/topic/201848-aulas-b%C3%A1sicas-com-o-sr-iunix-3-vari%C3%A1veis-e-tipos-de-dados/#findComment-1416886 Compartilhar em outros sites More sharing options...
dalvorsn 268 Postado Dezembro 19, 2012 Share Postado Dezembro 19, 2012 Excelente aula, clara e objetiva. É um conteúdo bem básico, porém para os que estão iniciando, é de grande ajuda. Link para o comentário https://xtibia.com/forum/topic/201848-aulas-b%C3%A1sicas-com-o-sr-iunix-3-vari%C3%A1veis-e-tipos-de-dados/#findComment-1416899 Compartilhar em outros sites More sharing options...
Roksas 846 Postado Dezembro 19, 2012 Share Postado Dezembro 19, 2012 Espero que daí, saia mais 100 aulas haha. Muito bom cara, vai fazer sucesso ^^ Link para o comentário https://xtibia.com/forum/topic/201848-aulas-b%C3%A1sicas-com-o-sr-iunix-3-vari%C3%A1veis-e-tipos-de-dados/#findComment-1416972 Compartilhar em outros sites More sharing options...
Yan Oliveira 215 Postado Dezembro 19, 2012 Share Postado Dezembro 19, 2012 Parabéns Tutorial Aprovado. Movido para Tutoriais de Scripting. Link para o comentário https://xtibia.com/forum/topic/201848-aulas-b%C3%A1sicas-com-o-sr-iunix-3-vari%C3%A1veis-e-tipos-de-dados/#findComment-1417198 Compartilhar em outros sites More sharing options...
Slicer 1070 Postado Dezembro 21, 2012 Share Postado Dezembro 21, 2012 (editado) otimo tutorial ms... bem basico, mas concerteza eh um assunto q n podia faltar e tb concerteza vai ajudar os iniciantes... soh achu q devia colocar ali q uma variavel pode assumir o valor de outra variavel... local var2 = 10 local va1 = var2 sei q eh algu 'bobo' mas nunca se sabe neh? ^^ continue assim mano hehe Editado Dezembro 21, 2012 por Slicer Link para o comentário https://xtibia.com/forum/topic/201848-aulas-b%C3%A1sicas-com-o-sr-iunix-3-vari%C3%A1veis-e-tipos-de-dados/#findComment-1419433 Compartilhar em outros sites More sharing options...
iunix 41 Postado Dezembro 22, 2012 Autor Share Postado Dezembro 22, 2012 otimo tutorial ms... bem basico, mas concerteza eh um assunto q n podia faltar e tb concerteza vai ajudar os iniciantes... soh achu q devia colocar ali q uma variavel pode assumir o valor de outra variavel... local var2 = 10 local va1 = var2 sei q eh algu 'bobo' mas nunca se sabe neh? ^^ continue assim mano hehe Ahh, é que tem uma coisa complicada com isso, de que quando se atribui uma variável a outra, quando se muda uma, muda as duas. Por isso pensei em não por para não confundir. XD Link para o comentário https://xtibia.com/forum/topic/201848-aulas-b%C3%A1sicas-com-o-sr-iunix-3-vari%C3%A1veis-e-tipos-de-dados/#findComment-1419785 Compartilhar em outros sites More sharing options...
Slicer 1070 Postado Dezembro 22, 2012 Share Postado Dezembro 22, 2012 (editado) em lua isso tb acontece? nunca reparei nisso kkk alias.. achu q em lua n tem isso n.. local var1 = 20 local var2 = var1 var1 = var1+30 sendMsgToPlayer(cid, 20, "var1 = ".. var1 .."\nvar2 = ".. var2) printo as 2 variaveis diferentes Editado Dezembro 22, 2012 por Slicer Link para o comentário https://xtibia.com/forum/topic/201848-aulas-b%C3%A1sicas-com-o-sr-iunix-3-vari%C3%A1veis-e-tipos-de-dados/#findComment-1419854 Compartilhar em outros sites More sharing options...
iunix 41 Postado Dezembro 22, 2012 Autor Share Postado Dezembro 22, 2012 em lua isso tb acontece? nunca reparei nisso kkk Sim, é que na verdade. Quando tu atribui uma variável a outra, tu não está atribuindo o valor, tu está atribuindo a variável em si. xD Link para o comentário https://xtibia.com/forum/topic/201848-aulas-b%C3%A1sicas-com-o-sr-iunix-3-vari%C3%A1veis-e-tipos-de-dados/#findComment-1419860 Compartilhar em outros sites More sharing options...
Slicer 1070 Postado Dezembro 22, 2012 Share Postado Dezembro 22, 2012 viu o ediit? achu q em .lua atribui o valor ms kkk Link para o comentário https://xtibia.com/forum/topic/201848-aulas-b%C3%A1sicas-com-o-sr-iunix-3-vari%C3%A1veis-e-tipos-de-dados/#findComment-1419864 Compartilhar em outros sites More sharing options...
iunix 41 Postado Dezembro 22, 2012 Autor Share Postado Dezembro 22, 2012 viu o ediit? achu q em .lua atribui o valor ms kkk Aparentemente eu estava errado, estranho que a attribuição de tabelas é como eu disse acima. local table1 = {x=1, 2,3} local table2 = table1 table1.x = 2 print(table2.x) Dai suspeitei que aconteceria o mesmo com variáveis normais, bom erro meu. (Mesmo sendo algo totalmente estranho ser de um jeito em algo e de outro jeito em outro), mas obrigado xD Link para o comentário https://xtibia.com/forum/topic/201848-aulas-b%C3%A1sicas-com-o-sr-iunix-3-vari%C3%A1veis-e-tipos-de-dados/#findComment-1419868 Compartilhar em outros sites More sharing options...
Slicer 1070 Postado Dezembro 22, 2012 Share Postado Dezembro 22, 2012 kk nem tabela eu sabia q acontecia isso em lua.. vlw pela dica ^^ Link para o comentário https://xtibia.com/forum/topic/201848-aulas-b%C3%A1sicas-com-o-sr-iunix-3-vari%C3%A1veis-e-tipos-de-dados/#findComment-1419872 Compartilhar em outros sites More sharing options...
dalvorsn 268 Postado Dezembro 23, 2012 Share Postado Dezembro 23, 2012 (editado) http://www.lua.org/m...manual.html#2.2 Valores do tipo table, function, thread e userdata (completo) são objetos: variáveis não contêm realmente estes valores, somente referências para eles. Atribuição, passagem de parâmetro, e retorno de funções sempre lidam com referências para tais valores; estas operações não implicam em qualquer espécie de cópia. Editado Dezembro 23, 2012 por dalvorsn Link para o comentário https://xtibia.com/forum/topic/201848-aulas-b%C3%A1sicas-com-o-sr-iunix-3-vari%C3%A1veis-e-tipos-de-dados/#findComment-1420542 Compartilhar em outros sites More sharing options...
Posts Recomendados