Ir para conteúdo

Guilherme Ortega

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Guilherme Ortega deu reputação a 3visan em [Aula 3] Primeiros Passos   
    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 Scintilla [Avançado]
    OTScript Live! [Recomendado]



    Editores:

    Notepad++



    Interpretadores:

    Lua [Oficial]



    Depois que você tiver seu editor e interpretador Lua (Recomendo o OTScript Live!), instale ele. No caso do OTScript Live!, depois de descompactar, vá em "Help", no menu, e clique em "Register To Lua". Abrirá uma caixa confirmando a alteração, basta apertar "OK" e todos os seus scripts irão abrir com o OTScript Live!.




    testando seus scripts!
    No caso do SciTE, para testar o seu script você deve primeiro salvá-lo com a extensão Lua (*.lua). No caso do SciTE e do OTScript Live! você pode testar seu script apenas apertando F5, sendo que no OTScript Live! não é necessário salvar o script antes de testar.

    Após pressionar F5, o SciTE irá abrir uma área de textos abaixo da área de edição com as informações do teste, e o OTScript Live! vai abrir uma janela.

    Para testar se o seu SciTE ou OTScript Live! está funcionando, use o seguinte script:



    print("Hello world!") Nas informações mostradas pelo interpretador deve estar escrito "Hello world!". Se aparecer, parabéns, você testou o seu primeiro script Lua...(Ou não >.<) O que o script fez? o0 Uma das coisas mais importantes nos scripts são as funções. Uma função é "um bloco de código previamente pronto", uma subrotina, que quando chamada executa esse bloco. Imagine as funções como um atalho para executar alguma coisa. Pode ser usada, por exemplo, para encurtar scripts que tenham alguma parte do codigo que se repita muitas vezes. Criando uma função você pode usar esse código que se repete muitas vezes somente uma vez (Dentro da função), então em vez de usar esse bloco várias vezes, você só precisaria chamar a função várias vezes. Você pode criar suas próprias funções, mas isso veremos mais para frente. Tudo o que importa agora é aprender a chamar funções. O "Nome da Função", na verdade, é o nome da variável em que está armazenada a função, mas não se preocupem com isto ainda... O "Nome da Função" é o nome que você deve chamar para que a função ocorra, pois há vária funções (Obviamente), então você deve especificar qual função quer chamar. É a mesma coisa do que ter 3 pessoas. Quando quiser chamar uma das pessoas, deve dizer o nome dela. Os argumentos são as "Respostas" para as "Perguntas" da função chamada. A maioria das funções faz "perguntas". No caso da função "print", ela nos "perguntou" o que queriamos escrever na tela, e "respondemos": "Hello world!". É importante lembrar que cada pergunta deve ser respondida adequadamente, por exemplo, se alguém te pergunta: "Que horas são?" você não pode responder: "Sim.". A mesma coisa acontece com as funções, você deve responder exatamente o que ela está perguntando. Outra observação importante é que você deve responder as perguntas da função na ordem em que foram perguntadas. Se a pergunta nº 1 for "Que horas são?" e a nº 2 for "Quer um biscoito?", você deve responder respectivamente que horas são e se você quer um biscoito. OBS: Algumas funções fazem "perguntas" opcionais, ou seja, você pode ou não responder. Se você não "responder", a própria função atribuirá um valor padrão para a resposta. Os parâmetros são simplesmente o conjunto de todos os argumentos. OBS: Todos os argumentos (Respostas) do parâmetro devem estar entre parênteses e ser separados por vírgulas! Tipos de valores! Bem, como eu disse, cada resposta deve seguir o tipo da pergunta, então vou citar aqui os tipos destes valores. OBS: Existe uma função para descobrir o tipo de cada valor! Esta função é a função type(valor)... Numbers Como o nome diz, numbers são números, não há muito o que falar sobre eles... Exemplo: print(1) print(2) print(3) OBS: A função print aceita todos os tipos como resposta. Strings As strings devem iniciar com um símbolo especial e deve terminar com o mesmo caractere que foi usado para iniciar a string. Esses símbolos são: Apóstrofo: Começa com ' e termina com '. Aspas: Começa com " e termina com ". Colchete-Colchete: Começa com [[ e termina com ]]. Colchete-Igual-Igual-Colchete: Começa com [==[ e termina com ]==]. As strings são conjuntos de caracteres, como letras, números (Não são numbers, pois se houver um número entre os símbolos especiais será tomado como string!!!), acentos, espaços, etc... Se você quiser escrever uma frase na tela, por exemplo, não pode deixá-la solta pelo script. Esta frase deve ser uma string, ou o script dará erro. Exemplo: print('Apóstrofos') print("Aspas") print([[Colchete-Colchete]]) print([==[Colchete-Igual-Igual-Colchete]==]) OBS: 1 << Isto é um number. "1" << Isto é uma string. Booleanos Os booleanos podem assumir apenas dois valores: true e false. true: Valor verdadeiro. false: Valor falso. OBS: Os booleanos podem ser complicados de entender no começo, mas com o tempo você acostuma. Não se preocupe com eles agora... Exemplo: print(true) print(false) print(nil) Functions Exatamente o que o nome diz: é o que estamos vendo agora. Functions são nada mais nada menos do que funções. Exemplo: print(function() end) OBS: Não se preocupe com isso ainda! Tables ou Arrays São tabelas, ou seja, armazenam mais do que um valor dentro de uma "caixa". Tabelas podem armazenar outras tabelas e todos os valores dentro de uma tabela possuem um identificador, chamado "index" (índice). Tabelas começam com o símbolo { (Chave) e terminam com o símbolo } (Chave). Exemplo: print({}) Userdata Lua é uma linguagem de programação criada para dar extensão à linguagem de programação C e C++. Userdatas são ponteiros que indicam valores em C ou C++. Não se preocupe com eles. Nil Nil simboliza um valor nulo. Não deixa de ser um valor, mas é um valor sem conteúdo. Exemplo: print(nil) As funções retornam! Toda função retorna um ou mais valores, nem que sejam valores nulos (nil), portanto você pode usar uma função dentro do print para escrever os valores que a função retornar! Vamos usar como exemplo a função type(valor), que vai nos retornar uma string com o tipo do valor. Exemplo: print(type(1))




    O exemplo acima vai escrever em sua tela a frase: "Number", pois 1 é um number!

    Exercícios:
    Usando a função print para escrever na tela e type para pegar o tipo de algum valor, obtenha as seguintes frases na tela:







    Resposta no spoiler abaixo, tente fazer antes de ver.








    Creditos:



    99% Skyen Hasus



    1% Vittu


    Aula 4 Operadores e biblioteca

  2. Gostei
    Guilherme Ortega deu reputação a Madarada em [Apostila Sprite Seduction]#1 - Introdução   
    Sprite Seduction                                                                             -INTRODUÇÃO -
     
                                                                   Capítulo l                                                                         Onde tudo começa     • A importância da teoria
     
        Você não é bom: Você não ficará bom em 1 semana 1 mês ou 1 ano,assim como qualquer coisa na vida spriting exige dedicação e foco.Busque sempre estar aprendendo e evoluindo de maneira sadia e com humildade,então se você está a 6 meses e acha que já está bom,eu aconselho que pense novamente;   Talento x Esforço: você está spriteando à 6 meses e achou seu rendimento baixo,porque seu amigo que está à 1 mês é melhor do que você? Nunca se compare com outras pessoas,cada um tem seu tempo de desenvolvimento porém,não sejamos hipócritas existem sim pessoas talentosas e melhores do que você,se acostume;   O olhar crítico: é importante se manter alerta sobre isso pois na maioria dos casos os iniciantes são por muitos bombardeados com elogios e que suas sprites estão magníficas,porque isso acontece?Muitos que fazem esses elogios acreditam que estão ajudando porém não estão pois,elogiando uma arte de nível básico - médio você está dizendo em outras palavras que está pessoa alcançou um nível razoável de spriting o que não é verdade. Dessa maneira você causa o efeito reverso,e faz estes mesmo acharem que alcançaram um nível avançado e pararem de buscar maior conhecimento.Os elogios são importantes porém se foquem nas críticas construtivas que será o seu combustível de desenvolvimento.   • Spriteando de maneira efetiva   
          Não dispersar: quando comecei eu fazia tudo errado,começava uma espada fazia até a metade depois começava uma criatura,voltava para espada dava alguns toques e ia para criatura,depois começava outra criatura até a metade...Ou seja,eu nunca terminava nada,entendam que é de muita importância começar e terminar por completo todas as suas sprites,desse jeito você irá ver um avanço considerável;   Esteja bem aparelhado: lembro que no meu início não existia muitos tutoriais,apenas aqueles que todos conhecem de Galiant e etc...porém nem por isso eu desisti,esteja sempre perguntando e pedindo dicas à pessoas mais avançadas e checando tutoriais. Não fique buscando maneiras milagrosas baixando photoshop,gimp,fireworks e toda essa porcaria,se foque em aprender a usar o paint, o Photoshop Cs6 é um dos poucos programas bons de se usar,porém isso eu só aprovo para aqueles de nível avançado;   O poder do foco: estar focado é uma das coisas mais importantes,é o que vai fazer suas artes evoluírem,sempre esteja atento a seus erros e saiba reconhecer as criticas sem raiva,mais com sabedoria.Cada sprite é diferente e leva tempo para ficar pefeita por isso eu digo,nenhuma sprite fica perfeita feita em 1 dia,mesmo que feita por alguém experiente alguns erros passam despercebidos aos olhos pois geralmentes estamos cansados depois de 3-4 horas trabalhando de maneira intensa;   Sendo mais produtivo: antes de spritear esteja numa cadeira confortável,seu mouse deve ser confortável também assim como ter um computador razoavelmente bom.Faça sem pressa,trabalhe por 2 horas depois vá fazer um lanche volte e faça mais 3 horas,assista um pouco de televisão,converse etc...Acorde no outro dia e abra a mesma sprite e refaça tudo denovo,é importante levar mais de 1 dia pois a capacidade cerebral é diminuída conforme você se estressa com o esforço.Nunca jamais tente fazer nada rápido ou correndo acreditem,vai ficar ó uma bosta.     • Entendendo o pixel  
      O porque de começar do 0: muitos acreditam que usar uma "base" é algo interessante para iniciantes mais não é cada um tem uma ideia determinada de imagem.Por exemplo um mago na minha cabeça é Gandalf e na cabeça de fulano é Dumbledore ou seja,não use bases façam suas próprias bases do 0,vocês verão que as ideias fluiram com mais facilidade;   Espelhamento reverso: lembra daquela sprite de ciclano que você viu e achou foda? então tenho uma má notícia você não vai conseguir fazer uma igual,simplesmente porque cada pessoa tem seu próprio estilo e isso é único,não tente copiar a sprite de alguém porque em outras palavras,você esta tentando copiar o estilo também e isso é praticamente impossível.                                                                        Capítulo ll                                                                   Perspectiva45º e sua origem    • A ordem cronológica      Tudo começou com o jogo chamado Ultima Online,foi um dos primeiros MMORPGs lançados,em 1997 pela Origin System.Já foi um dos três MMORPGs mais jogados no mundo e é situado em cenário medieval.O criador do jogo é Richard Garriot,o mesmo criador de Ultima Vll e Lineage ll.  

      Ainda no mesmo ano,foi lançado nosso tão querido Tibia desenvolvido pela CipSoft. Criado em 1997, é um dos jogos mais antigos do gênero. Nele, os jogadores podem desenvolver as habilidades de seus avatares, buscar tesouros, resolver enigmas e explorar áreas como cidades, masmorras, florestas, desertos, ilhas, praias, minas, etc..Os personagens podem disputar lutas entre si ou com criaturas, tais como: monstros; dragões; demônios; orcs e etc...  

        • A explosão dos Otservers   Algum tempo depois,programadores e jogadores de tibia viram um potencial no jogo e com seu esforço conseguiram trazer o Otservers,que seriam servidores alternativos de Tibia hosteados por uma empresa ou pelo próprios donos em suas residências,onde experiência,loot,monstros e cenários eram totalmente configuráveis.   Com a ascensão dos Otservers Tibia Global perdeu um pouco de seu espaço,uma vez que os Otservers eram servidores totalmente surreais entretanto,faltava algo mais,algo que estaria por vir...     • Brasileiros na perspectiva45 e a nova ordem   Com a popularidade dos otservers muitos viram uma maneira de lucrar,dessa maneira os otserver não apresentavam somente nova jogabilidade mais também novos gráficos,eis que surge um tsunami de servidores derivados de diferentes temas,dentre eles tibia gta,tibia harry potter,narutibia,resident tibia,tibia digimon,poketibia entre outros...  

      Com a inovação de temas e possibilidades muitos viram um grande interesse na perspectiva45,em meados de 2009 a comunidade brasileira estava a todo vapor em busca de conhecimento.A evolução dos spriters brasileiros era consideravelmente boa e em fóruns os tópicos eram abarrotados de membros buscando por tutoriais,um membro muito importante para comunidade e conhecido como pai da comunidade foi Galiant,entretanto algo mudaria tudo no cenário brasileiro...                                                                               Capítulo lll                                                   A Evolução da perspectiva45 e a era top down     • O gráfico se aprimorando     Precisamente em 07-07-2010 Galiant deu ínicio ao que seria o porto seguro de spriters profissionais,o perspective 45 era um fórum destinado à spriters profissionais e de lá sairiam grandes artistas. Durante o tempo muitos artistas ganharam destaque por serem chamados para trabalhar em projetos notórios como Zezenia Online e Phobos.  

     

     

     

        • Top down e seu sucesso aparente  
      Passado tempo o interesse pela perspectiva45 veio diminuindo e o nível de spriters no Brasil caiu bastante,uma vez que os antigos mestres agora tinham suas obrigações,trabalho e uma vida agitada como pessoas normais. A comunidade de spriters brasileiros começou a declinar gradativamente,outrora o que era a sensação dos otservers a p45 deu espaço para seu algoz que seria a perspectiva Top down.     A perspectiva top down surgiu em meados de 2012 (se não me engano) quando jogadores e programadores decidiram exportar sprites de game boy advanced e game boy color para dentro de seus otservers,aparentemente uma ideia estúpida porém,a comunidade brasileira e também polonesa adorou a ideia eis que a famosa PXG se tornou febre entre os poketibias.   Mês após mês derivados surgiram,buscando a mesma consagração da PXG uma vez que misturava p45 com top down.Apesar de causar uma rude incongruência gráfica os jogadores não se importaram,uma vez que poderiam reviver suas lembraçans de quando jogavam gameboy color em uma fita porém com muito mais qualidade (ou não).    

        • Fim da perspectiva45 ?     Com os interesses de lucrar à todo custo foi deixado de lado a perspectiva45,uma vez que sprites top down eram deveras mais simples e mais fáceis de se fazer,dessa maneira os jogadores foram se acostumando com gráficos de péssima qualidade assim caindo nas graças do conformismo.Existiram alguns projetos de qualidade na perspectiva que resistiram ao maligno top down ,como por exemplo Shinobi Online entre outros...  

      Desde então alguns spriters simplesmente pararam seus projetos,pois não há perspectiva de se competir com grandes empresas como estas citadas,e com o fim do ex-maior fórum de Otserver o tibiaking,tantos os veteranos quanto os amadores ficaram sem um rumo certo.  
     
    Próximo tutorial em breve...
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Tutorial feito por:
    Madarada
     
    Crédito de Imagens:
    Tibiabrfóruns
    Perspective45
    André Galiant
    Iven miller
    Erick Etchebeur
    Lucas Melo
    Wikipédia

Informação Importante

Confirmação de Termo