Konu

#1
Şöyle bir eklentiye ihtiyacım var. 
Oyuncunun adminlerle özel olarak konuşabilmesi için bi menü olacak /adminpm gibisinden

bu ekranda oyundaki online adminler sıralanacak (Kick yetkisi olan)

1) admin ahmet
2) admin samet
3) admin taner

gibi. eğer oyunda admin yoksa say mesajı olarak "Suanda oyunda admin bulunmadigi icin bu menuyu kullanamazsin" gibi bir mesaj gidecek.

admini seçtikten sonra oyuncu mesaji yazip gondericek. o anda secilen admininin ekranının ortasinda "Bir oyuncu size mesaj gonderdi" yazisi görünecek ve sohbet satirinda oyuncunun attigi mesaj gorunecek.
adminde cevaplamak isterse menüye girip "/adminpm" mesaj gönderen oyuncuyu listeden secip ayni sekilde mesajını gönderecek. oyuncunun ekraninin ortasinda yine "Admin size bir mesaj gonderdi" yazısı görünecek ve iletisim kurulmus olacak. tüm bu yazışmalarda panelde bi tane config dosyasının icine tarih-saat ve mesaj şeklinde loglanırsa çok daha iyi olur tabi. şimdiden teşekkürler.
#2
Dene bakalım ;
Eklentide hata/bug olabilir bildirirseniz düzeltiriz.
Loglar addons\amxmodx\logs\adminchat.txt içine örnekteki gibi loglanır ;
Kod:
L 12/27/2021 - 20:04:19: Tarih 27/12/2021 | Saat 20:04:19 | Map de_dust2 | Gonderen : llllllllllllllll | Mesaji Alan : Walt | Mesaj : sa
PHP Kod:
#include <amxmodx>
#include <reapi>

new bool:g_Selected[MAX_CLIENTS+1], g_SecilenKisi[MAX_CLIENTS+1];

new const 
tag[] = "WA";

public 
plugin_init() 
{
    register_plugin("AdminUserMesaj""0.1""LyNcH");

    register_clcmd("say /adminpm""@kontrol");
    register_clcmd("Mesaj_Gir""@_Mesaj_Gir");
}

public 
client_disconnected(id) {
    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;
}

@
kontrol(const id) {
    new AdminCount 0;
    for(new 0MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
            AdminCount++;
        }
    }

    if(AdminCount == 0) {
        client_print_color(idid"^1[^3%s^1] ^4Aktif admin bulunmamakta ^1!"tag);
        return PLUGIN_HANDLED;
    }

    if(get_user_flags(id) & ADMIN_KICK) {
        @userpmmenu(id);
    }
    else {
        @adminpmmenu(id);
    }
    return PLUGIN_HANDLED;
}

@
adminpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rAdmin Mesajlasma"tag), "@_adminpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("ADMIN | %n"i), szStr);
        }
    }

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_adminpmmenu(const id, const menu, const item) {
    if(item == MENU_EXIT) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
userpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rUser Mesajlasma"tag), "@_userpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && !(get_user_flags(i) & ADMIN_KICK)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("USER | %n"i), szStr);
        }
    }

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_userpmmenu(const id, const menu, const item) {
    if(item == MENU_EXIT) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
_Mesaj_Gir(const id) {
    if(!g_Selected[id]) {
        client_print_color(idid"^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!"tag);
        return PLUGIN_HANDLED;
    }

    new Say[300];
    read_args(Saycharsmax(Say));
    remove_quotes(Say);

    if(Say[0] == EOS) {
        client_print_color(idid"^1[^3%s^1] ^4Bos Mesaj Gonderemezsin ^1!"tag);
        return PLUGIN_HANDLED
    }

    set_dhudmessage(2552552550.330.1600.01.02.01.0);
    ShowSyncHudMsg(g_SecilenKisi[id], CreateHudSyncObj(), "Bir Mesaj Aldiniz | Cevaplamak Icin /adminpm Yazip Oyuncuyu Secebilirsiniz");

    client_print_color(idid"^1[^3%s^1] ^4Basariyla Mesaj Gonderildi ^1!"tag);
    client_print_color(g_SecilenKisi[id], g_SecilenKisi[id], "^4(AdminPM) ^1%n^3: ^4%s"idSay);

    new CurrentTime[9],CurrentDay[16], szMapName[33];
    get_time("%H:%M:%S"CurrentTimecharsmax(CurrentTime));
    get_time("%d/%m/%Y"CurrentDaycharsmax(CurrentDay));
    rh_get_mapname(szMapNamecharsmax(szMapName), MNT_SET);
    log_to_file("adminchat.txt""Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s"CurrentDayCurrentTimeszMapNameidg_SecilenKisi[id], Say);

    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;

    return PLUGIN_HANDLED;

Discord: Lynchk | Steam: Tıkla
#3
(27-12-2021, 20:07)orucoglukayra Adlı Kullanıcıdan Alıntı: Dene bakalım ;
Eklentide hata/bug olabilir bildirirseniz düzeltiriz.
Loglar addons\amxmodx\logs\adminchat.txt içine örnekteki gibi loglanır ;
Kod:
L 12/27/2021 - 20:04:19: Tarih 27/12/2021 | Saat 20:04:19 | Map de_dust2 | Gonderen : llllllllllllllll | Mesaji Alan : Walt | Mesaj : sa
PHP Kod:
#include <amxmodx>
#include <reapi>

new bool:g_Selected[MAX_CLIENTS+1], g_SecilenKisi[MAX_CLIENTS+1];

new const 
tag[] = "WA";

public 
plugin_init() 
{
    register_plugin("AdminUserMesaj""0.1""LyNcH");

    register_clcmd("say /adminpm""@kontrol");
    register_clcmd("Mesaj_Gir""@_Mesaj_Gir");
}

public 
client_disconnected(id) {
    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;
}

@
kontrol(const id) {
    new AdminCount 0;
    for(new 0MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
            AdminCount++;
        }
    }

    if(AdminCount == 0) {
        client_print_color(idid"^1[^3%s^1] ^4Aktif admin bulunmamakta ^1!"tag);
        return PLUGIN_HANDLED;
    }

    if(get_user_flags(id) & ADMIN_KICK) {
        @userpmmenu(id);
    }
    else {
        @adminpmmenu(id);
    }
    return PLUGIN_HANDLED;
}

@
adminpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rAdmin Mesajlasma"tag), "@_adminpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("ADMIN | %n"i), szStr);
        }
    }

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_adminpmmenu(const id, const menu, const item) {
    if(item == MENU_EXIT) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
userpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rUser Mesajlasma"tag), "@_userpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && !(get_user_flags(i) & ADMIN_KICK)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("USER | %n"i), szStr);
        }
    }

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_userpmmenu(const id, const menu, const item) {
    if(item == MENU_EXIT) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
_Mesaj_Gir(const id) {
    if(!g_Selected[id]) {
        client_print_color(idid"^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!"tag);
        return PLUGIN_HANDLED;
    }

    new Say[300];
    read_args(Saycharsmax(Say));
    remove_quotes(Say);

    if(Say[0] == EOS) {
        client_print_color(idid"^1[^3%s^1] ^4Bos Mesaj Gonderemezsin ^1!"tag);
        return PLUGIN_HANDLED
    }

    set_dhudmessage(2552552550.330.1600.01.02.01.0);
    ShowSyncHudMsg(g_SecilenKisi[id], CreateHudSyncObj(), "Bir Mesaj Aldiniz | Cevaplamak Icin /adminpm Yazip Oyuncuyu Secebilirsiniz");

    client_print_color(idid"^1[^3%s^1] ^4Basariyla Mesaj Gonderildi ^1!"tag);
    client_print_color(g_SecilenKisi[id], g_SecilenKisi[id], "^4(AdminPM) ^1%n^3: ^4%s"idSay);

    new CurrentTime[9],CurrentDay[16], szMapName[33];
    get_time("%H:%M:%S"CurrentTimecharsmax(CurrentTime));
    get_time("%d/%m/%Y"CurrentDaycharsmax(CurrentDay));
    rh_get_mapname(szMapNamecharsmax(szMapName), MNT_SET);
    log_to_file("adminchat.txt""Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s"CurrentDayCurrentTimeszMapNameidg_SecilenKisi[id], Say);

    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;

    return PLUGIN_HANDLED;

Test ettim eklenti çalışıyor. ama birkaç düzenleme yapılırsa on numara bi eklenti çıkıcak ortaya.

1. oyundaki specbotlar oyuncu listesinde görünüyor boşuna karmaşa yaratıyor onun düzelmesi lazım.
2. ekranın ortasında çıkan mesaj hud olarak değilde şu alttaki formatta olursa daha iyi
o3xyxib
3. bu menüye "son mesaj atan kisiyi cevapla" gibi bir secenek eklenirse daha kullanışlı olur.
Son Düzenleme: 27-12-2021, 21:08, Düzenleyen: Bixi.
#4
Deneyin ;

PHP Kod:
#include <amxmodx>
#include <reapi>

new bool:g_Selected[MAX_CLIENTS+1], g_SecilenKisi[MAX_CLIENTS+1], g_SonMesajAtanKisi[MAX_CLIENTS+1];

new const 
tag[] = "WA";

public 
plugin_init() 
{
    register_plugin("AdminUserMesaj""0.1""LyNcH");

    register_clcmd("say /adminpm""@kontrol");
    register_clcmd("Mesaj_Gir""@_Mesaj_Gir");
}

public 
client_disconnected(id) {
    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;
    g_SonMesajAtanKisi[id] = 0;
}

@
kontrol(const id) {
    new AdminCount 0;
    for(new 0MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
            AdminCount++;
        }
    }

    if(AdminCount == 0) {
        client_print_color(idid"^1[^3%s^1] ^4Aktif admin bulunmamakta ^1!"tag);
        return PLUGIN_HANDLED;
    }

    if(get_user_flags(id) & ADMIN_KICK) {
        @userpmmenu(id);
    }
    else {
        @adminpmmenu(id);
    }
    return PLUGIN_HANDLED;
}

@
adminpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rAdmin Mesajlasma"tag), "@_adminpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("ADMIN | %n"i), szStr);
        }
    }

    menu_additem(menufmt("\w[\y%s\w] \rSon Mesaji Cevapla %s"tagg_SonMesajAtanKisi[id] ? fmt("\w[\y%n\w]"g_SonMesajAtanKisi[id]):"[Mesaj Yok]"));

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_adminpmmenu(const id, const menu, const item) {
    if(item == MENU_EXIT) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    if(item == 1) {
        g_SecilenKisi[id] = g_SonMesajAtanKisi[id];
        g_Selected[id] = true;
        client_cmd(id"messagemode Mesaj_Gir");
        client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);
        return PLUGIN_HANDLED;
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
userpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rUser Mesajlasma"tag), "@_userpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && !(get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("USER | %n"i), szStr);
        }
    }

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_userpmmenu(const id, const menu, const item) {
    if(item == MENU_EXIT) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
_Mesaj_Gir(const id) {
    if(!g_Selected[id]) {
        client_print_color(idid"^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!"tag);
        return PLUGIN_HANDLED;
    }

    new Say[300];
    read_args(Saycharsmax(Say));
    remove_quotes(Say);

    if(Say[0] == EOS) {
        client_print_color(idid"^1[^3%s^1] ^4Bos Mesaj Gonderemezsin ^1!"tag);
        return PLUGIN_HANDLED
    }

    client_print(g_SecilenKisi[id], print_center"Bir Mesaj Aldiniz | Cevaplamak Icin /adminpm Yazip Oyuncuyu Secebilirsiniz");
    client_print_color(idid"^1[^3%s^1] ^4Basariyla Mesaj Gonderildi ^1!"tag);
    client_print_color(g_SecilenKisi[id], g_SecilenKisi[id], "^4(AdminPM) ^1%n^3: ^4%s"idSay);


    new CurrentTime[9],CurrentDay[16], szMapName[33];
    get_time("%H:%M:%S"CurrentTimecharsmax(CurrentTime));
    get_time("%d/%m/%Y"CurrentDaycharsmax(CurrentDay));
    rh_get_mapname(szMapNamecharsmax(szMapName), MNT_SET);
    log_to_file("adminchat.txt""Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s"CurrentDayCurrentTimeszMapNameidg_SecilenKisi[id], Say);

    g_SonMesajAtanKisi[g_SecilenKisi[id]] = id;
    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;

    return PLUGIN_HANDLED;

Discord: Lynchk | Steam: Tıkla
#5
(27-12-2021, 21:20)orucoglukayra Adlı Kullanıcıdan Alıntı: Deneyin ;

PHP Kod:
#include <amxmodx>
#include <reapi>

new bool:g_Selected[MAX_CLIENTS+1], g_SecilenKisi[MAX_CLIENTS+1], g_SonMesajAtanKisi[MAX_CLIENTS+1];

new const 
tag[] = "WA";

public 
plugin_init() 
{
    register_plugin("AdminUserMesaj""0.1""LyNcH");

    register_clcmd("say /adminpm""@kontrol");
    register_clcmd("Mesaj_Gir""@_Mesaj_Gir");
}

public 
client_disconnected(id) {
    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;
    g_SonMesajAtanKisi[id] = 0;
}

@
kontrol(const id) {
    new AdminCount 0;
    for(new 0MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
            AdminCount++;
        }
    }

    if(AdminCount == 0) {
        client_print_color(idid"^1[^3%s^1] ^4Aktif admin bulunmamakta ^1!"tag);
        return PLUGIN_HANDLED;
    }

    if(get_user_flags(id) & ADMIN_KICK) {
        @userpmmenu(id);
    }
    else {
        @adminpmmenu(id);
    }
    return PLUGIN_HANDLED;
}

@
adminpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rAdmin Mesajlasma"tag), "@_adminpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("ADMIN | %n"i), szStr);
        }
    }

    menu_additem(menufmt("\w[\y%s\w] \rSon Mesaji Cevapla %s"tagg_SonMesajAtanKisi[id] ? fmt("\w[\y%n\w]"g_SonMesajAtanKisi[id]):"[Mesaj Yok]"));

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_adminpmmenu(const id, const menu, const item) {
    if(item == MENU_EXIT) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    if(item == 1) {
        g_SecilenKisi[id] = g_SonMesajAtanKisi[id];
        g_Selected[id] = true;
        client_cmd(id"messagemode Mesaj_Gir");
        client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);
        return PLUGIN_HANDLED;
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
userpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rUser Mesajlasma"tag), "@_userpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && !(get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("USER | %n"i), szStr);
        }
    }

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_userpmmenu(const id, const menu, const item) {
    if(item == MENU_EXIT) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
_Mesaj_Gir(const id) {
    if(!g_Selected[id]) {
        client_print_color(idid"^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!"tag);
        return PLUGIN_HANDLED;
    }

    new Say[300];
    read_args(Saycharsmax(Say));
    remove_quotes(Say);

    if(Say[0] == EOS) {
        client_print_color(idid"^1[^3%s^1] ^4Bos Mesaj Gonderemezsin ^1!"tag);
        return PLUGIN_HANDLED
    }

    client_print(g_SecilenKisi[id], print_center"Bir Mesaj Aldiniz | Cevaplamak Icin /adminpm Yazip Oyuncuyu Secebilirsiniz");
    client_print_color(idid"^1[^3%s^1] ^4Basariyla Mesaj Gonderildi ^1!"tag);
    client_print_color(g_SecilenKisi[id], g_SecilenKisi[id], "^4(AdminPM) ^1%n^3: ^4%s"idSay);


    new CurrentTime[9],CurrentDay[16], szMapName[33];
    get_time("%H:%M:%S"CurrentTimecharsmax(CurrentTime));
    get_time("%d/%m/%Y"CurrentDaycharsmax(CurrentDay));
    rh_get_mapname(szMapNamecharsmax(szMapName), MNT_SET);
    log_to_file("adminchat.txt""Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s"CurrentDayCurrentTimeszMapNameidg_SecilenKisi[id], Say);

    g_SonMesajAtanKisi[g_SecilenKisi[id]] = id;
    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;

    return PLUGIN_HANDLED;

Adminken menü açılıyor ama user /adminpm yazınca menü gelmiyor.

(27-12-2021, 21:35)Bixi Adlı Kullanıcıdan Alıntı:
(27-12-2021, 21:20)orucoglukayra Adlı Kullanıcıdan Alıntı: Deneyin ;

PHP Kod:
#include <amxmodx>
#include <reapi>

new bool:g_Selected[MAX_CLIENTS+1], g_SecilenKisi[MAX_CLIENTS+1], g_SonMesajAtanKisi[MAX_CLIENTS+1];

new const 
tag[] = "WA";

public 
plugin_init() 
{
    register_plugin("AdminUserMesaj""0.1""LyNcH");

    register_clcmd("say /adminpm""@kontrol");
    register_clcmd("Mesaj_Gir""@_Mesaj_Gir");
}

public 
client_disconnected(id) {
    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;
    g_SonMesajAtanKisi[id] = 0;
}

@
kontrol(const id) {
    new AdminCount 0;
    for(new 0MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
            AdminCount++;
        }
    }

    if(AdminCount == 0) {
        client_print_color(idid"^1[^3%s^1] ^4Aktif admin bulunmamakta ^1!"tag);
        return PLUGIN_HANDLED;
    }

    if(get_user_flags(id) & ADMIN_KICK) {
        @userpmmenu(id);
    }
    else {
        @adminpmmenu(id);
    }
    return PLUGIN_HANDLED;
}

@
adminpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rAdmin Mesajlasma"tag), "@_adminpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("ADMIN | %n"i), szStr);
        }
    }

    menu_additem(menufmt("\w[\y%s\w] \rSon Mesaji Cevapla %s"tagg_SonMesajAtanKisi[id] ? fmt("\w[\y%n\w]"g_SonMesajAtanKisi[id]):"[Mesaj Yok]"));

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_adminpmmenu(const id, const menu, const item) {
    if(item == MENU_EXIT) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    if(item == 1) {
        g_SecilenKisi[id] = g_SonMesajAtanKisi[id];
        g_Selected[id] = true;
        client_cmd(id"messagemode Mesaj_Gir");
        client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);
        return PLUGIN_HANDLED;
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
userpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rUser Mesajlasma"tag), "@_userpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && !(get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("USER | %n"i), szStr);
        }
    }

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_userpmmenu(const id, const menu, const item) {
    if(item == MENU_EXIT) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
_Mesaj_Gir(const id) {
    if(!g_Selected[id]) {
        client_print_color(idid"^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!"tag);
        return PLUGIN_HANDLED;
    }

    new Say[300];
    read_args(Saycharsmax(Say));
    remove_quotes(Say);

    if(Say[0] == EOS) {
        client_print_color(idid"^1[^3%s^1] ^4Bos Mesaj Gonderemezsin ^1!"tag);
        return PLUGIN_HANDLED
    }

    client_print(g_SecilenKisi[id], print_center"Bir Mesaj Aldiniz | Cevaplamak Icin /adminpm Yazip Oyuncuyu Secebilirsiniz");
    client_print_color(idid"^1[^3%s^1] ^4Basariyla Mesaj Gonderildi ^1!"tag);
    client_print_color(g_SecilenKisi[id], g_SecilenKisi[id], "^4(AdminPM) ^1%n^3: ^4%s"idSay);


    new CurrentTime[9],CurrentDay[16], szMapName[33];
    get_time("%H:%M:%S"CurrentTimecharsmax(CurrentTime));
    get_time("%d/%m/%Y"CurrentDaycharsmax(CurrentDay));
    rh_get_mapname(szMapNamecharsmax(szMapName), MNT_SET);
    log_to_file("adminchat.txt""Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s"CurrentDayCurrentTimeszMapNameidg_SecilenKisi[id], Say);

    g_SonMesajAtanKisi[g_SecilenKisi[id]] = id;
    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;

    return PLUGIN_HANDLED;

Adminken menü açılıyor ama user /adminpm yazınca menü gelmiyor.

Düzeltme : admin usere mesaj atarsa menü açılıyor userde. ama son mesajı cevapla bölümü hala yok gibi.
Son Düzenleme: 27-12-2021, 21:40, Düzenleyen: Bixi.
#6
İkinci menüye eklemeyi unutmuşum, dene bakalım ;
Ayrıca botlarla deniyorsan menüde botlar listelenmeyecek.

PHP Kod:
#include <amxmodx>
#include <reapi>

new bool:g_Selected[MAX_CLIENTS+1], g_SecilenKisi[MAX_CLIENTS+1], g_SonMesajAtanKisi[MAX_CLIENTS+1];

new const 
tag[] = "WA";

public 
plugin_init() 
{
    register_plugin("AdminUserMesaj""0.1""LyNcH");

    register_clcmd("say /adminpm""@kontrol");
    register_clcmd("Mesaj_Gir""@_Mesaj_Gir");
}

public 
client_disconnected(id) {
    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;
    g_SonMesajAtanKisi[id] = 0;
}

@
kontrol(const id) {
    new AdminCount 0;
    for(new 0MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
            AdminCount++;
        }
    }

    if(AdminCount == 0) {
        client_print_color(idid"^1[^3%s^1] ^4Aktif admin bulunmamakta ^1!"tag);
        return PLUGIN_HANDLED;
    }

    if(get_user_flags(id) & ADMIN_KICK) {
        @userpmmenu(id);
    }
    else {
        @adminpmmenu(id);
    }
    return PLUGIN_HANDLED;
}

@
adminpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rAdmin Mesajlasma"tag), "@_adminpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("ADMIN | %n"i), szStr);
        }
    }

    menu_additem(menufmt("\w[\y%s\w] \rSon Mesaji Cevapla %s"tagg_SonMesajAtanKisi[id] ? fmt("\w[\y%n\w]"g_SonMesajAtanKisi[id]):"[Mesaj Yok]"));

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_adminpmmenu(const id, const menu, const item) {
    switch(item)
    {
        case MENU_EXIT:
        {
            menu_destroy(menu);
            return PLUGIN_HANDLED;
        }
        case 1:
        {
            if(g_SonMesajAtanKisi[id]) {
                g_SecilenKisi[id] = g_SonMesajAtanKisi[id];
                g_Selected[id] = true;
                client_cmd(id"messagemode Mesaj_Gir");
                client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);
            }
            else client_print_color(idid"^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!"tag);
            return PLUGIN_HANDLED;
        }
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
userpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rUser Mesajlasma"tag), "@_userpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && !is_user_bot(i) && !(get_user_flags(i) & ADMIN_KICK)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("USER | %n"i), szStr);
        }
    }

    menu_additem(menufmt("\w[\y%s\w] \rSon Mesaji Cevapla %s"tagg_SonMesajAtanKisi[id] ? fmt("\w[\y%n\w]"g_SonMesajAtanKisi[id]):"[Mesaj Yok]"));

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_userpmmenu(const id, const menu, const item) {
    switch(item)
    {
        case MENU_EXIT:
        {
            menu_destroy(menu);
            return PLUGIN_HANDLED;
        }
        case 1:
        {
            if(g_SonMesajAtanKisi[id]) {
                g_SecilenKisi[id] = g_SonMesajAtanKisi[id];
                g_Selected[id] = true;
                client_cmd(id"messagemode Mesaj_Gir");
                client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);
            }
            else client_print_color(idid"^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!"tag);
            return PLUGIN_HANDLED;
        }
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
_Mesaj_Gir(const id) {
    if(!g_Selected[id]) {
        client_print_color(idid"^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!"tag);
        return PLUGIN_HANDLED;
    }

    new Say[300];
    read_args(Saycharsmax(Say));
    remove_quotes(Say);

    if(Say[0] == EOS) {
        client_print_color(idid"^1[^3%s^1] ^4Bos Mesaj Gonderemezsin ^1!"tag);
        return PLUGIN_HANDLED
    }

    client_print(g_SecilenKisi[id], print_center"Bir Mesaj Aldiniz | Cevaplamak Icin /adminpm Yazip Oyuncuyu Secebilirsiniz");
    client_print_color(idid"^1[^3%s^1] ^4Basariyla Mesaj Gonderildi ^1!"tag);
    client_print_color(g_SecilenKisi[id], g_SecilenKisi[id], "^4(AdminPM) ^1%n^3: ^4%s"idSay);


    new CurrentTime[9],CurrentDay[16], szMapName[33];
    get_time("%H:%M:%S"CurrentTimecharsmax(CurrentTime));
    get_time("%d/%m/%Y"CurrentDaycharsmax(CurrentDay));
    rh_get_mapname(szMapNamecharsmax(szMapName), MNT_SET);
    log_to_file("adminchat.txt""Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s"CurrentDayCurrentTimeszMapNameidg_SecilenKisi[id], Say);

    g_SonMesajAtanKisi[g_SecilenKisi[id]] = id;
    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;

    return PLUGIN_HANDLED;

Discord: Lynchk | Steam: Tıkla
#7
(27-12-2021, 21:42)orucoglukayra Adlı Kullanıcıdan Alıntı: İkinci menüye eklemeyi unutmuşum, dene bakalım ;
Ayrıca botlarla deniyorsan menüde botlar listelenmeyecek.

PHP Kod:
#include <amxmodx>
#include <reapi>

new bool:g_Selected[MAX_CLIENTS+1], g_SecilenKisi[MAX_CLIENTS+1], g_SonMesajAtanKisi[MAX_CLIENTS+1];

new const 
tag[] = "WA";

public 
plugin_init() 
{
    register_plugin("AdminUserMesaj""0.1""LyNcH");

    register_clcmd("say /adminpm""@kontrol");
    register_clcmd("Mesaj_Gir""@_Mesaj_Gir");
}

public 
client_disconnected(id) {
    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;
    g_SonMesajAtanKisi[id] = 0;
}

@
kontrol(const id) {
    new AdminCount 0;
    for(new 0MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
            AdminCount++;
        }
    }

    if(AdminCount == 0) {
        client_print_color(idid"^1[^3%s^1] ^4Aktif admin bulunmamakta ^1!"tag);
        return PLUGIN_HANDLED;
    }

    if(get_user_flags(id) & ADMIN_KICK) {
        @userpmmenu(id);
    }
    else {
        @adminpmmenu(id);
    }
    return PLUGIN_HANDLED;
}

@
adminpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rAdmin Mesajlasma"tag), "@_adminpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("ADMIN | %n"i), szStr);
        }
    }

    menu_additem(menufmt("\w[\y%s\w] \rSon Mesaji Cevapla %s"tagg_SonMesajAtanKisi[id] ? fmt("\w[\y%n\w]"g_SonMesajAtanKisi[id]):"[Mesaj Yok]"));

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_adminpmmenu(const id, const menu, const item) {
    switch(item)
    {
        case MENU_EXIT:
        {
            menu_destroy(menu);
            return PLUGIN_HANDLED;
        }
        case 1:
        {
            if(g_SonMesajAtanKisi[id]) {
                g_SecilenKisi[id] = g_SonMesajAtanKisi[id];
                g_Selected[id] = true;
                client_cmd(id"messagemode Mesaj_Gir");
                client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);
            }
            else client_print_color(idid"^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!"tag);
            return PLUGIN_HANDLED;
        }
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
userpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rUser Mesajlasma"tag), "@_userpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && !is_user_bot(i) && !(get_user_flags(i) & ADMIN_KICK)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("USER | %n"i), szStr);
        }
    }

    menu_additem(menufmt("\w[\y%s\w] \rSon Mesaji Cevapla %s"tagg_SonMesajAtanKisi[id] ? fmt("\w[\y%n\w]"g_SonMesajAtanKisi[id]):"[Mesaj Yok]"));

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_userpmmenu(const id, const menu, const item) {
    switch(item)
    {
        case MENU_EXIT:
        {
            menu_destroy(menu);
            return PLUGIN_HANDLED;
        }
        case 1:
        {
            if(g_SonMesajAtanKisi[id]) {
                g_SecilenKisi[id] = g_SonMesajAtanKisi[id];
                g_Selected[id] = true;
                client_cmd(id"messagemode Mesaj_Gir");
                client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);
            }
            else client_print_color(idid"^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!"tag);
            return PLUGIN_HANDLED;
        }
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
_Mesaj_Gir(const id) {
    if(!g_Selected[id]) {
        client_print_color(idid"^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!"tag);
        return PLUGIN_HANDLED;
    }

    new Say[300];
    read_args(Saycharsmax(Say));
    remove_quotes(Say);

    if(Say[0] == EOS) {
        client_print_color(idid"^1[^3%s^1] ^4Bos Mesaj Gonderemezsin ^1!"tag);
        return PLUGIN_HANDLED
    }

    client_print(g_SecilenKisi[id], print_center"Bir Mesaj Aldiniz | Cevaplamak Icin /adminpm Yazip Oyuncuyu Secebilirsiniz");
    client_print_color(idid"^1[^3%s^1] ^4Basariyla Mesaj Gonderildi ^1!"tag);
    client_print_color(g_SecilenKisi[id], g_SecilenKisi[id], "^4(AdminPM) ^1%n^3: ^4%s"idSay);


    new CurrentTime[9],CurrentDay[16], szMapName[33];
    get_time("%H:%M:%S"CurrentTimecharsmax(CurrentTime));
    get_time("%d/%m/%Y"CurrentDaycharsmax(CurrentDay));
    rh_get_mapname(szMapNamecharsmax(szMapName), MNT_SET);
    log_to_file("adminchat.txt""Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s"CurrentDayCurrentTimeszMapNameidg_SecilenKisi[id], Say);

    g_SonMesajAtanKisi[g_SecilenKisi[id]] = id;
    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;

    return PLUGIN_HANDLED;

Yok botlarla değil arkadaşımla hlsw kurduk orda deniyorum. Şimdi ne admin nede user acabiliyor menüyü Gülümse
#8
(27-12-2021, 21:47)Bixi Adlı Kullanıcıdan Alıntı:
(27-12-2021, 21:42)orucoglukayra Adlı Kullanıcıdan Alıntı: İkinci menüye eklemeyi unutmuşum, dene bakalım ;
Ayrıca botlarla deniyorsan menüde botlar listelenmeyecek.

PHP Kod:
#include <amxmodx>
#include <reapi>

new bool:g_Selected[MAX_CLIENTS+1], g_SecilenKisi[MAX_CLIENTS+1], g_SonMesajAtanKisi[MAX_CLIENTS+1];

new const 
tag[] = "WA";

public 
plugin_init() 
{
    register_plugin("AdminUserMesaj""0.1""LyNcH");

    register_clcmd("say /adminpm""@kontrol");
    register_clcmd("Mesaj_Gir""@_Mesaj_Gir");
}

public 
client_disconnected(id) {
    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;
    g_SonMesajAtanKisi[id] = 0;
}

@
kontrol(const id) {
    new AdminCount 0;
    for(new 0MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
            AdminCount++;
        }
    }

    if(AdminCount == 0) {
        client_print_color(idid"^1[^3%s^1] ^4Aktif admin bulunmamakta ^1!"tag);
        return PLUGIN_HANDLED;
    }

    if(get_user_flags(id) & ADMIN_KICK) {
        @userpmmenu(id);
    }
    else {
        @adminpmmenu(id);
    }
    return PLUGIN_HANDLED;
}

@
adminpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rAdmin Mesajlasma"tag), "@_adminpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("ADMIN | %n"i), szStr);
        }
    }

    menu_additem(menufmt("\w[\y%s\w] \rSon Mesaji Cevapla %s"tagg_SonMesajAtanKisi[id] ? fmt("\w[\y%n\w]"g_SonMesajAtanKisi[id]):"[Mesaj Yok]"));

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_adminpmmenu(const id, const menu, const item) {
    switch(item)
    {
        case MENU_EXIT:
        {
            menu_destroy(menu);
            return PLUGIN_HANDLED;
        }
        case 1:
        {
            if(g_SonMesajAtanKisi[id]) {
                g_SecilenKisi[id] = g_SonMesajAtanKisi[id];
                g_Selected[id] = true;
                client_cmd(id"messagemode Mesaj_Gir");
                client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);
            }
            else client_print_color(idid"^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!"tag);
            return PLUGIN_HANDLED;
        }
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
userpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rUser Mesajlasma"tag), "@_userpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && !is_user_bot(i) && !(get_user_flags(i) & ADMIN_KICK)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("USER | %n"i), szStr);
        }
    }

    menu_additem(menufmt("\w[\y%s\w] \rSon Mesaji Cevapla %s"tagg_SonMesajAtanKisi[id] ? fmt("\w[\y%n\w]"g_SonMesajAtanKisi[id]):"[Mesaj Yok]"));

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_userpmmenu(const id, const menu, const item) {
    switch(item)
    {
        case MENU_EXIT:
        {
            menu_destroy(menu);
            return PLUGIN_HANDLED;
        }
        case 1:
        {
            if(g_SonMesajAtanKisi[id]) {
                g_SecilenKisi[id] = g_SonMesajAtanKisi[id];
                g_Selected[id] = true;
                client_cmd(id"messagemode Mesaj_Gir");
                client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);
            }
            else client_print_color(idid"^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!"tag);
            return PLUGIN_HANDLED;
        }
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
_Mesaj_Gir(const id) {
    if(!g_Selected[id]) {
        client_print_color(idid"^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!"tag);
        return PLUGIN_HANDLED;
    }

    new Say[300];
    read_args(Saycharsmax(Say));
    remove_quotes(Say);

    if(Say[0] == EOS) {
        client_print_color(idid"^1[^3%s^1] ^4Bos Mesaj Gonderemezsin ^1!"tag);
        return PLUGIN_HANDLED
    }

    client_print(g_SecilenKisi[id], print_center"Bir Mesaj Aldiniz | Cevaplamak Icin /adminpm Yazip Oyuncuyu Secebilirsiniz");
    client_print_color(idid"^1[^3%s^1] ^4Basariyla Mesaj Gonderildi ^1!"tag);
    client_print_color(g_SecilenKisi[id], g_SecilenKisi[id], "^4(AdminPM) ^1%n^3: ^4%s"idSay);


    new CurrentTime[9],CurrentDay[16], szMapName[33];
    get_time("%H:%M:%S"CurrentTimecharsmax(CurrentTime));
    get_time("%d/%m/%Y"CurrentDaycharsmax(CurrentDay));
    rh_get_mapname(szMapNamecharsmax(szMapName), MNT_SET);
    log_to_file("adminchat.txt""Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s"CurrentDayCurrentTimeszMapNameidg_SecilenKisi[id], Say);

    g_SonMesajAtanKisi[g_SecilenKisi[id]] = id;
    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;

    return PLUGIN_HANDLED;

Yok botlarla değil arkadaşımla hlsw kurduk orda deniyorum. Şimdi ne admin nede user acabiliyor menüyü Gülümse
Az önce denedim bir sıkıntı göremedim.
Ikinizde yetkiliyseniz birbirinizi göremezsiniz.
Oyle degilse eklentiyi debuglayin menuye girmeye calisinca hata basar onu atın.
Discord: Lynchk | Steam: Tıkla
#9
(27-12-2021, 22:08)orucoglukayra Adlı Kullanıcıdan Alıntı:
(27-12-2021, 21:47)Bixi Adlı Kullanıcıdan Alıntı: Yok botlarla değil arkadaşımla hlsw kurduk orda deniyorum. Şimdi ne admin nede user acabiliyor menüyü Gülümse
Az önce denedim bir sıkıntı göremedim.
Ikinizde yetkiliyseniz birbirinizi göremezsiniz.
Oyle degilse eklentiyi debuglayin menuye girmeye calisinca hata basar onu atın.
debugladım ama hicbir hata loglamadı. birimiz admin birimiz user olarak deniyoruz ama ikimizde /adminpm yazınca hicbir menü acılmıyor. ilk attığında bu yoktu acaba birseyler yanlıs olablir mi?
#10
Bu şekilde dene, son mesajı cevaplayı kapattım.Sorun büyük ihtimal burada.Bu şekilde menü açılırsa ikinci attığımı dene ;
PHP Kod:
#include <amxmodx>
#include <reapi>

new bool:g_Selected[MAX_CLIENTS+1], g_SecilenKisi[MAX_CLIENTS+1], g_SonMesajAtanKisi[MAX_CLIENTS+1];

new const 
tag[] = "WA";

public 
plugin_init() 
{
    register_plugin("AdminUserMesaj""0.1""LyNcH");

    register_clcmd("say /adminpm""@kontrol");
    register_clcmd("Mesaj_Gir""@_Mesaj_Gir");
}

public 
client_disconnected(id) {
    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;
    g_SonMesajAtanKisi[id] = 0;
}

@
kontrol(const id) {
    new AdminCount 0;
    for(new 0MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
            AdminCount++;
        }
    }

    if(AdminCount == 0) {
        client_print_color(idid"^1[^3%s^1] ^4Aktif admin bulunmamakta ^1!"tag);
        return PLUGIN_HANDLED;
    }

    if(get_user_flags(id) & ADMIN_KICK) {
        @userpmmenu(id);
    }
    else {
        @adminpmmenu(id);
    }
    return PLUGIN_HANDLED;
}

@
adminpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rAdmin Mesajlasma"tag), "@_adminpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("ADMIN | %n"i), szStr);
        }
    }

    // menu_additem(menu, fmt("\w[\y%s\w] \rSon Mesaji Cevapla %s", tag, g_SonMesajAtanKisi[id] ? fmt("\w[\y%n\w]", g_SonMesajAtanKisi[id]):"[Mesaj Yok]"));

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_adminpmmenu(const id, const menu, const item) {
    switch(item)
    {
        case MENU_EXIT:
        {
            menu_destroy(menu);
            return PLUGIN_HANDLED;
        }
        case 1:
        {
            if(g_SonMesajAtanKisi[id]) {
                g_SecilenKisi[id] = g_SonMesajAtanKisi[id];
                g_Selected[id] = true;
                client_cmd(id"messagemode Mesaj_Gir");
                client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);
            }
            else client_print_color(idid"^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!"tag);
            return PLUGIN_HANDLED;
        }
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
userpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rUser Mesajlasma"tag), "@_userpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && !is_user_bot(i) && !(get_user_flags(i) & ADMIN_KICK)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("USER | %n"i), szStr);
        }
    }

    // menu_additem(menu, fmt("\w[\y%s\w] \rSon Mesaji Cevapla %s", tag, g_SonMesajAtanKisi[id] ? fmt("\w[\y%n\w]", g_SonMesajAtanKisi[id]):"[Mesaj Yok]"));

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_userpmmenu(const id, const menu, const item) {
    switch(item)
    {
        case MENU_EXIT:
        {
            menu_destroy(menu);
            return PLUGIN_HANDLED;
        }
        case 1:
        {
            if(g_SonMesajAtanKisi[id]) {
                g_SecilenKisi[id] = g_SonMesajAtanKisi[id];
                g_Selected[id] = true;
                client_cmd(id"messagemode Mesaj_Gir");
                client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);
            }
            else client_print_color(idid"^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!"tag);
            return PLUGIN_HANDLED;
        }
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
_Mesaj_Gir(const id) {
    if(!g_Selected[id]) {
        client_print_color(idid"^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!"tag);
        return PLUGIN_HANDLED;
    }

    new Say[300];
    read_args(Saycharsmax(Say));
    remove_quotes(Say);

    if(Say[0] == EOS) {
        client_print_color(idid"^1[^3%s^1] ^4Bos Mesaj Gonderemezsin ^1!"tag);
        return PLUGIN_HANDLED
    }

    client_print(g_SecilenKisi[id], print_center"Bir Mesaj Aldiniz | Cevaplamak Icin /adminpm Yazip Oyuncuyu Secebilirsiniz");
    client_print_color(idid"^1[^3%s^1] ^4Basariyla Mesaj Gonderildi ^1!"tag);
    client_print_color(g_SecilenKisi[id], g_SecilenKisi[id], "^4(AdminPM) ^1%n^3: ^4%s"idSay);


    new CurrentTime[9],CurrentDay[16], szMapName[33];
    get_time("%H:%M:%S"CurrentTimecharsmax(CurrentTime));
    get_time("%d/%m/%Y"CurrentDaycharsmax(CurrentDay));
    rh_get_mapname(szMapNamecharsmax(szMapName), MNT_SET);
    log_to_file("adminchat.txt""Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s"CurrentDayCurrentTimeszMapNameidg_SecilenKisi[id], Say);

    g_SonMesajAtanKisi[g_SecilenKisi[id]] = id;
    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;

    return PLUGIN_HANDLED;

Üstteki menü açılırsa bunu deneyin ( Büyük ihtimal düzelmesi gerek.Olmazsa yarın ilgilenebilirim. ) ;
PHP Kod:
#include <amxmodx>
#include <reapi>

new bool:g_Selected[MAX_CLIENTS+1], g_SecilenKisi[MAX_CLIENTS+1], g_SonMesajAtanKisi[MAX_CLIENTS+1];

new const 
tag[] = "WA";

public 
plugin_init() 
{
    register_plugin("AdminUserMesaj""0.1""LyNcH");

    register_clcmd("say /adminpm""@kontrol");
    register_clcmd("Mesaj_Gir""@_Mesaj_Gir");
}

public 
client_disconnected(id) {
    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;
    g_SonMesajAtanKisi[id] = 0;
}

@
kontrol(const id) {
    new AdminCount 0;
    for(new 0MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
            AdminCount++;
        }
    }

    if(AdminCount == 0) {
        client_print_color(idid"^1[^3%s^1] ^4Aktif admin bulunmamakta ^1!"tag);
        return PLUGIN_HANDLED;
    }

    if(get_user_flags(id) & ADMIN_KICK) {
        @userpmmenu(id);
    }
    else {
        @adminpmmenu(id);
    }
    return PLUGIN_HANDLED;
}

@
adminpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rAdmin Mesajlasma"tag), "@_adminpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("ADMIN | %n"i), szStr);
        }
    }

    if(g_SonMesajAtanKisi[id]) {
        menu_additem(menufmt("\w[\y%s\w] \rSon Mesaji Cevapla %s"tagg_SonMesajAtanKisi[id]));
    }

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_adminpmmenu(const id, const menu, const item) {
    switch(item)
    {
        case MENU_EXIT:
        {
            menu_destroy(menu);
            return PLUGIN_HANDLED;
        }
        case 1:
        {
            if(g_SonMesajAtanKisi[id]) {
                g_SecilenKisi[id] = g_SonMesajAtanKisi[id];
                g_Selected[id] = true;
                client_cmd(id"messagemode Mesaj_Gir");
                client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);
            }
            else client_print_color(idid"^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!"tag);
            return PLUGIN_HANDLED;
        }
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
userpmmenu(const id) {
    new menu menu_create(fmt("\w[\y%s\w] \rUser Mesajlasma"tag), "@_userpmmenu");

    for(new 1szStr[3]; <= MaxClientsi++) {
        if(is_user_connected(i) && !is_user_bot(i) && !(get_user_flags(i) & ADMIN_KICK)) {
            num_to_str(iszStrcharsmax(szStr));
            menu_additem(menufmt("USER | %n"i), szStr);
        }
    }

    if(g_SonMesajAtanKisi[id]) {
        menu_additem(menufmt("\w[\y%s\w] \rSon Mesaji Cevapla %s"tagg_SonMesajAtanKisi[id]));
    }

    menu_setprop(menuMPROP_EXITNAME"\rCikis");
    menu_display(idmenu);
    return PLUGIN_HANDLED;
}

@
_userpmmenu(const id, const menu, const item) {
    switch(item)
    {
        case MENU_EXIT:
        {
            menu_destroy(menu);
            return PLUGIN_HANDLED;
        }
        case 1:
        {
            if(g_SonMesajAtanKisi[id]) {
                g_SecilenKisi[id] = g_SonMesajAtanKisi[id];
                g_Selected[id] = true;
                client_cmd(id"messagemode Mesaj_Gir");
                client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);
            }
            else client_print_color(idid"^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!"tag);
            return PLUGIN_HANDLED;
        }
    }

    new data[6], key;
    menu_item_getinfo(menuitem_datacharsmax(data));
    key str_to_num(data);
    g_SecilenKisi[id] = key;

    if(!is_user_connected(key)) {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }

    g_Selected[id] = true;
    client_cmd(id"messagemode Mesaj_Gir");
    client_print_color(idid"^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!"tag);

    menu_destroy(menu);
    return PLUGIN_HANDLED;
}

@
_Mesaj_Gir(const id) {
    if(!g_Selected[id]) {
        client_print_color(idid"^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!"tag);
        return PLUGIN_HANDLED;
    }

    new Say[300];
    read_args(Saycharsmax(Say));
    remove_quotes(Say);

    if(Say[0] == EOS) {
        client_print_color(idid"^1[^3%s^1] ^4Bos Mesaj Gonderemezsin ^1!"tag);
        return PLUGIN_HANDLED
    }

    client_print(g_SecilenKisi[id], print_center"Bir Mesaj Aldiniz | Cevaplamak Icin /adminpm Yazip Oyuncuyu Secebilirsiniz");
    client_print_color(idid"^1[^3%s^1] ^4Basariyla Mesaj Gonderildi ^1!"tag);
    client_print_color(g_SecilenKisi[id], g_SecilenKisi[id], "^4(AdminPM) ^1%n^3: ^4%s"idSay);


    new CurrentTime[9],CurrentDay[16], szMapName[33];
    get_time("%H:%M:%S"CurrentTimecharsmax(CurrentTime));
    get_time("%d/%m/%Y"CurrentDaycharsmax(CurrentDay));
    rh_get_mapname(szMapNamecharsmax(szMapName), MNT_SET);
    log_to_file("adminchat.txt""Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s"CurrentDayCurrentTimeszMapNameidg_SecilenKisi[id], Say);

    g_SonMesajAtanKisi[g_SecilenKisi[id]] = id;
    g_Selected[id] = false;
    g_SecilenKisi[id] = 0;

    return PLUGIN_HANDLED;

Discord: Lynchk | Steam: Tıkla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task
Kayıt Ol
Discord Adresimize Katılın