RU
RU
UA
EN
PL
ГЛАВНАЯ
УСЛУГИ
ПЛАГИНЫ
КАРТЫ
REBUY
SCANMON
CASSA
SALE
ФОРУМ
МОНИТОР
HELP
КОНТАКТ
Главная
/
Plugins
/
AutoGive C4 In BombZone v1.2
AutoGive C4 In BombZone v1.2
Теги:
Скачать плагины csgo
Серверные
Если Террорист первым добрался до зоны установки бомбы, но у него её нет:
1. Бомба удаляется (у кого она там в руках, или на земле)
2. Выдаётся этому первому пришедшему игроку
Компилятор: 1.9.0.6281
+ZIP
1011
Команды:
Отсутствуют
.sma / .sp
#pragma semicolon 1 #include
#include
public Plugin:myinfo = { name = "AutoGive C4 In BombZone", author = "wS", version = "1.2" }; new bool:g_bHook; new bool:g_bEnabled = true; new g_Count; new Float:g_fMins[3][3]; new Float:g_fMaxs[3][3]; new g_Flags, bool:g_bNoGiveIfOnGround; public OnPluginStart() { // new Handle:hCvar = CreateConVar("acib_flags", "", "Ограничить функцию по флагам"); decl String:sFlags[50]; GetConVarString(hCvar, sFlags, sizeof(sFlags)); g_Flags = wS_ReadFlagString(sFlags); HookConVarChange(hCvar, cvar_flags); hCvar = CreateConVar("acib_nogive_ground", "0", "1 = Не выдавать бомбу, если она на земле.", _, true, 0.0, true, 1.0); g_bNoGiveIfOnGround = GetConVarBool(hCvar); HookConVarChange(hCvar, cvar_nogive_ground); AutoExecConfig(true, "autogive_c4_in_bombzone", "sourcemod"); // g_bHook = HookEventEx("enter_bombzone", enter_bombzone, EventHookMode_Post); HookEvent("round_start", enable, EventHookMode_PostNoCopy); HookEvent("bomb_beginplant", disable, EventHookMode_PostNoCopy); HookEvent("bomb_planted", disable, EventHookMode_PostNoCopy); } public cvar_flags(Handle:hCvar, const String:OldValue[], const String:NewValue[]) g_Flags = wS_ReadFlagString(NewValue); public cvar_nogive_ground(Handle:hCvar, const String:OldValue[], const String:NewValue[]) g_bNoGiveIfOnGround = StringToInt(NewValue) == 1; public enable( Handle:event, const String:name[], bool:silent) g_bEnabled = g_bHook || g_Count > 0; public disable(Handle:event, const String:name[], bool:silent) g_bEnabled = false; public OnConfigsExecuted() { if (g_bHook) return; g_Count = 0; new entity = -1; while ((entity = FindEntityByClassname(entity, "func_bomb_target")) > 0) { GetEntPropVector(entity, Prop_Send, "m_vecMins", g_fMins[g_Count]); GetEntPropVector(entity, Prop_Send, "m_vecMaxs", g_fMaxs[g_Count]); if (++g_Count == 3) break; } if (g_Count > 0) { g_bEnabled = true; CreateTimer(1.0, kozlik, _, TIMER_REPEAT | TIMER_FLAG_NO_MAPCHANGE); } } public enter_bombzone(Handle:event, const String:name[], bool:silent) { if (g_bEnabled) { new client = GetClientOfUserId(GetEventInt(event, "userid")); if (GetClientTeam(client) == 2) wS_GiveC4(client); } } public Action:kozlik(Handle:timer) { if (!g_bEnabled) return Plugin_Continue; decl Float:v[3], i, x; for (i = 1; i <= MaxClients; i++) { if (IsClientInGame(i) && GetClientTeam(i) == 2 && IsPlayerAlive(i)) { GetClientAbsOrigin(i, v); for (x = 0; x < g_Count; x++) { if (v[0] >= g_fMins[x][0] && v[0] <= g_fMaxs[x][0] && v[1] >= g_fMins[x][1] && v[1] <= g_fMaxs[x][1] && v[2] >= g_fMins[x][2] && v[2] <= g_fMaxs[x][2]) { wS_GiveC4(i); return Plugin_Continue; } } } } return Plugin_Continue; } wS_GiveC4(client) { if (GetPlayerWeaponSlot(client, 4) > 0) g_bEnabled = false; else if (pti4ka(client)) { new weapon = FindEntityByClassname(-1, "weapon_c4"); if (weapon > 0) { if (g_bNoGiveIfOnGround && GetEntPropEnt(weapon, Prop_Send, "m_hOwnerEntity") < 1) return; AcceptEntityInput(weapon, "Kill"); } g_bEnabled = false; GivePlayerItem(client, "weapon_c4"); } } bool:pti4ka(client) { if (g_Flags < 1) return true; new flags = GetUserFlagBits(client); if (flags < 1) return false; for (new i = 0, f; i < 21; i++) { if ((f = (1 << i)) & g_Flags && f & flags) return true; } return false; } stock wS_ReadFlagString(const String:sFlags[], &FlagsCount = 0) { FlagsCount = 0; if (!sFlags[0]) return 0; decl AdminFlag:AdmFlag, BitFlag; new i = strlen(sFlags); new Bits = 0; while (--i > -1) { if (FindFlagByChar(sFlags[i], AdmFlag) && (BitFlag = FlagToBit(AdmFlag)) > 0 && !(BitFlag & Bits)) { Bits |= BitFlag; FlagsCount++; } } return Bits; }
Отправить
Загрузил
Ju4ka1371
2019-01-24 22:01:18
0
11
Установить на сервер
Скачать
Нет оплаченых серверов
Купить сервер CS 1.6
Купить сервер CS:GO
Купить сервер CSS v34
Подключить свой VDS к панели
Данная иконка означает, что плагин был проверен администрацией хостинга на тестовом сервере, и проблем с ним не было выявлено. Рекомендуем ставить исключительно проверенные плагины.
Плагин загружен на сервер, но проверка еще не была проведена.
CSHOST.COM.UA 2012-2026 Хостинг игровых серверов