#include <amxmodx>
#include <nvault>
new const szLightLevels[][] = {
"m", // Normal
"f", // Orta
"c", // Parlak
"a", // Çok Parlak
"z" // Gün Işığı
};
new const szLightNames[][] = {
"Normal",
"Orta",
"Parlak",
"Çok Parlak",
"Gün Işığı"
};
new iVault, iUserLight[33];
public plugin_init() {
register_plugin("Simple Light Menu", "1.0", "YourName");
register_clcmd("say /isik", "ShowLightMenu");
}
public plugin_cfg() {
iVault = nvault_open("lightsettings");
}
public plugin_end() {
nvault_close(iVault);
}
public client_putinserver(id) {
new szAuthID[32];
get_user_authid(id, szAuthID, charsmax(szAuthID));
new szData[4];
if (nvault_get(iVault, szAuthID, szData, charsmax(szData))) {
iUserLight[id] = str_to_num(szData);
SetPlayerLight(id, szLightLevels[iUserLight[id]]);
} else {
iUserLight[id] = 0; // Varsayılan: Normal
SetPlayerLight(id, szLightLevels[0]);
}
}
public ShowLightMenu(id) {
new menu = menu_create("\yIşık Ayarı Menüsü", "HandleLightMenu");
for (new i = 0; i < sizeof(szLightNames); i++) {
menu_additem(menu, szLightNames[i], fmt("%d", i));
}
menu_setprop(menu, MPROP_EXITNAME, "Kapat");
menu_display(id, menu);
}
public HandleLightMenu(id, menu, item) {
if (item == MENU_EXIT) {
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new szData[6], dummy;
menu_item_getinfo(menu, item, dummy, szData, charsmax(szData));
new iLevel = str_to_num(szData);
iUserLight[id] = iLevel;
// Kayıt
new szAuthID[32];
get_user_authid(id, szAuthID, charsmax(szAuthID));
nvault_set(iVault, szAuthID, szData);
SetPlayerLight(id, szLightLevels[iLevel]);
client_print_color(id, id, "^1[^4Işık^1] Seviye: ^3%s", szLightNames[iLevel]);
menu_destroy(menu);
return PLUGIN_HANDLED;
}
SetPlayerLight(id, const style[]) {
message_begin(MSG_ONE, SVC_LIGHTSTYLE, _, id);
write_byte(0);
write_string(style);
message_end();
}