Ozaman OYT'nin bu sistemi kapalı tutmasından kaynaklı olmasıdır.
Önerim bulunduğunuz Firmaya bu konuyu anlatmanızdir.
İyi forumlar ..
CS 1.6 bilişimleri (hosting firmaları), güvenlik amacıyla oyun motorunun (Half-Life/ReHLDS) bazı ana komutlarını kökünden engeller. Eskiden sunucu çökertme (crash) saldırıları pause, quit, restart gibi direkt motor komutları üzerinden yapıldığı için, günümüzde firmalar koruma modülleriyle bu komutu tamamen sağırlaştırabiliyorlar..
Buna nazaran Firma engelleni aşan bir versiyonu ekledim ReAPI destekli Pause eklentisi;
Kod:
#include <amxmodx>
#include <amxmisc>
#include <reapi>
#include <fakemeta>
#define PLUGIN "Firma Korumali Pause"
#define VERSION "2.0"
#define AUTHOR "EMPEROR"
new bool:g_bIsPaused = false;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_concmd("amx_pause", "Cmd_Pause", ADMIN_KICK, "Sunucuyu sanal olarak dondurur veya baslatir.");
// Hasar ve canlanma kontrolculleri
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(); // Herkesi kapsayıp dondurması icin
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 sabitlendi, silahlar kilitlendi ve hasar kapatildi.");
} else {
g_bIsPaused = false;
UnfreezeAll(); // Herkesi serbest birak
client_print_color(0, print_team_default, "^4[PAUSE] ^3%s ^1sunucuyu tekrar ^4AKTIF ^1etti!", szName);
}
return PLUGIN_HANDLED;
}
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);
}
}
}
public Fwd_TakeDamage_Pre(victim, inflictor, attacker, Float:damage, bits) {
if (g_bIsPaused)
return HC_SUPERCEDE; // Hasari tamamen iptal et
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);
}
}