Salut. Din ce ai pus aici, eu nu cred că problema mai este în uigameoption.py.
În fișierul tău, butoanele trimit corect:
/pkmode 0
/pkmode 1
/pkmode 2
/pkmode 4
când constInfo.PVPMODE_ENABLE este activ.
Dacă în syslog îți apare deja COMMAND: [SA]Sekiro: pkmode și nici comanda /pkmode scrisă manual în chat nu funcționează, eu aș lăsa partea de client deoparte și aș verifica serverul.
Uită-te în special în:
cmd_general.cpp → funcția do_pkmode
cmd.cpp → să fie înregistrată comanda corect
char.cpp / char.h → SetPKMode() / GetPKMode()
Pune pentru test niște sys_err în do_pkmode, înainte și după schimbarea modului, ca să vezi:
ce valoare primește comanda;
ce PK mode are playerul înainte;
ce PK mode are după;
level-ul;
map index-ul;
dacă intră într-un return înainte de SetPKMode().
Mai verifică și eventualele restricții custom pentru level, mapă, GM sau empire.
Din moment ce serverul vede comanda, problema pare mai degrabă în handlerul server-side sau într-un check care blochează schimbarea modului, nu în butoanele din uigameoption.py.
Dacă pui aici do_pkmode din cmd_general.cpp, putem vedea exact unde se oprește.