Şö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.
Konu
Dene bakalım ;
Eklentide hata/bug olabilir bildirirseniz düzeltiriz.
Loglar addons\amxmodx\logs\adminchat.txt içine örnekteki gibi loglanır ;
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 i = 0; i < MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
AdminCount++;
}
}
if(AdminCount == 0) {
client_print_color(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("ADMIN | %n", i), szStr);
}
}
menu_setprop(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(menu, item, _, data, charsmax(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(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && !(get_user_flags(i) & ADMIN_KICK)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("USER | %n", i), szStr);
}
}
menu_setprop(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(menu, item, _, data, charsmax(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(id, id, "^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(id, id, "^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!", tag);
return PLUGIN_HANDLED;
}
new Say[300];
read_args(Say, charsmax(Say));
remove_quotes(Say);
if(Say[0] == EOS) {
client_print_color(id, id, "^1[^3%s^1] ^4Bos Mesaj Gonderemezsin ^1!", tag);
return PLUGIN_HANDLED;
}
set_dhudmessage(255, 255, 255, 0.33, 0.16, 0, 0.0, 1.0, 2.0, 1.0);
ShowSyncHudMsg(g_SecilenKisi[id], CreateHudSyncObj(), "Bir Mesaj Aldiniz | Cevaplamak Icin /adminpm Yazip Oyuncuyu Secebilirsiniz");
client_print_color(id, id, "^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", id, Say);
new CurrentTime[9],CurrentDay[16], szMapName[33];
get_time("%H:%M:%S", CurrentTime, charsmax(CurrentTime));
get_time("%d/%m/%Y", CurrentDay, charsmax(CurrentDay));
rh_get_mapname(szMapName, charsmax(szMapName), MNT_SET);
log_to_file("adminchat.txt", "Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s", CurrentDay, CurrentTime, szMapName, id, g_SecilenKisi[id], Say);
g_Selected[id] = false;
g_SecilenKisi[id] = 0;
return PLUGIN_HANDLED;
}
(27-12-2021, 20:07)orucoglukayra Adlı Kullanıcıdan Alıntı: Dene bakalım ;Test ettim eklenti çalışıyor. ama birkaç düzenleme yapılırsa on numara bi eklenti çıkıcak ortaya.
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 i = 0; i < MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
AdminCount++;
}
}
if(AdminCount == 0) {
client_print_color(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("ADMIN | %n", i), szStr);
}
}
menu_setprop(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(menu, item, _, data, charsmax(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(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && !(get_user_flags(i) & ADMIN_KICK)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("USER | %n", i), szStr);
}
}
menu_setprop(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(menu, item, _, data, charsmax(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(id, id, "^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(id, id, "^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!", tag);
return PLUGIN_HANDLED;
}
new Say[300];
read_args(Say, charsmax(Say));
remove_quotes(Say);
if(Say[0] == EOS) {
client_print_color(id, id, "^1[^3%s^1] ^4Bos Mesaj Gonderemezsin ^1!", tag);
return PLUGIN_HANDLED;
}
set_dhudmessage(255, 255, 255, 0.33, 0.16, 0, 0.0, 1.0, 2.0, 1.0);
ShowSyncHudMsg(g_SecilenKisi[id], CreateHudSyncObj(), "Bir Mesaj Aldiniz | Cevaplamak Icin /adminpm Yazip Oyuncuyu Secebilirsiniz");
client_print_color(id, id, "^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", id, Say);
new CurrentTime[9],CurrentDay[16], szMapName[33];
get_time("%H:%M:%S", CurrentTime, charsmax(CurrentTime));
get_time("%d/%m/%Y", CurrentDay, charsmax(CurrentDay));
rh_get_mapname(szMapName, charsmax(szMapName), MNT_SET);
log_to_file("adminchat.txt", "Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s", CurrentDay, CurrentTime, szMapName, id, g_SecilenKisi[id], Say);
g_Selected[id] = false;
g_SecilenKisi[id] = 0;
return PLUGIN_HANDLED;
}
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

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.
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 i = 0; i < MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
AdminCount++;
}
}
if(AdminCount == 0) {
client_print_color(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("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(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(id, id, "^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!", tag);
return PLUGIN_HANDLED;
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(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(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && !(get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("USER | %n", i), szStr);
}
}
menu_setprop(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(menu, item, _, data, charsmax(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(id, id, "^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(id, id, "^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!", tag);
return PLUGIN_HANDLED;
}
new Say[300];
read_args(Say, charsmax(Say));
remove_quotes(Say);
if(Say[0] == EOS) {
client_print_color(id, id, "^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(id, id, "^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", id, Say);
new CurrentTime[9],CurrentDay[16], szMapName[33];
get_time("%H:%M:%S", CurrentTime, charsmax(CurrentTime));
get_time("%d/%m/%Y", CurrentDay, charsmax(CurrentDay));
rh_get_mapname(szMapName, charsmax(szMapName), MNT_SET);
log_to_file("adminchat.txt", "Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s", CurrentDay, CurrentTime, szMapName, id, g_SecilenKisi[id], Say);
g_SonMesajAtanKisi[g_SecilenKisi[id]] = id;
g_Selected[id] = false;
g_SecilenKisi[id] = 0;
return PLUGIN_HANDLED;
}
(27-12-2021, 21:20)orucoglukayra Adlı Kullanıcıdan Alıntı: Deneyin ;Adminken menü açılıyor ama user /adminpm yazınca menü gelmiyor.
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 i = 0; i < MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
AdminCount++;
}
}
if(AdminCount == 0) {
client_print_color(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("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(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(id, id, "^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!", tag);
return PLUGIN_HANDLED;
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(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(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && !(get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("USER | %n", i), szStr);
}
}
menu_setprop(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(menu, item, _, data, charsmax(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(id, id, "^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(id, id, "^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!", tag);
return PLUGIN_HANDLED;
}
new Say[300];
read_args(Say, charsmax(Say));
remove_quotes(Say);
if(Say[0] == EOS) {
client_print_color(id, id, "^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(id, id, "^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", id, Say);
new CurrentTime[9],CurrentDay[16], szMapName[33];
get_time("%H:%M:%S", CurrentTime, charsmax(CurrentTime));
get_time("%d/%m/%Y", CurrentDay, charsmax(CurrentDay));
rh_get_mapname(szMapName, charsmax(szMapName), MNT_SET);
log_to_file("adminchat.txt", "Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s", CurrentDay, CurrentTime, szMapName, id, g_SecilenKisi[id], Say);
g_SonMesajAtanKisi[g_SecilenKisi[id]] = id;
g_Selected[id] = false;
g_SecilenKisi[id] = 0;
return PLUGIN_HANDLED;
}
(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 ;Adminken menü açılıyor ama user /adminpm yazınca menü gelmiyor.
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 i = 0; i < MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
AdminCount++;
}
}
if(AdminCount == 0) {
client_print_color(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("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(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(id, id, "^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!", tag);
return PLUGIN_HANDLED;
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(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(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && !(get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("USER | %n", i), szStr);
}
}
menu_setprop(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(menu, item, _, data, charsmax(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(id, id, "^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(id, id, "^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!", tag);
return PLUGIN_HANDLED;
}
new Say[300];
read_args(Say, charsmax(Say));
remove_quotes(Say);
if(Say[0] == EOS) {
client_print_color(id, id, "^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(id, id, "^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", id, Say);
new CurrentTime[9],CurrentDay[16], szMapName[33];
get_time("%H:%M:%S", CurrentTime, charsmax(CurrentTime));
get_time("%d/%m/%Y", CurrentDay, charsmax(CurrentDay));
rh_get_mapname(szMapName, charsmax(szMapName), MNT_SET);
log_to_file("adminchat.txt", "Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s", CurrentDay, CurrentTime, szMapName, id, g_SecilenKisi[id], Say);
g_SonMesajAtanKisi[g_SecilenKisi[id]] = id;
g_Selected[id] = false;
g_SecilenKisi[id] = 0;
return PLUGIN_HANDLED;
}
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.
İkinci menüye eklemeyi unutmuşum, dene bakalım ;
Ayrıca botlarla deniyorsan menüde botlar listelenmeyecek.
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 i = 0; i < MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
AdminCount++;
}
}
if(AdminCount == 0) {
client_print_color(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("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(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(id, id, "^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!", tag);
}
else client_print_color(id, id, "^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!", tag);
return PLUGIN_HANDLED;
}
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(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(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && !is_user_bot(i) && !(get_user_flags(i) & ADMIN_KICK)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("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(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(id, id, "^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!", tag);
}
else client_print_color(id, id, "^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!", tag);
return PLUGIN_HANDLED;
}
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(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(id, id, "^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(id, id, "^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!", tag);
return PLUGIN_HANDLED;
}
new Say[300];
read_args(Say, charsmax(Say));
remove_quotes(Say);
if(Say[0] == EOS) {
client_print_color(id, id, "^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(id, id, "^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", id, Say);
new CurrentTime[9],CurrentDay[16], szMapName[33];
get_time("%H:%M:%S", CurrentTime, charsmax(CurrentTime));
get_time("%d/%m/%Y", CurrentDay, charsmax(CurrentDay));
rh_get_mapname(szMapName, charsmax(szMapName), MNT_SET);
log_to_file("adminchat.txt", "Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s", CurrentDay, CurrentTime, szMapName, id, g_SecilenKisi[id], Say);
g_SonMesajAtanKisi[g_SecilenKisi[id]] = id;
g_Selected[id] = false;
g_SecilenKisi[id] = 0;
return PLUGIN_HANDLED;
}
(27-12-2021, 21:42)orucoglukayra Adlı Kullanıcıdan Alıntı: İkinci menüye eklemeyi unutmuşum, dene bakalım ;Yok botlarla değil arkadaşımla hlsw kurduk orda deniyorum. Şimdi ne admin nede user acabiliyor menüyü
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 i = 0; i < MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
AdminCount++;
}
}
if(AdminCount == 0) {
client_print_color(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("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(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(id, id, "^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!", tag);
}
else client_print_color(id, id, "^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!", tag);
return PLUGIN_HANDLED;
}
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(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(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && !is_user_bot(i) && !(get_user_flags(i) & ADMIN_KICK)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("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(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(id, id, "^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!", tag);
}
else client_print_color(id, id, "^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!", tag);
return PLUGIN_HANDLED;
}
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(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(id, id, "^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(id, id, "^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!", tag);
return PLUGIN_HANDLED;
}
new Say[300];
read_args(Say, charsmax(Say));
remove_quotes(Say);
if(Say[0] == EOS) {
client_print_color(id, id, "^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(id, id, "^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", id, Say);
new CurrentTime[9],CurrentDay[16], szMapName[33];
get_time("%H:%M:%S", CurrentTime, charsmax(CurrentTime));
get_time("%d/%m/%Y", CurrentDay, charsmax(CurrentDay));
rh_get_mapname(szMapName, charsmax(szMapName), MNT_SET);
log_to_file("adminchat.txt", "Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s", CurrentDay, CurrentTime, szMapName, id, g_SecilenKisi[id], Say);
g_SonMesajAtanKisi[g_SecilenKisi[id]] = id;
g_Selected[id] = false;
g_SecilenKisi[id] = 0;
return PLUGIN_HANDLED;
}

(27-12-2021, 21:47)Bixi Adlı Kullanıcıdan Alıntı:Az önce denedim bir sıkıntı göremedim.(27-12-2021, 21:42)orucoglukayra Adlı Kullanıcıdan Alıntı: İkinci menüye eklemeyi unutmuşum, dene bakalım ;Yok botlarla değil arkadaşımla hlsw kurduk orda deniyorum. Şimdi ne admin nede user acabiliyor menüyü
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 i = 0; i < MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
AdminCount++;
}
}
if(AdminCount == 0) {
client_print_color(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("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(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(id, id, "^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!", tag);
}
else client_print_color(id, id, "^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!", tag);
return PLUGIN_HANDLED;
}
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(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(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && !is_user_bot(i) && !(get_user_flags(i) & ADMIN_KICK)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("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(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(id, id, "^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!", tag);
}
else client_print_color(id, id, "^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!", tag);
return PLUGIN_HANDLED;
}
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(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(id, id, "^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(id, id, "^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!", tag);
return PLUGIN_HANDLED;
}
new Say[300];
read_args(Say, charsmax(Say));
remove_quotes(Say);
if(Say[0] == EOS) {
client_print_color(id, id, "^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(id, id, "^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", id, Say);
new CurrentTime[9],CurrentDay[16], szMapName[33];
get_time("%H:%M:%S", CurrentTime, charsmax(CurrentTime));
get_time("%d/%m/%Y", CurrentDay, charsmax(CurrentDay));
rh_get_mapname(szMapName, charsmax(szMapName), MNT_SET);
log_to_file("adminchat.txt", "Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s", CurrentDay, CurrentTime, szMapName, id, g_SecilenKisi[id], Say);
g_SonMesajAtanKisi[g_SecilenKisi[id]] = id;
g_Selected[id] = false;
g_SecilenKisi[id] = 0;
return PLUGIN_HANDLED;
}
Ikinizde yetkiliyseniz birbirinizi göremezsiniz.
Oyle degilse eklentiyi debuglayin menuye girmeye calisinca hata basar onu atın.
(27-12-2021, 22:08)orucoglukayra Adlı Kullanıcıdan Alıntı: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?(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ü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.
Bu şekilde dene, son mesajı cevaplayı kapattım.Sorun büyük ihtimal burada.Bu şekilde menü açılırsa ikinci attığımı dene ;
Ü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 i = 0; i < MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
AdminCount++;
}
}
if(AdminCount == 0) {
client_print_color(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("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(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(id, id, "^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!", tag);
}
else client_print_color(id, id, "^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!", tag);
return PLUGIN_HANDLED;
}
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(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(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && !is_user_bot(i) && !(get_user_flags(i) & ADMIN_KICK)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("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(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(id, id, "^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!", tag);
}
else client_print_color(id, id, "^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!", tag);
return PLUGIN_HANDLED;
}
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(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(id, id, "^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(id, id, "^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!", tag);
return PLUGIN_HANDLED;
}
new Say[300];
read_args(Say, charsmax(Say));
remove_quotes(Say);
if(Say[0] == EOS) {
client_print_color(id, id, "^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(id, id, "^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", id, Say);
new CurrentTime[9],CurrentDay[16], szMapName[33];
get_time("%H:%M:%S", CurrentTime, charsmax(CurrentTime));
get_time("%d/%m/%Y", CurrentDay, charsmax(CurrentDay));
rh_get_mapname(szMapName, charsmax(szMapName), MNT_SET);
log_to_file("adminchat.txt", "Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s", CurrentDay, CurrentTime, szMapName, id, g_SecilenKisi[id], Say);
g_SonMesajAtanKisi[g_SecilenKisi[id]] = id;
g_Selected[id] = false;
g_SecilenKisi[id] = 0;
return PLUGIN_HANDLED;
}
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 i = 0; i < MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK)) {
AdminCount++;
}
}
if(AdminCount == 0) {
client_print_color(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && (get_user_flags(i) & ADMIN_KICK) && !is_user_bot(i)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("ADMIN | %n", i), szStr);
}
}
if(g_SonMesajAtanKisi[id]) {
menu_additem(menu, fmt("\w[\y%s\w] \rSon Mesaji Cevapla %s", tag, g_SonMesajAtanKisi[id]));
}
menu_setprop(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(id, id, "^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!", tag);
}
else client_print_color(id, id, "^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!", tag);
return PLUGIN_HANDLED;
}
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(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(id, id, "^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 i = 1, szStr[3]; i <= MaxClients; i++) {
if(is_user_connected(i) && !is_user_bot(i) && !(get_user_flags(i) & ADMIN_KICK)) {
num_to_str(i, szStr, charsmax(szStr));
menu_additem(menu, fmt("USER | %n", i), szStr);
}
}
if(g_SonMesajAtanKisi[id]) {
menu_additem(menu, fmt("\w[\y%s\w] \rSon Mesaji Cevapla %s", tag, g_SonMesajAtanKisi[id]));
}
menu_setprop(menu, MPROP_EXITNAME, "\rCikis");
menu_display(id, menu);
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(id, id, "^1[^3%s^1] ^4Lutfen mesajinizi giriniz ^1!", tag);
}
else client_print_color(id, id, "^1[^3%s^1] ^4Son Mesaj Bulunamadi ^1!", tag);
return PLUGIN_HANDLED;
}
}
new data[6], key;
menu_item_getinfo(menu, item, _, data, charsmax(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(id, id, "^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(id, id, "^1[^3%s^1] ^4Sistem tarafindan engellendin ^1!", tag);
return PLUGIN_HANDLED;
}
new Say[300];
read_args(Say, charsmax(Say));
remove_quotes(Say);
if(Say[0] == EOS) {
client_print_color(id, id, "^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(id, id, "^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", id, Say);
new CurrentTime[9],CurrentDay[16], szMapName[33];
get_time("%H:%M:%S", CurrentTime, charsmax(CurrentTime));
get_time("%d/%m/%Y", CurrentDay, charsmax(CurrentDay));
rh_get_mapname(szMapName, charsmax(szMapName), MNT_SET);
log_to_file("adminchat.txt", "Tarih %s | Saat %s | Map %s | Gonderen : %n | Mesaji Alan : %n | Mesaj : %s", CurrentDay, CurrentTime, szMapName, id, g_SecilenKisi[id], Say);
g_SonMesajAtanKisi[g_SecilenKisi[id]] = id;
g_Selected[id] = false;
g_SecilenKisi[id] = 0;
return PLUGIN_HANDLED;
}
Benzer Konular
Yorum
234
Okunma
29-11-2023, 23:59
Yorum
8.307
Okunma
24-12-2022, 20:09
Yorum
9.848
Okunma
27-08-2022, 21:29
Yorum
10.345
Okunma
11-08-2022, 15:47
Yorum
9.722
Okunma
06-08-2022, 08:39