Anúncio
Como adicionar ressu infinita no vip
- 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á!

Pega src do elemental la tem ressu infinito.

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 desejadoPostado 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 gamevi 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á!
@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.

Pior que tbm estou quebrando a cabeça pra ajustar esse drop alerta kkk
~ Aprender nunca é demais...

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...
@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.
@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

@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..

é 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 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.

Isso deve funcionar.Postado por: @roolk@lou Beleza, se puder quebrar esse galho, fico muito agradecido!
#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 } } }
Visitando este tópico no momento: 1 usuário ( Raka ) .
Visto recentemente pelos usuários: rodrioliver 59 minutos atrás.
- 15 Fóruns
- 83 Tópicos
- 307 Posts
- 1 Online
- 102 Membros