1 mesaj
Administrator Administrator
  • Mesaje: 3917
  • Reacții: 72762
  • Mesaje utile: 38
  • Status: Pe aici.. 🤠
  • Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • Contact:
    *Descriere:

    Acest bugfix pentru sistemul official de căsătorie (Marriage/Wedding) în Metin2 rezolvă verificări inutile și posibile null pointer crashes în questlua_marriage.cpp, corectează funcția ShoutInMap pentru trimiterea corectă a tipului de chat și adaugă funcții noi (wedding_is_dark / wedding_is_snow) pentru un control mai flexibil al evenimentului de nuntă din quest-uri.

    *Poze / Video:
    [FIX] Rezolvari Sistem de nunta / Wedding - Mesaj 1 - Imagine 1
    *Link download / Code:

    1) Verificare inutila in "marriage_wedding_is_playing_music" din questlua_marriage.cpp

    Deschidem questlua_marriage.cpp si cautam:
    Code:
                    if (pWedding)
                        lua_pushboolean(L, pWedding->IsPlayingMusic());
                    else
                        lua_pushboolean(L, false);
    Inlocuim cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Explicatie:
    Functia IsPlayingMusic returneaza deja un boolean. In acest punct, pWedding nu poate fi NULL sau nullptr, deoarece functia este executata doar pe harta de casatorie (Marriage-Map). Acest lucru este sustinut si de numeroasele alte functii din questlua_marriage.cpp, care folosesc acelasi pointer fara a-l verifica inainte.



    2) Variabila nefolosita in "ShoutInMap" din marriage.cpp

    Deschidem marriage.cpp si cautam:
    Code:
        ch->ChatPacket(CHAT_TYPE_COMMAND, msg);
    Inlocuim cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Explicatie:
    Astfel, functia ShoutInMap poate fi folosita si pentru a trimite mesaje normale de chat in harta, nu doar comenzi.

    Exemplu de utilizare:
    Code:
        std::stringstream test("");
        test << "hey " << 123;
        ShoutInMap(CHAT_TYPE_INFO, test.str().c_str());


    3) Fix Nullpointer in "marriage_wedding_client_command" din questlua_marriage.cpp

    Deschidem questlua_marriage.cpp si cautam (in functia marriage_wedding_client_command):
    Code:
        if (pMarriage->pWeddingInfo)
    Inlocuim cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Explicatie:
    Daca pointerul pMarriage este NULL, nu putem accesa pWeddingInfo. In toate celelalte functii aceasta verificare este facuta inainte, doar aici lipsea.



    4) Bonus: Functii wedding_is_dark si wedding_is_snow pentru a scrie quest-uri mai usor

    Deschidem wedding.cpp si adaugam undeva sub public::
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschidem questlua_marriage.cpp si adaugam urmatoarele functii in namespace marriage:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Tot in questlua_marriage.cpp, jos in tabelul de functii, adaugam:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Explicatie:
    Aceste functii permit folosirea unor toggle-uri direct in quest-uri, de exemplu pentru activarea/dezactivarea vremii intunecate sau a zapezii in timpul nuntii.

    Exemplu de utilizare in quest:
    Code:
                when WEDDING_MANAGER.click with pc.is_engaged_or_married() and marriage.in_my_wedding() begin
                    local sel = select3("Wetter togglen", "Schnee togglen")
                    if sel == -1 then return end
                    if sel == 1 then
                        marriage.wedding_dark(not marriage.wedding_is_dark())
                    elseif sel == 2 then
                        marriage.wedding_snow(not marriage.wedding_is_snow())
                    end
                end

    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
    Te asteptam si pe serverul de Discord :p - aici ne-am strans toata comunitatea de Metin2 din Romania.
    Link: https://discord.gg/jWxeDSf7HP

    Suntem aproape 2000 membri! - Avem chat activ zilnic, support, cereri, resurse. :D :ymcowboy:




    See full signature

    📢 Resurse Metin2 Premium!

    Zeci de resurse Metin2 Premium - exclusive și 100% funcționale începând cu 15.99€!.

    Vezi resursele Cumpără premium
    Premium
    Premium
    Anunț

    Creează-ți un cont sau autentifică-te pentru a participa la discuție

    Trebuie să fii membru pentru a răspunde

    Creează-ți un cont

    Membrii pot crea subiecte noi și pot descărca resurse Metin2 Gratuit!


    Te poți înregistra sau conecta rapid utilizând contul tău de Discord, Github sau Google.

    Înregistrare

    Autentifică-te

    Înapoi la “FIX-uri”

    Informații

    Utilizatori ce navighează pe acest forum: erastrau, GRINCH și 4 vizitatori

    Discord ID copiat: