Administrator
Administrator
  • Mesaje: 4965
    Membru din: 07 Aug 2024, 18:53
  • Reacții: 125343
  • Mesaje utile: 47
  • Status: Pe aici.. 🤠
    Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • *Descriere:

    Aceste fixuri rezolva mai multe probleme din sistemul de pescuit Metin2, inclusiv crash-uri la reload, verificari lipsa, iteme consumate gresit si posibilitatea de a pescui prin packet-uri modificate in zone fara apa.

    - previne crash-uri in fishing.cpp;
    - adauga verificari pentru GetDesc si undita;
    - rezolva consumarea gresita a pestilor;
    - valideaza pescuitul server-side;
    - corecteaza unghiurile negative trimise de client.


    *Link download / Code:

    Deschide game/src/fishing.cpp, in functia Initialize, si cauta:

    Cod: Selectaţi tot

    char * p = strrchr(buf, '\n');
    *p = '\0';

    Inlocuieste cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Aceasta modificare previne crash-ul core-ului la pornire sau la /reload f daca ultima linie din fishing.txt nu contine line break.


    In acelasi fisier, la finalul functiei FishingPractice, cauta:

    Cod: Selectaţi tot

    rod->SetSocket(2, 0);
    }

    Inlocuieste cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    In game/src/fishing.cpp cauta ambele aparitii:

    Cod: Selectaţi tot

    ch->GetDesc()->Packet(&p, sizeof(TPacketGCFishing));

    Inlocuieste fiecare aparitie cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    In functia UseFish cauta:

    Cod: Selectaţi tot

    if (idx<=1 || idx >= MAX_FISH)
    	return;

    Adauga dedesubt:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    In functia Grill cauta:

    Cod: Selectaţi tot

    if (idx == -1)
    	return;

    Adauga dedesubt:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide game/src/fishing.h, in namespace fishing, si adauga:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide game/src/fishing.cpp, in namespace fishing, si adauga:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide game/src/char.cpp, in functia CHARACTER::fishing, si cauta:

    Cod: Selectaţi tot

    {
    	LPSECTREE_MAP pkSectreeMap = SECTREE_MANAGER::instance().GetMap(GetMapIndex());
    
    	int	x = GetX();
    	int y = GetY();
    
    	LPSECTREE tree = pkSectreeMap->Find(x, y);
    	DWORD dwAttr = tree->GetAttribute(x, y);
    
    	if (IS_SET(dwAttr, ATTR_BLOCK))
    	{

    Inlocuieste cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Aceasta verificare blocheaza pescuitul daca jucatorul este mort, stun, observer, calare sau daca nu exista apa in raza valida din fata caracterului.


    Deschide game/src/input_main.cpp, in functia CInputMain::Fishing, si cauta:

    Cod: Selectaţi tot

    ch->SetRotation(p->dir * 5);

    Inlocuieste cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Daca m_pkFishingEvent este private in char.h, adauga un getter pentru el si foloseste getter-ul in verificarea de mai sus.


    Fix-ul pentru IsWaterInReach foloseste aceeasi logica generala ca verificarea clientului, dar probeaza mai multe distante si unghiuri apropiate pentru a compensa rotunjirea unghiului si diferentele mici dintre pozitia clientului si serverului.

    Nou Cum descarc de pe TeraBox?

    Afișează detalii Ascunde detalii
    • Este asemănător cu Mega.nz
    • Instalați-vă clientul lor de Download de aici
    • Faceți-vă un cont (vă puteți loga cu Facebook / Google / etc)
    • Nou Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele rapid & simplu.

    De ce folosim TeraBox?

    • Este gratuit
    • Primești 1TB de spațiu gratuit la orice cont creat!
    • Este ușor de folosit și varianta premium este foarte ieftină
    • Fișierele nu sunt șterse niciodată
    TeraBox logo
    See full signature

    Înapoi la “FIX-uri”

    Informații

    Utilizatori ce navighează pe acest forum: Niciun utilizator înregistrat și 2 vizitatori

    Discord ID copiat: