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

    Metin2 Blocked Map System - Deschidere Harti pe Etape

    Acest sistem permite blocarea sau deblocarea hartilor Metin2 direct dupa map index, fiind util pentru servere care deschid continutul treptat, de exemplu 1-99, 1-105 sau 1-120.

    - jucatorii normali nu pot intra pe hartile blocate;
    - GM-ii pot intra pentru teste;
    - functioneaza pentru warp, quest, NPC, dungeon si login;
    - suporta si private map index-uri;
    - configurarea se face direct din lista de map index-uri.

    *Poze / Video:
    *Link download / Code:

    Deschide common/service.h si adauga:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide game/src/char.h si cauta:

    Cod: Selectaţi tot

    SET_OVER_TIME(ch, time)    (ch)->SetOverTime(time)
    
    extern int g_nPortalLimitTime;

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



    Deschide game/src/char.cpp si cauta:

    Cod: Selectaţi tot

    extern bool IS_SUMMONABLE_ZONE(int map_index);
    bool CAN_ENTER_ZONE(const LPCHARACTER& ch, int map_index);

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



    In functia MNC_IsBlockedMapIndex, fiecare case reprezinta un map index.

    Daca linia este activa, harta este blocata:

    Cod: Selectaţi tot

    case 4:

    Daca linia este comentata, harta ramane deschisa:

    Cod: Selectaţi tot

    // case 4:

    Lista din exemplu trebuie adaptata dupa map index-urile din serverul tau. Nu copia lista direct daca structura hartilor tale este diferita.

    Hartile de Guild War trebuie lasate deschise. Le poti verifica in functia LoadWarMapInfo din war_map.cpp. Daca le blochezi, jucatorii pot fi trimisi inapoi la empire start.


    In game/src/char.cpp, cauta functia:

    Cod: Selectaţi tot

    bool CHARACTER::WarpSet(long x, long y, long lPrivateMapIndex)

    In functie cauta:

    Cod: Selectaţi tot

    Stop();
    Save();
    
    if (GetSectree())

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



    Deschide game/src/input_login.cpp si cauta:

    Cod: Selectaţi tot

    void CInputLogin::Entergame(LPDESC d, const char * data)
    {
        LPCHARACTER ch;
    
        if (!(ch = d->GetCharacter()))
        {
            d->SetPhase(PHASE_CLOSE);
            return;
        }

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



    In aceeasi functie cauta:

    Cod: Selectaţi tot

    d->SetPhase(PHASE_GAME);

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



    Redirect-ul de la login foloseste WarpSet dupa intrarea in PHASE_GAME, pentru ca serverul sa gaseasca core-ul corect si clientul sa reincarce harta.


    Deschide game/src/party.cpp si cauta functia:

    Cod: Selectaţi tot

    void CParty::SummonToLeader(DWORD pid)

    In functie cauta:

    Cod: Selectaţi tot

    if (!ch->CanSummon(m_iLeadership))

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



    Aceasta verificare este necesara deoarece SummonToLeader poate folosi Show in loc de WarpSet, iar un GM aflat intr-o harta blocata ar putea trage un jucator normal dupa el.


    Poti modifica mesajele:

    Cod: Selectaţi tot

    MNC Elite Files 1-99 surumunu oynamaktasiniz. Bu harita henuz aktif degil.

    si:

    Cod: Selectaţi tot

    Bu grup uyesi seninle ayni haritada degil.

    cu textele folosite pe serverul tau.


    Asigura-te ca char.cpp si input_login.cpp au acces la:

    Cod: Selectaţi tot

    start_position.h

    pentru EMPIRE_START_X, EMPIRE_START_Y si EMPIRE_START_MAP.


    Daca blochezi map index-ul 81, sistemul de nunta poate sa nu mai functioneze. OX si hartile Guild War trebuie lasate deschise.


    Pentru test, intra cu un caracter normal si incearca sa folosesti un NPC sau quest care trimite catre o harta blocata.

    Jucatorul trebuie sa primeasca mesajul si sa fie trimis la empire start, iar in syslog trebuie sa apara:

    Cod: Selectaţi tot

    MNC_BLOCKED_MAP_WARP
    Fii primul care reacționează

    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 “Îmbunătățiri”

    Informații

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

    Discord ID copiat: