Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Search the Community

Showing results for tags 'tutorial'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Haze
    • Announcements & Updates
    • Official Files
    • User Central
  • Web development
    • CMS & Scripts
    • Codes
    • Tutoriais
    • Work in Progress
    • Support
    • Others
  • Games Development
    • Browser Games
    • Minecraft
    • Unreal Engine
    • Unity 3D
    • Cry Engine
    • JavaScript (HTML5)
    • Publish your Project
    • Support
    • Outros
  • Desktop Development
    • Codes
    • Tutoriais
    • Work in Progress
    • Outros
  • Graphic Design
    • Tutorials
    • Resources
    • Gallery
    • Support
  • O mundo fora...
    • Sales & Purchases
    • Mídia
    • Debates
    • Taverna

Product Groups

  • Account Modifications
  • Licenses

Categories

  • Officials
  • CMS & Layouts
    • Wordpress
    • HTML/CSS
    • PHP Script
    • Outros
  • Jogos
    • Habbo Hotel
    • Minecraft
    • Engines
  • Desktop
    • C#
    • Node
  • Design
    • Editáveis
    • Recursos de Imagens
    • Others

Categories

  • games
  • TV Shows
  • Technology
  • Cinema

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


E-mail


Facebook


Twitter


Skype


Discord


WhatsApp


Behance


DeviantArt


GitHub


Codepen


Outro

Found 36 results

  1. Wowilldev

    Navegando pela internet eu descobri está ferramente de seleção de cores para o HTML! Ela é bem básica más ajuda bastante quem precisa de cores bonitas e de fácil modificação. Se for útil para você, peço por gentileza que me siga e de um amei neste tópico Já setado uma bela cor! Site que falei : http://html-color.org/902fd6
  2. Bah gurizada, passando aqui pra dizer que geral que leu issaq é corno talkey? Seguinte, canalzinho de volta, conteúdo novo e sendo recriado: Lembrando que quem não da like é porque da a bunda talkey!
  3. Kasilon

    Hey ! I'm french... i know only speak english but don't speak portuguese sorry ^^, i use BIOS EMULATOR of Thiago, when i running, i have a problem, but i don't understand why there is this error... screen: and the code lines 55-56 if (!_gifts.ContainsKey(spriteID)) _gifts.Add(spriteID, new ItemData(id, spriteID, itemName, PublicName, type, width, length, height, allowStack, allowWalk, allowSit, allowRecycle, allowTrade, allowMarketplace, allowGift, allowInventoryStack, interactionType, behaviourData, cycleCount, vendingIDS, heightAdjustable, EffectId, WiredId, IsRare, ClothingId, ExtraRot)); It's not a problem, you can answer me in portuguese
  4. Vou ensinar como criar um sistema de licenças com uma database, no meu caso irei fazer na localhost mas dá com qualquer Host. (Recomendo HypeHost) Desculpem não ter colocado imagem sem ser por link Programas Utilizados: HeidiSQL ( Conexão a database ) - https://www.heidisql.com/download.php WampServer ( Servidor web ) - http://www.wampserver.com/en/#download-wrapper IntelliJ ( Criação de Plugin ) - https://www.jetbrains.com/idea/download/#section=windows Gson - https://repo1.maven.org/maven2/com/google/code/gson/gson/2.6.2/ Primeiramente crie seu ProJeto com 2 classes Agora vamos criar uma database para as licenças ( Escolha o nome que quiser, desde que não se esqueça de trocar depois ) Após isso crie uma tabela com o nome licenses Após isso crie apenas com 1 campo chamado "token" com tipo de dados "VARCHAR" e guarda Agora Vamos criar alguns "tokens" (Estou usando o https://www.uuidgenerator.net/ para gerar "tokens") Agora adicione esse "index.php" ao seu website e configura sua database no mesmo Download : https://www.mediafire.com/file/6ducw0wxfcw2cbc/index.php/file Agora vamos experimentar o sistema das licenças Formato: site/?license=licença Se ela existir na sua database vai ficar true Se ela não existir na sua database vai ficar false Se isso der assim significa que está funcionando ------------------------------------------------------------------------- Agora vamos voltar no Token.class e adicionasse esse código: Agora iremos na Main.class e adicionasse esse código: Agora crie a config.yml com esse formato Licenca: Insira sua licenca aqui #resto da config do seu plugin Agora é so ligar o Plugin no servidor e testar se tá tudo correto Se a licença não existir na database Se a licença existir na database Espero ter ajudado Discord: Morais_#7336
  5. Danellon

    ajuda

    Eu baixei o AsteroidPack mas não sei configurar o que faço??
  6. Como Funciona? A maioria dos jogos online multiplayer utilizam a arquitetura server-client. Cada player roda um cliente que no nosso caso será o Phaser.IO que é responsável por exibir e manipular a entrada do player, e cada cliente troca dados com um servidor (NodeJS) central e autoritário, que valida as ações dos jogadores e o transmite para os outros clientes. Configurando o Servidor Server.js Instale todos os Pacotes em seu NodeJs (Socket.IO e Express). Para instalar é simples basta você executar ‘npm install express’ e ‘npm install socket.io’. var express = require('express'); var app = express(); var server = require('http').Server(app); var io = require('socket.io').listen(server); Express é o módulo que usaremos para servir arquivos para os clientes. Criamos uma nova instância chamada app e, combinando-a ao módulo http , garantimos que nosso aplicativo expresso funcionará como um servidor http. Por fim, exigimos o módulo socket.io e o fazemos ouvir as conexões com esse servidor. Este é mais ou menos código clichê para começar com aplicativos simples. O próximo passo é entregar os arquivos, dependendo do caminho solicitado. app.use('/css',express.static(__dirname + '/css')); app.use('/js',express.static(__dirname + '/js')); app.use('/assets',express.static(__dirname + '/assets')); app.get('/',function(req,res){ res.sendFile(__dirname+'/index.html'); }); Essas linhas são necessárias para poder fornecer arquivos estáticos , como folhas de estilo CSS ou recursos de jogos, que não serão acessíveis diretamente, mas precisam ser acessados pelo seu jogo. Por conveniência, o segundo argumento do app.use () permite que você especifique os caminhos virtuais, que não são os caminhos reais para seus recursos, mas que serão os caminhos usados pelos seus scripts para acessá-los. Concluímos a configuração do servidor, indicando qual porta o servidor deve escutar e especificando qual arquivo será exibido como a página raiz. app.get('/',function(req,res){ res.sendFile(__dirname+'/index.html'); }); server.listen(8081,function(){ // Listens to port 8081 console.log('Listening on '+server.address().port); }); Configurando o Cliente Index.html Index.html é a página do gateway que será exibida ao se conectar ao seu servidor, e também neste caso a página na qual o jogo será exibido. Cabe a você estruturá-lo como quiser, mas deve conter pelo menos um elemento div com o id ' game '. Ele também deve incluir os arquivos Javascript necessários para o seu jogo, incluindo o socket.io. Aqui está como incluí-lo: <script src="/socket.io/socket.io.js"></script> Isso funciona porque o caminho virtual /socket.io/socket.io.js é criado automaticamente ao instalar o socket.io. Neste ponto, se você executar o servidor (digitando 'node server.js' em um terminal) e navegar para o seu aplicativo (por exemplo, em http: // localhost: 8081 / se você estiver executando localmente e mantido a porta padrão) , você deve ver o seu index.html servido para você, com qualquer conteúdo que você tenha colocado neste ponto (talvez um “Hello World”, para ter certeza de que funciona). Vamos agora incluir o game.js para configurar o jogo. Vou me referir a este processo doravante como "executando o jogo". js/game.js Agora podemos continuar configurando a tela do jogo (assumindo que temos um bloco div com o id ' game ') e declarando um único estado do jogo, chamado ' Game ', correspondente a um objeto Javascript com o mesmo nome. var game = new Phaser.Game(16*32, 600, Phaser.AUTO, document.getElementById('game')); game.state.add('Game',Game); game.state.start('Game'); var Game = {}; No Game.init () , existe apenas um parâmetro para definir: Game.init = function(){ game.stage.disableVisibilityChange = true; }; Isso não é obrigatório, mas é útil, pois fará com que o jogo continue reagindo às mensagens do servidor, mesmo quando a janela do jogo não tiver foco (o que é um comportamento desejado para a maioria dos jogos). No Game.preload () , nós carregamos os recursos que precisaremos, incluindo o mapa de blocos no formato JSON (exportado do Tiled). Eu não vou entrar em muitos detalhes aqui sobre como criar e lidar com tilemaps lado a lado, mas se você quiser que eu faça um tutorial para cobrir esses aspectos, não hesite em me avisar. Game.preload = function() { game.load.tilemap('map', 'assets/map/example_map.json', null, Phaser.Tilemap.TILED_JSON); game.load.spritesheet('tileset', 'assets/map/tilesheet.png',32,32); game.load.image('sprite','assets/sprites/sprite.png'); // this will be the sprite of the players }; Em Game.create () , começamos criando e exibindo nosso mapa. Game.create = function(){ var map = game.add.tilemap('map'); map.addTilesetImage('tilesheet', 'tileset'); // tilesheet is the key of the tileset in map's JSON file var layer; for(var i = 0; i < map.layers.length; i++) { layer = map.createLayer(i); } layer.inputEnabled = true; // Allows clicking on the map }; Observe que, embora os cliques estejam ativados no mapa, não há código no momento para lidar com isso; isso ocorrerá quando o servidor estiver em execução e a comunicação entre o cliente e o servidor estiver funcionando. Neste ponto, ao executar o jogo, você deve ver o mapa exibido, sem que nada mais aconteça: js/client.js Em index.html, inclua um novo arquivo Javascript, client.js , que conterá um objeto Clientque atuará como a interface entre o servidor e o próprio jogo. var Client = {}; Client.socket = io.connect(); O bit importante aqui é a segunda linha, onde iniciamos uma conexão com o servidor ( localhost se você não especificar de outra forma entre os parênteses). Cada vez que um jogador navega para seu aplicativo, uma conexão será estabelecida com o servidor. Isso irá criar um soquete. Soquetes são pontos de extremidade no fluxo de comunicação entre o servidor e o cliente. Com o socket.io, podemos enviar e receber mensagens através do soquete, o que constitui a maneira básica pela qual o cliente e o servidor irão interagir. Aqui, o soquete do cliente é armazenado no Client.socket para uso futuro. Interações em tempo real Agora a parte interessante começa. Precisamos deixar o servidor ciente do que os jogadores fazem, assim como fazer os clientes reagirem às mensagens vindas do servidor. Quando um jogador executa uma ação (conectando, desconectando ou movendo), usaremos a API Socket.io para enviar uma mensagem ao servidor para notificá-lo dessa ação. Em troca, o servidor usará a mesma API para enviar mensagens para os clientes quando precisarem ser informados sobre a ação de outro jogador. O restante deste tutorial ilustra como enviar e receber essas mensagens e como integrá-las a um jogo Phaser. Exibindo os jogadores conectados Quando um novo jogador se conecta, um novo sprite deve aparecer no jogo para todos os jogadores conectados, incluindo o recém-conectado. As coordenadas dos sprites são determinadas aleatoriamente pelo servidor. js/game.js Primeiro, vamos modificar o Game.create () no game.js para que o cliente notifique o servidor de que um novo player deve ser criado. Para esse fim, adicionamos Client.askNewPlayer (); no final de Game.create () . No começo, nós também adicionamos Game.playerMap = {}; : este objeto vazio será útil mais tarde para acompanhar os jogadores. Game.create = function(){ Game.playerMap = {}; var map = game.add.tilemap('map'); map.addTilesetImage('tilesheet', 'tileset'); // tilesheet is the key of the tileset in map's JSON file var layer; for(var i = 0; i < map.layers.length; i++) { layer = map.createLayer(i); } layer.inputEnabled = true; // Allows clicking on the map Client.askNewPlayer(); }; js/client.js Agora em client.js , precisamos definir o método Client.askNewPlayer () : Client.askNewPlayer = function(){ Client.socket.emit('newplayer'); }; Esse método usará nosso objeto de soquete e enviará uma mensagem para o servidor. Esta mensagem terá o rótulo 'newplayer', que é auto-explicativo. Um segundo argumento pode ser adicionado para passar dados adicionais, mas não será necessário neste caso. server.js No server.js , precisamos reagir às mensagens do cliente. Adicione o seguinte código: server.lastPlayderID = 0; // Keep track of the last id assigned to a new player io.on('connection',function(socket){ socket.on('newplayer',function(){ socket.player = { id: server.lastPlayderID++, x: randomInt(100,400), y: randomInt(100,400) }; socket.emit('allplayers',getAllPlayers()); socket.broadcast.emit('newplayer',socket.player); }); }); function getAllPlayers(){ var players = []; Object.keys(io.sockets.connected).forEach(function(socketID){ var player = io.sockets.connected[socketID].player; if(player) players.push(player); }); return players; } function randomInt (low, high) { return Math.floor(Math.random() * (high - low) + low); } Dizemos ao Socket.io para ouvir o evento 'connection', que é acionado toda vez que um cliente se conecta ao servidor (usando io.connect () ). Quando isso acontece, ele deve chamar o retorno de chamada especificado como o segundo argumento. Este retorno de chamada recebe como primeiro argumento o soquete usado para estabelecer a conexão, que, assim como o soquete do cliente, pode ser usado para passar mensagens. Usando o método socket.on () dos objetos de soquete, é possível especificar retornos de chamada para manipular mensagens diferentes. Portanto, cada vez que um cliente específico envia uma mensagem específica através de seu soquete, um retorno de chamada específico será chamado em reação. Nesse caso, definimos um retorno de chamada para reagir à mensagem 'newplayer'. Vamos decompor o que é feito lá: socket.on('newplayer',function(){ socket.player = { id: server.lastPlayderID++, x: randomInt(100,400), y: randomInt(100,400) }; socket.emit('allplayers',getAllPlayers()); socket.broadcast.emit('newplayer',socket.player); }); Primeiro, criamos um novo objeto personalizado, usado para representar um player, e armazená-lo no objeto de soquete. Como você pode ver, é possível adicionar propriedades arbitrárias específicas do cliente ao objeto de soquete, tornando-as convenientes para o acesso. Neste objeto, damos ao jogador um ID único (que será usado no lado do cliente) e determinamos aleatoriamente a posição do sprite. Então, queremos enviar para o novo jogador a lista de jogadores já conectados: socket.emit('allplayers',getAllPlayers()); Socket.emit () envia uma mensagem para um soquete específico. Aqui, enviamos para o cliente recém-conectado uma mensagem chamada 'allplayers' e, como segundo argumento, a saída de Client.getAllPlayers (), que será uma matriz dos players conectados no momento. Isso permite que os jogadores recém-conectados se atualizem com a quantidade e as posições dos jogadores já conectados. Vamos dar uma olhada rápida em Client.getAllPlayers () : function getAllPlayers(){ var players = []; Object.keys(io.sockets.connected).forEach(function(socketID){ var player = io.sockets.connected[socketID].player; if(player) players.push(player); }); return players; } O io.sockets.connected é uma matriz interna do Socket.io dos soquetes atualmente conectados ao servidor. Podemos usá-lo para iterar todos os sockets, obter a propriedade do player que adicionamos a eles (se houver) e enviá-los para uma lista, listando efetivamente os players conectados. E finalmente: socket.broadcast.emit('newplayer',socket.player); O socket.emit.broadcast () envia uma mensagem para todos os sockets conectados, exceto o soquete que acionou o retorno de chamada. Ele permite transmitir eventos de um cliente para todos os outros clientes, sem que eles sejam retornados ao cliente iniciante. Aqui, nós transmitimos a mensagem 'newplayer' e enviamos como dados o novo objeto de jogador. Para resumir o que fizemos nestes últimos passos: - Ouvimos as conexões dos clientes e definimos as chamadas de retorno para processar as mensagens enviadas pelos sockets - Quando recebemos a mensagem 'newplayer' de um cliente, criamos um objeto small player que armazenamos no socket do cliente - Para o novo cliente, enviamos uma lista de todos os outros players, para que ele possa exibi-los - Para os outros clientes, enviamos as informações sobre o recém-chegado Até agora, nosso servidor reage a uma mensagem dos clientes. Agora precisamos adaptar os clientes para que eles possam processar as mensagens 'allplayers' e 'newplayer' do servidor em retorno, completando assim o loop `connect - notificar o servidor que estou aqui - obter informações em retorno - display it`. Note que a mensagem 'newplayer' enviada pelo cliente e aquela enviada pelo servidor não é a mesma; Eu escolhi dar a eles o mesmo rótulo porque eles transmitem o mesmo tipo de informação, mas eles serão tratados separadamente, uma vez que eles têm endpoints diferentes (o servidor para o primeiro, o cliente para o último). js/client.js Em client.js , adicione este código: Client.socket.on('newplayer',function(data){ Game.addNewPlayer(data.id,data.x,data.y); }); Client.socket.on('allplayers',function(data){ console.log(data); for(var i = 0; i < data.length; i++){ Game.addNewPlayer(data[i].id,data[i].x,data[i].y); } }); Como você pode ver, a mesma sintaxe para manipular mensagens pode ser usada no lado do cliente. Quando os dados são enviados ao longo de uma mensagem, eles podem ser recuperados como o primeiro argumento do retorno de chamada no terminal de recebimento. Portanto, o objeto ' data ' alimentado para o callback 'newplayer' corresponde aos dados do socket.player enviados pelo servidor. Para a mensagem 'allplayers', é uma lista de objetos socket.player . Em ambos os casos, esses dados são processados chamando Game.addNewPlayer () , que agora podemos definir em game.js : js/game.js Game.addNewPlayer = function(id,x,y){ Game.playerMap[id] = game.add.sprite(x,y,'sprite'); }; Esse método cria um novo sprite nas coordenadas especificadas e armazena o objeto Sprite correspondente em um array associativo declarado em Game.create () , com o id fornecido como a chave. Isso permite acessar facilmente o sprite correspondente a um jogador específico, por exemplo, quando precisamos movê-lo ou removê-lo (veja abaixo). Neste ponto, se você reiniciar o servidor (para que as últimas modificações sejam levadas em conta) e navegue até o seu jogo, você verá um pequeno caractere exibido, correspondente ao seu sprite. Se você se conectar com outros navegadores, caracteres adicionais deverão aparecer na tela. Manipulando desconexões Como é, quando um jogador se desconecta, seu sprite permanecerá na tela dos outros jogadores, o que não é desejável. Isso pode ser corrigido ao processar a mensagem 'desconectar' que o servidor recebe automaticamente quando um cliente se desconecta ou atinge o tempo limite ativamente. Esta mensagem pode ser tratada como qualquer outra, da mesma forma que fizemos para o 'newplayer', por exemplo: ligando um callback a ele dentro do método io.on () : server.js io.on('connection',function(socket){ socket.on('newplayer',function(){ socket.player = { id: server.lastPlayderID++, x: randomInt(100,400), y: randomInt(100,400) }; socket.emit('allplayers',getAllPlayers()); socket.broadcast.emit('newplayer',socket.player); socket.on('disconnect',function(){ io.emit('remove',socket.player.id); }); }); }); Em reação à mensagem 'desconectar', usamos io.emit () , que envia uma mensagem para todos os clientes conectados. Enviamos a mensagem 'remove' e enviamos o id do jogador desconectado para remover. Nota: Obrigado ao Kaundur por apontar que o callback 'desconectado' deve ser registrado dentro do callback 'newplayer'; se não, e 'desconectar' é de alguma forma chamado antes de 'newplayer', o servidor irá travar! js/client.js Client.socket.on('remove',function(id){ Game.removePlayer(id); }); E no game.js : js/game.js Game.removePlayer = function(id){ Game.playerMap[id].destroy(); delete Game.playerMap[id]; }; Isso ilustrou o uso da estrutura de dados do Game.playerMap , a propósito. Não há necessidade de repetir sprites; o id permite buscar imediatamente. Agora tudo o que resta a fazer é processar e transmitir os movimentos dos jogadores. Movendo os movimentos do jogador js/game.js Chegou a hora de completar o Game.create () . Basicamente, queremos que, quando o mapa for clicado, as coordenadas sejam enviadas para o servidor, para que a posição do jogador que clicou possa ser atualizada para todos. Adicione a seguinte linha ao Game.create () : layer.events.onInputUp.add(Game.getCoordinates, this); Agora, o mapa reagirá aos cliques chamando o método Game.getCoordinates () , que podemos definir da seguinte forma: Game.getCoordinates = function(layer,pointer){ Client.sendClick(pointer.worldX,pointer.worldY); }; Callback de onInputUp eventos em Phaser receber como segundo argumento do correspondente objeto ponteiro, que contém duas propriedades worldX e worldy que podemos usar para saber onde, no mapa de jogo, fez o clique ocorrer. Podemos então passar essas coordenadas para Client.sendClick () em client.js : js/client.js Client.sendClick = function(x,y){ Client.socket.emit('click',{x:x,y:y}); }; Que simplesmente envia as coordenadas para o servidor, com o rótulo 'clique'. Não há necessidade de enviar qualquer ID de jogador, já que o socket é específico do cliente e associado a apenas um jogador. server.js Em server.js , aqui está a lista final de retornos de chamada de mensagem: io.on('connection',function(socket){ socket.on('newplayer',function(){ socket.player = { id: server.lastPlayderID++, x: randomInt(100,400), y: randomInt(100,400) }; socket.emit('allplayers',getAllPlayers()); socket.broadcast.emit('newplayer',socket.player); socket.on('click',function(data){ console.log('click to '+data.x+', '+data.y); socket.player.x = data.x; socket.player.y = data.y; io.emit('move',socket.player); }); socket.on('disconnect',function(){ io.emit('remove',socket.player.id); }); }); }); Os campos x e y da propriedade player do soquete são atualizados com as novas coordenadas e transmitidos imediatamente para todos, para que possam ver a alteração. Agora, o objeto socket.player completo é enviado, porque os outros clientes precisam saber o id do jogador que está se movendo, a fim de mover o sprite correto na tela (embora, nesse jogo minimalista, não exista um caminho real para distinguir os jogadores). js/client.js De volta ao client.js , precisamos lidar com a mensagem 'mover' do servidor, para que os clientes possam reagir a outro jogador em movimento: Client.socket.on('move',function(data){ Game.movePlayer(data.id,data.x,data.y); }); O processo deve começar a se tornar familiar para você. Em game.js : js/game.js Game.movePlayer = function(id,x,y){ var player = Game.playerMap[id]; var distance = Phaser.Math.distance(player.x,player.y,x,y); var duration = distance*10; var tween = game.add.tween(player); tween.to({x:x,y:y}, duration); tween.start(); }; Nós novamente fazemos uso da estrutura Game.playerMap para recuperar o sprite correto, e então nós o interpolamos para tornar o movimento progressivo. CÓDIGO FONTE COMPLETO (COMENTE PARA VER): [Hidden Content] Bjos Tio Unk ..
  7. Tópico criado por um membro da equipe! Olá membros da Haze, tudo bem com vocês? Estou aqui para trazer um adicionar para o sistema de licenças do @morais, este adicionar irá consistir em apenas fazer o sistema aceitar multi-plugins. (Mais de um plugin) Primeiramente, iremos começar pelo arquivo "index.php" que foi criado anteriormente no tutorial do @morais. Primeiramente, abra o arquivo index.php e cole o código abaixo. Não esqueça de alterar os dados do MySQL que estão lá em cima; Não esqueça de remover os colchetes [ ] usados de destaque nos dados do seu MySQL; Cuidado para não alterar nada do código, pois isso poderá fazer o código parar de funcionar corretamente. Após você fazer os procedimentos acima do index.php, iremos no seu plugin. Você irá editar a sua Main e colar este trecho do código. Substituindo o antigo! Não esqueça de alterar o pluginName que está localizado ali em cima na segunda linha do código; Não esqueça de remover os colchetes usados de destaque para o pluginName; Após fazer estes procedimentos, iremos no seu servidor de MySQL e iremos recriar a tabela Token.class Coloque o nome da Tabela como licenses; Coloque o nome das colunas como token e pluginName; Coloque as coluhnas como VARCHAR e o TAMANHO como 255; Este tutorial foi possibilitado de ser criado graças ao @iJhefee @Unk. A postagem deste tutorial adicional foi autorizada pelo @moraisque é autor do tópico principal. Atenciosamente, [Moderador] Dark_Pizza.
  8. E aí rapazeada, tudo bem? Faz tempo que eu não entro aqui, porém hoje achei um programa bacanudo e resolvi compartilhar com vossas lindezas. Seguinte, o programa é um downloader que tem todas as ISO's da Micro, em teoria claro, tem do Win7 ao Win10, do Office 2013 ao 2019 e por ai vai. Não tem mistério, é só entrar no site oficial do programa e baixar, clique aqui para ir até lá. Antes que me perguntem, não, o programa não baixa isos ativadas e pelo que eu pude perceber, são isos originais da Micro, não são edições e nem nada crackeado, então, para ativar alguma delas procure o ativador correspondente na interwebs, ou compre a licença. é isso aí, até mais ver.
  9. Alô Alô, hoje vou ensinar a como proteger a sua Habbo.swf 1. Requisitos IIS ( Não sei se funciona com xampp, cPanel, entre outros ); Uma habbo.swf ( óbvio ). 2. Agora você irá em seu diretório root e abrirá o web.config. Aviso: Caso não exista, pule para a parte 3; Caso exista mas esteja em branco pule para a 3.1; Agora após a tag "<rules>" cole o código a seguir: <rule name="Habbo Swf protection1"> <match url="^google.com.br" /> <conditions> <add input="{HTTP_HOST}" pattern="^localhost$" /> </conditions> <action type="Rewrite" url="habbo.swf" /> </rule> 2.1 Alterações que podem ser feitas: <match url="^google.com.br" /> google.com.br pode ser alterado para qualquer domínio; <action type="Rewrite" url="habbo.swf" /> habbo.swf pode ser alterado para o nome da sua swf, lembrando que deve ser colocado exatamente onde ela está, neste caso ela está no diretório root. 3. Caso o arquivo não exista "web.config" não exista Crie um arquivo chamado "web.config" sem aspas. 3.1 Adicionando conteúdo ao web.config <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Habbo Swf protection1"> <match url="^google.com.br" /> <conditions> <add input="{HTTP_HOST}" pattern="^localhost$" /> </conditions> <action type="Rewrite" url="habbo.swf" /> </rule> </rules> </rewrite> </system.webServer> </configuration> e volte para a parte 2.1; 4. Adicionando isso a sua Client Isso é muito simples, basta você trocar seu link swf pelo link que você colocou no lugar de google.com.br; Espero ter ajudado, essa é uma proteção simples que tem umas pessoas por ai cobrando por ela ( Não vou citar os hotéis). Flw
  10. 1gordingoxtozo

    Eae rapaziada Então é o seguinte, eu tava andando por uns sites ai e vi que em um site que usa o Wordpress no Menu/Navbar tem uma opção com varios submenus, até ai de boas também entendo como faz, mas o desse site ele tem 3 colunas e eu só consigo fazer um assim com 1 coluna gigantesca, não importa quantos submenus eu coloque sempre fica 1 coluna. Print do site com 3 colunas: Alguem ai que saiba como fazer isso no Wordpress poderia me ensinar como fazer ? tipo sem alterar o CSS do menu atual tendo que colocar um plugin de Mega Menu e talz
  11. Passei aqui só pra avisar que saiu vídeo novo no meu canal! Dessa vez ensino a criar um site para gerenciar o seu bot do Discord!
  12. Fala seus bostas, chega de nitifrix e habbo (mesmo sendo muito inútil e a unica coisa que gera discussão nessa bosta do karaio). Bora aprender algo útil pra vida? https://medium.com/reactbrasil/5-motivos-para-aprender-react-2bb755c96304 Há muitos editores e IDEs por aí para desenvolver aplicativos da web. Dependendo dos seus requisitos pessoais, do projeto ou da empresa, você pode escolher entre uma variedade de editores leves e IDEs completos. O Visual Studio Code é uma solução intermediária. Muitos desenvolvedores, operando no Windows, mas também no MacOS, gostam de usá-lo. É por isso que minha recomendação seria o código do Visual Studio para começar a desenvolver aplicativos React no Windows. A instalação em uma máquina Windows é simples: Navegue até o site oficial do Visual Studio Code e baixe a versão recente do VS Code em 32 ou 64 bits. Depois, instale-o e verifique se tudo está funcionando quando você o abre. Se você quiser usar outro editor / IDE, cabe a você. Mas lembre-se de que algumas das etapas a seguir estão sendo criadas em cima do Visual Studio Code. No entanto, deve ser possível substituir essas etapas pelo seu próprio editor / IDE. Iremos utilizar também o Node JS para criar nossa aplicação, caso você não saiba instalar você é um acéfalo (existem tutoriais no youtube). Agora, você deve verificar se a instalação do Node.js foi bem-sucedida. Em seu Command Line (ou cmd), digite os seguintes comandos. Eles devem produzir as versões para Node.js e NPM. As versões a seguir podem variar de suas versões. node --version *v8.9.4 npm --version *v5.6.0 Agora você pode instalar seu primeiro package com npm em sua linha de comando. Você irá instalá-lo globalmente com um sinalizador -g. Por causa da instalação global, você sempre terá acesso a ele em sua linha de comando. Posteriormente, quando você instalar um package para o seu projeto sem o sinalizador -g, você terá acesso somente ao package (módulo do node) em seu projeto. Na linha de comando (em código do Visual Studio), digite o seguinte comando para instalar o create-react-app: npm install -g create-react-app Este pacote permite inicializar os aplicativos React com configuração zero. Não há necessidade de se envolver muito cedo em ferramentas como Webpack e Babel. Se você for ler "The Road to learn React", você também usará o create-react-app. É a abordagem mais simples para entender o React sem se preocupar com todas as ferramentas como Webpack e Babel em torno dele. Depois de instalá-lo, você pode verificar sua versão novamente na linha de comando: create-react-app --version *v1.5.1 Finalmente, você pode inicializar seu primeiro aplicativo React.js no Windows. Você pode usar create-react-app passando o nome do seu aplicativo para ele com este comando: create-react-app my-app Depois, você pode navegar no projeto e iniciá-lo com o npm: cd my-app npm start O comando deve fornecer uma saída onde você pode encontrar o aplicativo no navegador. O padrão deve ser localhost:8080. Se você estiver usando apenas o IE ou o Edge em sua máquina Windows, recomendo que você instale o Chrome também para acessar o ambiente de desenvolvedor e as Ferramentas do desenvolvedor do React, que estão disponíveis como extensão do Chrome. Por outro lado, agora você tem uma vantagem sobre os desenvolvedores do MacOS, porque você também pode depurar seus aplicativos da Web no Internet Explorer e no Edge. Agora lhe resta apenas se dar ao esforço de assistir vídeos e ler documentários para conseguir dominar esta linguagem. Se inscrevam no meu canal do Youtube, trago tutoriais legais lá (conteúdo que você não vê pessoas ensinando) https://www.youtube.com/channel/UCNSZRo50S_vXDc1p8jM-k7Q
  13. Salve Galera!! Primeiro nem sei como essa bosta veio parar em desenvolvimento web, mas fds. Voltei com a disgraça do canal e que se foda vo parar de postar video depois memo então deixa o like, se inscreve e comenta nessa bosta ai:
  14. Ramon Kelvin

    php

    Conexão ao banco de dados com PHP Programadores web sempre terão a necessidade de conectar ao banco de dados ao menos uma vez, para obviamente envio e recebimento dados ou somente armazenamentos. Existem três API’s de conexão com o banco de dados em PHP, são elas: mysql: Pacote de funções para acesso ao MySQL, foi descontinuado no PHP7. mysqli: Extensão da API mysql com suporte a funcionalidades adicionadas a versões posteriores ao MySQL 4.1 - (http://www.mysql.com/) PDO - PHP Data Objects: Interface para acesso a dados do PHP. (Essa eu conheci recentemente pela indicação do @iJhefe). Nesse tópico mostraremos como podemos está fazendo uma conexão com o PDO (PHP Data Objects). Um dos seus principais destaques, são pela sua leve e consistência conexão e ainda por cima a segurança que é estabelecida. Como o PDO representa uma camada de abstração de acesso a dados, as funções usadas para manipular os dados ou extrair informações do banco de dados serão as mesmas, independentemente do banco de dados utilizado. Muitas pessoas ficam um pouco intimidadas em usar o PDO de início, não por se tratar de uma API difícil de usar, muito pelo contrário, pois é muito fácil de usar, mas sim porque a API mysql é muito fácil de usar e as pessoas acabam se acostumando com ela. (Esse foi o meu caso, tanto que cheguei a ser muito bem influenciado em deixar de lado a Api de conexão Mysqli e começar a usar o PDO). Deixando de enrolação e vamos a conexão, que é o que nos interessa aqui! Vamos começar criando uma nova instância de classe e especificar o driver que utilizaremos, que no caso seria o mysql, o nome do banco de dados, nome de usuário e senha. [Hidden Content] O erro padrão do PDO é o PDO::ERRMODE_SILENT, porém no nosso código usamos o PDO::ERRMODE_EXCEPTION, então listarei mais opções que poderemos utilizar PDO::ERRMODE_SILENT PDO::ERRMODE_WARNING PDO::ERRMODE_EXCEPTION Conectando com banco de dados usando PDO Embora isso funcione, observe que ainda estamos escapando manualmente os dados do usuário com o método PDO::quote. Pense nisso como método, mais ou menos, o equivalente ao mysql_real_escape_string; no PDO. Em situações, quando você está vinculado aos dados fornecidos pelo usuário para uma consulta SQL, é fortemente aconselhável que você, em vez usar isso, use prepared statements. Dito isto, se suas consultas SQL não são dependentes de dados do formulário, o método de consulta é uma escolha útil, e torna o processo de loop através dos resultados tão fácil como uma instrução foreach. [Hidden Content] O tutorial foi bem curto pelo simples fato de que a conexão é bem simples e fácil, sem segredos algum, confesso que tive um pouco de dificuldade em entender, porém tudo é obtido pela prática. Em breve poderei fazer outro tópico, porém relacionado a como começar a utilizar o select com PDO, buscando determinados resultados.
  15. Ramon Kelvin

    php

    Contantes As constantes não é muito diferente do que faz uma variável, ele é um identificador (nome) para um valor único. Como o nome sugere, esse valor não pode mudar durante a execução do script! As constantes são case-sensitive por padrão e os identificadores de constantes são sempre "maiúsculas". Mesma regra das variáveis O nome de uma constante tem as mesmas regras de qualquer rótulo do PHP. Um nome válido de constante começa com uma letra ou sublinhado, seguido por qualquer número de letras, números ou sublinhados. Como uma expressão regular, pode ser representada por: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* Exemplo.: Nomes de constantes válidos e inválidos <?php define("NOME", "HazeFórum"); //Constantes válidas. define("IDADE1", "1 ano"); //Constantes válidas. define("FORUM_THEME", "Dark"); //Constantes válidas. define("1TOPICO", "Desenvolvimento Web"); //Constantes inválidas. define("1_TOPICO", "PHP - Constantes"); //Constantes inválidas. // Isto é válido, mas deve ser evitado: // O PHP pode vir a fornercer uma constante mágica // que danificará seu script define("__NOME__", "HAZE"); ?> Quando iniciamos uma constante com um "espaço", não produzirá nenhum erro. <?php define (" IDADE", 1) echo "Sucesso"; //Exibirá: Sucesso ?> Porém quando chamamos a constante, produzirá o erro. <?php define (" IDADE", 1) echo IDADE; ?> É só usar a lógica, já me perdi bastante com esse tipo de erro, as vezes eu tenho várias constantes que não chego a chamar, porém quando futuramente eu necessitar fazer isso, com certeza eu me perco.
  16. Ramon Kelvin

    php

    Esse tópico é dedicado especificamente para quem está pensando em começar a programar em PHP! O PHP é uma das linguagens mais utilizadas no mundo atualmente, segundo alguns sites de noticias que venho acompanhando. O PHP assim como qualquer outra linguagem de programação tem sua especialidade, ele é adequado especialmente para o desenvolvimento WEB e pode ser desenvolvido a partir de outra linguagem, tal como HTML (Linguagem de Marcação de Hipertexto). Quando comecei a estudar, que não faz muito tempo, me deparei com uma linguagem não muito diferente das outras, seguindo basicamente o mesmo padrão a partir do que estudei sobre "Lógica da programação", se você nunca teve contato com nada relacionado a lógica da programação, é mais que necessário saber no minimo o básico, pois o PHP é mais que só uma linguagem, assim como as outras é bom ter uma estrutura lógica, já que o PHP é focado nisso! O PHP é focado principalmente nos scripts do lado do servidor, então você pode fazer qualquer coisa que um programa CGI faz, como enviar e receber cookies, coletar dados de formulários e gerar página com conteúdo dinâmico. E com toda certeza o PHP pode fazer muito mais. Por muitos o PHP é considerado uma linguagem fácil, e de fato é se você já tiver experiências com qualquer outras linguagens! Eu não senti muita dificuldade em COMEÇAR, pois já tinha algumas experiencias com HTML e CSS pela qual o PHP pode trabalhar lado a lado. Então o aconselhável se você quer começar a se dedicar a linguagem, primeiro experimente ter algum contato com pelo menos o básico da estrutura HTML, pois quando você tiver o primeiro contato com PHP com certeza a diferença não vai ser a mesma! Estar focado na linguagem e não pular as aulas pela qual você vai ter acesso é o básico para você possa alcancar o entendimento e garantir um bom desenvolvimento, e a partir daí poder dar inicio aos seus projetos. (Esse próximo texto, eu peguei do Manual do PHP. php.net). Existem três áreas principais onde os scripts PHP são usados: Scripts no lado do servidor (server-side). Este é o mais tradicional e principal campo de atuação do PHP. Você precisa de três coisas para isto funcionar: o interpretador do PHP (CGI ou módulo do servidor), um servidor web e um navegador web. Você precisa rodar o servidor web conectado a uma instalação do PHP. Você pode acessar os resultados de seu programa PHP com um navegador web, visualizando a página PHP através do servidor web. Tudo isso pode rodar na sua máquina pessoal se você estiver apenas experimentando programar com o PHP. Veja a seção das instruções de instalação para mais informações. Scripts de linha de comando. Você pode fazer um script PHP para executá-lo sem um servidor ou navegador. A única coisa necessária é o interpretador PHP. Esse tipo de uso é ideal para script executados usando o cron (Unix, Linux) ou o Agendador de Tarefas (no Windows). Esses scripts podem ser usados também para rotinas de processamento de texto simples. Veja a seção Utilizando o PHP em linha de comando para mais informações. Escrever aplicações desktop. O PHP provavelmente não é a melhor linguagem para criação de aplicações desktop com interfaces gráficas, mas se você conhece bem o PHP, e gostaria de usar alguns dos seus recursos avançados nas suas aplicações do lado do cliente, você pode usar o PHP-GTK para escrever programas assim. Você também tem a possibilidade de escrever aplicações multi-plataformas desse jeito. O PHP-GTK é uma extensão do PHP, não disponibilizada na distribuição oficial. Caso esteja interessado no PHP-GTK, visite » o site do projeto. Bom, espero que tenha tido um bom entendimento sobre o PHP, e que possam a partir daí dar inicio aos estudos! Obrigado pelo FeedBeck! Próximos tópicos Instalação Primeiro contato Referencias do PHP Comentários Tipos Variáveis
  17. Oi pessoal, eu Alaskah, postei a um tempo a Introdução ao Vue.js, neste tópico vamos aprender como utilizar o VueJS em server-side junto com o Express. Vamos precisar ter as seguintes dependências: NodeJS Express VueJS SSR Como Instalar: NodeJs Baixar e instalar o aplicativo Express Digite os seguintes comandos em seu terminal: npm init npm install express --save npm install express Vue SSR Digite os seguintes comandos em seu terminal: npm install vue vue-server-renderer --save Agora que já tem instalado crie um app.js e insira-o: const Vue = require('vue') // VueJs const server = require('express')() // Express const renderer = createRenderer({ template: require('fs').readFileSync('index.html', 'utf-8') /* index.html tem que estar no mesmo local do app.js, pode ser alterado: template: require('fs').readFileSync('layout/index.html', 'utf-8') */ }) /* Caso queira liberar um diretório: server.use('/static', express.static('public')) /static é a pasta onde ficará, no caso: http://IP:3000/static/images... public é a pasta real no node app http://prntscr.com/m64bns */ server.get('*', (req, res) => { const app = new Vue({ data: { url: req.url }, template: `<div>The visited URL is: {{ url }}</div>` }) renderer.renderToString(app, (err, html) => { console.log(html) // will be the full page with app content injected. }) }) server.listen(3000, function () { console.log('Example app listening on port 3000!'); }); Então é isto, em breve trarei mais tópicos de Vue SSR. Até a próxima.
  18. iJhefe

    Olá, hoje venho trazer para vocês um tutorial que provavelmente pode servir algum dia. Como alterar o arquivo index com .htaccess O que exatamente é isso? Quando acessamos um site diretamente, normalmente, ele nos exibe seu index que costuma ser index.html ou index.php , então por padrão esses arquivos são exibidos quando seu site é aberto, por exemplo: eu acesso um site (www.example.com) , e ao acessar ele, na verdade, ele me exibe (www.example.com/index.php). Bom, para fazer isso é bem simples, vá até a pasta que deseja mudar a Index e, caso não tenha um arquivo .htaccess, crie-o, e dentro dele coloque: DirectoryIndex dash.php Nesse caso, estou renomeando minha index para dash.php, então, ao acessar meu site (www.example.com), ele não vai mais obter o arquivo da index padrão e sim do dash.php. Logo temos a conclusão do código: DirectoryIndex NOVO-ARQUIVO-PADRÃO.php Lembrando que pode ser .php, .html, .phtml, é a sua escolha. Créditos: iJhefe
  19. Unk

    Eai Pessoal, Trago para vocês um Tutorial de como baixar a famosa engine em que os jogos Far Cry, Crysis e Ryse foi desenvolvido. A engine chama Cry Engine (Ao o meu ver nenhuma outra engine atinge as qualidades gráficas que a Cry Engine pode exibir). A CryEngine pode ser baixada diretamente por este link, no GitHub. Mas para fazer o caminho completo, dá para ir ao site oficial da Crytek e passar pelo portal "pague o que quiser". A desenvolvedora está oferecendo sua engine gratuitamente, mas oferece a oportunidade para quem quiser (e puder) contribuir com algum investimento de volta. Pode ser qualquer um valor e quem estiver pagando pode escolher ainda quanto desse dinheiro vai para a Crytek e quanto vai para o Fundo de Desenvolvimento Indie, organizado pela empresa para ajudar estúdios pequenos a criar seus jogos na CryEngine. ATENÇÃO AOS REQUISITOS MINIMOS! Requisitos Mínimos para a CryEngine: OS: Windows Vista SP1, Windows 7, 8.1, 10 (apenas 64-bit) Processador: Intel Dual-Core 2GHz | AMD Dual-Core 2GHz Memória: 4 GB de RAM | 8GB de espaço disponível no armazenamento Gráficos: NVIDIA GeForce 400 series | AMD Radeon HD 6000 series DirectX: Version 11 Requisitos Recomendados para a CryEngine: OS: Windows 7, 8.1, 10 (64-bit) Processador: Intel Quad-Core (i5 2300) | AMD Octa-Core (FX 8150) Memória: 8 GB de RAM | 8GB de espaço disponível no armazenamento Gráficos: NVIDIA GeForce 660Ti (ou melhor) | AMD Radeon HD 7950 (ou melhor) DirectX: Version 11
  20. Nesta série de tutoriais, você aprenderá na prática o básico sobre alertas, logs, variáveis, tipos de dados, prompts e operadores. Se todas essas palavras parecem estranhas pra você, não se preocupe. Ao longo do tutorial, vou procurar explicá-las em termos mais simples. O objetivo é brincar um pouco com o console javascript e fazer algumas mensagens aparecerem, ao mesmo tempo que você, leitor, vai ter o seu primeiro contato com uma das linguagens de programação mais poderosas atualmente. Sem mais delongas, vamos lá. O que vou precisar? Tudo que você vai precisar é de um navegador que possua um console Javascript! A maioria dos navegadores modernos (como Chrome, Firefox, Edge e derivados) possuem essa ferramenta. Para acessá-la, você pode apertar F12 no Chrome/Edge ou Ctrl+Shift+J no Firefox. A tela será semelhante a essa: http://prntscr.com/ij5u6j Provavelmente, sua janela abrirá na aba "Elementos". Você deverá clicar em "Console" para continuar. O console pode estar aberto em qualquer página da internet que você quiser. Isso não vai fazer diferença nesse tutorial. Tarefa #1 - Alertas Primeiro, o que é um alerta javascript? Em poucas palavras, são aquelas caixas de diálogo que costumam aparecer nos sites. Exemplo: https://prnt.sc/ij5wmj Agora, você aprenderá como chamar uma caixa dessa em qualquer site. O código base para fazer isso acontecer é o alert(' '). Ele é composto pelo método alert, que dá nome à função que irá fazer a nossa mensagem aparecer, e um parâmetro, que, no caso, será o nosso texto. Para fazer sua primeira caixa de diálogo em Javascript, basta digitar o código no console com sua mensagem entre as aspas e dar enter. Exemplo: alert('Olá, mundo!'); O que resultará em => https://prnt.sc/ij5ykb Basicamente, é isso! Esse foi o primeiro tutorial de uma série que estou fazendo de Javascript básico, destinada a quem nunca teve contato com a linguagem, para que possam começar a ter um contato. Se você tem alguma dúvida, sugestão, ou algo que você queira aprender a fazer, por exemplo, deixe um comentário aqui que eu tentarei ajudar ou criarei um tutorial para isso
  21. Alaskah

    javascript

    O Vue.js é um framework javascript para criação de componentes web reativos, cujo criador é o Evan You. Hoje nós vamos aprender o basico Vue.js e como utilizar em seu site. Para começar você deverá adicionar em seu codigo o link do Vue.js, <script scr="https://cdn.jsdelivr.net/npm/vue"></script> Agora estamos prontos para aprender o Vue.js. A Base do Vue é simples: [Hidden Content] Nisso temos várias possibilidades, iramos ver uma delas. Vamos imaginar que nosso message seja um número inteiro, 8, como faço para subtrair 4 de 8? Isso pode ser feito assim: [Hidden Content] Oque irá retornar: 3. Más, pode haver o caso de: message seja 2,5 como faço para subtrair 1 de 2,5? Para fazer isso teremos que transformar a "," para ".": [Hidden Content] No próximo post sobre Vue.js, ensinarei a como fazer um Array utilizando v-for. Até a próxima, Flw Creditos: Alaskah Vue.js Guide
  22. Estes tutoriais descrevem um método para criar paisagens do mundo real na UE4. Usamos dados GIS baixados do US Geological Survey, conteúdo de terceiros do mercado da UE4 e um plug-in que desenvolvemos para o Unreal Editor, chamado TerraForm Lite, para importar dados vetoriais (por exemplo, mapas de estradas) como splines na UE4. Criamos uma área chamada Twin Mountains, a oeste de Mt Washington, NH, EUA. São cerca de 8 km por 8 km de terreno rochoso/montanhoso, em grande parte coberto por florestas. Há estradas, linhas ferroviárias e trilhas para caminhadas. Nós usamos: Dados do Modelo Digital do Terreno (“DTM”) para gerar um mapa de altura na UE4; Mosaicos de fotografia aérea para criar máscaras de camada de paisagem e; Dados vetoriais GIS para gerar estradas, linhas ferroviárias e trilhas. Nós os combinamos com ferramentas de terreno procedurais e conteúdo do mercado da UE4 para gerar um terreno do mundo real. Neste tutorial, usamos os dados do GIS para direcionar o conteúdo de "Procedural Landscape Ecosystem" por Gokhan Karayadi (o que é incrível e altamente recomendado - veja abaixo). Algumas screenshots: À medida que adicionamos mais funcionalidades às ferramentas do TerraForm, adicionamos mais recursos naturais e infraestruturas criadas pelo homem à paisagem e expandimos os tutoriais. Eu coloquei todos os arquivos fonte GIS criados no tutorial em nosso site (procure por "Samples"), caso você queira apenas fazer os bits UE4. Você precisará de alguns outros softwares para acompanhar todo o processo, mas opções freeware existem para a maioria. Ele está escrito (não em vídeo) e tem imagens para cada passo, portanto, um pouco longo demais para um post aqui no fórum. Aqui estão os títulos das seções com links: Usando mapas (dados GIS) para criar paisagens do mundo real na UE4: Introdução - O que há neste tutorial? O Básico - O que a UE4 pode (e não pode) fazer. Dados/Ferramentas - o que você precisa e onde obtê-los. Download de dados - Instruções para se apossar de dados GIS. Definindo as extensões de paisagem da UE4 - Como definir as dimensões para a paisagem do UE4. Exportando dados GIS - Como exportar dados GIS prontos para a UE4. Editando dados vetoriais - Como editar dados vetoriais GIS para UE4. Criando máscaras de paisagem - Como criar máscaras de paisagem a partir de imagens aéreas. Criando a paisagem na UE4 - Como criar um panorama da UE4 a partir do seu mapa de altura. Superfícies e Vegetação - Usando máscaras para conduzir a texturização e a vegetação procedurais da paisagem. Adicionando trilhos, estradas, etc. - Importando dados vetoriais como splines UE4 Isso é em apoio a um esforço mais amplo para trazer mais recursos de GIS para a UE4. Existe uma versão gratuita do TerraForm no nosso site. Se você achar útil, criaremos mais tutoriais e desenvolveremos mais recursos, então, por favor, deixe-nos saber o que você pensa. Até mais!
  23. Unk

    Eai Pessoal, Hoje trago um tutorial de como baixar o Unity 3D (Versão Personal Free). Para baixar é simples basta acessar a Unity Store , aceitar os termos e clicar em "Baixar o instalador para Windows". ATENÇÃO VERIFIQUE OS REQUISITOS MINIMOS : OS: Windows 7 SP1+, 8, 10; macOS 10.11+. GPU: Placa de vídeo com suporte a DX9 (shader model 3.0) ou DX11 com suporte a feature level 9.3 Bjos do Tio Unk
  24. Olá, hoje venho para ensinar a vocês como executar um arquivo via PHP. OBS: Por questões de segurança, não é possível executar algumas coisas. O comando que vamos aprender hoje é o " exec() ", cuja a sintaxe é: exec($arquivo); Lembrando que no arquivo deve conter todo o Path do que vai ser executado, como por exemplo: " C:\xampp\htdocs\haze\arquivo.exe " No entanto, como bônus, aqui vai um código para pegar o local atual do seu arquivo. $pathAtual = __FILE__; $path_sem_arquivo = null; $explodePath = explode("\\", $pathAtual); $cPath = count($explodePath); $count = $cPath - 2; for ($i = 0; $i <= $count; $i++){ $path_sem_arquivo .= $explodePath[$i]."\\"; } Com isso, caso queira executar algo que esteja na mesma pasta que o este PHP, basta executar o comando a seguir exec($path_sem_arquivo."\\haze.exe"); E é isso. Créditos: iJhefe Haze Fórum
×