Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 07/13/15 em %

  1. Administrador

    #4 Mudanças e Novidades

    Eai galerinha, nessas últimas duas semanas passamos por algumas correções no fórum. Gostaria de dizer ao pessoal que está colaborando e reportando em Feedback que em breve tudo estará resolvido. Por enquanto, confiram algumas novidades para esta semana: MUDANÇAS Reformulação de conquistas Membro Honorário, Membro do Mês, 1º, 2º e 3º lugar; Deletadas conquistas extras para equipe; Atualização em prefixos (); Reorganizadas as seções de Aprovação e Downloads; NOVIDADES Adicionado ranks em reputações: Seção de bots adicionada; Novas tags para seção de bots; Nova seção Assistência em Atendimento; Novas conquistas: Melhores respostas 50 Melhores Respostas 100 Melhores Respostas 200 Melhores Respostas 300 Melhores Respostas 500 Melhores Respostas 600 Melhores Respostas 700 Melhores Respostas 800 Melhores Respostas 1000 Melhores Respostas Confira!!! xTibia Global 10.79 full (Oramond, Cast System, Lion's Rock) v13
    6 pontos
  2. delkawy

    [Show-off] Pokémon Oblivion

    Olá a todos, venho mostrar a vocês, o Layout do site para o servidor Pokémon Oblivion, e peço a vocês opiniões sobre tudo, de cor à conteúdos e funções. Conteúdos e Funções: • Notificações de nova notícia, que seus créditos foram depositados etc... • Shop. • Diversos tutoriais (Estou pensando se o jogador é que vai mandar, e antes de ser postado vai ser revisado pela a equipe e caso aprovado, será postado). • Gestão de clã ou guild, como queiram chamar. • Informação dos torneios. • Postagem de novidades ou notícias. • Upload de foto para os usuários. E mais que podem vim a ser colocadas. Pois bem, agora que vocês já sabem o que pretendo fazer, vamos ao layout. Live-preview, site logo abaixo. Criticas são sem bem vindas, entretanto, que sejam construtivas e que me ajude a melhorar. Bem, isso é tudo, obrigado desde já, Delkawy.
    2 pontos
  3. Marco Oliveira

    Stone Floor²

    \Remere's Map Editor\data\Versão\tilesets.xml Procure por Town (Utilize CTRL+F) e adicione. <tileset name="Town"> <brush name="stone floor 2"/> Agora procure por grounds.xml e adicione. <brush name="stone floor 2" type="ground" server_lookid="3152" z-order="1610"> <item id="3152" chance="1"/> <item id="3152" chance="1000"/> <item id="3153" chance="1000"/> <item id="3154" chance="1000"/> <item id="3155" chance="1000"/> <item id="3156" chance="1000"/> <item id="3157" chance="1000"/> </brush>
    2 pontos
  4. Avronex

    RealPoke Online!

    Vim anunciar que o RealPoke finalmente está online e será inaugurado hoje às 19:00! Espero todos voces lá! http://158.69.42.211/ Quem quiser saber mais sobre o projeto: http://www.xtibia.com/forum/topic/234655-realpoke-apresentacao/ https://www.facebook.com/RealPokeOT
    2 pontos
  5. Bruno

    Compilando TFS 1.3 com vídeo-aula

    Compilando TFS 1.3 no Windows 1. Baixe os softwares requeridos Para compilar o The Forgotten Server no Windows, você vai precisar: Visual Studio 2015 (Compilador) TFS SDK v3.2 (libs) Libs do Boost C++ (32-bits, 64-bits) 2. Instale os softwares requeridos Após ter baixado os softwares listados na etapa acima, comece instalando o Visual Studio e Boost C++. Extraia o TFS SDK v3.2 em qualquer pasta do seu computador e execute o arquivo "register_tfssdk_env.bat" para setar a variável de ambiente do local onde está o TFS SDK, assim nosso compilador irá encontrar as libs quando começar a compilar. Mova o arquivo "register_boost_env.bat" da pasta do TFS SDK para a pasta onde você instalou as libs do Boost C++ e execute-o (se você seguiu os passos do instalador, está esta na pasta chamada boost_1_62_0). 3. Baixe as sources Se você possuir o Git Client instalado, você poderá clonar a última cópia com este comando: > git clone https://github.com/otland/forgottenserver.git Se você não possuir o Git Client instalado, você poderá baixar a última cópia do The Forgotten Server através do link: https://github.com/otland/forgottenserver/archive/master.zip 4. Compilando Procure o diretório vc14 na pasta do The Forgotten Server que você baixou, e abra o arquivo "theforgottenserver.sln". Isso deverá iniciar o Visual Studio 2015 e você estará pronto para continuar. Para configurar a compilação, navegue para Build -> Configuration Manager no menu superior. Um popup deverá aparecer onde você poderá escolher entre "Release" ou "Debug" para compilar, escolha também para qual Platadorma você irá compilar: 32-bits (Win32) ou 64-bits (x64). Para iniciar a compilação, abra o menu Build novamente e clique em Build Solution (Ctrl + Shift + B). 5. Vídeo-aula 6. Créditos Mark - Autor do tutorial e do projeto The Forgotten Server Bruno Minervino - Tradução e gravação do vídeo
    1 ponto
  6. .Informações Versão testada: 8.60 TFS: 0.4 / 0.3.6 Função: Ao sair de uma zona de proteção, caso o player esteja sem bless, ele manda uma mensagem na tela avisando que está sem bless. .Em "Data/creaturescripts/scripts", copie e cole um arquivo.LUA e renomeie para checkBless.lua, apague tudo e cole: function onThink(cid, lastExecution, thinkInterval) if(getTilePzInfo(getCreaturePosition(cid))) == false and getPlayerStorageValue(cid, 23333) <= 0 then for b = 1,5 do if getPlayerBlessing(cid, b) == false then setPlayerStorageValue(cid, 23333, 1) return doPlayerSendTextMessage(cid, 22, "Você não tem todas as bless, tome cuidado.") end end elseif (getTilePzInfo(getCreaturePosition(cid))) == true and getPlayerStorageValue(cid, 23333) == 1 then setPlayerStorageValue(cid, 23333, -1) end return true end .Em "Data/creaturescripts", abra o creaturescripts.xml e adicione: <event type="think" name="checkBless" event="script" value="checkBless.lua"/> .Novamente em "Data/creaturescripts/scripts", abra o arquivo login.lua e adicione: registerCreatureEvent(cid, "checkBless") Créditos: ScythePanthom and wakon
    1 ponto
  7. RigBy

    Fruit Picking (Colheita de fruta)

    Fruit Picking Introdução: é um sistema simples, consiste em você pode colher a fruta da arvore e ela crescer depois de um tempo de novo. Instalar o script: em action/script crie: FruitHarvesting.lua adicione: -- Do not remove the credits -- -- [ACTION] Fruit Harvesting -- -- Developed by Rigby -- -- Especially for the Xtibia.com -- local config = { -- [ID_DA_ARVORE] = {FRUTA, QUANTIDADE{minimo, maximo}, ID_DA_ARVORE_SEM_FRUTO, TEMPO_PARA_ÀRVORE_FICA_COM_FRUTO} [5157] = {fruit = 5097, quantity = {0,1}, treeWithoutFruit = 5156, timeToGrow = 5}, [4006] = {fruit = 2675, quantity = {0,3}, treeWithoutFruit = 4008, timeToGrow = 20}, [5094] = {fruit = 2676, quantity = {3,6}, treeWithoutFruit = 5092, timeToGrow = 30}, [5096] = {fruit = 2678, quantity = {2,7}, treeWithoutFruit = 2726, timeToGrow = 70}, } function onUse(cid, item, fromPosition, itemEx, toPosition) for i, k in pairs(config) do if (isInArray(i, item.itemid) == true) then random = math.random(k.quantity[1],k.quantity[2]) doTransformItem(item.uid, k.treeWithoutFruit, 1) doPlayerAddItem(cid,k.fruit,random) addEvent(function() doTransformItem(getThingFromPos(toPosition).uid, i) end, k.timeToGrow * 1000) if random > 0 then doPlayerSendTextMessage(cid,27,"Você pego "..random.." "..getItemNameById(k.fruit).."!") else doPlayerSendTextMessage(cid,27,"Àrvore não deu nenhum fruto!") end end end return true end em action/action.xml adicione a tag: <action itemid="5157;4006;5094;5096" event="script" value="FruitHarvesting.lua"/> Se você adicionar mais arvore não esqueça de adiciona o id na tag também.
    1 ponto
  8. Avronex

    [Encerrado]RealPoke Apresentação

    RealPoke Boa noite pessoal! Estou aqui novamente pra retomarmos o que havíamos comessado! Muitos tiveram a oportunidade de estar jogando o servidor em seus 2 meses em que ficou online pra que pudesse ser encontrado bugs e desbalanceamentos. Para os que achavam que tinha se acabado o projeto se enganaram! Depois dos vários bugs voltei a trabalhar em todos eles e a resolver os mesmos. Ainda sim estou trabalhando no balanceamento e em alguns bugs simples que ainda nao parei para resolver por serem simples. Gostaria de aproveitar e agradeçer a todos que ajudaram seja reportando bugs ou até mesmo aqui no fórum que está sendo de grande ajuda! MiniMap Nós contamos com os principais sistemas de todo os servidores como abaixo listados e alguns de nossa própria autoria: [+] 1ª Geração 100%. [+] 2ª Geração 100%. [+] Pokemons com level. [+] Transparencia em pokemons, items e efeitos. [+] Catch System 100%. [+] Shiny's 1ª , 2ª geração 100%. [+] Pokémons balanceados. [+] Continente Kanto 100%. [+] Continente Johto 20%. [+] TM System 100%. [+] Boost System. [+] Smeargle System 100%. [+] Vitaminas Attack, Sp.Attack, Defense, Speed e HP. [+] Fly, ride, surf 100%. [+] Order 100%. [+] Moves de acordo com a Bulbapedia. [+] Autoloot 100%. [+] Autowalk 100%. [+] Passive and Agressive pokemons. [+] Players nao bloqueiam respawn. Mais algumas imagens: A todos que gostaram e querem ver mais imagens venho convidar a acompanhar o nosso projeto pelo Facebook: RealPoke Comentem!
    1 ponto
  9. Garbiel

    Pokemon Blueys! Nova Geração!

    Pokémon Blueys! Olá galera do XTIBIA! hoje estou trazendo um servidor de Poketibia; Oque ele tem? Pokemons da 1°, 2° Geração (COMPLETA!) 3° Geração (INCOMPLETA!) *Adicionado NPC que vende, compra STONES *Adicionado NPC que vende, compra MEGA STONES! Mega Pokemons (SOMENTE O MEGA CHARIZARD, MEGA BLAZIKEN estão mas breve adicionarei mais!) MEGA POKEMONS COM PORTRAIT, CORPSES CERTAS! Infelizmente o servidor é VIA HAMACHI mas SEM IPCHANGER! Mas pelo menos com tudo isso não vão deixar de jogar HAMACHI SALAS: ID: Blueys1 SENHA: 123 ------------------------------- ID: Blueys2 SENHA: 123 --------------------------------- ID: Blueys3 SENHA: 123 ----------------------------------- ID: Blueys4 SENHA: 123 ------------------------------------ ID: Blueys5 SENHA: 123 ------------------------------------ NO MOMENTO ESTÃO TODAS VAZIAS MAS SE ENCHER CRIO MAIS FIQUEM TRANQUILOS! CLIENT: http://www.mediafire.com/download/2d66qejv77vwwvw/Client+Blueys.rar BOM JOGO! SE O SERVIDOR ESTIVER OFF ME CHAMEM POR SKYPE: Rakisk_12 QUE EU LIGO! ^^ SE NÃO TIVEREM SKYPE ME CHAMEM PELO HAMACHI MESMO^^ SE QUISEREM DAR SUGESTÕES TAMBÉM AS VAGAS ESTÃO AO SEU DISPOR! Com vagas de: *ADM* *GM* *CM* *TUTOR*
    1 ponto
  10. Omega

    Download de Todos os Clientes do Tibia

    Segue uma lista para download com os principais clientes de Tibia ainda utilizados. Tibia 10.79 Tibia 10.76 Tibia 10.37 Tibia 8.60 Tibia 8.54 Tibia 8.00 Tibia 7.72 Tibia 7.60 Tibia 7.4 Todos os links são do site tibia.sx. Lá todos os outros clientes poderão ser baixados.
    1 ponto
  11. AnneMotta

    #4 Mudanças e Novidades

    Incrível daniel, está dando uma nova cara ao ekz, fico feliz por ser implantada a sessão de bots!(até que fim \õ/)
    1 ponto
  12. Bruno

    #4 Mudanças e Novidades

    Estamos suando para deixar um fórum totalmente reformulado a vocês! Agradeço de coração a todas as pessoas que vem se empenhando para nos ajudar, pode ter certeza que estamos vendo isso. Parabéns também ao @Daniel pelas reformulações, estão cada vez melhores! Go ahead!
    1 ponto
  13. Duuhzinhow

    Adicionar exaust

    Bom galera, vejo que muita gente pede ajuda para adicionar condowl em magias, runas, actions, etc.. entao vim aqui ensianr como adicionar o tao procurado condowl Primeiramente abra seu script, e procure onde ele faz a funçao como: Na linha a baixo da funçao, adicione isto : 23006 é o storage do exaust, coloque diferente em cada magia/action/talkaction para nao interferir umas nas outras. 20 é o tempo em segundos para poder usar a magia/action/talkaction/ novamente. Após adicionar isto, e configura-lo, pule uma linha e pronto Espero ter ajudado!
    1 ponto
  14. Bruno

    Compilando TFS 1.3 com vídeo-aula

    Você não registrou a lib corretamente!
    1 ponto
  15. Link Para Download Do Executável: http://www.mediafire...2/Baiak-Map.exe Link Das Sources p/ Quem Queira Compilar: http://www.mediafire...o/sources_7.rar Scan Do Executável: https://www.virustot...sis/1436509651/ Scan Das Sources: https://www.virustot...sis/1436511749/
    1 ponto
  16. Benny

    Assinatura

    No aguardo
    1 ponto
  17. Administrador

    Anatomia Humana

    ANATOMIA HUMANA O corpo humano, como no corpo de todos os animais, consiste de sistemas, esses quais nôs humanos, somos constituídos de: 1.Cabeça e pescoço 2.Membro superior: Mão, antebraço, braço, ombro, axila e região peitoral. 3.Abdômen 3.Costas 5.Membro inferior: Coxa, perna e pé. Tendo em mente que o sprite precisa de todas essas partes, vamos lá: Cabeça e pescoço: É preciso definir o rosto, colocando feições humanas. O pescoço pode ser representado com um pequeno espaço abaixo do rosto. Membro superior: Mão, antebraço, braço, ombro, axila e região peitoral: É muito importante que cada parte seja feita e principalmente visível. E sempre em proporções similares (nunca peitoral ou braço mais fortes que outras areas). É representada pelo volume, por isso as bordas e areas mais claras. Obs: Os braços vem de encontro a um centro pré determinado abaixo da cintura dependendo da posição. Abdômen Só precisa representar os musculos da barriga/umbigo com volume. Mas cuidado, devido ao pouco espaço, é preciso muito cuidado aonde vai por os pixels (como qualquer area com pouco espaço). Membro inferior: Coxa, perna e pé. Por ultimo, porem definitivamente não o menos importante e também a parte que o pessoal mais erra...AS PERNAS! Não é nada extremamente dificil, mas o pessoal acha que ambas as pernas são iguais, é aqui que esta o erro, não são. Ao contrario dos braços as pernas seguem uma direção opostas umas das outras. Enfim, também não esqueça o basico: Créditos: Ethebeur
    1 ponto
  18. JeanCristian

    [TFS 1.0] LUA Functions

    Olá galerinha linda, eu vim postar a vocês 1 lista com todas as funçoes do TFS 1.0 eu achei ela em outro forum e achei muito util nao sei se isso é permetido mais vamos lá. o maximo que posso tomar é 1 ban u.u o que valeu foi a boa vontade <3 funçoes ultima update 17 de janeiro, espero que isso ajude quem nao conseguiu achar õ/
    1 ponto
  19. Seagull

    [Algoritmos] Apresentação (Aulas)

    Aula 1 Apresentação: Matérias A Linguagem de Programação do VisuAlg Download: Se ("gostarem dos Tutoriais") entao adicionem (REP+) Senao ("gostarem digam o que faltou, expressem sua opinião, mas lembrando sempre com coerência e educação") fimse Abraços!
    1 ponto
  20. Seagull

    [Algoritmos] Aula 1

    Apresentação Aula 2 Binário Exemplo de binário Binário para decimal Número binário = 10011001 Número decimal = 128 + 0 + 0 + 16 + 8 + 0 + 0 + 1 Decimal para binário Número decimal = 153 Número binário = 10011001 (10011001) Se ("gostarem dos Tutoriais") entao adicionem (REP+) Senao ("gostarem digam o que faltou, expressem sua opinião, mas lembrando sempre com coerência e educação") fimse Abraços!
    1 ponto
  21. tesla

    C, Aprendendo A Programar

    Motivo: Bom pessoal, primeiramente olá, eu sou novo no XTibia, jogo somente tibia global, não me interesso por OT, mas vamos lá: Sempre gostei de computador sou muito familiarizado com ele, e agora to aprendendo por conta própria a linguagem C. To com uma apostila muito boa. E já faz um tempo eu estou ficando de "tocaia" na área de programação do XTibia, e para falar a verdade, eu não vi, pelo menos na minha opinião, algum tutorial, que fosse do Básico (Básico mesmo) ao Pelo menos intermediário, e como vocês já devem de ter percebedio a maioria dos tutoriais são de C++. Então decidi criar este tutorial como um definitivo, ao longo do meu aprendizado, vou editando o post, e incrementando aulas. Por que aprender o C? Como a maioria já deve saber o C++ é o incremento do C (daí o "++"), e na minha opinião, para você aprender o incremento, primeiro deve-se aprender a base. Requerimentos: Bom para se aprender a linguagem de programção não precisa ter conhecimento sobre outras linguagens, apenas ser familiarizado com o PC. Vamos precisar ao longo do tutorial do Dev-C++ disponível para download no seguinte link: Dev-C++ Peço à vocês que: Comentem as minhas aulas, provas e deêm sujestões. Breve resumo: O C foi criado por Dennis Ritchie derivado do B, criado por Ken Thompson que por sua vez é derivado do BCPL criado por Martin Richards. Aula 1 - Introdução, Um Primeiro Programa A primeira vez que você for abrir o Dev-C++ ele vai pedir uma configuração de linguagem e skin, coloque em Português (Brasil) e com o skin que você mais gostar. Após isto vá em Arquivo -> Novo -> Arquivo Fonte (Ou Ctrl + N).Agora observe que um arquivo é aberto, esse é o código fonte do seu programa. OBS: É aconselhado que o aluno Digite os códigos contidos nessas aulas, para ir se acostumando. #include <stdio.h> int main () { printf ("Eu Existo\n"); /* oO um programa criado por mim */ return(0); } Digite o código no Dev compile e execute (F9). Agora Vamos desmembrar este programa, e explicar parte por parte: #include <stdio.h> O comando #include <stdio.h> diz ao programa que ele deve incluir o arquivo-cabeçalho stdio.h . Este arquivo possui todas a funções para entrada e saída de dados. O C possui diversos cabeçalhos. int main () { } A linha int main () define a função de nome main. Todo programa C deve ter esta função pois esta será chamada quando o programa for executado. Todo o código desta função é delimitado por {} (chaves), e será executado seqüencialmente. O int diz que o programa retorna um inteiro. printf ("Eu Existo\n"); /* oO um programa criado por mim */ A Função printf () imprime uma string na tela (string é uma seqüencia de caracteres, vamos apronfundar mais para frente), o "Eu Existo" é um argumento, este é o texto ser impresso na tela. \n é uma constante recebe o nome de constante barra invertida. Ele indica que após o Eu Existo devemos mudar de linha, então ser tivermos um printf igual ao que vimos aqui ele será impresso debaixo do primeiro. É como se fosse para entender melhor o <br> do html. Quando fazemos um programa é um bom hábito colocarmos comentários isto torna seu programa mais fácil de se entender, estes são delimitados por /* */ e não são compilados pelo programa. Toda linha de função deve terminar com ;. return (0); Observe que quando executamos o programa ele fecha tão rápido que não dá tempo de se ver o Eu Existo na tela. Calma, o seu programa não está com defeito, pelo contrário, ele funciona corretamente, o que acontece é como eu disse, ele executa o código seqüencialmente, então logo após imprimir o Eu Existo na tela, ele não perde tempo e já determina o printf () como uma função já executada e executa a próxima linha, no nosso caso o return (0);. O return (0); determinou que ele devia retorna á um inteiro no caso o 0, mais para frente vamos aprofundar no return. :button_ok: Prova :button_ok: Aula 2 - Matemática e o C Galera, antes desta aula devemos compreender que quase tudo (pra não dizer tudo) no C é matemática, então se você não é bom em matemática pode prosseguir, mas tome muito cuidado e tenha atenção ao ler as aulas. Caso você seja :smile_positivo: em matemática, digamos que não irá quase que encontrar dificuldade nas aulas. #include <stdio.h> #include <stdlib.h> int main () { float pi, x, re; /* define os pontos flutuantes */ printf ("Ente com o valor a ser multiplicado (aproximadamente) por Pi\n(numeros com virgula, deve ser usado ponto ao inves de virgula ex: 1.0): "); scanf ("%f", &x);/* obtem valor de x */ pi = 3.1415; /* define o valor aproximado de Pi */ re = x*pi; /* atribui o resultado se x vezes Pi ao ponto flutuante res */ printf ("\n\aO Produto foi aproximadamente: %f\n", re); system ("pause"); } Digite, Compile e Execute. Vamos agora analizar cada estrutura: stdlib.h Standart Library ou seja Biblioteca Padrão, para saber mais entre aqui Stdlib.h (Wikipédia) float pi, x, re; Float é um ponto flutuante, melhor explicando vou dar um exemplo: 7,555888 ou seja números com casas decimais, no C, o programa não usa "," (vírgula) para definir casas decimais, ele usa pontos exemplo: 7,555888 está errado, o correto no programa C seria: 7.555888. Podemos definir várias floats com nomes diferentes sempre separando por vírgula. Vou aproveitar e ensinar sobre os números inteiros: int pi, x, re; aqui pi, x e re são inteiros, ou seja, números que não tem casas decimais exemplo: 7555888. Lembrando que 7555888 é diferente de 7.555888. scanf ("%f", &x); O scanf () lê um dado fornecido pelo usuário, o parâmetro "%f" diz ao scanf () que iremos ler um float (para ler inteiro usamos "%d"), o &x atribui o valor do float fornecido pelo usuário á variável x (lembrando que definimos a variável no ínicio do programa como um float), é importante lembrar de colocar o & antes da variável no scanf (), vamos ver o porque disso mais tarde. pi = 3.1415; Aqui atribuimos o valor 3.1415 (casas decimais representadas por ponto) á variável "pi". re = x*pi; Agora é que vem a matemática, aqui nós atribuimos o valor do produto da equação "x*pi" a "re". printf ("\n\aO Produto foi aproximadamente: %f\n", re); Nós agora devemos imprimir na tela o resultado, primeiro vou explicar o \a. O \a emite um "beep". Agora depois a frase "O Produto foi aproximadamente:" queremos que o valor de "re" (produto de x*pi) apareça na tela, para isso colocamos o %f dizendo ao programa que um float irá aparecer (se fosse um int seria %d) e depois da frase, devemos definir qual o float irá aparecer, então separamos a frase com uma vírgula (depois de delimitar o que será impresso com aspas) e colocamos o parâmetro "re". "re" é a variável (float) que armazenou o produto, então o %f digitado no printf, irá imprimir o valor de "re". Se quisessemos imprimir o valor de "x" por exemplo, depois do valor de "re" era só colocar outro %f no printf e depois definir o parâmetro "x" ficando assim: printf ("\n\aO Produto foi aproximadamente: %f %f\n", re, x); Observe que a string "%f" corresponde a seqüencia dos parametros, ou seja o 1º "%f" corresponde á "re" o 2º "%f" corresponde á "x". system ("pause"); Esta função só pode ser usada caso incluimos o cabeçalho stdlib.h como fizemos no início do programa. Ela é como se fosse um "Pause" mesmo no programa, ela só irá executar a próxima função caso o usuário precione qualquer tecla, como no nosso programa as funções se acabam depois dela, o programa fecha. :button_ok: Prova :button_ok: Aula 3 - Funções, Argumentos e Retornando Valores Agora que já temos uma noção, vamos criar as nossas funções. As nossa funções seram sempre chamadas somente depoisda função main. #include <stdio.h> #include <stdlib.h> int msg () { printf ("Se um knight bem doido quisesse chegar ao distance skill 100, ele usaria 745.807.745.800.000 bolts, que atirados sem parar, consumiriam: 413.437.636.585 Horas 17.226.268.190 Dias 574.218.940 Meses ou 47.851.578 Anos!"); /* coloque isto na mesma linha do printf de cima */ return (0); } int main () { msg (); printf ("\n\nSabia?\n"); system ("pause"); } Digite, compile e execute. Analizando... msg (); O msg (); chama a nossa função, e não define nenhum parâmetro, já que sabemos que main é a primeira função a ser chamada, se não chamarmos a nossa função ela vai ser "ignorada" pelo programa. Chamando a função dentro de main é como se colocassemos o código da função msg dentro de main. Esta técnica, torna o programa mais organizado, e mais fácil de se compreender. Também podemos usar funções para retornar valores, resultados, ou o que for. #include <stdio.h> #include <stdlib.h> int tot (int x) /* Calcula o quadrado de x */ { printf ("O quadrado e %d\n",(x*x)); system ("pause"); } int main () { int y; printf ("Entre com um numero: "); scanf ("%d", &y); printf ("\n"); tot(y); return(0); } Digite Compile e Execute. Antes de explicar o código fonte acima vou dar um resumo sobres os Argumentos. Eles são as entradas que a função recebe. Com eles damos parâmetros as funções, um exemplo de argumento simples é o (x*x), que tem como produto um inteiro, que é impresso pelo "%d". Observe que no início da função nós definimos um inteiro x, e observe também que em main quando vamos chamar a função tot definimos um argumento y. Isso faz com que o valor da variável y em main, seja copiado para variável x em tot. Podemos também simplificar a função de tot colocando apenas para retornar o resultado de x*x. #include <stdio.h> #include <stdlib.h> int tot (int x) /* Calcula o quadrado de x */ { return (x*x); } int main () { int y, res; printf ("Entre com um numero: "); scanf ("%d", &y); printf ("\n"); res=tot(y); printf ("O Quadrado e: %d\n", res); system ("pause"); } Digite Compile e Execute Neste caso simplesmente atribuimos o valor de tot, a res, que é impresso na tela. tot neste caso tem a função de retornar do valor da multiplicação x*x. #include <stdio.h> #include <stdlib.h> int conta (float a, float b, float c) { return (a*b*c); } int main () { float x, y, z, res; printf ("Entre com um numero decimal (ponto ao inves de virgula): "); scanf ("%f", &x); printf ("\nEntre com outro numero decimal (ponto ao inves de virgula): "); scanf ("%f", &y); printf ("\nEntre com outro numero decimal (ponto ao inves de virgula): "); scanf ("%f", &z); res=conta(x, y, z); printf ("\a\nResultado da multiplicação: %f\n\n", res); system ("pause"); } Digite, compile e execute Observe que definimos mais de uma variável como parâmetro, se quisessemos poderiamos definir até um valor por exemplo, colocando o valor de pi ao invés de z ficando assim: #include <stdio.h> #include <stdlib.h> int conta (float a, float b, float c) { return (a*b*c); } int main () { float x, y, res; printf ("Entre com um numero decimal (ponto ao inves de virgula): "); scanf ("%f", &x); printf ("\nEntre com outro numero decimal (ponto ao inves de virgula): "); scanf ("%f", &y); res=conta(x, y, 3.1415); printf ("\a\nResultado da multiplicação: %f\n\n", res); system ("pause"); } :button_ok: Prova :button_ok: Aula 4 - Caracteres O caractere é tratado no C, como um dado, esse dado tem o nome de char: #include <stdio.h> #include <stdlib.h> int main () { char letra; letra='E'; printf ("%c\n",letra); system ("pause"); } Digite Compile e execute char letra; Como sabemos, devemos definir todas as variáveis no início do programa, assim fazemos com o caractere, que é definido pelo parâmetro "char". Um caractere pode ser uma letra ou um número, e é indicado por ' ' (apóstrofes). O código de controlhe dos caracteres é "%c". O char também pode armazenar um valor inteiro, esse valo corresponde a um caractere. Esse código é conhecido como código ASCII, veja abaixo que o programa irá imprimir um número correspondente ao caractere pois dizemos ao printf para imprimir um inteiro mas estamos usando um char, isso acontece por que o printf usa o ASCII. Abaixo o programa irá imprimir o número 99 que corresponde ao caracter "c". Vale a pena lembra que a linguagem C é "Case Sensitive" ou seja A (maiúsculo) é diferente de a (minúsculo). #include <stdio.h> #include <stdlib.h> int main () { char letra; letra='c'; printf ("%d\n",letra); system ("pause"); } Aqui 2 listas (a segunda é continuação da primeira :withstupidsmiley: ) dos caracteres ASCII A maioria das vezes queremos ler um caractere fornecido pelo usuário, para isso usamos getch () e getche (). Geralmente estas funções não estão disponíveis em Unix, pois não fazem parte do Padrão ANSI. Apesar disso podemos substituir estas funções pelo scanf (). #include <stdio.h> #include <conio.h> #include <stdlib.h> int main () { char letra; letra = getch(); printf ("Voce pressionou a tecla %c", letra); system ("pause"); } #include <conio.h> É por esse cabeçalho que não funciona em Unix, a não ser que você o possua, sem ele não se pode usar getch () ou getche (). letra = getch(); Aqui o char "letra" não é um caractere, aqui ele define que o caractere será fornecido pelo usuário. Agora vamos ver em como fazer isso com um scanf (): #include <stdio.h> #include <stdlib.h> int main () { char letra; scanf("%c", &letra); printf ("Voce pressionou a tecla: %c\n", letra); system ("pause"); } Aqui o scanf () ao invés de armazenar um número irá armazenar um caractere no char "letra". A Principal diferença é que no primeiro caso com o getch () o usuário simplesmente precisa apertar a tecla com o caractere, já com o scanf () o usuário precisa apertar <ENTER> depois de digitar o caractere. A Diferença entre getch () e getche () é que o primeiro apenas armazena o caractere, já o segundo imprime antes de armazenar. :button_ok: Prova :button_ok: Aula 5 - Strings String é um vetor de caracteres, vamos estudar o vetor mais a frente, a string sempre acaba com um caractere nulo. Este caractere nulo pode ser representado pela barra invertida da seguinte forma '\0'. Vamos ver agora os fundamentos básicos para se usar uma string. #include <stdio.h> #include <stdlib.h> int main () { char frase[100]; printf ("Digite uma frase: "); gets (frase); printf ("\a\nDigitou: %s\n", frase); system ("pause"); } Digite Compile e execute char frase[100]; Bom, aqui definimos uma string chamada "frase". O "[100]" depois de "frase" define o tamanho máximo da string, se você entrar com uma string maior o programa pode aceitar, mais será uma catástrofe, veremos porque mais à frente. Bom então o tamanho máximo da string é 99. Sim, pois no C, a contagem começa do 0. gets (frase); Aqui nós pegamos uma string digitada pelo usuário, e armazenamos na string "frase". Para fazer isso nós usamos o comando gets () já incluído em stdio.h. Suponhamos agora que nós temos uma string com nome "str" e a string armazenada seja "xtibia", e nós queremos acessar o segundo caractere (t) para isso basta indexarmos ou seja: str[1] = 't'; Mas porque estamos acessando 't' e não 'x' já que colocamos "1"? Lembre-se que o C começa a contar do 0 se quisermos acessar o caractere 'x' devemos colocar [0]. Com isso podemos até mesmo alterar um caractere da string se fizessemos assim: str[1] = 'x'; e imprimir na tela, teriamos uma string escrota : "xxibia". printf ("\a\nDigitou: %s\n", frase); Bom vocês já devem ter percebido que %s serve para imprimir uma string. Acho que agora é um bom momento para mostrar a tabela dos códigos de controle: Vou improvisar Aqui: %d %f %c %s %% Correspondem à: Inteiro Float Caractere String % #include <stdio.h> #include <stdlib.h> int main () { char frase[100]; printf ("Digite uma frase: "); gets (frase); printf ("\a\nDigitou: %s\n", frase); printf ("O Segundo Caractere da Frase e: %c\n", frase[1]); system ("pause"); } Digite Compile e Execute Bom observe que queremos imprimir o segundo caractere digitado pelo usuário, para isso acessamos com a string "frase" indexada do número do seu segundo caractere [1], e imprimimos usando um código de controlhe %c já que queremos imprimir somente um caractere. :button_ok: Prova :button_ok: :construction: Galera to ocupado com o grupo de programação, mas em breve voltarei :construction: Tutorial 100% Criado por Tesla (Victor França Lopes) Lembrando: Sou apenas um estudante e não um professor :positive: Qualquer dúvida: victorhavenk@hotmail.com (Online quase 24Hrs)
    1 ponto
  22. Gente todos os ots de poketibia que eu baixei NENHUM tinha esse comando para GOD intão resolvir colocar Sistema Salve com o nome "telegod.lua" Tag (São 2 Tags) Explicando as tags: Aonde esta de Vermelho é o comando para utilizar o sistema e onde esta de Cinza é o nome do arquivo ( que no caso aqui é telegod.lua) Ajudei? Entaum da REP+ não cai a mão ;D
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...