⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
SponsorSponsor

Pause Plugini

RE: Pause Plugini
Bizim kodlarımızın çalışmamasının tek sebebi. OYT, bu motoru durdurma yetkisini sadece kendi içlerindeki orijinal admincmd.amxx eklentisine vermesidir die düşünüyorum
GEBZEPRO ®       CS1 .GEBZEPRO. NET       WWW.GEBZEPRO.NET              
RE: Pause Plugini
(29-06-2026, 18:47)emperor Adlı Kullanıcıdan Alıntı: Bizim kodlarımızın çalışmamasının tek sebebi. OYT, bu motoru durdurma yetkisini sadece kendi içlerindeki orijinal admincmd.amxx eklentisine vermesidir die düşünüyorum
Son attığın güncellemede plugin çalışıyor aslında ona sadece roundtime, freezetime falan eklenecek onu durdurmak lazım yani eklenebilir mi?
RE: Pause Plugini
Ozaman şu şekilde denermisin;

Kod:
#include <amxmodx>
#include <amxmisc>
#include <reapi>
#include <fakemeta>

#define PLUGIN "Firma Korumali Pause"
#define VERSION "2.3"
#define AUTHOR "EMPEROR"

new bool:g_bIsPaused = false;
#define TASK_TIMER_ID 9999

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR);
    
    register_concmd("amx_pause", "Cmd_Pause", ADMIN_KICK, "Sunucuyu sanal olarak dondurur (Sure ve C4 dahil).");
    
    RegisterHookChain(RG_CBasePlayer_TakeDamage, "Fwd_TakeDamage_Pre", .post = false);
    RegisterHookChain(RG_CBasePlayer_Spawn, "Fwd_PlayerSpawn_Post", .post = true);
}

public Cmd_Pause(id, level, cid) {
    if (!cmd_access(id, level, cid, 1))
        return PLUGIN_HANDLED;

    new szName[32];
    if (id == 0) copy(szName, charsmax(szName), "Sunucu (RCON)");
    else get_user_name(id, szName, charsmax(szName));

    if (!g_bIsPaused) {
        g_bIsPaused = true;
        FreezeAll();
        

        set_task(1.0, "Task_FreezeTimeLoop", TASK_TIMER_ID, _, _, "b");
        
        client_print_color(0, print_team_default, "^4[PAUSE] ^3%s ^1sunucuyu ^4DURDURDU^1!", szName);
        client_print_color(0, print_team_default, "^4[PAUSE] ^1Oyuncular, Zaman (Round/C4) ve Hasar Kilitlendi.");
    } else {
        g_bIsPaused = false;
        UnfreezeAll();
        
        remove_task(TASK_TIMER_ID);
        
        client_print_color(0, print_team_default, "^4[PAUSE] ^3%s ^1sunucuyu tekrar ^4AKTIF ^1etti!", szName);
    }

    return PLUGIN_HANDLED;
}


public Task_FreezeTimeLoop() {
    if (!g_bIsPaused) return;


    new Float:fRoundStart = Float:get_member_game(m_fRoundStartTime);
    set_member_game(m_fRoundStartTime, fRoundStart + 1.0);


    new iEnt = -1;

    while ((iEnt = engfunc(EngFunc_FindEntityByString, iEnt, "classname", "grenade"))) {

        if (get_member(iEnt, m_Grenade_bIsC4)) {

            new Float:fBlow = Float:get_member(iEnt, m_Grenade_flC4Blow);
            set_member(iEnt, m_Grenade_flC4Blow, fBlow + 1.0);
            
            new Float:fNextThink;
            get_entvar(iEnt, var_nextthink, fNextThink);
            set_entvar(iEnt, var_nextthink, fNextThink + 1.0);
        }
    }


    new iRemaining = get_member_game(m_iRoundTimeSecs) - floatround(get_gametime() - fRoundStart);
    if (iRemaining < 0) iRemaining = 0;

    message_begin(MSG_BROADCAST, get_user_msgid("RoundTime"));
    write_short(iRemaining);
    message_end();
}

FreezeAll() {
    for (new i = 1; i <= MaxClients; i++) {
        if (is_user_alive(i)) {

            set_entvar(i, var_flags, get_entvar(i, var_flags) | FL_FROZEN);

            set_member(i, m_flNextAttack, 99999.0);
        }
    }
}

UnfreezeAll() {
    for (new i = 1; i <= MaxClients; i++) {
        if (is_user_alive(i)) {

            set_entvar(i, var_flags, get_entvar(i, var_flags) & ~FL_FROZEN);

            set_member(i, m_flNextAttack, 0.0);
        }
    }
    
    new iRemaining = get_member_game(m_iRoundTimeSecs) - floatround(get_gametime() - Float:get_member_game(m_fRoundStartTime));
    if (iRemaining < 0) iRemaining = 0;
    
    message_begin(MSG_BROADCAST, get_user_msgid("RoundTime"));
    write_short(iRemaining);
    message_end();
}

public Fwd_TakeDamage_Pre(victim, inflictor, attacker, Float:damage, bits) {
    if (g_bIsPaused)
        return HC_SUPERCEDE;
    return HC_CONTINUE;
}

public Fwd_PlayerSpawn_Post(id) {
    if (g_bIsPaused && is_user_alive(id)) {
        set_entvar(id, var_flags, get_entvar(id, var_flags) | FL_FROZEN);
        set_member(id, m_flNextAttack, 99999.0);
    }
}

GEBZEPRO ®       CS1 .GEBZEPRO. NET       WWW.GEBZEPRO.NET              
RE: Pause Plugini
(29-06-2026, 18:57)emperor Adlı Kullanıcıdan Alıntı: Ozaman şu şekilde denermisin;

Kod:
#include <amxmodx>
#include <amxmisc>
#include <reapi>
#include <fakemeta>

#define PLUGIN "Firma Korumali Pause"
#define VERSION "2.3"
#define AUTHOR "EMPEROR"

new bool:g_bIsPaused = false;
#define TASK_TIMER_ID 9999

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR);
   
    register_concmd("amx_pause", "Cmd_Pause", ADMIN_KICK, "Sunucuyu sanal olarak dondurur (Sure ve C4 dahil).");
   
    RegisterHookChain(RG_CBasePlayer_TakeDamage, "Fwd_TakeDamage_Pre", .post = false);
    RegisterHookChain(RG_CBasePlayer_Spawn, "Fwd_PlayerSpawn_Post", .post = true);
}

public Cmd_Pause(id, level, cid) {
    if (!cmd_access(id, level, cid, 1))
        return PLUGIN_HANDLED;

    new szName[32];
    if (id == 0) copy(szName, charsmax(szName), "Sunucu (RCON)");
    else get_user_name(id, szName, charsmax(szName));

    if (!g_bIsPaused) {
        g_bIsPaused = true;
        FreezeAll();
       

        set_task(1.0, "Task_FreezeTimeLoop", TASK_TIMER_ID, _, _, "b");
       
        client_print_color(0, print_team_default, "^4[PAUSE] ^3%s ^1sunucuyu ^4DURDURDU^1!", szName);
        client_print_color(0, print_team_default, "^4[PAUSE] ^1Oyuncular, Zaman (Round/C4) ve Hasar Kilitlendi.");
    } else {
        g_bIsPaused = false;
        UnfreezeAll();
       
        remove_task(TASK_TIMER_ID);
       
        client_print_color(0, print_team_default, "^4[PAUSE] ^3%s ^1sunucuyu tekrar ^4AKTIF ^1etti!", szName);
    }

    return PLUGIN_HANDLED;
}


public Task_FreezeTimeLoop() {
    if (!g_bIsPaused) return;


    new Float:fRoundStart = Float:get_member_game(m_fRoundStartTime);
    set_member_game(m_fRoundStartTime, fRoundStart + 1.0);


    new iEnt = -1;

    while ((iEnt = engfunc(EngFunc_FindEntityByString, iEnt, "classname", "grenade"))) {

        if (get_member(iEnt, m_Grenade_bIsC4)) {

            new Float:fBlow = Float:get_member(iEnt, m_Grenade_flC4Blow);
            set_member(iEnt, m_Grenade_flC4Blow, fBlow + 1.0);
           
            new Float:fNextThink;
            get_entvar(iEnt, var_nextthink, fNextThink);
            set_entvar(iEnt, var_nextthink, fNextThink + 1.0);
        }
    }


    new iRemaining = get_member_game(m_iRoundTimeSecs) - floatround(get_gametime() - fRoundStart);
    if (iRemaining < 0) iRemaining = 0;

    message_begin(MSG_BROADCAST, get_user_msgid("RoundTime"));
    write_short(iRemaining);
    message_end();
}

FreezeAll() {
    for (new i = 1; i <= MaxClients; i++) {
        if (is_user_alive(i)) {

            set_entvar(i, var_flags, get_entvar(i, var_flags) | FL_FROZEN);

            set_member(i, m_flNextAttack, 99999.0);
        }
    }
}

UnfreezeAll() {
    for (new i = 1; i <= MaxClients; i++) {
        if (is_user_alive(i)) {

            set_entvar(i, var_flags, get_entvar(i, var_flags) & ~FL_FROZEN);

            set_member(i, m_flNextAttack, 0.0);
        }
    }
   
    new iRemaining = get_member_game(m_iRoundTimeSecs) - floatround(get_gametime() - Float:get_member_game(m_fRoundStartTime));
    if (iRemaining < 0) iRemaining = 0;
   
    message_begin(MSG_BROADCAST, get_user_msgid("RoundTime"));
    write_short(iRemaining);
    message_end();
}

public Fwd_TakeDamage_Pre(victim, inflictor, attacker, Float:damage, bits) {
    if (g_bIsPaused)
        return HC_SUPERCEDE;
    return HC_CONTINUE;
}

public Fwd_PlayerSpawn_Post(id) {
    if (g_bIsPaused && is_user_alive(id)) {
        set_entvar(id, var_flags, get_entvar(id, var_flags) | FL_FROZEN);
        set_member(id, m_flNextAttack, 99999.0);
    }
}

derleme hatası alıyorum şu an amxx çevrilmiyor
RE: Pause Plugini
BUYRUN AMXX olarak
GEBZEPRO ®       CS1 .GEBZEPRO. NET       WWW.GEBZEPRO.NET              
Son Düzenleme: 29-06-2026, 19:01, Düzenleyen: emperor
RE: Pause Plugini
İstek konusu, @emperor adlı kullanıcı tarafından 1 saat içinde çözülmüştür.
İsteği çözdüğü için emperor Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
emperor Adlı kullanıcı sizin dışınızda toplam 1 kişiye yardım etmiştir.

Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Konuyu Okuyanlar: 1 Ziyaretçi