[C++] Fix crash fish

Închis
Avatar utilizator
Bughy
Ţepar / Untrusted User

Ţepar / Untrusted User
Mesaje: 431
Membru din: 10 Apr 2018, 22:33
Server: Toate =))
Regat: Jinno
Aprecieri: 62  
Mulţumiri: 51  
 Contact:
Medalii

Salut. Uite un fix util pentru unele servere =) =)

Intram in sursa game in fisierul: questmanager.h
In el cautam:

Cod: Selectaţi tot

PC * GetPCForce(unsigned int pc);
Adaugam sub el:

Cod: Selectaţi tot

void      StopAllRunningQuests();
Intram in : questmanager.cpp si cautam:

Cod: Selectaţi tot

void CQuestManager::DisconnectPC(LPCHARACTER ch)
   {
      m_mapPC.erase(ch->GetPlayerID());
   }
Sub el adaugati:

Cod: Selectaţi tot

void CQuestManager::StopAllRunningQuests()
   {
      for (PCMap::iterator it = m_mapPC.begin(); it != m_mapPC.end(); it++)
      {
         it->second.CancelRunning();
         LPCHARACTER pkChr = CHARACTER_MANAGER::instance().FindByPID(it->first);
         if (!pkChr || !(pkChr->GetDesc()))
            continue;
         struct ::packet_script packet_script;

         packet_script.header = HEADER_GC_SCRIPT;
         packet_script.skin = QUEST_SKIN_NOWINDOW;
         string data = "[DESTROY_ALL]";
         packet_script.src_size = data.size();
         packet_script.size = packet_script.src_size + sizeof(struct packet_script);

         TEMP_BUFFER buf;
         buf.write(&packet_script, sizeof(struct packet_script));
         buf.write(&data[0], data.size());

         pkChr->GetDesc()->Packet(buf.read_peek(), buf.size());
      }
   }
Acum cautam:

Cod: Selectaţi tot

void CQuestManager::Reload()
   {
Adaugam sub:

Cod: Selectaţi tot

StopAllRunningQuests();
Intram in sursa client in UserInterface/PythonNetworkStream.h si cautam:

Cod: Selectaţi tot

void OnScriptEventStart(int iSkin, int iIndex);
Sub el adaugam:

Cod: Selectaţi tot

void HideQuestWindows();
Acum intram in PythonNetworkStream.cpp si merge la sfarsitul fisierului si adaugam:

Cod: Selectaţi tot

void CPythonNetworkStream::HideQuestWindows()
{
   PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "HideAllQuestWindow", Py_BuildValue("()"));
}

Intrati in PythonNetworkStreamPhaseGame.cpp si la bool CPythonNetworkStream::RecvScriptPacket(), dupa str[str.size()-1] = '\0';
Adaugati:
if (str.compare(0, 13, "[DESTROY_ALL]") == 0)
   {
      CPythonNetworkStream::Instance().HideQuestWindows();
      return true;
   }
Acum despachetam root si intram in interfacemodule.py
Cautam:

Cod: Selectaţi tot

def RemoveQuestDialog(self, key):
si DEASUPRA lui adaugam:

Cod: Selectaţi tot

def HideAllQuestWindow(self):
      tempList = []
      for i,v in self.wndQuestWindow.iteritems():
         tempList.append(v)

      for i in tempList:
         i.OnCancel()
Intram in game.py si cautam:

Cod: Selectaţi tot

def OpenQuestWindow(self, skin, idx):
      self.interface.OpenQuestWindow(skin, idx)
Si adaugam sub el:

Cod: Selectaţi tot

def HideAllQuestWindow(self):
      self.interface.HideAllQuestWindow()
Asta a fost tot, daca te-a ajutat lasa un like =) :p
Imagine
Daca te-am ajutat lasa un like :) B-) :ymhug: ;)
Afișează semnătura
Avatar utilizator
Athero
Ţepar / Untrusted User

Ţepar / Untrusted User
Mesaje: 3936
Membru din: 17 Aug 2017, 00:08
Aprecieri: 559  
Mulţumiri: 7142  
Discord: Copiază ID
Medalii

Si mai exact ce face acest fix , ca doar nu l-ai gasit si pac postat fara sa stim ce rezolva.
//retras
Afișează semnătura
Avatar utilizator
Trojan
Nivel 1

Nivel 1
Mesaje: 56
Membru din: 02 Feb 2018, 08:29
Server: In constructii
Regat: Shinsoo
Aprecieri: 0
Mulţumiri: 1  
Medalii

Crash fish?
Eu unul nu am gasit svf cu asemenea crash si nu inteleg la ce este bun acest fix,nu cred ca iti pica nimeni sv pescuind

[ Postat de pe Android ] Imagine
Avatar utilizator
Bughy
Ţepar / Untrusted User

Ţepar / Untrusted User
Mesaje: 431
Membru din: 10 Apr 2018, 22:33
Server: Toate =))
Regat: Jinno
Aprecieri: 62  
Mulţumiri: 51  
 Contact:
Medalii

Athero scrie:Si mai exact ce face acest fix , ca doar nu l-ai gasit si pac postat fara sa stim ce rezolva.
E rezolvarea la /reload q
Imagine
Daca te-am ajutat lasa un like :) B-) :ymhug: ;)
Afișează semnătura
Avatar utilizator
sTrix.
Nivel 5

Nivel 5
Mesaje: 807
Membru din: 15 Feb 2018, 17:52
Regat: Jinno
Aprecieri: 238  
Mulţumiri: 273  
Medalii

Apasa Imagine daca te-am ajutat.
Imagine
Afișează semnătura
Avatar utilizator
Spyke
Metin Master

Metin Master
Mesaje: 2613
Membru din: 29 Iul 2016, 09:08
Server: Aoem2
Aprecieri: 205  
Mulţumiri: 3918  
Discord: Copiază ID
Medalii

Închis
Răspunsuri
0
Vizualizări
958
Răspunsuri
2
Vizualizări
216

Înapoi la “Arhivă”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Bing [Bot] și 5 vizitatori