Afk kalan oyuncu silah aldıgı zaman otomatık afkdan cıkartan bır plugin arıyorum
Silah alınca afk moddan çıkartan bir plugin arıyorum
)

(16-05-2025, 14:58)Lynchk Adlı Kullanıcıdan Alıntı: Afk eklentinizi eke koyar mısınız ?
#include <amxmodx>
#include <reapi>
#pragma semicolon 1
new const AdminYetki = ADMIN_KICK;
new const serverTag[] = "Webailesi";
enum (+= 100){
TASK_ORIGIN = 2708,
TASK_SLAY,
TASK_AFKMODE,
TASK_BILGI,
TASK_BLIND
};
new bool:isAfk[MAX_CLIENTS+1],AfkValue[MAX_CLIENTS+1],Float:iPlayerOrigin[MAX_CLIENTS+1][3],iCvars[3],iMsgID;
public plugin_init(){
register_plugin("dostmeclisiafk","1","feuu");
register_clcmd("say /afkmenu","@afkmenusu");
register_clcmd("say /afk","@clcmd_afk");
register_clcmd("say .afk","@clcmd_afk");
register_clcmd("say","@Hook_Say");
register_clcmd("say /AFK","@Hook_Say");
RegisterHookChain(RG_CBasePlayer_Spawn, "@IsSpawn", .post = true);
RegisterHookChain(RG_CBasePlayer_Killed, "@PlayerKill", .post = true);
register_event("SpecHealth2","@Spectating","bd");
iMsgID = get_user_msgid("ScoreInfo");
bind_pcvar_num(create_cvar("re_afkslaysure", "15"), iCvars[0]);
bind_pcvar_num(create_cvar("re_afkslayuyari", "3"), iCvars[1]);
bind_pcvar_num(create_cvar("re_afkmoduyari", "3"), iCvars[2]);
}
public plugin_natives(){
register_native("is_user_afk", "@NTV_GetAfk");
}
@NTV_GetAfk() {
new iPlayer = get_param(1);
return isAfk[iPlayer] ? 1:0;
}
public client_connect(iPlayer){
isAfk[iPlayer]=false;
AfkValue[iPlayer]=0;
}
public client_disconnected(iPlayer){
if(task_exists(iPlayer + TASK_ORIGIN)) remove_task(iPlayer+TASK_ORIGIN);
if(task_exists(iPlayer + TASK_SLAY)) remove_task(iPlayer+TASK_SLAY);
if(task_exists(iPlayer + TASK_AFKMODE)) remove_task(iPlayer+TASK_AFKMODE);
if(task_exists(iPlayer + TASK_BILGI)) remove_task(iPlayer+TASK_BILGI);
if(task_exists(iPlayer + TASK_BLIND)) remove_task(iPlayer+TASK_BLIND);
}
@clcmd_afk(const iPlayer){
if(isAfk[iPlayer]){
isAfk[iPlayer]=false;
AfkValue[iPlayer]=0;
@bBlindStop(iPlayer);
@AfkHudMesaggeOff(iPlayer);
remove_task(iPlayer+TASK_BILGI);
remove_task(iPlayer+TASK_BLIND);
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Suan ^1AFK Modundan ciktin. ^4Bol Fraglar",serverTag);
}
else {
isAfk[iPlayer]=true;
@afk_oldur(iPlayer);
@bBlind(iPlayer,2.0);
@AfkHudMesagge(iPlayer);
set_task(float(iCvars[2]), "@AfkModuBilgilendir", iPlayer+TASK_BILGI, .flags = "b");
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Suan ^1AFK modundasin. ^3/Afk ^1yazarak cikabilirsin.",serverTag);
}
}
@Spectating(const iPlayer){
set_task(0.1,"@SpecChange",iPlayer+TASK_BLIND, .flags = "b");
}
@SpecChange(const iTaskim){
new iPlayer = iTaskim - TASK_BLIND;
if(isAfk[iPlayer]) @bBlind(iPlayer,2.0);
}
@PlayerKill(const pVictim, pAttacker, iGib){
if(!is_user_connected(pVictim) || !is_user_connected(pAttacker)) return;
if(AfkValue[pAttacker] > 0 && pVictim != pAttacker){
AfkValue[pAttacker]=0;
client_print_color(pAttacker, pAttacker, "^1[^3%s^1] ^4Baska bir ^3Oyuncu ^4oldurdugunuz icin ^1AFK Uyarin ^4SIFIRLANDI",serverTag);
}
if(isAfk[pVictim]) @bBlind(pVictim,2.0);
}
@IsSpawn(const iPlayer) {
if(get_member(iPlayer, m_bJustConnected)) return;
if(task_exists(iPlayer + TASK_ORIGIN)) remove_task(iPlayer+TASK_ORIGIN);
if(task_exists(iPlayer + TASK_SLAY)) remove_task(iPlayer+TASK_SLAY);
if(task_exists(iPlayer + TASK_AFKMODE)) remove_task(iPlayer+TASK_AFKMODE);
if(task_exists(iPlayer + TASK_BLIND)) remove_task(iPlayer+TASK_BLIND);
if(isAfk[iPlayer]) @bBlind(iPlayer,2.0),set_task(5.0, "@isAfkOldur", iPlayer+TASK_AFKMODE);
set_task(2.0, "@get_origin", iPlayer+TASK_ORIGIN);
}
@get_origin(const iTaskim) {
new iPlayer = iTaskim - TASK_ORIGIN;
if(!is_user_alive(iPlayer)) return;
get_entvar(iPlayer, var_origin, iPlayerOrigin[iPlayer]);
set_task(float(iCvars[0]), "@AfkSlay", iPlayer+TASK_SLAY);
}
@AfkSlay(const iTaskim) {
new iPlayer = iTaskim - TASK_SLAY;
if(!is_user_alive(iPlayer) || !same_origin(iPlayer) || isAfk[iPlayer]) return;
if(AfkValue[iPlayer]<iCvars[1]-1){
AfkValue[iPlayer]++;
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4AFK Oldugun icin ^3Slaylandin ^1AFK Modu icin UYARI ^3%i/%i",serverTag,AfkValue[iPlayer],iCvars[1]);
}
else {
isAfk[iPlayer]=true;
@bBlind(iPlayer,2.0);
@AfkHudMesagge(iPlayer);
set_task(float(iCvars[2]), "@AfkModuBilgilendir", iPlayer+TASK_BILGI, .flags = "b");
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Suan ^1AFK modundasin. ^3/Afk ^1yazarak cikabilirsin..",serverTag);
}
@afk_oldur(iPlayer);
}
@isAfkOldur(const iTaskim){
new iPlayer = iTaskim - TASK_AFKMODE;
if(!is_user_alive(iPlayer) || !isAfk[iPlayer]) return;
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4AFK Modun Aktif. ^1Moddan cikmak icin ^3Saydan /Afk ^1yaz.",serverTag);
@afk_oldur(iPlayer);
}
@afk_oldur(const iPlayer){
if(!is_user_alive(iPlayer)) return;
user_silentkill(iPlayer,1);
set_member(iPlayer,m_iDeaths, get_member(iPlayer, m_iDeaths) - 1);
message_begin(MSG_ALL,iMsgID);
write_byte(iPlayer);
write_short(floatround(get_entvar(iPlayer,var_frags)));write_short(get_member(iPlayer, m_iDeaths));write_short(0);write_short(get_member(iPlayer, m_iTeam));
message_end();
}
@afkmenusu(const iPlayer){
if(~get_user_flags(iPlayer) & AdminYetki){
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Yetkin yeterli de?il",serverTag,iPlayer);
return;
}
new iMenu = menu_create(fmt("\r%s \y--> \wAfk Menusu^n\dSayfa:", serverTag), "@afkmenusu_");
for(new i=1; i <= MaxClients; i++) {
if(is_user_connected(i)){
if(i == iPlayer || is_user_bot(i)) continue;
menu_additem(iMenu,fmt("\y%n %s",i,isAfk[i] ? "\wAcik":""),fmt("%i",i));
}
}
menu_setprop(iMenu, MPROP_BACKNAME,"?nceki Sayfa"),menu_setprop(iMenu, MPROP_NEXTNAME,"Sonraki Sayfa"),menu_setprop(iMenu, MPROP_EXITNAME,"\wKapat");
menu_display(iPlayer, iMenu);
}
@afkmenusu_(const iPlayer,const iMenu, const iItem) {
if(iItem == MENU_EXIT) { menu_destroy(iMenu);return PLUGIN_HANDLED;}
new iData[6], iKey;
menu_item_getinfo(iMenu, iItem, _, iData, 5);
iKey = str_to_num(iData);
if(is_user_connected(iKey)){
if(isAfk[iKey]){
isAfk[iKey]=false;
AfkValue[iKey]=0;
@bBlindStop(iKey);
@AfkHudMesaggeOff(iKey);
remove_task(iKey+TASK_BILGI);
remove_task(iKey+TASK_BLIND);
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4%n isimli Oyuncu ^1AFK Modundan ^3Cikardin",serverTag,iKey);
client_print_color(iKey, iKey, "^1[^3%s^1] ^4%n ^1isimli Admin tarafindan ^3AFK Modunu ^4kapatildi",serverTag,iPlayer);
}
else {
isAfk[iKey]=true;
@afk_oldur(iKey);
@bBlind(iKey,2.0);
@AfkHudMesagge(iKey);
set_task(float(iCvars[2]), "@AfkModuBilgilendir", iKey+TASK_BILGI, .flags = "b");
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4%n ^1isimli Oyuncu ^3AFK Moduna ^1gecirildi",serverTag,iKey);
client_print_color(iKey, iKey, "^1[^3%s^1] ^4%n ^1isimli Admin tarafindan ^3AFK Moduna ^1gecirildin",serverTag,iPlayer);
}
}
else client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Oyuncu Oyundan Cikmis",serverTag);
menu_destroy(iMenu);return PLUGIN_HANDLED;
}
@AfkModuBilgilendir(const iTaskim){
new iPlayer = iTaskim - TASK_BILGI;
if(!is_user_connected(iPlayer)) return;
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4AFK Modun dan cikmak icin ^3Saydan /Afk ^1yaz..",serverTag);
}
@AfkHudMesagge(iPlayer){
set_dhudmessage(0, 0, 0, -1.0, 0.30, 0, 6.0, 5.0);
show_dhudmessage(iPlayer, "SUAN AFK MODUNUZ AÇIK");
}
@AfkHudMesaggeOff(iPlayer){
set_dhudmessage(0, 0, 0, -1.0, 0.30, 0, 6.0, 5.0);
show_dhudmessage(iPlayer, "SUAN AFK DEĞİLSİNİZ İYİ OYUNLAR");
}
@Hook_Say(const iPlayer){
static message[192];
read_args(message, 191);
remove_quotes(message);
if(message[0] == '/' || message[0] == '.')
return PLUGIN_CONTINUE;
if(isAfk[iPlayer])
{
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4AFK Modun ^1A?ik oldugu icin ^3Yazi YAZAMAZSIN.",serverTag);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
@bBlind(const iPlayer, Float:punishPercentage) {
new blindness = 128 + floatround(128.0 * punishPercentage);
if(is_user_connected(iPlayer) && 1 <= iPlayer <= MaxClients) {
message_begin(MSG_ONE,get_user_msgid("ScreenFade"), {0,0,0}, iPlayer);
write_short((1<<0));
write_short((1<<0));
write_short((1<<2));
write_byte(0);
write_byte(0);
write_byte(0);
write_byte(blindness);
message_end();
}
}
@bBlindStop(const iPlayer) {
if(is_user_connected(iPlayer) && 1 <= iPlayer <= MaxClients) {
message_begin(MSG_ONE,get_user_msgid("ScreenFade"), {0,0,0}, iPlayer);
write_short(1<<12);
write_short(1<<8);
write_short((1<<1));
write_byte(0);
write_byte(0);
write_byte(0);
write_byte(255);
message_end();
}
}
bool:same_origin(const iPlayer){
new Float:isOrigin[3];
get_entvar(iPlayer, var_origin, isOrigin);
for(new i; i < 3; i++){
if(isOrigin[i] != iPlayerOrigin[iPlayer][i]){
return false;
}
}
return true;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/
#include <amxmodx>
#include <reapi>
#pragma semicolon 1
new const AdminYetki = ADMIN_KICK;
new const serverTag[] = "Webailesi";
enum (+= 100){
TASK_ORIGIN = 2708,
TASK_SLAY,
TASK_AFKMODE,
TASK_BILGI,
TASK_BLIND
};
new bool:isAfk[MAX_CLIENTS+1],AfkValue[MAX_CLIENTS+1],Float:iPlayerOrigin[MAX_CLIENTS+1][3],iCvars[3],iMsgID;
public plugin_init(){
register_plugin("dostmeclisiafk","1","feuu");
register_clcmd("say /afkmenu","@afkmenusu");
register_clcmd("say /afk","@clcmd_afk");
register_clcmd("say .afk","@clcmd_afk");
register_clcmd("say","@Hook_Say");
register_clcmd("say /AFK","@Hook_Say");
RegisterHookChain(RG_BuyItem, "@BuyItem", .post = false);
RegisterHookChain(RG_CBasePlayer_Spawn, "@IsSpawn", .post = true);
RegisterHookChain(RG_CBasePlayer_Killed, "@PlayerKill", .post = true);
register_event("SpecHealth2","@Spectating","bd");
iMsgID = get_user_msgid("ScoreInfo");
bind_pcvar_num(create_cvar("re_afkslaysure", "15"), iCvars[0]);
bind_pcvar_num(create_cvar("re_afkslayuyari", "3"), iCvars[1]);
bind_pcvar_num(create_cvar("re_afkmoduyari", "3"), iCvars[2]);
}
@BuyItem(const pPlayer, iSlot) {
if(!is_user_alive(pPlayer) || !is_user_connected(pPlayer)) return;
if(isAfk[pPlayer]){
isAfk[pPlayer]=false;
AfkValue[pPlayer]=0;
@bBlindStop(pPlayer);
@AfkHudMesaggeOff(pPlayer);
remove_task(pPlayer+TASK_BILGI);
remove_task(pPlayer+TASK_BLIND);
client_print_color(pPlayer, pPlayer, "^1[^3%s^1] ^4Suan ^1AFK Modundan ciktin. ^4Bol Fraglar",serverTag);
}
}
public plugin_natives(){
register_native("is_user_afk", "@NTV_GetAfk");
}
@NTV_GetAfk() {
new iPlayer = get_param(1);
return isAfk[iPlayer] ? 1:0;
}
public client_connect(iPlayer){
isAfk[iPlayer]=false;
AfkValue[iPlayer]=0;
}
public client_disconnected(iPlayer){
if(task_exists(iPlayer + TASK_ORIGIN)) remove_task(iPlayer+TASK_ORIGIN);
if(task_exists(iPlayer + TASK_SLAY)) remove_task(iPlayer+TASK_SLAY);
if(task_exists(iPlayer + TASK_AFKMODE)) remove_task(iPlayer+TASK_AFKMODE);
if(task_exists(iPlayer + TASK_BILGI)) remove_task(iPlayer+TASK_BILGI);
if(task_exists(iPlayer + TASK_BLIND)) remove_task(iPlayer+TASK_BLIND);
}
@clcmd_afk(const iPlayer){
if(isAfk[iPlayer]){
isAfk[iPlayer]=false;
AfkValue[iPlayer]=0;
@bBlindStop(iPlayer);
@AfkHudMesaggeOff(iPlayer);
remove_task(iPlayer+TASK_BILGI);
remove_task(iPlayer+TASK_BLIND);
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Suan ^1AFK Modundan ciktin. ^4Bol Fraglar",serverTag);
}
else {
isAfk[iPlayer]=true;
@afk_oldur(iPlayer);
@bBlind(iPlayer,2.0);
@AfkHudMesagge(iPlayer);
set_task(float(iCvars[2]), "@AfkModuBilgilendir", iPlayer+TASK_BILGI, .flags = "b");
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Suan ^1AFK modundasin. ^3/Afk ^1yazarak cikabilirsin.",serverTag);
}
}
@Spectating(const iPlayer){
set_task(0.1,"@SpecChange",iPlayer+TASK_BLIND, .flags = "b");
}
@SpecChange(const iTaskim){
new iPlayer = iTaskim - TASK_BLIND;
if(isAfk[iPlayer]) @bBlind(iPlayer,2.0);
}
@PlayerKill(const pVictim, pAttacker, iGib){
if(!is_user_connected(pVictim) || !is_user_connected(pAttacker)) return;
if(AfkValue[pAttacker] > 0 && pVictim != pAttacker){
AfkValue[pAttacker]=0;
client_print_color(pAttacker, pAttacker, "^1[^3%s^1] ^4Baska bir ^3Oyuncu ^4oldurdugunuz icin ^1AFK Uyarin ^4SIFIRLANDI",serverTag);
}
if(isAfk[pVictim]) @bBlind(pVictim,2.0);
}
@IsSpawn(const iPlayer) {
if(get_member(iPlayer, m_bJustConnected)) return;
if(task_exists(iPlayer + TASK_ORIGIN)) remove_task(iPlayer+TASK_ORIGIN);
if(task_exists(iPlayer + TASK_SLAY)) remove_task(iPlayer+TASK_SLAY);
if(task_exists(iPlayer + TASK_AFKMODE)) remove_task(iPlayer+TASK_AFKMODE);
if(task_exists(iPlayer + TASK_BLIND)) remove_task(iPlayer+TASK_BLIND);
if(isAfk[iPlayer]) @bBlind(iPlayer,2.0),set_task(5.0, "@isAfkOldur", iPlayer+TASK_AFKMODE);
set_task(2.0, "@get_origin", iPlayer+TASK_ORIGIN);
}
@get_origin(const iTaskim) {
new iPlayer = iTaskim - TASK_ORIGIN;
if(!is_user_alive(iPlayer)) return;
get_entvar(iPlayer, var_origin, iPlayerOrigin[iPlayer]);
set_task(float(iCvars[0]), "@AfkSlay", iPlayer+TASK_SLAY);
}
@AfkSlay(const iTaskim) {
new iPlayer = iTaskim - TASK_SLAY;
if(!is_user_alive(iPlayer) || !same_origin(iPlayer) || isAfk[iPlayer]) return;
if(AfkValue[iPlayer]<iCvars[1]-1){
AfkValue[iPlayer]++;
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4AFK Oldugun icin ^3Slaylandin ^1AFK Modu icin UYARI ^3%i/%i",serverTag,AfkValue[iPlayer],iCvars[1]);
}
else {
isAfk[iPlayer]=true;
@bBlind(iPlayer,2.0);
@AfkHudMesagge(iPlayer);
set_task(float(iCvars[2]), "@AfkModuBilgilendir", iPlayer+TASK_BILGI, .flags = "b");
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Suan ^1AFK modundasin. ^3/Afk ^1yazarak cikabilirsin..",serverTag);
}
@afk_oldur(iPlayer);
}
@isAfkOldur(const iTaskim){
new iPlayer = iTaskim - TASK_AFKMODE;
if(!is_user_alive(iPlayer) || !isAfk[iPlayer]) return;
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4AFK Modun Aktif. ^1Moddan cikmak icin ^3Saydan /Afk ^1yaz.",serverTag);
@afk_oldur(iPlayer);
}
@afk_oldur(const iPlayer){
if(!is_user_alive(iPlayer)) return;
user_silentkill(iPlayer,1);
set_member(iPlayer,m_iDeaths, get_member(iPlayer, m_iDeaths) - 1);
message_begin(MSG_ALL,iMsgID);
write_byte(iPlayer);
write_short(floatround(get_entvar(iPlayer,var_frags)));write_short(get_member(iPlayer, m_iDeaths));write_short(0);write_short(get_member(iPlayer, m_iTeam));
message_end();
}
@afkmenusu(const iPlayer){
if(~get_user_flags(iPlayer) & AdminYetki){
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Yetkin yeterli de?il",serverTag,iPlayer);
return;
}
new iMenu = menu_create(fmt("\r%s \y--> \wAfk Menusu^n\dSayfa:", serverTag), "@afkmenusu_");
for(new i=1; i <= MaxClients; i++) {
if(is_user_connected(i)){
if(i == iPlayer || is_user_bot(i)) continue;
menu_additem(iMenu,fmt("\y%n %s",i,isAfk[i] ? "\wAcik":""),fmt("%i",i));
}
}
menu_setprop(iMenu, MPROP_BACKNAME,"?nceki Sayfa"),menu_setprop(iMenu, MPROP_NEXTNAME,"Sonraki Sayfa"),menu_setprop(iMenu, MPROP_EXITNAME,"\wKapat");
menu_display(iPlayer, iMenu);
}
@afkmenusu_(const iPlayer,const iMenu, const iItem) {
if(iItem == MENU_EXIT) { menu_destroy(iMenu);return PLUGIN_HANDLED;}
new iData[6], iKey;
menu_item_getinfo(iMenu, iItem, _, iData, 5);
iKey = str_to_num(iData);
if(is_user_connected(iKey)){
if(isAfk[iKey]){
isAfk[iKey]=false;
AfkValue[iKey]=0;
@bBlindStop(iKey);
@AfkHudMesaggeOff(iKey);
remove_task(iKey+TASK_BILGI);
remove_task(iKey+TASK_BLIND);
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4%n isimli Oyuncu ^1AFK Modundan ^3Cikardin",serverTag,iKey);
client_print_color(iKey, iKey, "^1[^3%s^1] ^4%n ^1isimli Admin tarafindan ^3AFK Modunu ^4kapatildi",serverTag,iPlayer);
}
else {
isAfk[iKey]=true;
@afk_oldur(iKey);
@bBlind(iKey,2.0);
@AfkHudMesagge(iKey);
set_task(float(iCvars[2]), "@AfkModuBilgilendir", iKey+TASK_BILGI, .flags = "b");
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4%n ^1isimli Oyuncu ^3AFK Moduna ^1gecirildi",serverTag,iKey);
client_print_color(iKey, iKey, "^1[^3%s^1] ^4%n ^1isimli Admin tarafindan ^3AFK Moduna ^1gecirildin",serverTag,iPlayer);
}
}
else client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Oyuncu Oyundan Cikmis",serverTag);
menu_destroy(iMenu);return PLUGIN_HANDLED;
}
@AfkModuBilgilendir(const iTaskim){
new iPlayer = iTaskim - TASK_BILGI;
if(!is_user_connected(iPlayer)) return;
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4AFK Modun dan cikmak icin ^3Saydan /Afk ^1yaz..",serverTag);
}
@AfkHudMesagge(iPlayer){
set_dhudmessage(0, 0, 0, -1.0, 0.30, 0, 6.0, 5.0);
show_dhudmessage(iPlayer, "SUAN AFK MODUNUZ AÇIK");
}
@AfkHudMesaggeOff(iPlayer){
set_dhudmessage(0, 0, 0, -1.0, 0.30, 0, 6.0, 5.0);
show_dhudmessage(iPlayer, "SUAN AFK DEĞİLSİNİZ İYİ OYUNLAR");
}
@Hook_Say(const iPlayer){
static message[192];
read_args(message, 191);
remove_quotes(message);
if(message[0] == '/' || message[0] == '.')
return PLUGIN_CONTINUE;
if(isAfk[iPlayer])
{
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4AFK Modun ^1A?ik oldugu icin ^3Yazi YAZAMAZSIN.",serverTag);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
@bBlind(const iPlayer, Float:punishPercentage) {
new blindness = 128 + floatround(128.0 * punishPercentage);
if(is_user_connected(iPlayer) && 1 <= iPlayer <= MaxClients) {
message_begin(MSG_ONE,get_user_msgid("ScreenFade"), {0,0,0}, iPlayer);
write_short((1<<0));
write_short((1<<0));
write_short((1<<2));
write_byte(0);
write_byte(0);
write_byte(0);
write_byte(blindness);
message_end();
}
}
@bBlindStop(const iPlayer) {
if(is_user_connected(iPlayer) && 1 <= iPlayer <= MaxClients) {
message_begin(MSG_ONE,get_user_msgid("ScreenFade"), {0,0,0}, iPlayer);
write_short(1<<12);
write_short(1<<8);
write_short((1<<1));
write_byte(0);
write_byte(0);
write_byte(0);
write_byte(255);
message_end();
}
}
bool:same_origin(const iPlayer){
new Float:isOrigin[3];
get_entvar(iPlayer, var_origin, isOrigin);
for(new i; i < 3; i++){
if(isOrigin[i] != iPlayerOrigin[iPlayer][i]){
return false;
}
}
return true;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/
(19-05-2025, 21:50)Lynchk Adlı Kullanıcıdan Alıntı:PHP Kod:#include <amxmodx>
#include <reapi>
#pragma semicolon 1
new const AdminYetki = ADMIN_KICK;
new const serverTag[] = "Webailesi";
enum (+= 100){
TASK_ORIGIN = 2708,
TASK_SLAY,
TASK_AFKMODE,
TASK_BILGI,
TASK_BLIND
};
new bool:isAfk[MAX_CLIENTS+1],AfkValue[MAX_CLIENTS+1],Float:iPlayerOrigin[MAX_CLIENTS+1][3],iCvars[3],iMsgID;
public plugin_init(){
register_plugin("dostmeclisiafk","1","feuu");
register_clcmd("say /afkmenu","@afkmenusu");
register_clcmd("say /afk","@clcmd_afk");
register_clcmd("say .afk","@clcmd_afk");
register_clcmd("say","@Hook_Say");
register_clcmd("say /AFK","@Hook_Say");
RegisterHookChain(RG_BuyItem, "@BuyItem", .post = false);
RegisterHookChain(RG_CBasePlayer_Spawn, "@IsSpawn", .post = true);
RegisterHookChain(RG_CBasePlayer_Killed, "@PlayerKill", .post = true);
register_event("SpecHealth2","@Spectating","bd");
iMsgID = get_user_msgid("ScoreInfo");
bind_pcvar_num(create_cvar("re_afkslaysure", "15"), iCvars[0]);
bind_pcvar_num(create_cvar("re_afkslayuyari", "3"), iCvars[1]);
bind_pcvar_num(create_cvar("re_afkmoduyari", "3"), iCvars[2]);
}
@BuyItem(const pPlayer, iSlot) {
if(!is_user_alive(pPlayer) || !is_user_connected(pPlayer)) return;
if(isAfk[pPlayer]){
isAfk[pPlayer]=false;
AfkValue[pPlayer]=0;
@bBlindStop(pPlayer);
@AfkHudMesaggeOff(pPlayer);
remove_task(pPlayer+TASK_BILGI);
remove_task(pPlayer+TASK_BLIND);
client_print_color(pPlayer, pPlayer, "^1[^3%s^1] ^4Suan ^1AFK Modundan ciktin. ^4Bol Fraglar",serverTag);
}
}
public plugin_natives(){
register_native("is_user_afk", "@NTV_GetAfk");
}
@NTV_GetAfk() {
new iPlayer = get_param(1);
return isAfk[iPlayer] ? 1:0;
}
public client_connect(iPlayer){
isAfk[iPlayer]=false;
AfkValue[iPlayer]=0;
}
public client_disconnected(iPlayer){
if(task_exists(iPlayer + TASK_ORIGIN)) remove_task(iPlayer+TASK_ORIGIN);
if(task_exists(iPlayer + TASK_SLAY)) remove_task(iPlayer+TASK_SLAY);
if(task_exists(iPlayer + TASK_AFKMODE)) remove_task(iPlayer+TASK_AFKMODE);
if(task_exists(iPlayer + TASK_BILGI)) remove_task(iPlayer+TASK_BILGI);
if(task_exists(iPlayer + TASK_BLIND)) remove_task(iPlayer+TASK_BLIND);
}
@clcmd_afk(const iPlayer){
if(isAfk[iPlayer]){
isAfk[iPlayer]=false;
AfkValue[iPlayer]=0;
@bBlindStop(iPlayer);
@AfkHudMesaggeOff(iPlayer);
remove_task(iPlayer+TASK_BILGI);
remove_task(iPlayer+TASK_BLIND);
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Suan ^1AFK Modundan ciktin. ^4Bol Fraglar",serverTag);
}
else {
isAfk[iPlayer]=true;
@afk_oldur(iPlayer);
@bBlind(iPlayer,2.0);
@AfkHudMesagge(iPlayer);
set_task(float(iCvars[2]), "@AfkModuBilgilendir", iPlayer+TASK_BILGI, .flags = "b");
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Suan ^1AFK modundasin. ^3/Afk ^1yazarak cikabilirsin.",serverTag);
}
}
@Spectating(const iPlayer){
set_task(0.1,"@SpecChange",iPlayer+TASK_BLIND, .flags = "b");
}
@SpecChange(const iTaskim){
new iPlayer = iTaskim - TASK_BLIND;
if(isAfk[iPlayer]) @bBlind(iPlayer,2.0);
}
@PlayerKill(const pVictim, pAttacker, iGib){
if(!is_user_connected(pVictim) || !is_user_connected(pAttacker)) return;
if(AfkValue[pAttacker] > 0 && pVictim != pAttacker){
AfkValue[pAttacker]=0;
client_print_color(pAttacker, pAttacker, "^1[^3%s^1] ^4Baska bir ^3Oyuncu ^4oldurdugunuz icin ^1AFK Uyarin ^4SIFIRLANDI",serverTag);
}
if(isAfk[pVictim]) @bBlind(pVictim,2.0);
}
@IsSpawn(const iPlayer) {
if(get_member(iPlayer, m_bJustConnected)) return;
if(task_exists(iPlayer + TASK_ORIGIN)) remove_task(iPlayer+TASK_ORIGIN);
if(task_exists(iPlayer + TASK_SLAY)) remove_task(iPlayer+TASK_SLAY);
if(task_exists(iPlayer + TASK_AFKMODE)) remove_task(iPlayer+TASK_AFKMODE);
if(task_exists(iPlayer + TASK_BLIND)) remove_task(iPlayer+TASK_BLIND);
if(isAfk[iPlayer]) @bBlind(iPlayer,2.0),set_task(5.0, "@isAfkOldur", iPlayer+TASK_AFKMODE);
set_task(2.0, "@get_origin", iPlayer+TASK_ORIGIN);
}
@get_origin(const iTaskim) {
new iPlayer = iTaskim - TASK_ORIGIN;
if(!is_user_alive(iPlayer)) return;
get_entvar(iPlayer, var_origin, iPlayerOrigin[iPlayer]);
set_task(float(iCvars[0]), "@AfkSlay", iPlayer+TASK_SLAY);
}
@AfkSlay(const iTaskim) {
new iPlayer = iTaskim - TASK_SLAY;
if(!is_user_alive(iPlayer) || !same_origin(iPlayer) || isAfk[iPlayer]) return;
if(AfkValue[iPlayer]<iCvars[1]-1){
AfkValue[iPlayer]++;
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4AFK Oldugun icin ^3Slaylandin ^1AFK Modu icin UYARI ^3%i/%i",serverTag,AfkValue[iPlayer],iCvars[1]);
}
else {
isAfk[iPlayer]=true;
@bBlind(iPlayer,2.0);
@AfkHudMesagge(iPlayer);
set_task(float(iCvars[2]), "@AfkModuBilgilendir", iPlayer+TASK_BILGI, .flags = "b");
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Suan ^1AFK modundasin. ^3/Afk ^1yazarak cikabilirsin..",serverTag);
}
@afk_oldur(iPlayer);
}
@isAfkOldur(const iTaskim){
new iPlayer = iTaskim - TASK_AFKMODE;
if(!is_user_alive(iPlayer) || !isAfk[iPlayer]) return;
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4AFK Modun Aktif. ^1Moddan cikmak icin ^3Saydan /Afk ^1yaz.",serverTag);
@afk_oldur(iPlayer);
}
@afk_oldur(const iPlayer){
if(!is_user_alive(iPlayer)) return;
user_silentkill(iPlayer,1);
set_member(iPlayer,m_iDeaths, get_member(iPlayer, m_iDeaths) - 1);
message_begin(MSG_ALL,iMsgID);
write_byte(iPlayer);
write_short(floatround(get_entvar(iPlayer,var_frags)));write_short(get_member(iPlayer, m_iDeaths));write_short(0);write_short(get_member(iPlayer, m_iTeam));
message_end();
}
@afkmenusu(const iPlayer){
if(~get_user_flags(iPlayer) & AdminYetki){
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Yetkin yeterli de?il",serverTag,iPlayer);
return;
}
new iMenu = menu_create(fmt("\r%s \y--> \wAfk Menusu^n\dSayfa:", serverTag), "@afkmenusu_");
for(new i=1; i <= MaxClients; i++) {
if(is_user_connected(i)){
if(i == iPlayer || is_user_bot(i)) continue;
menu_additem(iMenu,fmt("\y%n %s",i,isAfk[i] ? "\wAcik":""),fmt("%i",i));
}
}
menu_setprop(iMenu, MPROP_BACKNAME,"?nceki Sayfa"),menu_setprop(iMenu, MPROP_NEXTNAME,"Sonraki Sayfa"),menu_setprop(iMenu, MPROP_EXITNAME,"\wKapat");
menu_display(iPlayer, iMenu);
}
@afkmenusu_(const iPlayer,const iMenu, const iItem) {
if(iItem == MENU_EXIT) { menu_destroy(iMenu);return PLUGIN_HANDLED;}
new iData[6], iKey;
menu_item_getinfo(iMenu, iItem, _, iData, 5);
iKey = str_to_num(iData);
if(is_user_connected(iKey)){
if(isAfk[iKey]){
isAfk[iKey]=false;
AfkValue[iKey]=0;
@bBlindStop(iKey);
@AfkHudMesaggeOff(iKey);
remove_task(iKey+TASK_BILGI);
remove_task(iKey+TASK_BLIND);
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4%n isimli Oyuncu ^1AFK Modundan ^3Cikardin",serverTag,iKey);
client_print_color(iKey, iKey, "^1[^3%s^1] ^4%n ^1isimli Admin tarafindan ^3AFK Modunu ^4kapatildi",serverTag,iPlayer);
}
else {
isAfk[iKey]=true;
@afk_oldur(iKey);
@bBlind(iKey,2.0);
@AfkHudMesagge(iKey);
set_task(float(iCvars[2]), "@AfkModuBilgilendir", iKey+TASK_BILGI, .flags = "b");
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4%n ^1isimli Oyuncu ^3AFK Moduna ^1gecirildi",serverTag,iKey);
client_print_color(iKey, iKey, "^1[^3%s^1] ^4%n ^1isimli Admin tarafindan ^3AFK Moduna ^1gecirildin",serverTag,iPlayer);
}
}
else client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4Oyuncu Oyundan Cikmis",serverTag);
menu_destroy(iMenu);return PLUGIN_HANDLED;
}
@AfkModuBilgilendir(const iTaskim){
new iPlayer = iTaskim - TASK_BILGI;
if(!is_user_connected(iPlayer)) return;
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4AFK Modun dan cikmak icin ^3Saydan /Afk ^1yaz..",serverTag);
}
@AfkHudMesagge(iPlayer){
set_dhudmessage(0, 0, 0, -1.0, 0.30, 0, 6.0, 5.0);
show_dhudmessage(iPlayer, "SUAN AFK MODUNUZ AÇIK");
}
@AfkHudMesaggeOff(iPlayer){
set_dhudmessage(0, 0, 0, -1.0, 0.30, 0, 6.0, 5.0);
show_dhudmessage(iPlayer, "SUAN AFK DEĞİLSİNİZ İYİ OYUNLAR");
}
@Hook_Say(const iPlayer){
static message[192];
read_args(message, 191);
remove_quotes(message);
if(message[0] == '/' || message[0] == '.')
return PLUGIN_CONTINUE;
if(isAfk[iPlayer])
{
client_print_color(iPlayer, iPlayer, "^1[^3%s^1] ^4AFK Modun ^1A?ik oldugu icin ^3Yazi YAZAMAZSIN.",serverTag);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
@bBlind(const iPlayer, Float:punishPercentage) {
new blindness = 128 + floatround(128.0 * punishPercentage);
if(is_user_connected(iPlayer) && 1 <= iPlayer <= MaxClients) {
message_begin(MSG_ONE,get_user_msgid("ScreenFade"), {0,0,0}, iPlayer);
write_short((1<<0));
write_short((1<<0));
write_short((1<<2));
write_byte(0);
write_byte(0);
write_byte(0);
write_byte(blindness);
message_end();
}
}
@bBlindStop(const iPlayer) {
if(is_user_connected(iPlayer) && 1 <= iPlayer <= MaxClients) {
message_begin(MSG_ONE,get_user_msgid("ScreenFade"), {0,0,0}, iPlayer);
write_short(1<<12);
write_short(1<<8);
write_short((1<<1));
write_byte(0);
write_byte(0);
write_byte(0);
write_byte(255);
message_end();
}
}
bool:same_origin(const iPlayer){
new Float:isOrigin[3];
get_entvar(iPlayer, var_origin, isOrigin);
for(new i; i < 3; i++){
if(isOrigin[i] != iPlayerOrigin[iPlayer][i]){
return false;
}
}
return true;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/