antiblock
Elveron

Karbust

Coordenador
  • Content Count

    2,677
  • Joined

  • Last visited

  • Days Won

    117

Posts posted by Karbust


  1. 3 minutos atrás, Right disse:

    Já sei qual é... isso na minha opinião já está ultrapassado

    Acho que nem nunca atualizou o software, usou a mesma versão desde 2009...


  2. 2 minutos atrás, Right disse:

    Em termos de performance é bom?

    Epá, isso não posso falar muito, nunca usei...

     

    O antigo EliteMt2 usou esse forum durante anos, acho que nunca houveram problemas...


  3. Tu precisas de uma host rápida e com uma elevada capacidade de armazenamento...

     

    Precisas de um alojamento web para o site e de um servidor de armazenamento para o conteúdo...

     

    Podes também fazer como os outros sites fazem, usas o openload e/ou outros parecidos...


  4. Dá diretamente no jogo com um comando gm tipo este:

     

    Adicionar no cmd_gm.cpp:

    #include <iostream>
    #include <vector>
    #include <string>
    
    void split(const std::string& s, char delim, std::vector<std::string>& v) {
    	int i = 0;
    	int pos = s.find(delim);
    	while (pos != std::string::npos)
    	{
    		v.push_back(s.substr(i, pos-i));
    		i = ++pos;
    		pos = s.find(delim, pos);
    		if (pos == std::string::npos) v.push_back(s.substr(i, s.length()));
    	}
    }
    
    int countChars(char* s, char c)
    {
    	return *s == '\0' ? 0 : countChars( s + 1, c ) + (*s == c);
    }
    ACMD(do_create_item)
    {
    	char item[256];
    	char bonus[1024];
    	two_arguments(argument, item, sizeof(item), bonus, sizeof(bonus));
    	if (!*item || !*bonus)
    	{
    		ch->ChatPacket(CHAT_TYPE_INFO, "Usage: /create_item <value_item> <b1:v1,b2:v2,b3:v3,b4:v4,b5:v5,b6:v6,b7:v7>");
    		ch->ChatPacket(CHAT_TYPE_INFO, "");
    		ch->ChatPacket(CHAT_TYPE_INFO, "[b] = Bonus vnum");
    		ch->ChatPacket(CHAT_TYPE_INFO, "[v] = Bonus value");
    		ch->ChatPacket(CHAT_TYPE_INFO, "");
    		ch->ChatPacket(CHAT_TYPE_INFO, "Created by RaFFa.");
    		return;
    	}
    	if (bonus[(strlen(bonus)-1)] == ',') {
    		ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> [Err1] Syntax Error.");
    		return;
    	}
    	if (bonus[(strlen(bonus)-1)] == ':') {
    		ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> [Err2] Syntax Error.");
    		return;
    	}
    	if (strstr(bonus, ":") == NULL) {
    		ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> [Err3] Syntax Error.");
    		return;
    	}
    	if (strstr(bonus, ",") == NULL) {
    		ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> Adding 1 bonus...");
    		int vnum=0;
    		str_to_number(vnum, item);
    		LPITEM i = ITEM_MANAGER::instance().CreateItem(vnum);
    		if (!i) {
    			ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> This item-vnum not exists.");
    			return;
    		}
    		int bonus_vnum=0;
    		int bonus_value=0;
    		std::vector<std::string> bonus2;
    		split(std::string(bonus), ':', bonus2);
    		str_to_number(bonus_vnum, std::string(bonus2[0]).c_str());
    		str_to_number(bonus_value, std::string(bonus2[1]).c_str());
    		i->SetForceAttribute(0, bonus_vnum, bonus_value);
    		i->SetSocket(0, 1);
    		int inventario = ch->GetEmptyInventory(i->GetSize());
    		if (inventario != -1) {
    			i->AddToCharacter(ch, TItemPos(INVENTORY, inventario));
    			ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> Item created successfully.");
    		}else{
    			M2_DESTROY_ITEM(i);
    			ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> You haven't enough space in inventory.");
    		}
    	}else{
    		std::vector<std::string> bonus1;
    		split(std::string(bonus), ',', bonus1);
    		if (bonus1.size()>0) {
    			ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> Adding %d bonus...", (int)bonus1.size());
    			if (countChars(bonus, ':') != (int)bonus1.size()) {
    				ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> [Err4] Syntax Error.");
    				return;				
    			}
    			int vnum=0;
    			str_to_number(vnum, item);
    			LPITEM i = ITEM_MANAGER::instance().CreateItem(vnum);
    			if (!i) {
    				ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> This item-vnum not exists.");
    				return;
    			}
    			int b_size=bonus1.size();
    			if (bonus1.size()>6) b_size=7;
    			int bonus_vnum=0;
    			int bonus_value=0;
    			for (int n=0; n<b_size; n++) {
    				std::vector<std::string> bonus2;
    				split(std::string(bonus1[n]), ':', bonus2);
    				str_to_number(bonus_vnum, std::string(bonus2[0]).c_str());
    				str_to_number(bonus_value, std::string(bonus2[1]).c_str());
    				i->SetForceAttribute(n, bonus_vnum, bonus_value);
    			}
    			i->SetSocket(0, 1);
    			int inventario = ch->GetEmptyInventory(i->GetSize());
    			if (inventario != -1) {
    				i->AddToCharacter(ch, TItemPos(INVENTORY, inventario));
    				ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> Item created successfully!");
    			}else{
    				M2_DESTROY_ITEM(i);
    				ch->ChatPacket(CHAT_TYPE_INFO, "<CreateItem> You haven't enough space in inventory.");
    			}
    		}
    	}
    }

     

     


  5. Boas pessoal

     

    Venho aqui deixar as chaves de ativação para o Visual Studio 2019 Professional e Enterprise

     

    Spoiler
    
    Visual Studio 2019 Professional:
    NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y
    
    Visual Studio 2019 Enterprise:
    BF8Y8-GN2QH-T84XB-QVY3B-RC4DF

     

    O download pode ser efetuado no site oficial do Visual Studio: https://visualstudio.microsoft.com/downloads/

     

    Testado por mim:

     

    TI8fgrk.png


  6. 3 minutos atrás, NoBiTa / aTiBoN disse:

    Mas isso seria pra todos, o caso é que dá para alguns e para outros nao...

    Nem todos são apanhados...


  7. Resposta simples, não há...

     

    Não há nenhum cliente atualmente que tenha tudo atualizado com o oficial sem também ter alguns dos novos sistemas, e como deves calcular, uma vez que passas-te muito tempo programando, os sistemas sem a parte do servidor são inúteis...

     

    Se te dedicasses a procurar na internet (e quando digo internet não me refiro só a este fórum, basta saber procurar em inglês) encontravas muito facilmente os packs do oficial descompactados, só precisavas de colocar o material no cliente...

     

    Hoje em dia nenhum servidor depende do oficial, principalmente na "interface", todos os servidores bons fazem as próprias interfaces...

     

    E só me pergunto, qual é a "novidade" que o teu servidor vai ter mesmo?

    4 horas atrás, Biff Junior disse:

    E também seja o mais atualizado para eu colocar meu Servidor Online!

    Tu nem o Google sabes usar quanto mais saberes programar...

    4 horas atrás, Biff Junior disse:

    Levei muito tempo programando o DB e Cliente

    Até porque em 2019 não se precisa de "programar" a source...


  8. 2 horas atrás, .тιαgσ disse:

    Acho normal, por exemplo um aluno de TI vai com melhor preparação para a universidade do que um aluno de ciências e tecnologia. Agora depende dos requisitos que as universidades vão exigir. Claro que os profissionais terem de fazer exame de matemática A quando só aprendem matemática B não é muito justo, mas lá está levam muito mais conhecimento das disciplinas de TI 

     

    41 minutos atrás, Paradox disse:

    Alunos do Professional precisam de Matemática A  para ingressarem em Engenharias. Eles dão Matemática B. Faz sentido eles terem que fazer exames, senão não têm as bases necessárias para Análise etc...

     

    Eu entrei no superior em engenharia informática com o exame de matemática B, mas nem todas as universidades aceitam esse exame. Querem ir para uma das boas? Há que trabalhar para tal, chegam lá e têm a matemática na mesma, portanto, não a fazem antes têm de a fazer depois de qualquer das maneiras...

     

    Tal como a @Lynn disse, eu também não fui para um profissional pelo facilitismo, fui porque científicos não dá com nada para informática, mas tive de fazer na mesma os exames nacionais para entrar, de matemática B e de português.

     

    Tal como o @morfo2 disse, os alunos dos profissionais sabem a prática e até alguma teoria, no superior aprendes a teoria e prática quase nula...

     

    Portanto, dito isto, acho que tem as suas vantagens e desvantagens, por um lado entram mais facilmente através dos conhecimentos técnicos que possuem, por outro lixam se lá dentro se o objetivo era fugir dos exames (de matemática principalmente)


  9. 10 minutos atrás, tropa157 disse:

    está muito caro.

     

    15€/ano (nano) é muito caro? Ou então 2,50€/mês (micro)...

     

    Diz me lá onde encontras mais barato


  10. 19 minutos atrás, tropa157 disse:

    Alguem sabe um plano barato de vps pra testes? E qual sistema operativo da maquina escolher?

     

    Para metin2 é FreeBSD

     

    Tens a myvirtualserver (link a minha assinatura)