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

    Aceasta este o modificare care schimba modul in care functioneaza numele la jucatori pe serverul tau de Metin2.

    Aceasta "imbunatatire" permite folosirea de caractere speciale si spatii in numele playerilor.

    Urmatoarele caractere speciale vor fi permise:
    - spatiu
    - underscore (_)
    - cratima (-)
    - punct (.)
    - doua puncte (:)
    - ghilimele simple (‘ ’)
    - umlaut-uri germane

    Cine vrea sa adauge altele (exemplu: diacriticele romanesti) poate face asta in functia bool is_valid_name_char(unsigned char c) – vezi codul, ar trebui sa fie usor de inteles.
    Cred ca au fost acoperite toate cazurile unde ar putea aparea probleme cu interogarile SQL, dar asta depinde de la sursa la sursa.

    Comenzile de GM care se folosesc de numele jucatorilor (exemplu: /warp NumePlayer) vor functiona fara probleme daca folosesti ghilimele pentru nume.

    Adica, daca avem un player numit "Focu' Intunericului" vom folosi:

    Cod: Selectaţi tot

    /warp "Focu' Intunericului"
    *Poze / Video:
    [C++] Nume player Renewal (Extended) - Mesaj 1 - Imagine 1
    pasted-from-clipboard.png (250.75 KiB) Vizualizat de 1050 ori
    *Link download / Code:

    In sursa Binary -> Userinterface -> Locale_inc.h adaugam::

    Cod: Selectaţi tot

    #define ENABLE_EXTENDED_PLAYER_NAMES        //Enable extended character names (longer names and special chars)
    Acum mergem in Userinterface/StdAfx.h si cautam:

    Cod: Selectaţi tot

    #if defined(LOCALE_SERVICE_JAPAN)
        PLAYER_NAME_MAX_LEN = 16,
    #else
        PLAYER_NAME_MAX_LEN = 12,
    #endif
    Inlocuim cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Mergem in locale/ui/createcharacterwindow.py si adaugam:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Acum cautam ("character_name_value":):

    Cod: Selectaţi tot

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


    Acum deschidem uiscript/inputdialog.py si facem acelasi lucru - adaugam:

    Cod: Selectaţi tot

    import chr
    Cautam:

    Cod: Selectaţi tot

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


    Acum la fel si in uiscript/createcharacterwindow.py - adaugam:

    Cod: Selectaţi tot

    import chr
    Cautam:

    Cod: Selectaţi tot

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


    Acum, in sursa game adaugam in service.h / CommonDefines.h:

    Cod: Selectaţi tot

    #define ENABLE_EXTENDED_PLAYER_NAMES            //Enable extended character names (longer names and special chars)
    Deschidem game/locale_service.cpp si cautam:

    Cod: Selectaţi tot

    int check_name_alphabet(const char* str)
    Inlocuim / adaptam sa arate asa:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Acum in log.cpp cautam si adaptam functiile ca mai jos:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


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


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


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


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


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


    Acum mergem in messenger_manager.cpp si facem acelasi lucru - cautam si adaptam/inlocuim:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


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


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


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



    Acum in questlua_pc.cpp cautam in pc_change_name:

    Cod: Selectaţi tot

    snprintf(szQuery, sizeof(szQuery), "SELECT COUNT(*) FROM player%s WHERE name='%s'", get_table_postfix(), szName);
    Inlocuim / adaptam asa:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Cautam in aceeasi functie:

    Cod: Selectaţi tot

    snprintf(szQuery, sizeof(szQuery), "UPDATE player%s SET name='%s' WHERE id=%u", get_table_postfix(), szName, pid);
    Inlocuim / adaptam:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschidem acum db/ClientManagerLogin.cpp si cautam:

    Cod: Selectaţi tot

    void CClientManager::QUERY_CHANGE_NAME(CPeer * peer, DWORD dwHandle, TPacketGDChangeName * p)
    Inlocuim functia / adaptam cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschidem db/ClientManagerPlayer.cpp si cautam:

    Cod: Selectaţi tot

    void CClientManager::__QUERY_PLAYER_CREATE(CPeer *peer, DWORD dwHandle, TPlayerCreatePacket* packet):
    Inlocuim sau adaptam:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.

    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: nourishp și 0 vizitatori

    Discord ID copiat: