Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Introducao_programacao_cover.png

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.

Então você tem um conjunto de símbolos e um conjunto de regras, esse símbolo e essas regras vão formar um conjunto de ações que vão ser compreensíveis e vão ser executadas pelo computador, nisso irá se chamar Linguagem de Programação.

Detalhe: Esses símbolos podem ser Comandos, indentificadores, Caractéreas ASCII e etc.

As caractéreas ASCII são toda aquelas tabelas, se não souber só pesquisar ou me procure depois, que poderei explicar, ou irei explicar em outro Tópico mais para frente.

Jutando essas caractéreas, esses símbolos com as regras de sintaxe você vai ter uma Linguagem de Programação.

- Uma Linguagem de programação é uma notação formal para descrição de algoritmos que serão executados por um computador. Como todas as notações formais, uma lingugem de programação tem dois compontentes: Sintaxe e Semântica.A Sintaxe consiste em um conjunto de regras formais que especificam a composição de programas a partir de letras, dígitos e outros símbolos.

Por exemplo, regras de Sintaxe podem especificar que cada parênteses aberto em uma expressão aritmética deve corresponder a um parêntese fechado, e que dois comandos quaisquer devem ser separados por um ponto e vírgula.As regras de Semântica especificam o "significado" de qualquer programa, sintaticamente válido, escrito na linguagem

Sintaxe e Semântica são regras básicas para a Linguagem de programação.

Uma Linguagem de programação como qualquer outra língua , ela é regida por regra de Sintaxe no português é como se fosse objeto direto, sujeito,predicado então são regras de Sintaxe que venham a compor a Língua portuguêsa, em toda as línguas a sua regra de Sintaxe, no Inglês tem a sua, no Espanhol tem a sua.Então em toda linguagem tem sua regra de Sintaxe que venha a dizer como as coisas funcionam.

Por Exemplo: Se você fizer algum comando usando a línguagem Pascal e não colocar o Ponto e vírgula no final, na hora que você for executar o programa o Compilador vai dizer que há um erro de Sintaxe. Por que vai acontecer isso Victor? Porque o programa entende que pra você ter que finalizar o comando tem que finaliza-lo com ponto e vírgula.Esta regra é para o Compilador, já está determinado.

Toda Línguagem ela é Regida por estas regra.Mas para cada função existe uma regra específica. Por Exemplo se você quer uma estrura de saída de dados, toda as estruras de saída de dados vão retornar do tipo TEXTO.

Então você tem que por entre aspas, se você quer digitar um Texto, tem que por entre aspas dentro da Estrutura de Saída, as vezes utilizando Algoritmo você pode utilizar a palavra Escreva, em outras regras usa a palavra Imprima. Em uma outra linguagem como a pascal você vai utilizar a palavra write e assim por diante.

Então a Sintaxe venha ser as regras que vão compor a nossa lingugaem, toda a estrutura , todo comando. Se você vai fazer o comando de repetição tem a regra de Sintaxe.Se você vai atribuir o valor há uma vareavel então cada lingugagem tem a sua Sintaxe que forma isso.

Exemplo: Na Lingugagem Pascal, pra você atribuir o valor a alguma variavel você usa dois ponto e igualdade vb , por exemplo você usa só a igualdade, na lingugagem C você tambem só usa a igualdade, oque isso quer dizer?Algumas coisas sempre vão mudando de acordo com a Lingua.Um Exemplo é o Portugues de portugal para o nosso portugues (brasileiro) ou o Espanho para o Portugues, ou o Inglês (americano) para o Britânico e assim por diante.

Agora vem as regras de Semântica.

As regras de Semântica especificam o Significado de qualquer programa sintaticamente valida e escrito na linguagem.

Então a regra de Sintaxe e a forma de Sintaxe é o significado.

Começarei a fazer tópico sobre Lingugagens mas não só de linguagem se vocês todos concordarem estarei trazendo aqui no #####, muitos tutorias para você aprender a Programar, Tutorias do que programar e etc. Você não vai estudar lógica de programação para C , logica de programação para Delphi, lógica de programação para Pascal não existe isso. Lógica de Programação é basica para qualquer linguagem. Então se você entender alguns tópicos que irei criar , se você estudar , ver outros tutoriais você irá programar em qualquer Linguagem. Um conselho a todos que leram este tópico até o final, não fique desinteressado não faça as coisas pelo caminho , porque tudo na vida é questão de esforço.

Veja meus tutoriais que mas em breve estarei disponibilizando aqui no #####, mas tambem veja outros na Internet.

Se Gostou da um REP+ :] só pra ajudar um pouco .

Obrigado a Todos.

Att, VictorFT

elysiumsign.jpg

"Embora ninguém possa voltar atrás e fazer um novo começo, qualquer um pode começar agora e fazer um novo fim"

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por UsToOliNN
      Olá amigos do tibia king, estou a compartilhar esse conteudo com vocês que eu fiz com intuito de ajudar vocês de uma forma mais contemporanêa, espero que eu consiga suprir a necessidade de vocês.
       
      https://www.youtube.com/watch?v=fZHsW65XkNs
       
    • Por Hazze
      ===============SOURCE IONBOT===============
       
      Então galera..
      Meu nome é Anderson tenho 21 anos, não sou programador apenas tenho programação como hobby.

      Jogo tibia desde 2008 e me iniciei na programação 2 anos depois em 2010.
      Ao inicio foi só por curiosidade que resolvi "aprender" a programar bots pra tibia. Foi ai que eu conheci pascal e posteriormente o delphi.
      Criei meu primeiro bot healer apenas vendo sources de exemplos na internet. Ele era bem simples e contia tudo aquilo de simples que todo "1º newbie bot" era capaz de fazer (food eat, ant-kick etc..), mas apesar de simples era funcional.
      Um dia pesquisando na net procurando sobre o que mais eu poderia adicionar ao meu bot, encontrei uma source disponibilizada pelo @kimoszin que era capaz de ler o battlelist do tibia.
      A partir dai eu fiz varias mudanças no meu healer e criei muitos diferentes projetos de bots sempre procurando adicionar algo a mais.

      Esse projeto ionbot foi meu penúltimo projeto de uns 1~2 anos atrás..
      Intusiasmado em criar "algo open source" resolvi disponibilizar meu projeto a um tempo abandonado a todos.
      Muita coisa (se não a maioria) no bot foi escrita por min apenas usando a lógica por min mesmo.

      Nota:
      poderá haver trechos na source que podem parecer desnecessários ou até escritos de forma "pré histórica". Como eu disse, eu não sou um programador (pelo menos não um experiente) e tudo que eu sei sobre programação aprendi lendo artigos na net.

      Bem vamos ao que interessa..

      ====>O que o bot faz?

      O bot está atualizado para o tibia 10.53 mais pode facilmente ser atualizado.

       Healer               : auto cura (spell,potion,rune)
       Refiller              : auto restaura mana
       Friend heal       : auto cura aliados (com spell, potion ou rune)
       Auto-spell         : auto "utamo vita", "gran hur", "utito tempo"..
       Attack-spells    : usa determinada spell/rune na criatura configurada..
       Auto-attack       : auto ataca criaturas configuradas no attack-spells
       Ml-train             : treiner de magic level
       Auto-eat            : usa hotkey do food de tempos em tempos..
       Ant-idle             : evita o logout do char fazendo ele "dançar"
       Runemaker       : auto cria runas (com spells já setadas)
       Alerts                 : alerta se player, pk, membro de war etc.. Esta na tela
       Reconnect        :  reconecta o char com login e senha configaráveis
       Light-hack         : full light do tibia
       Scripter             : possibilidade de criar scripts em lua engine

      O ionbot foi criado com o intuito de tentar minimizar as chances de
      ser pego em massban (usando funções de teclado e mouse em intervalos
      ramdômicos).
      Eu e mais 4~5 amigos meus, usamos ele durante muito tempo (mais de ano)
      e ninguem foi pego em mass ban.
      Lembre-se : ao usar qualquer bot/macro de qualquer tipo (com simulação
      de teclado/mouse, com packets, dll injection, memory write etc..)
      Você sempre estará sujeito a ser banido/deleted.

      Á muita coisa o que se pode fazer com essa source basta ter imaginação.
      >>um exemplo é um client hack (onde se pode "usar" mounts, outfits premium
      alterando valores na memoria do tibia).
      >>outro exemplo é criar um "auto equip item" já que na versão atual do
      tibia é possivel equipar items através de hotkeys.

      Todas as funções podem ser facilmente alteradas para bem atender ao que
      se deseja fazer.

      ====>Como posso editar e recompilar o bot?

      O bot foi escrito no delphi 2010. Para ser mais especifico eu usei o
      embarcadero rad studio 2010 sem componentes adicionais.
       
      ====>Como atualizar a source para a versão atual do tibia?

      basicamente isso pode ser feito apenas atualizando os endereços de memória
      do tibia para a versão atual. Com o cheat engine é possivel achar todos
      os endereços.

      ====>Você dará suporte para resolver dúvidas sobre a source?

      Provavelmete não. Caso eu encontre tempo para responder eu responderei
      mais é bem provável que não. Apesar de alguns trechos não estarem
      "comentados" a source está muito fácil de ser entendida.

      ====>Porquê você está disponibilizando e tornando free open source?
      Já vi muitas pessoas fazerem isso com aplicativos bem mais complexos.
      Apesar de ter gastado muito tempo "montando" esse bot não vejo porquê não
      disponibilizar.

      ====>Porquê você escolheu o tibiaking para postar?

      A grande maioria das minhas dúvidas foi exclarecida aqui. Não vejo porque
      não contribuir com o que eu aprendi.
      ====>O que eu posso fazer com a source?

      Basicamente você pode fazer o que você quiser com a source. A partir de hoje
      eu a tornei um projeto open source. A única coisa que eu peço
      (e nem precisava pedir) é um simples "obrigado por compartilhar" e que tenha
      em mente que estou fazendo isso de bom grado.
      Mantendo os créditos da source eu também agradeceria.
       
      @AndersonHz  ou @Hazze (Eu) : Por iniciar o projeto e montar o bot.
      @Kimoszin : Por ajudar com funções/explicações essenciais
      @TibiaKing : Pela oportunidade de compartilhar o projeto aqui.
      @Outros : Por disponibilizar bibliotecas (como a Unit Lua) funções, turoriais etc..
       
      ====>Informações adicionais

      Muitas funções do bot foram tiradas da internet e eu não sei a quem devo
      me dirigir quanto aos creditos de cada função.
      Quase todas foram adaptadas por min.
      Basicamente eu apenas "montei um bot simples" com o que eu achei/aprendi
      na internet.
      Pequenas sources postadas aqui que fizeram a diferença.
      Gostaria de agradecer também a outras pessoas, mais eu nem lembro mais
      onde tirei os códigos e muito menos os nomes.

      Espero que seja de ajuda esse pequeno e simples projeto.
      Obrigado a você que leu todo esse texto   (sei que muitos irão apenas baixar)
      Comente o que achou do bot, poste a sua versão melhorada da source ou pelo
      menos agradeça se foi de ajuda. Não custa nada .
      Postar a versão melhorada da source será de ajuda a todos.
      PEÇO QUE POR FAVOR MANTENHA OS DEVIDOS AUTORES DO BOT  (ISSO INCLUI
      OS AUTORES DAS BIBLIOTECAS/FUNÇÕES/PROCEDURES USADAS NO MESMO).
       
      O DOWNLOAD DA SOURCE ESTÁ ANEXADO AO POST.
       
      ionBot.zip
       
      NAO POSTAREI O SCAN DO ARQUIVO POIS SE TRATA DA SOURCE E NÃO DO PROJETO COMPILADO.
      Se alguém quiser o projeto compilado é só pedir que eu posto.
       
      BOM PROVEITO E Obrigado Galera.
       
      Algumas screenshots:
       



       
    • Por VictorFT
      Básico: House



      Detalhamendo de Ruas









      Olá, pessoal tudo bom?Então gente , como podem ver reduzi um pouco os meus tutoriais porque estou de Viajem. Mesmo assim estou tentando ter ideias para tutoriais mas não chegam na minha cabeça. Agora mesmo uma hora atrás por ai estava fazendo um tutorial de House para vocês , e um detalhamento de ruas bem rapidinho. Mas o Tutorial Se baseia mesmo em House!



      Então quero falar que não é difícil fazer House , só tem que ter prática , e também saber fazer o Telhado que ele da um gostinho na house (pra mim). Espero Ajudar muitos



      Casa na vida Real:








      Casa no Tibia:



      Podem ver que algumas Wall's são bem parecidas como na foto Real'











      Começando o Tutorial




      Primeiramente ... abra o rme (IAHEAH) , ta abre essa bosta.



      Em seguida você vai fazer a Base da Sua House , a base da house é muito simples , você pode faze-la com Auto Border , mas na hora de fazer a 'variação' das wall's , não vai poder fazer com A.B , mesmo que você queira , o Rme não vai deixar.



      Id's Utilizados: Architecture (5315 até 5331) , FrameWork Wall (10226 até 10248), e Stone Wall né.









      Segundo Passo , é muito simples essa parte é a mesma coisa do primeiro mesmo id's etc conforme você faça o estilo da sua House, use o mesmos id's do que eu usei no Primeiro Passo. Faça essa varanda ali do lado. E como vocês podem ver eu coloquei um espaço para por um telhado (Id: 9095).








      Terceiro Passo... Eu fiz o Telhado né para ficar legal , como vocês perceberam eu não botei escada esqueci
      mas é assim gente , então esse pode ser o sotam.


      Id's Utilizado : 9092 até 9099 / 9103 / 9106 / 10329 / 10337.








      Quarto Passo , Suba um Floor e faça o Telhado 'Final' , a parte final do telhado né . Como vocês viram Telhado não é difícil,só é questão de Prática e criatividade.



      Id's Utilizados no Telhado 'Final' : 10337 / 9095 / 9093.








      Quinto Passo ... Esse passo é um mini tutorial de Detalhamento de Ruas. Como vocês podem ver eu utilizei Stone Pedestal ( Id: 10436 até 10440) e botei arbustos lá para ficar bonitinho. Coloquei uma árvore também né para dar um Toque legal e agradável perto das casas , mas não detalhei a parte da grama (preguiça) ,Também como podem ver eu Botei uma Loja e uma entrada bonitinha pra ela (Ideia do DuMal). Ficou legal a ruazinha né ? *-*









      Então, é isso galera obrigado por verem mais um tutorial meu acho que ficou legalzinho até pois muita gente quer começar um mapa próprio mas não sabe dar o segundo passo (as Ruas e casas) então é isso gente Obrigado.





      Créditos: VictorFT ( Tutorial/Casa/detalhamento/criar tudo)



      Left4Dead ( Ideia das ruas / Árvore)



      DuMal (Ideia da Loja)

    • Por VictorFT
      Básico: Tutorial Swamp



      By: VictorFT & DuMal








      Eai pessoal tudo bom? Hoje to trazendo um tutorial de Swamp aqui para vocês. Primeiramente peço desculpas de não ter postado mais tutoriais, realmente fiquei um tempo parado. Mas eu estava Mappeando Online com o DuMal e resolvi fazer um Tutorial Ultra Rápido. Então o Tutorial que nós fizemos não demorou nada , faz uma semana mais o menos ou mais que estou pretendendo bota-lo aqui no #####. Então Irei por Hoje, realmente o Tutorial Não está nada de abrir a Boca, o Motivo é só para vocês entenderem o Tutorial, está muito Simples.



      Vamos Começar.



      Primeiramente pesquisei na Wikpédia Oque seria uma zona de Swamp (Pântano) então abaixo está oque é uma zona de Swamp.






      Wikpédia:



      Um pântano (Swamp) é uma zona húmida que é arborizada. Pântanos se localizam perto dos rios de grande porte, onde eles são criticamente dependentes de flutuações do nível da água. Outros pântanos ocorrem nas margens de grandes lagos. Alguns pântanos têm redes ou seca-terra saliências, cobertas por vegetação aquática , ou vegetação que tolera inundação periódica. Nas regiões boreais do Canadá, o pântano é popularmente usado para o que é mais corretamente chamado de turfeira ou muskeg . A água de um pântano pode ser de água doce , salobra ou salgada . Algumas das maiores pântanos do mundo são encontradas ao longo dos principais rios. Exemplo : Amazônia , Mississipi e etc.











      Fotos de um Pântano (Swamp)



      Swamp na vida real:







      Swamp No Tibia:









      Fazendo Sua Área de Swamp




      Dica: Dou esta dica em todo os meus tutoriais. Nunca fez uma área de Swamp? Repita como está no tutorial para te dar uma noção e logo em seguida faça sua própria.




      Primeiramente começando: Bote as bordas do Swamp é bem simples. As bordas de Swamp podem ser encontradas nos seguintes ID's : 4713 até 4736 (se eu não me engano).Ficando Assim:








      Segundo Passo: Este paço é mais simples que o Primeiro pois você terá que por Grass (morta) seu id é 9044. Mas isto é uma opção de por esse tipo de Grass, pois você pode variar também pondo a normal e esta grass 'morta'.







      Terceiro Passo: Adicione Arbustos (Id: 2767, 2768,2708) também adicione Grass Tuffs (Id: 6216 até 6219), Adicione alguns Slime Table Mushroom (Id: 4174 até 4177).



      Adicione algumas Plantas de Swamp Mud Whip e etc. (Id: 2773,2778 e etc.)



      Claro que você tem que dar uns Toques pondo Algumas Teias, porque geralmente Área de Swamp contém alguns bixos como Aranhas. (Id da Teia : 7546 até 7548)



      Se você quiser faça uma árvore Grande.



      Dica: Use um 'rascunho' ,para faze-la . Exemplo Faça em uma parte que não tenha nada pois se ficar feia só apagar e refaze-la até ficar boa. Também adicione algumas Stones e etc.








      Quarto Passo: Este passo é o Final , não tem nada demais só adicione mais detalhes e termine sua árvore e Adicione a sua árvore no seu mapa, se quiser pode aumentar a área. Também terá que adicionar mais Spider Web nas Plantas e etc. E Principalmente adicione Spider Web na árvore.








      É isso galera eu e o DuMal fizemos um Tutorial bem rápido só para vocês terem uma noção espero que tenham Gostado. Obrigado por lerem espero ajudar muitos , Obrigado



      Créditos: DuMal/ VictorFT




      Att.



      VictorFT

    • Por VictorFT
      ---Tutorial by Leo ---



      Bom galera, venho através desse tutorial tentar ajudar aqueles que querem aprender um pouco mais sobre a área de scripting. Vai ser bem básico, como muita gente tinha me pedido por pm (então resolvi fazer para acabar com o enjoo =P). Acredito que existam muitos tutoriais, alguns bons, outros não, e como vinham me pedindo, ou os tutoriais eram ruins, ou queriam uma visão de outra pessoa (quem sabe com outra pessoa falando, entenda melhor). Diante mão, vou logo dizendo que não me considero um bom scripter ou coisa perto disso até porque estou nisso há menos de 1 mês, mas vou tentar ajudar as pessoas com o pouco que sei.




      Nessa primeira parte, vamos ver os seguintes pontos:




      1. [LÓGICA DE PROGRAMAÇÃO]



      1.1 O que é um algoritmo?



      1.2 Um exemplo de algoritmo.



      1.3 Exercício: Faça seu próprio algoritmo.




      1. Desde que existe o ser humano, existe programação. Quando os homens da pré-história iam caçar, ele se programavam, decidiam quais passos tinham que seguir a fim de alcançar a caça. (hehe) Com o computador não é diferente, você deve dar os passos para que ele possa executar as ações e alcançar o objetivo, que no nosso caso, é o sucesso do script. Isso é a linguagem de programação, é uma linguagem criada para instruir o computador a realizar suas tarefas, e o programador deve seguir uma lógica para colocar cada parte do script no seu devido local, essa é a lógica de programação.




      1.1 Algoritmo é nada mais que uma "receita" que deve ter os passos seguidos pelo computador para realizar uma tarefa. Esses passos não devem deixar o computador com dúvidas, e portanto, devem ser bem definidos e claros.




      1.2 Vamos a um exemplo de um algoritmo. Algoritmo: Preparar um cafezinho




      Geralmente, tomamos um cafezinho logo quando acordamos então a primeira coisa que devemos fazer é:




      Acordar




      Se não tiver água quente então




      Colocar água na panela




      Colocar a panela no fogão




      Ligar o fogão




      Esperar água ferver




      Vejam que se esses passos acima forem seguidos rigorosamente, você vai conseguir por a água para ferver. Continuando...




      Mas se já tiver água quente então




      Botar água na xícara




      Botar duas colheres de açúcar




      Botar uma colher de café em pó




      Mexer




      Tomar




      Dizer: Delíiiciaa =P




      Vejam, que aí estão os passos exatos para preparar um cafezinho. Aliás, mais do que preparar, até tomar o café.




      Como ficou o algoritmo:









      1.3 Faça um algoritmo para: Ir à escola/faculdade (não precisa postar, é só para treinar).




      2. [sCRIPTEANDO]



      2.1 Arquivos de Base



      2.2 Controladores Lógicos



      - Condicionais



      - Operadores de relação



      - Operadores-controladores



      2.3 Variáveis



      2.4 Storage




      Nessa parte, vamos começar a parte de script realmente. Lembrando que existem muitos tutoriais e só esse aqui não é o bastante, até por estar bem básico.




      2.1 Os arquivos que podem dar auxílio na hora de fazer os seus scripts são:




      -- Em data/lib (alguns, global.lua) encontre o arquivo: 000-constant.lua que dá muitas informações sobre o server, como por exemplo, id dos channels, id das skulls, tipos de mensagens, etc.. é bastante útil na construção dos scripts.




      -- Ot script Live by Colex: Programa que facilita bastante pros iniciantes. Ele marca algumas funções em uma cor diferente além de executar o script para ver se há algum erro de escrita. Em alguns fórums tem, é só usar o sistema de busca.




      -- Notepad++: Um editor de texto que também pode ser útil.




      2.2 Os controladores lógicos são aqueles que colocarão em prática a sua lógica de programação. São eles que guiarão os passos que o computador deve seguir.




      --- Condicionais




      Acho que todos sabem o que é um condicional. Como o nome já diz, ele abre uma condição para que algo possa ser feito.




      Exemplo: Caso não chova, irei jogar bola.




      Então, isso é uma condição, a condição de que não esteja chuvendo. Se não chover eu jogo, se chover não jogo.




      Na programação, os principais condicionais são:






      if -- equivale ao se em português. Está presente em todas linguagens de programação. Provavelmente, você já o viu nas aulas de português. Ele abre uma condição. Regra: Todo if tem seu end.






      else -- equivale ao senão. Vai ser executado caso a primeira condição aberta pelo if seja falsa.




      elseif -- equivale a "senão se" ou "mas se". Ele evita a repetição de vários se. Não precisa de end, "utiliza" o end do if.




      Construindo um algoritmo só para exemplificar:









      Pegando o exemplo acima, vamos usar o elseif.









      ---- Operadores de relação




      Os operadores de relação são aqueles que vocês estudam em matemática: igual, maior igual, menor igual...Em lua, é um pouco diferente:




      igual: = menor igual: <=




      maior igual: >= verificação: ==




      Esse de verificação serve para checkar se algo é realmente igual. A diferença dele para o de igual "=" é que o igual serve para atribuir valores.




      Exemplo: se o level do player == 100 então -- verifica se o level do player é realmente 100




      --- Operadores controladores




      Esses operadores são o and e o or que significa basicamente "e" e "ou", respectivamente. O and verifica se todas as condições são verdadeiras para executar algo.




      Exemplo: se o player tem level 100 e o nome dele é Leoking então




      execute script




      fim




      Perceba que só será executado caso a condição de ser lvl 100 e o nome ser Leo sejam respeitadas. No caso do or, é necessário que apenas uma delas seja respeitadas.




      Exemplo: se o player tem level 100 ou o nome dele é Leo então




      execute script




      fim




      Nesse caso, com somente uma condição sendo respeitada, já é o bastante para que o script seja executado.




      2.3 Variáveis: Servem basicamente para guardarem valores.




      Exemplo:










      O script retornará: king -- king é exatamente o valor da variável var.




      2.4 Storage: É simplesmente uma função que vai guardar um valor ou letra, palavra, etc.




      Para dar um storage usamos a função: setPlayerStorageValue(cid, valor, novo valor)




      Exemplo: setPlayerStorageValue(cid, 1234, 1)




      Para verificar se um player tem um storage usamos a função: getPlayerStorageValue(cid, valor)




      Exemplo: getPlayerStorageValue(cid, 1234)




      Essas funções você pode ver naquele arquivo de base: lista de funções em lua




      Agora a última parte desse mini tutorial:




      3. [ACTIONS]



      3.1 Sintaxe das actions



      3.2 Exemplo de actions





      3.1 A sintaxe das actions é: function onUse(cid, item, fromPosition, itemEx, toPosition) mas também podem ser encontradas como fromPos, toPos, isso vai depender de como o scripter queira e como vai usar no script. Usei essa que está em negrito, pois, já é a padrão. Agora a explicação:




      function onUse(cid, item, fromPosition, itemEx, toPosition)




      Primeramente, é bom lembrar que assim como o if, toda função (function) tem seu end.




      Exemplo:









      Explicação da sintaxe:




      onUse = ao Usar (assim que o player use um item)




      cid = creature id -- quem vai usar o item




      item = item que será usado ou item "principal"




      fromPosition = da Posição




      itemEx = item "secundário"




      toPosition = para a Posição




      3.2 Vamos colocar em prática tudo que lemos até agora.




      Nossa action fará:





      [/center] [center]Ao dar use em um item --- para inserir comentários que não alterarão o script, é só colocar -- e escrever[/center] [center]Se o player for level maior ou igual a 100 então[/center] [center]Sumona um monstro em uma posição[/center] [center]Manda uma mensagem para o player[/center] [center]Manda um efeito no player[/center] [center]se não for level 100[/center] [center]Manda uma mensagem para o player[/center] [center]fim do script[/center] [center] [/center] [center]function onUse(cid, item, fromPosition, toPosition, itemEx) --- sintaxe das actions[/center] [center]if getPlayerLevel(cid) >= 100 then -- se o level do player é maior igual a 100 então[/center] [center]doSummonCreature("Demon", {x=1, y=1, z=1}) --- sumona um demon na posição determinada. Todo valor que seja uma letra, palavra deve estar entre aspas. A posição, entre chaves.[/center] [center]doPlayerSendTextMessage(cid, 22, "Você sumonou um Demon.") -- manda uma mensagem do tipo 22 (veja no constant.lua)[/center] [center]doSendMagicEffect(getPlayerPosition(cid), 10) -- manda um efeito de id 10 (veja constant.lua) na posição do player[/center] [center]else -- se não[/center] [center]doPlayerSendTextMessage(cid, 22, "Você não tem level 100.")[/center] [center]end -- end do if[/center] [center]end -- end da função[/center] [center] Toda script deve ser registrado em um arquivo.xml, no caso da nossa action,será registrado no actions.xml e como é o item que será usado, usaremos itemid: <action itemid="IDDOITEM" event="script" value="NOMEDOARQUIVO.lua"/> Esse foi nosso script usando quase tudo que explicamos anteriormente. Vamos usar agora storage e variáveis nesse script. Vimos que variáveis podem guardar valores, seja númerico ou não. Então, podemos fazer com que não precisemos editar o monstro, a posição e o level dentro do script. (não vou explicar o que é uma variável local e global, pois é intuitivo -- se tiverem dúvidas procurem em outros tutoriais). Podemos colocar: --- Guardando os valores com variáveis --- local monster = "Demon" -- entre aspas, lembre-se! local pos = {x=1,y=1,z=1} -- entre chaves! local minlevel = 100 -- minimo de level Ok até aqui, então nosso script ficaria: [/center] [center]local monster = "Demon"[/center] [center]local pos = {x=1,y=1,z=1}[/center] [center]local minlevel = 100[/center] [center]function onUse(cid, item, fromPosition, toPosition, itemEx)[/center] [center]if getPlayerLevel(cid) >= minlevel then[/center] [center]doSummonCreature(monster, pos)[/center] [center]doPlayerSendTextMessage(cid, 22, "Você sumonou um Demon.")[/center] [center]doSendMagicEffect(getPlayerPosition(cid), 10)[/center] [center]else[/center] [center]doPlayerSendTextMessage(cid, 22, "Você não tem level 100.")[/center] [center]end[/center] [center]end[/center] [center] Mas, digamos que vou passar esse script para um amigo e ele não sabe nada de editar scripts. Aí você fala, é só colocar o nome do monstro no lugar do Demon. Ele vai e faz: [/center] [center]local monster = "Rotworm" --- olha aqui[/center] [center]local pos = {x=1,y=1,z=1}[/center] [center]local minlevel = 100[/center] [center]function onUse(cid, item, fromPosition, toPosition, itemEx)[/center] [center]if getPlayerLevel(cid) >= minlevel then[/center] [center]doSummonCreature(monster, pos)[/center] [center]doPlayerSendTextMessage(cid, 22, "Você sumonou um Demon.")[/center] [center]doSendMagicEffect(getPlayerPosition(cid), 10)[/center] [center]else[/center] [center]doPlayerSendTextMessage(cid, 22, "Você não tem level 100.")[/center] [center]end[/center] [center]end[/center] [center] Ou seja, vai sumonar um rotworm mas vai mandar a mensagem: Você sumonou um Demon. Como resolver isso? Existe os strings, (não vou me aprofundar) vou dar um exemplo e mostrar como ficaria. Exemplo: local var = king imprima("Você quis dizer ".. var .."?) Retornaria: Você quis dizer king? Percebam que é só colocar ".. variavel .." . Além de resolver o problema do monster, também poderíamos fazer isso com o level, no nosso script ficaria: [/center] [center]local monster = "Rotworm"[/center] [center]local pos = {x=1,y=1,z=1}[/center] [center]local minlevel = 100[/center] [center]function onUse(cid, item, fromPosition, toPosition, itemEx)[/center] [center]if getPlayerLevel(cid) >= minlevel then[/center] [center]doSummonCreature(monster, pos)[/center] [center]doPlayerSendTextMessage(cid, 22, "Você sumonou um "..monster..".")[/center] [center]doSendMagicEffect(getPlayerPosition(cid), 10)[/center] [center]else[/center] [center]doPlayerSendTextMessage(cid, 22, "Você não tem level "..minlevel..".")[/center] [center]end[/center] [center]end[/center] [center] Sendo assim, seu amigo noob só vai precisar editar na parte de cima do script. Adicionando storage ao script. Nesse caso, faremos com que o item só possa ser usado uma única vez. Para isso, daremos um storage a ele quando o item for usado e verificaremos se o player já tem esse storage para ver se poderá ser usado o item novamente ou não. (Leia a parte de storage) A função que verifica se o player tem storage é : getPlayerStorageValue(cid, value), então: [/center] [center]se o player tiver esse storage menor ou igual a 0 então[/center] [center]execute o script[/center] [center]dê a storage -- para que o player n possa usar novamente[/center] [center]se não --- se ele já não tiver storage menor ou igual a 0, ou seja, ja tiver usado o item[/center] [center]mande msg negando[/center] [center] No script ficaria assim: [/center] [center]local monster = "Rotworm"[/center] [center]local pos = {x=1,y=1,z=1}[/center] [center]local minlevel = 100[/center] [center]function onUse(cid, item, fromPosition, toPosition, itemEx)[/center] [center]if getPlayerStorageValue(cid, 1234) <= 0 then -- se o storage 1234 for menor ou igual a zero entao[/center] [center]if getPlayerLevel(cid) >= minlevel then[/center] [center]doSummonCreature(monster, pos)[/center] [center]doPlayerSendTextMessage(cid, 22, "Você sumonou um "..monster..".")[/center] [center]doSendMagicEffect(getPlayerPosition(cid), 10)[/center] [center]setPlayerStorageValue(cid, 1234,1) --- dar storage 1234 pra q n possa usar novamente[/center] [center]else[/center] [center]doPlayerSendTextMessage(cid, 22, "Você não tem level "..minlevel..".")[/center] [center]end --- end do if do getPlayerLevel[/center] [center]else -- se já tiver storage igual a 1[/center] [center]doPlayerSendTextMessage(cid, 22, "Você já usou esse item.") -- manda a mensagem[/center] [center]end -- end do if getPlayerStorage...[/center] [center]end -- end da função[/center] [center]




      Então é isso galera, tentei englobar o maior número de informações necessárias para vocês começarem a fazer seus scripts e espero que esse tutorial ajude alguém. É bom lembrar que só isso não basta e que é sempre bom olhar os scripts dos outros e pelo menos tentar entender como que foram feitos. Vlw aí, abraços.





      Créditos: 100% Leo




      PS: Não quero ninguém pegando o Tutorial e colocando em outro fórum se for colocar em outro fórum deixa que eu ou o Leo .

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo