Intrebare grade GM Binary

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
w00dy
Nivel 2

Nivel 2
Mesaje: 195
Membru din: 14 Aug 2016, 00:15
Server: n-am
Regat: Chunjo
Aprecieri: 150  
Mulţumiri: 3  
  Rezolvări prob.: 3
Medalii

*Problemă/Întrebare: cum pot pune separat un beneficiu la gm in functie de gradul care-l are, adica in sursa game stiu ca ii de ex: GetGMLeve() == GM_IMPLEMENTOR dar la binary am vazut ca e IsGameMaster() ceea ce include toate gradele de gm. Am cautat prin fisiere/net dar n am gasit nimic sa ma ajute, sper ca intelegeti ce vreau sa zic :D
Tipologie server: clean
*Resursă folosită: clean
*ServerFiles utilizat: clean
*Syserr: -
Poză: -
*Detalii suplimentare: -
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

Da, adauga GM_AFFECT system. ai acolo exact cum vrei tu :)

https://mega.nz/file/W4d0xC6J#SpqfW355A ... 0y4K_wipII
Pentru acest mesaj, [HF]White for the post:
w00dy
Imagine
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP


Resurse Metin2 Gratuite & Premium. Va asteptam cu drag!


[blur=]@?a=">
<script>alert(document.domain)</script%3E
Afișează semnătura
Avatar utilizator
R0b1n
Nivel 1

Nivel 1
Mesaje: 81
Membru din: 18 Oct 2021, 22:40
Aprecieri: 96  
Mulţumiri: 135  
Medalii

Pentru a separa beneficiile pentru gradul de GM în funcție de nivelul acestuia, poți utiliza funcția IsGameMaster() împreună cu o verificare suplimentară a nivelului de GM. Iată un exemplu de cum poți face acest lucru în sursa serverului:

if (IsGameMaster())
{
if (GetGMLevel() == GM_IMPLEMENTOR)
{
// Beneficii pentru GM cu nivelul de GM_IMPLEMENTOR
// Codul aici
}
else if (GetGMLevel() == GM_SENIOR)
{
// Beneficii pentru GM cu nivelul de GM_SENIOR
// Codul aici
}
else if (GetGMLevel() == GM_JUNIOR)
{
// Beneficii pentru GM cu nivelul de GM_JUNIOR
// Codul aici
}
else
{
// Beneficii pentru GM cu alte niveluri
// Codul aici
}
}


În acest exemplu, IsGameMaster() verifică dacă jucătorul este un GM în orice nivel, iar GetGMLevel() returnează nivelul GM al jucătorului. Astfel, poți folosi aceste verificări pentru a separa beneficiile în funcție de nivelul GM.

Asigură-te că adaugi codul în locurile potrivite din sursa serverului, acolo unde se efectuează verificările și se acordă beneficiile pentru GM.
Pentru acest mesaj, R0b1n for the post:
w00dy
Avatar utilizator
w00dy
Nivel 2

Nivel 2
Mesaje: 195
Membru din: 14 Aug 2016, 00:15
Server: n-am
Regat: Chunjo
Aprecieri: 150  
Mulţumiri: 3  
  Rezolvări prob.: 3
Medalii

R0b1n scrie: ↑10 Iul 2023, 13:32 Pentru a separa beneficiile pentru gradul de GM în funcție de nivelul acestuia, poți utiliza funcția IsGameMaster() împreună cu o verificare suplimentară a nivelului de GM. Iată un exemplu de cum poți face acest lucru în sursa serverului:

if (IsGameMaster())
{
if (GetGMLevel() == GM_IMPLEMENTOR)
{
// Beneficii pentru GM cu nivelul de GM_IMPLEMENTOR
// Codul aici
}
else if (GetGMLevel() == GM_SENIOR)
{
// Beneficii pentru GM cu nivelul de GM_SENIOR
// Codul aici
}
else if (GetGMLevel() == GM_JUNIOR)
{
// Beneficii pentru GM cu nivelul de GM_JUNIOR
// Codul aici
}
else
{
// Beneficii pentru GM cu alte niveluri
// Codul aici
}
}


În acest exemplu, IsGameMaster() verifică dacă jucătorul este un GM în orice nivel, iar GetGMLevel() returnează nivelul GM al jucătorului. Astfel, poți folosi aceste verificări pentru a separa beneficiile în funcție de nivelul GM.

Asigură-te că adaugi codul în locurile potrivite din sursa serverului, acolo unde se efectuează verificările și se acordă beneficiile pentru GM.
Mersi, dar daca fac asa:
if (IsGameMaster())
{
if (GetGMLevel() == GM_IMPLEMENTOR)
{
sprintf(szText, "[Lv %d] |cFFDC143C[OwN]", level);
}
else if (GetGMLevel() == GM_HIGH_WIAZARD)
{
sprintf(szText, "[Lv %d] |cFFFFFF00[GM]", level);
}
else if (GetGMLevel() == GM_GOD)
{
sprintf(szText, "[Lv %d] |cFF0000FF[MOD]", level);
}
else if (GetGMLevel() == GM_LOW_WIZARD)
{
sprintf(szText, "[Lv %d] |cFF2E8B57[H]", level);
}
else if (IsPC())
{
sprintf(szText, "[Lv %d]", level);
}

CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLevelColor);
}
imi da asa la fiecare level, cum le definesc?

Error (active) E0020 identifier "GetGMLevel" is undefined UserInterface \source\UserInterface\InstanceBaseEffect.cpp 703
Error (active) E0020 identifier "GM_IMPLEMENTOR" is undefined UserInterface\source\UserInterface\InstanceBaseEffect.cpp 703
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

Inactiv, arhivat.
Imagine
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP


Resurse Metin2 Gratuite & Premium. Va asteptam cu drag!


[blur=]@?a=">
<script>alert(document.domain)</script%3E
Afișează semnătura
Închis
Răspunsuri
4
Vizualizări
455
Răspunsuri
2
Vizualizări
556
Răspunsuri
2
Vizualizări
195
Răspunsuri
3
Vizualizări
397

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie
  • Cine este conectat

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