Цитата(SpeedF1ghter @ 21.11.2016, 10:07)

Здарова, товарищи. Есть у кого-либо готовый плагин для принудительного завершения раунда на картах, без цели? (2000, fy_snow и т.п.)
Использую ReHLDS & ReGamedll
Написал вот такой плагин:
Код:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <engine>
#include <cstrike>
#define PLUGIN "Round End"
#define VERSION "1.0"
#define AUTHOR "Speed Fighter"
#define TASKID_HOSTAGE 227
new const g_model[] = {"models/pallet_with_bags.mdl"}
new roundtime; // Переменная для записи в нее времени
new ent
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("HLTV", "DeleteEntity", "a", "1=0", "2=0")
register_message(get_user_msgid("Scenario"), "message_scenario")
register_message(get_user_msgid("HostagePos"), "message_hostagepos")
new iMap_Name[32], iMap_Prefix[][] = { "de_", "cs_", "as_" }; // плагин не нужен на картах с целью
get_mapname(iMap_Name, charsmax(iMap_Name))
for(new i; i < sizeof iMap_Prefix; i++)
{
if(containi(iMap_Name, iMap_Prefix[i]) != -1)
pause("d")
}
}
public plugin_precache()
{
precache_model(g_model)
}
public message_scenario() // Блочим HUD заложников
{
if (get_msg_args() > 1)
{
static sprite[8]
get_msg_arg_string(2, sprite, charsmax(sprite))
if (equal(sprite, "hostage"))
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
// Block hostages from appearing on radar
public message_hostagepos() // Блочим показ заложников на радаре
{
return PLUGIN_HANDLED;
}
public DeleteEntity()
{
if (pev_valid(ent))
{
remove_entity(ent)
log_amx("ENTITY DELETED!")
}
WhoWin()
}
public WhoWin()
{
new win = random_num(1,2) // 1 - T, 2 - CT
switch(win)
{
case 1:
{
ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "hostage_entity")) // Создаем заложника, с помощью которого завершаем раунд на карте без цели
if (pev_valid(ent))
{
engfunc(EngFunc_SetOrigin, ent, Float:{8192.0,8192.0,8192.0})
dllfunc(DLLFunc_Spawn, ent)
}
log_amx("hostage_entity CREATE!")
}
case 2:
{
static Float:origin[3];
ent = create_entity("func_bomb_target")
if(!is_valid_ent(ent))
{
return PLUGIN_HANDLED
}
origin[0] = 8192.0
origin[1] = 8192.0
origin[2] = 8192.0
entity_set_model(ent,g_model)
entity_set_int(ent,EV_INT_effects,EF_NODRAW);
entity_set_int(ent,EV_INT_solid,SOLID_TRIGGER)
entity_set_size(ent,Float:{-32.0, -32.0, 0.0}, Float:{32.0, 32.0, 72.0})
entity_set_origin(ent,origin)
log_amx("func_bomb_target CREATE!")
return PLUGIN_HANDLED
}
}
return PLUGIN_HANDLED
}
Увы, он крашит сервер. В логах ничего особенного нет, кроме того, что создается всегда func_bomb_target, ну и удаление в начале раунда тоже есть.