Afk kalan oyuncu silah aldıgı zaman otomatık afkdan cıkartan bır plugin arıyorum
Konu
(16-05-2025, 14:58)Lynchk Adlı Kullanıcıdan Alıntı: Afk eklentinizi eke koyar mısınız ?
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_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 }
*/
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 }
*/
(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 }
*/
İstek konusu, @Lynchk adlı kullanıcı tarafından 5 gün içinde çözülmüştür.
İsteği çözdüğü için Lynchk Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
Lynchk Adlı kullanıcı sizin dışınızda toplam 1041 kişiye yardım etmiştir.
Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.
İsteği çözdüğü için Lynchk Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
Lynchk Adlı kullanıcı sizin dışınızda toplam 1041 kişiye yardım etmiştir.
Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.
Benzer Konular
Yorum
1.383
Okunma
21-05-2026, 23:31
)


