Login

Esqueci minha senha

Últimos assuntos
» Como fazer o game maker rodar vídeos? (cutscenes)
por DooMan Hoje à(s) 2:56 pm

» Conceito de autenticação de cliente no servidor?
por PedroX Hoje à(s) 2:56 pm

» [Thyago] Mega soccer
por Thyago Hoje à(s) 2:34 pm

» [Demo] Submundo 3D
por JoaoVanBlizzard Hoje à(s) 2:08 pm

» [Pedido] tutorial login Facebook
por Gonzo Hoje à(s) 1:29 pm

» [GMBR Magazine] Vagas para CDC's
por Sr. Sinistro Hoje à(s) 1:23 pm

» [JOGUE] Tolete Escape 2 - Versão Alpha
por AlexBosquin Hoje à(s) 11:29 am

» [Projeto]Plataforma
por AlexBosquin Hoje à(s) 10:42 am

» [ajuda]carregar script externo
por PedroX Hoje à(s) 10:22 am

» Smart Snake
por PedroX Hoje à(s) 10:16 am

» Tutorial alguem pode me passar?
por PedroX Hoje à(s) 9:59 am

» Sobre arquivos online
por PedroX Hoje à(s) 9:57 am

» Pokemon Cardex
por PedroX Hoje à(s) 9:52 am

» Webinar grátis: Custo dos Bugs, Controle de Versão
por PedroX Hoje à(s) 9:51 am

» Calendário de concursos
por PedroX Hoje à(s) 9:39 am

» Efeito Especial: Coord. Esféricas - Cartesiano 3D
por PedroX Hoje à(s) 8:58 am

» Mais de uma fase em uma unica room.
por Isaque Onix Ontem à(s) 11:38 pm

» Fleeing the Shark v.1.0
por vitorfernandes13 Ontem à(s) 9:16 pm

» #005 - Concurso de Artes
por Lucas Farias Ontem à(s) 8:52 pm

» [Duvida] Botões do celular
por WellingtonBecker Ontem à(s) 8:07 pm

» [Tutorial] - Lendo (e carregando) arquivos online
por MatheusMM Ontem à(s) 7:38 pm

» [Dúvida] Habilitar funções do sistema
por Gonzo Ontem à(s) 7:24 pm

» GMS 1.4 ta rodando meio lento
por Gonzo Ontem à(s) 5:12 pm

» Prize.
por Ninja_PH Ontem à(s) 4:57 pm

» Execução em segundo plano
por Vizage Ontem à(s) 4:37 pm

» [XCREATOR] Basket Rush
por Ninja_PH Ontem à(s) 4:29 pm

» Manutenção no fórum
por Gonzo Ontem à(s) 3:53 pm

» IA com grid
por saim Ontem à(s) 1:29 pm

» concept's rápidas
por Alex FC Ontem à(s) 11:11 am

» Gemtheo
por theokof98 Ontem à(s) 10:20 am

» Pokémon - The Japan's legend
por Dlr Ontem à(s) 12:05 am

» Jogo de RPG
por bootzin Qui Set 18, 2014 8:39 pm

» abrir imagens vetoriais
por WellingtonBecker Qui Set 18, 2014 8:14 pm

» ajuda com o GMS
por matheusco Qui Set 18, 2014 6:22 pm

» "Remasterização" de Gráficos
por Mateus O de Andrade Qui Set 18, 2014 3:23 pm

» Galeria de desenhos (007)
por Edvaldo 007 Qui Set 18, 2014 1:12 pm

» Demo Hatfields and MacCoys
por JoaoVanBlizzard Qui Set 18, 2014 12:40 pm

» Dragon Ball AF 2
por Dlr Qui Set 18, 2014 12:27 pm

» Dragon Ball AF+
por Dlr Qui Set 18, 2014 12:21 pm

» Pokemon Mega Evolution 83%Completo
por Dlr Qui Set 18, 2014 11:55 am

» Procuro Spriter - Top-Down RPG
por matheusco Qui Set 18, 2014 10:47 am

» Erro ao abrir executável do GMS
por gabrielsch Qua Set 17, 2014 9:41 pm

» [Android] Maria World COMPLETO
por willyruduit Qua Set 17, 2014 9:01 pm

» [Pedido] exportar para GM:Studio
por WellingtonBecker Qua Set 17, 2014 7:29 pm

» Bug ao usar variável de outro objeto.
por WellingtonBecker Qua Set 17, 2014 7:10 pm

» [Pedido] "Executável" HTML5 para Demonstração
por dharrison Qua Set 17, 2014 4:08 pm

» Crio Trilha Sonora para Games!
por Sandro Casagrande Jr. Qua Set 17, 2014 1:47 pm

» Game das Eleições: ELEIÇÃO SUPERSTAR
por baraodopirapora Qua Set 17, 2014 11:37 am

» tutorial para adicionar adbuddiz no gamemaker
por WellingtonBecker Ter Set 16, 2014 9:33 pm

» obj nao segue
por WellingtonBecker Ter Set 16, 2014 9:22 pm

» Ajuda com Approach Circles
por Cabeçalho Onlin'E Ter Set 16, 2014 9:13 pm

» [Arte] Sprite para meu jogo
por Susano Ter Set 16, 2014 8:38 pm

» [Pedido]eu queria sprites de digimon.
por WellingtonBecker Ter Set 16, 2014 7:28 pm

» [Engine] Movimento Limpo 2.0 - Willy
por Willy Ter Set 16, 2014 7:00 pm

» Como fazer um personagem atirar?
por Lizarus Ter Set 16, 2014 6:47 pm

» Notificações do Andoid e iOS. E app em 2º plano
por Gonzo Ter Set 16, 2014 3:08 pm

» [D]Flappy Bat [Android]
por JoaoVanBlizzard Ter Set 16, 2014 2:04 pm

» CA#5 Sons em MIDI
por Gonzo Ter Set 16, 2014 1:37 pm

» aparencia!!
por AxeInLine Ter Set 16, 2014 10:30 am

» [ajuda]mysql erro
por Isaque Onix Ter Set 16, 2014 3:51 am

» [CA#5] [Literatura] Um Convite, Duas Vidas Mudadas
por viniciusav Seg Set 15, 2014 10:56 pm

» Como trocar de arma com o mouse
por gui.alfaia Seg Set 15, 2014 7:31 pm

» [RESOLVIDO] Tirar a opção de fechar ao press. Esc?
por Ninja_PH Seg Set 15, 2014 3:32 pm

» D-Run! v1.1.2 [NOVO!]
por AxeInLine Seg Set 15, 2014 9:24 am

» Como fazer uma checagem no distance_to_object
por matheusco Seg Set 15, 2014 2:04 am

» Problema ao dropar armas
por AxeInLine Dom Set 14, 2014 9:18 pm

» Problema de pulo caindo
por matheusco Dom Set 14, 2014 8:59 pm

» CA#5 (Heroi Manhoso)
por douglas444 Dom Set 14, 2014 4:58 pm

» Tempo seguir tela
por Markituh Dom Set 14, 2014 1:37 pm

» Dúvida sobre "extensões" no Game Maker
por Lauro Dom Set 14, 2014 12:34 pm

» [CA#5] ( Personagem ) Espírito de Marajó
por douglas444 Dom Set 14, 2014 9:30 am

» Tutorial ou engine de spawnpoint do jogador
por matheusco Dom Set 14, 2014 7:47 am

» TowerMaker ! [Projeto]
por PedroMatoso Dom Set 14, 2014 2:19 am

» [Galeria] The Origin.
por PedroMatoso Dom Set 14, 2014 1:49 am

» [Android] duvida sobre a compatibilidade do SDK
por itarodrigo Dom Set 14, 2014 1:38 am

» [CA #5] A História da GMBR
por Sr. Sinistro Dom Set 14, 2014 12:09 am

» [Update: 04/09/14] Pixel Place 2014
por AxeInLine Sab Set 13, 2014 11:19 pm

» problema com água
por WellingtonBecker Sab Set 13, 2014 10:53 pm

» Conexão MySql com GM:S Standart no ip local
por Lauro Sab Set 13, 2014 5:06 pm

» adBuddiz no gamemaker
por evalds10 Sab Set 13, 2014 4:26 pm

» [SORTEIO] Livros de Game Design
por itarodrigo Sab Set 13, 2014 3:49 pm

» TCG Yugiyoyo (nome temporário)
por Lauro Sab Set 13, 2014 3:45 pm

» [PEDIDO=TUTORIAL] Acertar a Resposta.
por FabiioW Sab Set 13, 2014 3:38 pm

» [Android] - MultiTouch
por cascavelo Sab Set 13, 2014 3:31 pm

» Problemas com dash
por Mestre Rá Sab Set 13, 2014 3:31 pm

» Problema com distance_to_object
por Riccardoric Sab Set 13, 2014 3:31 pm

» HeroiBrasil
por Riccardoric Sab Set 13, 2014 3:04 pm

» Problema de pulo
por gabriel33245900 Sab Set 13, 2014 2:16 pm

» [Studio] Criar extensões
por evalds10 Sab Set 13, 2014 2:01 pm

» Como colocar colisão com bloco Sólido apenas com 1
por gabriel33245900 Sab Set 13, 2014 10:53 am

» recrutando programadores para DGE
por Riccardoric Sab Set 13, 2014 9:27 am

» tela "pixelada"
por LeoX Sab Set 13, 2014 8:52 am

» [XCREATOR] [UTILITARIO]
por PedroX Sex Set 12, 2014 9:21 pm

» Falso 3D
por João Pedro Sex Set 12, 2014 8:57 pm

» Recrutando Spriters para DGE
por Gutorrock Sex Set 12, 2014 8:24 pm

» Pixel War [Android]
por fabert Sex Set 12, 2014 8:14 pm

» Teste de Pintura #1
por Koratsu Sex Set 12, 2014 6:19 pm

» Game Maker studio Versus Game Maker 8.0
por JoaoVanBlizzard Sex Set 12, 2014 5:34 pm

» qual a diferença entre o gm lite e o studio free?
por DieBoy Sex Set 12, 2014 4:11 pm


[Tutorial]Criando e usando uma DLL548

[Tutorial]Criando e usando uma DLL

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Qualidade [Tutorial]Criando e usando uma DLL

Mensagem por Jiraya em Qua Dez 15, 2010 6:14 pm

AS seguintes ferramentas seram necessárias para concluir esse tutorial com exito!
voce precisara ter os seguintes programas
Game Maker Pro
Dev-C++

voce pode usar outras linguagens para criar sua dll tbm
como por exemplo
delphi,c++/c/Visual Basic ect...
mas neste caso iremos usar a linguagem de programação c++ acompanhado do software/IDE DEV-C++
============================INICIANDO=====================================
primeiro vamos criar a dll Very Happy
abra o programa DEV-C++
clique em
Arquivo>>Novo>>Projeto
uma janelinha ira se abrir
como na imagem

clique no icone DLL e de um nome ao seu projeto, eu dei o nome ao meu de "MinhaDLL" :3
entao aparecera a janela para salvar o arquivo, como na imagem abaixo.

após isso aparecera no seu programa os seguintes códigos

altera ele em algumas partes, para que fique facil manipula-lo
deixe o código assim
Código:

#ifndef _DLL_H_
#define _DLL_H_

#if BUILDING_DLL
# define GML __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */
//aqui vc colocara as suas funçoes ;]

#endif /* _DLL_H_ */
ok, o arquivo Header ja esta pronto, agora precisamos preparar o arquivo .cpp, vai para a aba "[*] dllmain.cpp"

altera este código

para esse
Código:

/* Replace "dll.h" with the name of your header */
#include "dll.h"
#include <windows.h>
//aqui é a area onde as funçoes ficaram


//====================================
BOOL APIENTRY DllMain (HINSTANCE hInst    /* Library instance handle. */ ,
                      DWORD reason        /* Reason this function is being called. */ ,
                      LPVOID reserved    /* Not used. */ )
{
    switch (reason)
    {
      case DLL_PROCESS_ATTACH:
        break;

      case DLL_PROCESS_DETACH:
        break;

      case DLL_THREAD_ATTACH:
        break;

      case DLL_THREAD_DETACH:
        break;
    }

    /* Returns TRUE on success, FALSE on failure */
    return TRUE;
}
pronto, a dll esta pronta começar!
vamos criar uma simples funçao agora
vá para a aba "[*] dll.h"
essa aba é onde vc declara a funçao

agora vamos criar a funçao digite isso na area
Código:

#ifndef _DLL_H_
#define _DLL_H_

#if BUILDING_DLL
# define GML __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */
//aqui vc colocara as suas funçoes ;]
extern "C" GML double soma(double x,double y);//essa é a nossa funçao, agora ela esta declarada!
//double x e double y sao argumentos.                     

#endif /* _DLL_H_ */
agora va para o arquivo "[*] dllmain.cpp"

agora teremos que fazer com que a funçao seja executada
digite o seguinte código na area
Código:

/* Replace "dll.h" with the name of your header */
#include "dll.h"
#include <windows.h>
//aqui é a area onde as funçoes ficaram
extern "C" GML double soma(double x,double y)//essa é a função com os comandos dados.
{
return (x+y);   
}

//====================================
BOOL APIENTRY DllMain (HINSTANCE hInst    /* Library instance handle. */ ,
                      DWORD reason        /* Reason this function is being called. */ ,
                      LPVOID reserved    /* Not used. */ )
{
    switch (reason)
    {
      case DLL_PROCESS_ATTACH:
        break;

      case DLL_PROCESS_DETACH:
        break;

      case DLL_THREAD_ATTACH:
        break;

      case DLL_THREAD_DETACH:
        break;
    }

    /* Returns TRUE on success, FALSE on failure */
    return TRUE;
}
agora pressione F9 para testar o seu projeto!

se aparecer a seguinte mensagem

quer dizer que sua dll funcionou perfeitamente :­D
agora vamos testa-la no game maker GM8 finalmente \o/

===================AGORA NO GAME MAKER==============================
abra o game maker
salve o jogo na mesma pasta onde vc salvou a dll
e entao crie um script e de o nome de DLLInit e entao digite o seguinte codigo nesse script
[DLLInit]
Código:

dll="MinhaDLL.dll";
global.SOMA=external_define(dll,"soma",dll_stdcall,ty_real,2,argument0,argument1);
/*
argument0=nome da dll
argument1=nome da funçao
argument2=tipo de resposta
argument3=tipo de retorno, se o valor da funçao retornara a string ou valor real.
argument4=numero de argumentos que a funçao tem
argument5=double x
argument6=double y
*/
ficara assim

crie outro script e de o nome de DllSoma e digite o seguinte código
Código:

return (external_call(global.SOMA,argument0,argument1));//retorna ao resultado da funçao da dll
ficara assim


QUASE LA :­D
agora vamos testar para ver se esta funcionando
crie um objeto e de qualquer nome a ele
add o evento Create e arraste o d´n ´d Execute code

digite o seguinte código
Código:

DllInit();//inica a dll
soma=DllSoma(8,8);//executa a funçao da dll
show_message(soma);//mostra uma mensagem na tela com o valor do retorno da dll
crie uma room e coloque esse objeto na room
se aparecer uma mensagem mostrando o numero 16

PARABENS VOCE CONCLUIU O TUTORIAL COM EXITO!
a dll funcionou e agora voce tera portas abertas para criar outras dll Very Happy
Download do Exemplo
====================OBRIGADO POR LEREM MEU PEQUENO PRIMEIRO TUTORIAL==================


Última edição por Jiraya em Qua Dez 15, 2010 7:44 pm, editado 1 vez(es)

Jiraya

Ranking: Nota A
Número de Mensagens: 1134
Data de inscrição: 20/03/2010
Versão:
  • Game Maker 8.1
  • Game Maker Studio: Master

Notas recebidas: A+A
Reputação: 106

Prêmios
   : 1
   : 0
   : 1

https://www.facebook.com/seito.washiro.7

Voltar ao Topo Ir em baixo

Qualidade Re: [Tutorial]Criando e usando uma DLL

Mensagem por Markituh em Qua Dez 15, 2010 7:02 pm

Pequeno? Que é isso, cara! Tá grande Very Happy Eu já tinha visto sobre como fazer na Game Maker Comunnity, foi lá que aprendi a fazer minha primeira DLL =D Eu realmente prefiro o C++ para fazer, pois no Delphi é deveras complicado(que nada, eu que não sabia definir).

OFF: Cabei de sacar, o novo Rank entrou em vigor Happy

___________

"El. Psy. Congroo"
Se você entendeu essa mensagem é bem próvavel que a Organização já esteja atrás de você.

Markituh

Ranking: Sem avaliações
Número de Mensagens: 2074
Idade: 16
Data de inscrição: 11/10/2009
Versão:
  • Game Maker 8.0
  • Game Maker Studio: Free

Reputação: 84

Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: [Tutorial]Criando e usando uma DLL

Mensagem por Luca$ em Qua Dez 15, 2010 7:34 pm

Legal cara
Eu nao fiz
pq nao tenho o dev-c++
mas se tivesse eu concerteza fazeria seu tuto =D

Luca$

Ranking: Nota D
Número de Mensagens: 582
Data de inscrição: 10/10/2010
Versão:
  • Game Maker 8.0

Notas recebidas: D-C
Reputação: 1

Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: [Tutorial]Criando e usando uma DLL

Mensagem por LCS em Qua Dez 15, 2010 7:44 pm

cara muito bom mesmo como sempre cada vez mais complicado kkkk
mas ta muito avançado pra mim

lol se isso é um tuto pequeno nem quero ver quando postar um grande
valeu orochi
continua sempre assim cara
10 pra tu

LCS

Ranking: Nota A
Número de Mensagens: 1036
Idade: 19
Data de inscrição: 09/03/2010
Notas recebidas: A
Reputação: 43

Prêmios
   : 2
   : 1
   : 1

http://www.www.ww.www

Voltar ao Topo Ir em baixo

Qualidade Re: [Tutorial]Criando e usando uma DLL

Mensagem por Alexandre Dias em Qua Dez 15, 2010 7:53 pm

Tava com o zoom ligado aqui no linux e queria diminuir a letra. Cliquei no - . Só depois vi que implantaram sistema de reputação . Malz ae e___e

Enfim, por ter C++ envolvido, eu andei lendo os códigos. Pena que não foi possível prosseguir, li muito pouco sobre diretivas e as únicas que eu conheço são include e define. Ouvi dizer que sempre que puder evitar a define nos códigos é bom.

Uma vez estive compilando uma calculadora e tinha 2 defines para imprimir na tela pro usuário digitar um valor. Bugou o programa todo, tive que digitar manualmente e__e

Ps: Consertei minha burrada te dando crédito em outro post.
Ps2: Você podia fazer uns tutoriais de C++ pro fórum, é um dos melhores programadores daqui. =D

Alexandre Dias

Número de Mensagens: 399
Idade: 20
Data de inscrição: 13/10/2010
Reputação: 8

Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: [Tutorial]Criando e usando uma DLL

Mensagem por Jiraya em Qua Dez 15, 2010 8:17 pm

Vlw Pessoal!
vlw Naz!
o define é como uma constant, por tanto nao pode ser alterada!
por isso nao se pode usar um define como variavel ;]
s, talves eu crie mais tutoriais sobre c++ aqui no forum!

Jiraya

Ranking: Nota A
Número de Mensagens: 1134
Data de inscrição: 20/03/2010
Versão:
  • Game Maker 8.1
  • Game Maker Studio: Master

Notas recebidas: A+A
Reputação: 106

Prêmios
   : 1
   : 0
   : 1

https://www.facebook.com/seito.washiro.7

Voltar ao Topo Ir em baixo

Qualidade Re: [Tutorial]Criando e usando uma DLL

Mensagem por bill gates Zona sul em Qui Dez 16, 2010 2:45 am

Jiraya adorei seu tutorial cara , eu estava querendo saber mesmo como criar uma dll , nossa foi d+ consegui fazer e deu certo aqui uahua !! , Jiraya da continuidade a essa materia cara , se possivel poderia dar um exemplo simples de dll de efeito sonoro tipo um delay ou algum outro efeito de som , vlw

10/10

www.trsflash.blogspot.com

bill gates Zona sul

Número de Mensagens: 144
Data de inscrição: 02/02/2010
Reputação: -2

Prêmios
   : 0
   : 1
   : 0

http://www.tiagoguitarra.blogspot.com

Voltar ao Topo Ir em baixo

Qualidade Re: [Tutorial]Criando e usando uma DLL

Mensagem por Salathiel em Qui Dez 16, 2010 10:01 am

Parabéns cara, muito legal mesmo.
Pergunta:
Sempre que for fazer uma dll tem que usar external_define no gm?

Salathiel

Número de Mensagens: 346
Idade: 18
Data de inscrição: 29/05/2010
Reputação: 3

Prêmios
   : 0
   : 0
   : 0

http://salathiel1337.blogspot.com/

Voltar ao Topo Ir em baixo

Qualidade Re: [Tutorial]Criando e usando uma DLL

Mensagem por Markituh em Qui Dez 16, 2010 10:11 am

Salathiel (Qui Dez 16, 2010 11:01 am) escreveu:Parabéns cara, muito legal mesmo.
Pergunta:
Sempre que for fazer uma dll tem que usar external_define no gm?
Sim. External define é o que define as funções da DLL

___________

"El. Psy. Congroo"
Se você entendeu essa mensagem é bem próvavel que a Organização já esteja atrás de você.

Markituh

Ranking: Sem avaliações
Número de Mensagens: 2074
Idade: 16
Data de inscrição: 11/10/2009
Versão:
  • Game Maker 8.0
  • Game Maker Studio: Free

Reputação: 84

Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: [Tutorial]Criando e usando uma DLL

Mensagem por Isaque Onix em Seg Jul 30, 2012 6:06 pm

aaah com o delphi7 é td diferente :'(

Bom tuto mano, pena q num deu aki

Isaque Onix

Número de Mensagens: 1190
Idade: 20
Data de inscrição: 15/08/2010
Versão:
  • Game Maker 8.0
  • Game Maker Studio: Free

Reputação: 108

Prêmios
   : 0
   : 0
   : 0

http://indiemakersbr.forumeiros.com/

Voltar ao Topo Ir em baixo

Qualidade Re: [Tutorial]Criando e usando uma DLL

Mensagem por Kapoty em Seg Jul 30, 2012 6:41 pm

Uma pergunta :

Como faço para retornar uma string? tal como "Pontos = "+x

Kapoty

Ranking: Nota C
Número de Mensagens: 631
Data de inscrição: 05/11/2011
Versão:
  • Game Maker Studio: Professional

Notas recebidas: E + D + C + B + D +B
Reputação: 20

Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

Qualidade Re: [Tutorial]Criando e usando uma DLL

Mensagem por Jiraya em Seg Jul 30, 2012 7:14 pm

Código:

extern "C" __declspec(dllexport) char* SITE()
{
return("Game Maker Brasil");
}

caso queira retornar a uma string como gml.

Código:

#include <iostream>
#include <string>
#include <stringstream>
#include <cstring>

template<class T>
extern "C" __declspec(dllexport) char* SHOW_MESSAGE(T _val)
{
std::sstream _parse;
_parse<<_val;
return(_parse.str().c_str());
}


Jiraya

Ranking: Nota A
Número de Mensagens: 1134
Data de inscrição: 20/03/2010
Versão:
  • Game Maker 8.1
  • Game Maker Studio: Master

Notas recebidas: A+A
Reputação: 106

Prêmios
   : 1
   : 0
   : 1

https://www.facebook.com/seito.washiro.7

Voltar ao Topo Ir em baixo

Qualidade Re: [Tutorial]Criando e usando uma DLL

Mensagem por Isaque Onix em Seg Jul 30, 2012 8:14 pm

Jiraya, vc tem outros posts e tutos sobre dlls? sou iniciante em delphi e gostaria de aprender +

Isaque Onix

Número de Mensagens: 1190
Idade: 20
Data de inscrição: 15/08/2010
Versão:
  • Game Maker 8.0
  • Game Maker Studio: Free

Reputação: 108

Prêmios
   : 0
   : 0
   : 0

http://indiemakersbr.forumeiros.com/

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum