Pergunta

Boa noite, espero esta colocando no local certo as duvidas, para não abrir uma quantidade de tópicos e terminar criando mais spoiler's do que tirando duvidas resolvi criar um um só.

1° Uma das duvidas que mais me intriga e a questão do adicionamento de vip, sempre que eu usei alguns npcs com sistemas de vips eles me bloqueavam de adicionar novas contas ao meu banco de dados, isso é na verdade o que mais me causa intriga, por que o vip é meio que essencial para o alto sustento de um servidor, por isso vem um pedido "alguém sabe como colocar ele no banco de dados?", n somente o npc esse é fácil, ja a tabela SQL eu n sei como adiciona-la ou melhor ate sei mais n sei onde adicionar-la, se eu tenho que criar um nova tabela ou se devo colocar junto com a Main ou Log, simplesmente sou muito imaturo nesse quisto e não sei mesmo onde devo colocar.

2° sempre que loguei em servidores vi que eles adicionam um @go, como por exemplo o @go 15, ou @go vip para jogar o jogador diretamente na sala Vip porem n sei como adicionar um @go a uma warp, por exemplo como se o @go vip fosse em gef_fild04 eu digitaria @go vip e iria para este mapa.

3° O mesmo de cima então se eu entender como adiciona creio que remover é a mesma coisa só que o oposto.

4° Conversores elementais, água amaldiçoada, EDPS, Arpercio, essas habilidades n veem a aparecerem dentro do jogos como a barra de buffs a serem usadas, sempre que as usos elas produzem o efeito porem não usam o demostrativo na barra de buffs a direita, eu gostaria de fazer-las aparecer mais n sei como fazer isto.

Spoiler

Basta alterar no Banco de dados Item_db
no caso de renovação => emulador/db/re/item_db
no caso de pré-renovação => emulador/db/pre-re/item_db


12114,Elemental_Fire,Conversor Elemental,0,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_FIREWEAPON,120000,0; },{},{}
12115,Elemental_Water,Conversor Elemental,0,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_WATERWEAPON,120000,0; },{},{}
12116,Elemental_Earth,Conversor Elemental,0,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_EARTHWEAPON,120000,0; },{},{}
12117,Elemental_Wind,Conversor Elemental,0,2,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_WINDWEAPON,120000,0; },{},{}
12020,Water_Of_Darknessgua Amaldiçoada,11,2,,30,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_SHADOWWEAPON, 1200000, 0; },{},{}
12032,Box_Of_Storm,Caixa da Tempestade,11,1000,,200,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_WATERWEAPON,180000,0; },{},{}

 

 

5°Hoje em dia sabemos que muitos jogadores deixam seus personagens logados para que possa ganhar o chamado bonus de tempo que o servidor se aplica, no ragnarok não possuía ou n possui ainda isto, n sei por que parei de jogar a uns 3 anos atrás, gostaria de saber se existe algo semelhante e como colocar isso meio ao servidor?

6° este para um servidor considero como o mais importante, o sistema de proteção, gostaria de saber como Adiciona Game guarde a um servidor? ou se existe alguma proteção mais bem elaborada para este tipo de proteção.

7°Adicionar novos mapas, aqueles mapas que colocamos quests diferenciadas ate mesmo caça a tesouros e sempre bom podem separar os mapas de up de mapas exclusivos para eventos.

8°e praticamente o sistema de cima, só que desta vez os monstros, um exemplo seria como se eu acabasse de criar um evento de up com mobs de majoruos e que nascem apenas neste mapa no qual criei de 300 em 300 a cada 50 segundos depois de morrerem, isso e sempre muito interessante mais simplesmente n sei como se faz T-T.

9° Sei que no sistema Renovação ja possui alguns visuais, porem no meu caso uso Pré-renovação e os visuais aparecem a maçã, gostaria de saber como add alguns destes visuais para o pré-renovação.

10° Lembro que quando eu jogava era possível mudar a arma meio a um cast ou ate mesmo uma habilidade se tivesse uma jogabilidade rápida, por exemplo dar uma lamina usando uma Katar e antes da animação sair mudar para 2 adagas ou ate mesmo um escudo e adaga para receber menos dano, saindo o effeito tanto de cartas como do elemento da arma, ou usar um perfurar spiral e mudar no meio do cast para um machado mais pesado que a lança, ou usar um tiro preciso e mudar para uma adaga como rondel burlando um efeito semelhante ao da carta memoria de thanatos ou ate mesmo usando carta e outra adaga com 4 slots tentando assim dar status como cegueira, petrificar ou algo semelhante dependendo das cartas nais quais se encontra la aplicadas, porem vi que isso esta impossível se ser feito pelo padrão do emulador, gostaria demais de saber como se faz isto.

11° usar inteligencia artificial, segui alguns vídeos e tutoriais no youtube e em foruns, porem quando uso no meu servidor eles n se aplicam.

12° tempo da Batalha Campal, para um servidor oficial e bacana ter aquele tempo grande e varias salas, porem em um private ele tem um tempo bem menor, e com uma escala mito alta de tempo e salas, gostaria de mudar isso.
 

Senhores sei que para alguns estas questões são bobas e ate parece que as fiz por preguiça de procurar, porem eu ja fucei ate o que n dava pra fuçar e infelizmente tive que recorrer a vocês por que não encontrei nada relativo dentro dos materiais de estudo, peço muita paciência mesmo por que tenho certeza que não sou o único que se aplica as duvidas acima, fico no aguardo espero que não somente eu mais muitos outros consigam se resolver com seus servidores através destas respostas enviadas pelos senhores, Obrigado.

Editado por Hamajii
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

5 respostass a esta questão

  • 0

Spoiler

O sistema Msql hoje em dia é bem estruturado, não como aquela bagunça que era antes de 2012, dava-se para registar em bin no campo var etc... E como Os 99% dos scripts para vip que tem por aí foram feitos por quem nem sabe o que é MySql, as tabelas não seguem a estrutura de apoio. Não se pode criar um capo INT e criar um script que determinada hora altera esse campo INT, porque o sistema MySql identifica isso como ataque de um Hacker.

O correto o time date ou stamp, e o correto de se gerenciar isso é por meio script PHP. Não isso é leviano achar que vip traz arrecadação para o servidor. Tive meu servidor por 4 anos, adicionei o sistema de VIPs por 3 meses para testes, as arrecadações caíram cerca de 80%.

Solução: Aprender POO e desenvolver um software para injetar VIP ou remover-los, e não usar tabela INT e sim DATE ou TIMEDATE

2 ~ 3

Spoiler

Veja: src/map/atcommand.c

Citar

{ MAP_NOVICE,       53, 111, 3 }, // 15 = Training Grounds

Veja: src/common/mapindex.h

Citar

#define MAP_NOVICE "new_1-1"

 

4

Spoiler

Procure no fórum tem muito tópico a respeito

5

Spoiler

Quer fazer merda?! Faça isso

6

Spoiler

Harmony ou Gepard Shield

7

Spoiler

Tem tutorial no fórum

8

Spoiler

Leia doc/script_commands.txt tem a documentação necessária como criar invocações de monstros de dalay e tudo mais

9

Spoiler

Não sei precisar teria que ter uma analise em seus arquivos. Mas se é pre renovação para que vai colocar coisa da renew? Fica com pre-renewall porque como você mesmo disse o servidor é pre.

10

Spoiler

Não entendi direito, mas isso me parece com swicth de equipamentos simultâneos ao atacar ou usar skill.

Pois bem ter o feito disso é bug. Afinal de contas, até um espadachim pode dar OneHitKill em cavaleiro rúnico. Até 2013 até mesmo servidores oficiais possuíam esse bug. Eu quem o diga....

Se você não quer ver um caçador chegar na GDE e limpar uma guild inteira numa chuva de flechas só é melhor esquecer disso.

11

Spoiler

????????? Não sei o que quis dizer

12

Spoiler

Modifique isso no database de quest

 

Tudo isso tem no fórum basta pesquisar

1

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

11

  Ocultar conteúdo

????????? Não sei o que quis dizer

 

@Spell Master, creio eu, que ele esteja se referindo a essa parte do conf/battle/monter.conf:

// Configurações da Inteligência Artificial (AI/IA) dos monstros. (Nota 3)
// 0x001: Quando habilitado monstros irão atualizar sua célula-alvo algumas vezes
//        (normalmente eles nunca atualizam sua célula-alvo antes de alcançá-la enquanto a 
//        seguem)
// 0x002: Faz os monstros usarem sua habilidade "ataque rude" (normalmente teleportando-se
//        para longe) se eles são atacados e não conseguem revidar independente de como forem
//        atacados (eg: Tocaia), caso contrário, seu "ataque rude" somente é ativado
//        se não conseguem alcançar o alvo com ataque físico (eg: sniping)
// 0x004: Caso não definido, monstros podem mudar seu alvo apenas quando são atacados fisicamente
//        (distância jogador/monstro < 3), senão monstros podem mudar seu alvo e perseguir
//        ataques de alcance. Esta flag também inutiliza o alvo 'provocado'.
// 0x008: Caso definido, quando um monstro deixa seu alvo escapar, estes param de andar
//        imediatamente. Se não definido, eles continuam até a última célula do alvo. Quando
//        definida monstros também espalham-se no momento em que perdem seus alvos. Use este modo
//        para tornar o mob-train mais difícil escondendo e puxando os monstros em um
//        local singular (ie: aperfeiçoamento na habilidade Tocaia)
// 0x010: Caso definido, as habilidades dos monstros definidas para amigos serão engatilhadas.
// 0x020: Quando definida, a inteligência artificial do monstro é executada para todos os monstros no mapa que
//        possuem jogadores os atacando, ao contrário dos monstros que estão apenas próximos
//        dos jogadores.
// 0x040: Quando definida, quando o alvo do monstro muda de mapa, o monstro irá atacar qualquer npc-warps (portais)
//        no campo de visão (utilize com mob_warp, abaixo)
// 0x100: Se definida, os monstros irão utilizar habilidades randômicas na lista de habilidades
//        ao invés de checar as habilidades em ordem (não defina, e se um monstro possuir habilidades
//        demais, a que estiver localizada na parte final da lista será raramente selecionada)
// 0x200: Caso definida, o delay de reuso de uma habilidade não será aplicada a todas as entradas de
//        uma mesma habilidade, caso contrário, somente para a entrada particular (eg: O monstro possui Cura
//        em seis linhas na mob_skill_db, somente a entrada que atualmente é usada
//        receberá o delay, se a outra entrada da Cura for utilizada não haverá delay).
//        Tornará monstros mais difíceis de se matar, especialmente MVPs.
// 0x400: Defina para que as habilidades dos monstros tenham um alcance de 9 células.
//        Opostamente, as habilidades irão obedecer sua pré-definição de alcance.
// Exemplo: 0x140 -> Persegue jogadores incluindo portais + utiliza habilidades de maneira randômica.
monster_ai: 0

eu tambem gostaria de saber como utilizar isso. E gostaria de aproveitar e saber se voce poderia da uma olhada em outro topico que eu fiz sobre o dano base.

1

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

Era isso mesmo consegui resolver a questão do AI dos assassinos, tinha umas coisinhas impedindo de usar o mirai Ai personalizado.

Já adicionar comandos por algum motivo ele simplesmente n quer aceitar fiz passo a passo como explicado mais ainda sim quando recompilo no fila ele n aceita T-T. Não sei exatamente o que esta acontecendo, tenho certeza que vai concordar comigo que esta correto alem do mais eu fiz isso varias outras vezes, porem agora quando coloco para recompilar depois do termino da configuração ele não esta adicionando.

fui em emulador/src/map/atcommand.c e o abri com notepad++ para facilitação de edição e visualização.

e adicionei

 { MAP_VIP,  169, 174 }, // 36=Vip

depois mais abaixo: 

else if(strncmp(map_name, "sec_in01", 3) == 0) {
        town = 36;

fechei salvei e fui em 

src/common/mapindex.h,

depois adicionei #define MAP_VIP "sec_in01"

fechei e salvei. então com o servidor ainda desligado recompilei ele, e liguei ele os erros que aparecem ai são das kafras de dentro dos castelos que desativei não causa conflito neste processo.
... OK vamos ao game usar o comand
por isso perguntei se o comando sv recompilar esta funcionando noro @go 36 que seria o da Sala VIp

porem aparece que ele n foi adicionado o mesmo ocorre se eu mudar algum ja existente por exemplo o @go15 que seria o mapa inicial do game em new_1-1
mal por que ter dado esse problema no qual n sei bem o por que, ja que faz anos que mudo os parâmetros dos mapas :(

Spoiler

Na tabela atcommand.c coloquei desta forma


 

/*==========================================
 * @go [city_number or city_name] - Updated by Harbin
 *------------------------------------------*/
ACMD_FUNC(go)
{
    int i;
    int town;
    char map_name[MAP_NAME_LENGTH];

    const struct {
        char map[MAP_NAME_LENGTH];
        int x, y;
    } data[] = {
        { MAP_PRONTERA,    156, 191 }, //  0=Prontera
        { MAP_MORROC,      156,  93 }, //  1=Morroc
        { MAP_GEFFEN,      119,  59 }, //  2=Geffen
        { MAP_PAYON,       162, 233 }, //  3=Payon
        { MAP_ALBERTA,     192, 147 }, //  4=Alberta
#ifdef RENEWAL
        { MAP_IZLUDE,      128, 146 }, //  5=Izlude (Renewal)
#else
        { MAP_IZLUDE,      128, 114 }, //  5=Izlude
#endif
        { MAP_ALDEBARAN,   140, 131 }, //  6=Al de Baran
        { MAP_LUTIE,       147, 134 }, //  7=Lutie
        { MAP_COMODO,      209, 143 }, //  8=Comodo
        { MAP_YUNO,        157,  51 }, //  9=Yuno
        { MAP_AMATSU,      198,  84 }, // 10=Amatsu
        { MAP_GONRYUN,     160, 120 }, // 11=Gonryun
        { MAP_UMBALA,       89, 157 }, // 12=Umbala
        { MAP_NIFLHEIM,     21, 153 }, // 13=Niflheim
        { MAP_LOUYANG,     217,  40 }, // 14=Louyang
#ifdef RENEWAL
        { MAP_SALAVIP,       169, 173  }, // 15=Salavip (Renewal)
#else
        { MAP_SALAVIP,       169, 173 }, // 15=Salavip
#endif
        { MAP_JAIL,         23,  61 }, // 16=Prison
        { MAP_JAWAII,      249, 127 }, // 17=Jawaii
        { MAP_AYOTHAYA,    151, 117 }, // 18=Ayothaya
        { MAP_EINBROCH,     64, 200 }, // 19=Einbroch
        { MAP_LIGHTHALZEN, 158,  92 }, // 20=Lighthalzen
        { MAP_EINBECH,      70,  95 }, // 21=Einbech
        { MAP_HUGEL,        96, 145 }, // 22=Hugel
        { MAP_RACHEL,      130, 110 }, // 23=Rachel
        { MAP_VEINS,       216, 123 }, // 24=Veins
        { MAP_MOSCOVIA,    223, 184 }, // 25=Moscovia
        { MAP_MIDCAMP,     180, 240 }, // 26=Midgard Camp
        { MAP_MANUK,       282, 138 }, // 27=Manuk
        { MAP_SPLENDIDE,   201, 147 }, // 28=Splendide
        { MAP_BRASILIS,    182, 239 }, // 29=Brasilis
        { MAP_DICASTES,    198, 187 }, // 30=El Dicastes
        { MAP_MORA,         44, 151 }, // 31=Mora
        { MAP_DEWATA,      200, 180 }, // 32=Dewata
        { MAP_MALANGDO,    140, 114 }, // 33=Malangdo Island
        { MAP_MALAYA,      242, 211 }, // 34=Malaya Port
        { MAP_ECLAGE,      110, 39 }, // 35=Eclage
        { MAP_VIP,  169, 174 }, // 36=Vip
    };

mais abaixo:

// get possible name of the city
    map_name[MAP_NAME_LENGTH-1] = '\0';
    for (i = 0; map_name; i++)
        map_name = TOLOWER(map_name);
    // try to identify the map name
    if (strncmp(map_name, "prontera", 3) == 0) {
        town = 0;
    } else if (strncmp(map_name, "morocc", 4) == 0 ||
               strncmp(map_name, "morroc", 4) == 0) {
        town = 1;
    } else if (strncmp(map_name, "geffen", 3) == 0) {
        town = 2;
    } else if (strncmp(map_name, "payon", 3) == 0) {
        town = 3;
    } else if (strncmp(map_name, "alberta", 3) == 0) {
        town = 4;
    } else if (strncmp(map_name, "izlude", 3) == 0) {
        town = 5;
    } else if (strncmp(map_name, "aldebaran", 3) == 0) {
        town = 6;
    } else if (strncmp(map_name, "lutie", 3) == 0 ||
               strcmp(map_name,  "christmas") == 0 ||
               strncmp(map_name, "xmas", 3) == 0 ||
               strncmp(map_name, "x-mas", 3) == 0) {
        town = 7;
    } else if (strncmp(map_name, "comodo", 3) == 0) {
        town = 8;
    } else if (strncmp(map_name, "juno", 3) == 0 ||
               strncmp(map_name, "yuno", 3) == 0) {
        town = 9;
    } else if (strncmp(map_name, "amatsu", 3) == 0) {
        town = 10;
    } else if (strncmp(map_name, "kunlun", 3) == 0 ||
               strncmp(map_name, "gonryun", 3) == 0) {
        town = 11;
    } else if (strncmp(map_name, "umbala", 3) == 0) {
        town = 12;
    } else if (strncmp(map_name, "niflheim", 3) == 0) {
        town = 13;
    } else if (strncmp(map_name, "louyang", 3) == 0) {
        town = 14;
    } else if (strncmp(map_name, "sec_in01", 3) == 0 ||
               strncmp(map_name, "salavip", 3) == 0 ||
               strncmp(map_name, "salavip", 3) == 0) {
        town = 15;
    } else if (strncmp(map_name, "sec_pri", 3) == 0 ||
               strncmp(map_name, "prison", 3) == 0 ||
               strncmp(map_name, "jail", 3) == 0) {
        town = 16;
    } else if (strncmp(map_name, "jawaii", 3) == 0) {
        town = 17;
    } else if (strncmp(map_name, "ayothaya", 3) == 0) {
        town = 18;
    } else if (strncmp(map_name, "einbroch", 5) == 0) {
        town = 19;
    } else if (strncmp(map_name, "lighthalzen", 3) == 0) {
        town = 20;
    } else if (strncmp(map_name, "einbech", 5) == 0) {
        town = 21;
    } else if (strncmp(map_name, "hugel", 3) == 0) {
        town = 22;
    } else if (strncmp(map_name, "rachel", 3) == 0) {
        town = 23;
    } else if (strncmp(map_name, "veins", 3) == 0) {
        town = 24;
    } else if (strncmp(map_name, "moscovia", 3) == 0) {
        town = 25;
    } else if (strncmp(map_name, "mid_camp", 3) == 0) {
        town = 26;
    } else if (strncmp(map_name, "manuk", 3) == 0) {
        town = 27;
    } else if (strncmp(map_name, "splendide", 3) == 0) {
        town = 28;
    } else if (strncmp(map_name, "brasilis", 3) == 0) {
        town = 29;
    } else if (strncmp(map_name, "dicastes01", 3) == 0) {
        town = 30;
    } else if (strcmp(map_name,  "mora") == 0) {
        town = 31;
    } else if (strncmp(map_name, "dewata", 3) == 0) {
        town = 32;
    } else if (strncmp(map_name, "malangdo", 5) == 0) {
        town = 33;
    } else if (strncmp(map_name, "malaya", 5) == 0) {
        town = 34;
    } else if (strncmp(map_name, "eclage", 3) == 0) {
        town = 35;
    else if(strncmp(map_name, "sec_in01", 3) == 0) {
        town = 36
;
    }

Spoiler

E na pasta src/common/mapindex.h coloquei assim:

 

#ifndef _MAPINDEX_H_
#define _MAPINDEX_H_

#include "../config/renewal.h"

#define MAX_MAPINDEX 2000

//Some definitions for the mayor city maps.
#define MAP_PRONTERA "prontera"
#define MAP_GEFFEN "geffen"
#define MAP_MORROC "morocc"
#define MAP_ALBERTA "alberta"
#define MAP_PAYON "payon"
#define MAP_IZLUDE "izlude"
#define MAP_ALDEBARAN "aldebaran"
#define MAP_LUTIE "xmas"
#define MAP_COMODO "comodo"
#define MAP_YUNO "yuno"
#define MAP_AMATSU "amatsu"
#define MAP_GONRYUN "gonryun"
#define MAP_UMBALA "umbala"
#define MAP_NIFLHEIM "niflheim"
#define MAP_LOUYANG "louyang"
#define MAP_JAWAII "jawaii"
#define MAP_AYOTHAYA "ayothaya"
#define MAP_EINBROCH "einbroch"
#define MAP_LIGHTHALZEN "lighthalzen"
#define MAP_EINBECH "einbech"
#define MAP_HUGEL "hugel"
#define MAP_RACHEL "rachel"
#define MAP_VEINS "veins"
#define MAP_JAIL "sec_pri"
#ifdef RENEWAL
    #define MAP_NOVICE "iz_int"
#else
    #define MAP_NOVICE "new_1-1"
#endif
#define MAP_MOSCOVIA "moscovia"
#define MAP_MIDCAMP "mid_camp"
#define MAP_MANUK "manuk"
#define MAP_SPLENDIDE "splendide"
#define MAP_BRASILIS "brasilis"
#define MAP_DICASTES "dicastes01"
#define MAP_MORA "mora"
#define MAP_DEWATA "dewata"
#define MAP_MALANGDO "malangdo"
#define MAP_MALAYA "malaya"
#define MAP_ECLAGE "eclage"
#define MAP_ECLAGE_IN "ecl_in01"
#define MAP_VIP "sec_in01"
 

 todavia não faço ideia por que não esta indo T-T

Editado por Hamajii
0

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

Seu emulador não é o atual, então a solução correta não dar para informar, porque cada emulador se comporta de uma forma diferente, mesmo se for o cronus de versões antigas, enfim só para você saber...

Isso é uma questão a se levar em conta skill.c

Spoiler

case ECLAGE_RECALL:
    if( sd ) {
        short x = 0, y = 0; //Destiny position.
        unsigned short map_index = 0;

        switch( skill_id ) {
            default:
            case RETURN_TO_ELDICASTES:
                x = 198;
                y = 187;
                map_index  = mapindex->name2id(MAP_DICASTES);
                break;
            case ALL_GUARDIAN_RECALL:
                x = 44;
                y = 151;
                map_index  = mapindex->name2id(MAP_MORA);
                break;
            case ECLAGE_RECALL:
                x = 47;
                y = 31;
                map_index  = mapindex->name2id(MAP_ECLAGE_IN);
                break;
        }
        if( !mapindex ) { //Given map not found?
            clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
            map->freeblock_unlock();
            return 0;
        }
        pc->setpos(sd,map_index,x,y,CLR_TELEPORT);
            }
            break;

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0

Se o seu emulador tiver a função bindatcmd daria pra voce usa-la para criar um comando de @, no caso seria o @vip numa script simples :

-	script	vip	-1,{
OnInit:
	set $@GMLevel, 1;                    // Nível que terão acesso aos comando @vip
	set $mapa$,"force_5-1";              // Mapa
	set $x,95;                           // Where X
	set $y,100;                          // Where Y
	set .site$,"www.seuro.com.br/vip";   // Site do seu Servidor

bindatcmd "vip",strnpcinfo(3)+"::OnAtcommand";
end;

OnAtcommand:
	if(getgroupid() >= $@GMLevel) {
	warp $mapa$,$x,$y;
	end;
}
	dispbottom "Este comando só funciona para Jogadores VIP.";
	dispbottom "Adquíra já o seu VIP no nosso site "+.site$+"!";
	end;
}

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora
Entre para seguir isso  
Seguidores 0