Stergere Caracter

Încuiat
Avatar utilizator
amicul12
4Metin
4Metin
Mesaje: 74
Membru din: Vin Mar 31, 2023 4:03 pm
Status: DEVELOPER
Multumiri acordate: 1
Contact:

Stergere Caracter

Mesaj de amicul12 »

Salutare , stie cineva din ce cauza imi tot da eroare ca nu pot sterge caracterul? Imagine
  • *-:) www.lunaris2.com
Avatar utilizator
dominic17
4Metin
4Metin
Mesaje: 32
Membru din: Vin Dec 09, 2022 11:53 pm
Localitate: Undeva pe Terra.
Status: IQ DIVIN
Contact:

Re: Stergere Caracter

Mesaj de dominic17 »

1.
Deci, ca sa modifici nivelul maxim pana la care se pot sterge caracterele faci astfel:

Te duci in : /usr/home/game/channels/db (sau cum ai tu), iar aici o sa gasesti un fisier numit: conf.txt
1. Il deschizi
2. Te duci la linia: PLAYER_DELETE_LEVEL_LIMIT = xx
3. Modifici xx (nivelul care e acolo) cu 70/80/100/105 (cat vrei tu) adica la final va arata asa:
PLAYER_DELETE_LEVEL_LIMIT = 105 (105 este un exemplu dat de mine, tu poti pune oricat)

Gata, acum dai un reboot sau close & start si poti testa.

2.
DACA AI SURSA LA EL.

Intra in: ClientManagerPlayer.cpp si cauta:

Cod: Selectaţi tot

snprintf(queryStr, sizeof(queryStr), "INSERT INTO player%s_deleted SELECT * FROM player%s WHERE id=%d", GetTablePostfix(), GetTablePostfix(), pi->player_id);
Inlocuieste cu:

Cod: Selectaţi tot

snprintf(queryStr, sizeof(queryStr), "INSERT INTO player_deleted%s SELECT * FROM player%s WHERE id=%d", GetTablePostfix(), GetTablePostfix(), pi->player_id);
Imagine
Avatar utilizator
amicul12
4Metin
4Metin
Mesaje: 74
Membru din: Vin Mar 31, 2023 4:03 pm
Status: DEVELOPER
Multumiri acordate: 1
Contact:

Re: Stergere Caracter

Mesaj de amicul12 »

dominic17 scrie: Vin Mai 26, 2023 10:53 pm 1.
Deci, ca sa modifici nivelul maxim pana la care se pot sterge caracterele faci astfel:

Te duci in : /usr/home/game/channels/db (sau cum ai tu), iar aici o sa gasesti un fisier numit: conf.txt
1. Il deschizi
2. Te duci la linia: PLAYER_DELETE_LEVEL_LIMIT = xx
3. Modifici xx (nivelul care e acolo) cu 70/80/100/105 (cat vrei tu) adica la final va arata asa:
PLAYER_DELETE_LEVEL_LIMIT = 105 (105 este un exemplu dat de mine, tu poti pune oricat)

Gata, acum dai un reboot sau close & start si poti testa.

2.
DACA AI SURSA LA EL.

Intra in: ClientManagerPlayer.cpp si cauta:

Cod: Selectaţi tot

snprintf(queryStr, sizeof(queryStr), "INSERT INTO player%s_deleted SELECT * FROM player%s WHERE id=%d", GetTablePostfix(), GetTablePostfix(), pi->player_id);
Inlocuieste cu:

Cod: Selectaţi tot

snprintf(queryStr, sizeof(queryStr), "INSERT INTO player_deleted%s SELECT * FROM player%s WHERE id=%d", GetTablePostfix(), GetTablePostfix(), pi->player_id);
ClientManagerPlayer.cpp: In member function 'void CClientManager::__RESULT_PLAYER_DELETE(CPeer*, SQLMsg*)':
ClientManagerPlayer.cpp:1072:56: error: expected ';' before ')' token
GetTablePostfix(), GetTablePostfix(), pi->player_id);
  • *-:) www.lunaris2.com
Avatar utilizator
RazVan
Administrator
Administrator
Mesaje: 696
Membru din: Mie Oct 19, 2022 5:25 pm
Localitate: München
Status: Activ
Multumiri acordate: 12
Multumiri primite: 18
Contact:

Re: Stergere Caracter

Mesaj de RazVan »

Salut.

Merge in /usr/src/mainline_released/mainline_sg/Srcs/Server/db/src(eu asa am la mine)si deschidem fisierul ClientManagerPlayer.cpp dupa care cautam:

Cod: Selectaţi tot

char queryStr[QUERY_MAX_LEN];

        snprintf(queryStr, sizeof(queryStr), "INSERT INTO player%s_deleted SELECT * FROM player%s WHERE id=%d",
                GetTablePostfix(), GetTablePostfix(), pi->player_id);
        std::auto_ptr<SQLMsg> pIns(CDBManager::instance().DirectQuery(queryStr));

        if (pIns->Get()->uiAffectedRows == 0 || pIns->Get()->uiAffectedRows == (uint32_t)-1)
        {
            sys_log(0, "PLAYER_DELETE FAILED %u CANNOT INSERT TO player%s_deleted", dwPID, GetTablePostfix());

            peer->EncodeHeader(HEADER_DG_PLAYER_DELETE_FAILED, pi->dwHandle, 1);
            peer->EncodeBYTE(pi->account_index);
            return;
        }]
Și înlocuim cu :

Cod: Selectaţi tot

snprintf(queryStr, sizeof(queryStr), "INSERT INTO player_deleted%s SELECT * FROM player%s WHERE id=%d",
                GetTablePostfix(), GetTablePostfix(), pi->player_id);
        std::auto_ptr<SQLMsg> pIns(CDBManager::instance().DirectQuery(queryStr));

        if (pIns->Get()->uiAffectedRows == 0 || pIns->Get()->uiAffectedRows == (uint32_t)-1)
        {
            sys_log(0, "PLAYER_DELETE FAILED %u CANNOT INSERT TO player_deleted%s", dwPID, GetTablePostfix());

            peer->EncodeHeader(HEADER_DG_PLAYER_DELETE_FAILED, pi->dwHandle, 1);
            peer->EncodeBYTE(pi->account_index);
            return;
        }
Verifică și asta poate e scrisă greșit în ClientManagerPlayer

Cod: Selectaţi tot

player%s_deleted
Înlocuiești cu

Cod: Selectaţi tot

player_deleted%s
Imagine
Avatar utilizator
amicul12
4Metin
4Metin
Mesaje: 74
Membru din: Vin Mar 31, 2023 4:03 pm
Status: DEVELOPER
Multumiri acordate: 1
Contact:

Re: Stergere Caracter

Mesaj de amicul12 »

am facut toate modificarile , am adaugat si db in server si tot nu vrea .
  • *-:) www.lunaris2.com
Avatar utilizator
RazVan
Administrator
Administrator
Mesaje: 696
Membru din: Mie Oct 19, 2022 5:25 pm
Localitate: München
Status: Activ
Multumiri acordate: 12
Multumiri primite: 18
Contact:

Re: Stergere Caracter

Mesaj de RazVan »

amicul12 scrie: Joi Iun 01, 2023 3:07 pm am facut toate modificarile , am adaugat si db in server si tot nu vrea .
Deci daca nu functioneaza nici varianta de mai sus nici sa modifici din db conf.txt (limita de stergere a caracterului).
Intra in navicat -> player si sterge player_deleted dupa carare apasa ctrl+q si scrie CREATE TABLE player_deleted LIKE player; apesi pe butonul Run din stanga cu verde si dai reboot.
Imagine
Avatar utilizator
amicul12
4Metin
4Metin
Mesaje: 74
Membru din: Vin Mar 31, 2023 4:03 pm
Status: DEVELOPER
Multumiri acordate: 1
Contact:

Re: Stergere Caracter

Mesaj de amicul12 »

RazVan scrie: Joi Iun 01, 2023 7:20 pm
amicul12 scrie: Joi Iun 01, 2023 3:07 pm am facut toate modificarile , am adaugat si db in server si tot nu vrea .
Deci daca nu functioneaza nici varianta de mai sus nici sa modifici din db conf.txt (limita de stergere a caracterului).
Intra in navicat -> player si sterge player_deleted dupa carare apasa ctrl+q si scrie CREATE TABLE player_deleted LIKE player; apesi pe butonul Run din stanga cu verde si dai reboot.
Nici asta nu functioneaza
  • *-:) www.lunaris2.com
Avatar utilizator
Loud
Tehnic
Tehnic
Mesaje: 188
Membru din: Mar Oct 18, 2022 12:48 pm
Localitate: Underwater
Status: Activ
Multumiri acordate: 2
Multumiri primite: 32
Contact:

Re: Stergere Caracter

Mesaj de Loud »

Autorul nu a mai dat nici un semn.
T/C
Încuiat