Anúncio

Como adicionar ress...
 
Notifications
Clear all

Como adicionar ressu infinita no vip

17 Posts
5 Usuários
5 Reactions
58 Visualizações
(@roolk)
Posts: 8
Apoiador Ativo
Topic starter
 
  • Olá, bom dia!
  • entao, baixei a source do elemental e estou entrando no mundo do priston agora, para me aperfeiçoar no desenvolvimento da source e elaborar meu próprio servidor se tudo der certo, estou com duas questões que estou quebrando a cabeça para corrigir

  • a primeira é: qual código fonte eu uso para deixar a ressu infinita no personagem que adquiri vip?                 O alerta é emitido que está com ressu infinita no chat ao logar com sistema vip ativado, porém no game ao morrer não renasce novamente. 
  • A segunda é:
  • como faço para colocar mais itens no alerta global para todos verem ao dropar um item ?  
    vi na source que ela faz a leitura do banco de dados para uma tabela chamada “droplogalert”, fiz a criação desta tabela na dbserver, adicione os códigos na linha conforme o código da items.h, porém mesmo assim ao dropar o item adicionado na tabela, não é mostrado para todos no game

vi um tópico sobre essa segunda questão, mas não consegui identificar certamente o que fazer e gostaria de ter um pouco mais informações. 

agradecido desde já! 

 
Postado : 15/07/2025 2:36 pm
jhonnyDev reacted
jhonnyDev
(@jhonnydev)
Posts: 6
Apoiador Ativo
 

Pega src do elemental la tem ressu infinito.

 
Postado : 15/07/2025 3:11 pm
Lou
 Lou
(@lou)
Posts: 25
Mentor Respeitado
 

Postado por: @roolk

  • Olá, bom dia!
  • entao, baixei a source do elemental e estou entrando no mundo do priston agora, para me aperfeiçoar no desenvolvimento da source e elaborar meu próprio servidor se tudo der certo, estou com duas questões que estou quebrando a cabeça para corrigir

 

  • a primeira é: qual código fonte eu uso para deixar a ressu infinita no personagem que adquiri vip?                 O alerta é emitido que está com ressu infinita no chat ao logar com sistema vip ativado, porém no game ao morrer não renasce novamente. 
  • A segunda é:
  • como faço para colocar mais itens no alerta global para todos verem ao dropar um item ?  
    vi na source que ela faz a leitura do banco de dados para uma tabela chamada “droplogalert”, fiz a criação desta tabela na dbserver, adicione os códigos na linha conforme o código da items.h, porém mesmo assim ao dropar o item adicionado na tabela, não é mostrado para todos no game

vi um tópico sobre essa segunda questão, mas não consegui identificar certamente o que fazer e gostaria de ter um pouco mais informações. 

agradecido desde já! 

como o amigo mais acima disse, na soucer elemental tem o ressu infinito. porem acho que essa função esteja desativada no vip. dê uma analisada como funciona o vip dela pois la tem muitas outras funções. agora sobre sua segunda duvida é só vc ir na: serverdb---> DropLogAlert----> adc o item desejado

 

 
Postado : 15/07/2025 3:15 pm
(@roolk)
Posts: 8
Apoiador Ativo
Topic starter
 

@lou então, estou utilizando exatamente a source do elemental, ativei a função na source, ela no game mostra que está ativa, mas não possui funcionamento. 

referente ao alerta, já adicionei os codigos no droplogalert, mas mesmo assim ao dropar o item, não é anunciado no global.

 

 
Postado : 15/07/2025 3:31 pm
Lou
 Lou
(@lou)
Posts: 25
Mentor Respeitado
 

@roolk vou baixar a soucer aqui e vou ver e te falo mais tarde

 
Postado : 15/07/2025 4:01 pm
Curioso123
(@curioso123)
Posts: 32
Conselheiro
 

Pior que tbm estou quebrando a cabeça pra ajustar esse drop alerta kkk

~ Aprender nunca é demais...

 
Postado : 16/07/2025 4:11 pm
Lou
 Lou
(@lou)
Posts: 25
Mentor Respeitado
 

sobre o vip... parece que a função do ressu foi removida. e sobre o alerta, se não me engano tem um limite de itens, tem que olhar no alerta...

 
Postado : 16/07/2025 4:24 pm
(@roolk)
Posts: 8
Apoiador Ativo
Topic starter
 

@lou atualmente só funciona 1 item no alerta global, o Valento ring, queria adicionar outros itens que vem de boss, como por exemplo, o colar do kelvezu. 

Referente ao ressu VIP, você conseguiria me dá uma luz sobre a script para adicionar na source e ter o funcionamento ?
Muito agradecido desde já por toda dedicação.

 
Postado : 16/07/2025 5:07 pm
(@roolk)
Posts: 8
Apoiador Ativo
Topic starter
 

@curioso123 rapaz, já fiquei 3 noites sem dormir tentando resolver, passei alguns scripts pelo chatgpt, no qual pede para '' matar a chksum '' e deixar só pela codificação head/itemcode mais dai gera incompatibilidade com várias outras tabelas, principalmente na onserver, enfim... to tentando o possivel mas tá dificil, rs

 
Postado : 16/07/2025 5:09 pm
jhonnyDev
(@jhonnydev)
Posts: 6
Apoiador Ativo
 

@lou isso mesmo essa função ja existe la vip ta quebrado na epoca que trabalhei com essa src tive que refazer sistema de vip todo basicamente.. para remedia melhor criar pacote onde quem compra vip vem um ressu mesmo de 30 d junto para ser usado seria mais pratico nesse modelo..

Este post foi modificado 2 dias atrás por jhonnyDev
 
Postado : 16/07/2025 5:14 pm
Lou
 Lou
(@lou)
Posts: 25
Mentor Respeitado
 

Postado por: @roolk

@lou atualmente só funciona 1 item no alerta global, o Valento ring, queria adicionar outros itens que vem de boss, como por exemplo, o colar do kelvezu. 

Referente ao ressu VIP, você conseguiria me dá uma luz sobre a script para adicionar na source e ter o funcionamento ?
Muito agradecido desde já por toda dedicação.

é como o @jhonnyDev disse, só tendo que re fazer todo vip. a forma mais fácil é criar um pacote que ja vem com o ressu de 30D. agr sobre o alerta eu não olhei, talvez eu olhe mais tarde e posto uma solução para isso.

 

 
Postado : 16/07/2025 5:38 pm
(@roolk)
Posts: 8
Apoiador Ativo
Topic starter
 

@jhonnydev Certo, irei fazer isso para remediar até encontrar uma solução plausivel, obrigado!

 

 
Postado : 16/07/2025 6:03 pm
jhonnyDev reacted
(@roolk)
Posts: 8
Apoiador Ativo
Topic starter
 

@lou Beleza, se puder quebrar esse galho, fico muito agradecido!

 

 
Postado : 16/07/2025 6:04 pm
jhonnyDev reacted
jhonnyDev
(@jhonnydev)
Posts: 6
Apoiador Ativo
 

@roolk nao lembro lugar onde coloca so procura pela msg do valento que vc acha, toda vez que aumenta la tem verifica tamanho do array para nao da erro.

 
Postado : 16/07/2025 6:20 pm
Lou
 Lou
(@lou)
Posts: 25
Mentor Respeitado
 

Postado por: @roolk

@lou Beleza, se puder quebrar esse galho, fico muito agradecido!

 

Isso deve funcionar.

 

#include "sinbaram/sinLinkHeader.h"
#include "Alerta.h"
#include "Database/Database.h"

// Definição da instância global
Alerta cAlertaHandler;

// Função para obter a instância (Singleton)
Alerta* Alerta::getInstance()
{
	return &cAlertaHandler;
}

// Funções externas do seu servidor
extern int rsSendMessageAll(char* szText, DWORD dwColor);

// Função de Inicialização (lê os itens do Banco de Dados)
void Alerta::Init()
{
	// Limpa a lista de itens habilitados
	vEnabled.clear();

	// Conecta ao banco de dados para buscar os itens
	std::shared_ptr<SQLConnection> db = SQLConnection::GetConnection(DATABASEID_ServerDB);

	if (db->Open())
	{
		if (db->Prepare("SELECT ItemCode FROM DropLogAlert"))
		{
			if (db->Execute(false))
			{
				while (db->NextRow())
				{
					char ItemCode[32];
					db->GetData(ItemCode, 32, 1, PARAMTYPE_String);

					// Procura o item correspondente na lista do jogo
					for (int cnt = 0; cnt < MAX_ITEM; cnt++)
					{
						// Compara o código de texto com o do item
						if (!lstrcmpi(sItem[cnt].LastCategory, ItemCode))
						{
							// Habilita o alerta para o código numérico do item
							vEnabled[sItem[cnt].CODE] = true;
							break; // Item encontrado, vai para o próximo da lista do DB
						}
					}
				}
			}
		}
		db->Close();
	}
}

// Adiciona um item dropado na lista de espera
void Alerta::AddItemLog(rsPLAYINFO* lpPlayInfo, smCHAR* lpChar, sITEMINFO* lpItemInfo)
{
	// Se o item não estiver na lista de alertas, não faz nada
	if (!vEnabled[lpItemInfo->CODE])
		return;

	// Guarda as informações do item para o anúncio
	AlertaInfo sLog;
	sLog.Head = lpItemInfo->ItemHeader.Head;
	sLog.ChkSum = lpItemInfo->ItemHeader.dwChkSum;
	lstrcpy(sLog.ItemName, lpItemInfo->ItemName);
	vAlertaInfo.push_back(sLog);
}

// Processa a lista de espera e anuncia quando o item é pego
void Alerta::ProcessItemLog(char* PlayerName, DWORD Code, DWORD Head, DWORD ChkSum)
{
	// Se o item não estiver na lista de alertas, não faz nada
	if (!vEnabled[Code])
		return;

	// Procura o item na lista de espera
	for (auto it = vAlertaInfo.begin(); it != vAlertaInfo.end(); it++)
	{
		auto sLog = (*it);
		// Compara o item pego com os itens na lista de espera
		if (sLog.Head == Head && sLog.ChkSum == ChkSum)
		{
			// Monta a mensagem de alerta
			char mensagem[70] = { 0 };
			wsprintf(mensagem, " [ %s ] Dropou [ %s ]. ", PlayerName, sLog.ItemName);

			// Envia a mensagem global
			rsSendMessageAll(mensagem, 3);

			// Remove o item da lista para não anunciar de novo
			vAlertaInfo.erase(it);
			break; // Sai do loop pois o item já foi processado
		}
	}
}

 

 
Postado : 16/07/2025 7:30 pm
Página 1 / 2
Compartilhar:

Anúncio