Нет. Я тебе уже написал, как. А так твой плагин будет каждый раз подгружаться заново, что тоже не очень хорошо. ОффтопОптимален ли
Ещё бы. Всё, даже, что не надо. ОффтопВыгрузит ли он всё то, чем может намусорить плагин?
[SM] Native "UnhookEvent" reported: Invalid hook callback specified for game event "round_start"
public OnMapStart()
{
decl String:map[15];GetCurrentMap(map,15);
if (strcmp(map, "35hp_2_remake"))
{
if (g_SteamSprite)
{
UnhookEvent("round_start", round_start, EventHookMode_PostNoCopy);
g_SteamSprite = 0;
}
}
else
{
if (g_SteamSprite == 0) HookEvent("round_start", round_start, EventHookMode_PostNoCopy);
g_SteamSprite = PrecacheModel("sprites/steam1.vmt");
}
}
Оффтопя хотел написать по это поводу но поленился
подобрано ли оружие?
new g_iOffsetOwnerEntity;
public OnPluginStart() if((g_iOffsetOwnerEntity=FindSendPropOffs("CBaseCombatWeapon", "m_hOwnerEntity")) == -1) SetFailState("Offset 'CBaseCombatWeapon::m_hOwnerEntity' not found!");
if(GetEntDataEnt2(entity, g_iOffsetOwnerEntity) == -1) {//Лежит на земле.}
else {//Подобрано.}
Danyas, говорит что ты не хукнул и пытаешся анхукнуть.. я хотел написать по это поводу но поленился и решил не тратить времени, а то начали бы спорить. Результат не заставил себя ждать.
Native "UnhookEvent" reported: Invalid hook callback specified for game event "round_start"
public OnMapStart()
{
decl String:map[15];GetCurrentMap(map,15);
if (strcmp(map, "35hp_2_remake"))
{
if (g_SteamSprite)
{
UnhookEvent("round_start", round_start, EventHookMode_PostNoCopy);
g_SteamSprite = 0;
}
}
else
{
if (g_SteamSprite == 0)
{
if((g_SteamSprite = PrecacheModel("sprites/steam1.vmt"))) HookEvent("round_start", round_start, EventHookMode_PostNoCopy);
}
else g_SteamSprite = PrecacheModel("sprites/steam1.vmt");
}
}
Если только у него g_SteamSprite до включения не равен 0, то да. Иначе анхука не будет. ОффтопВключилась карта и если она не 35hp_2_remake то сразу идет анхук (не учитываю прекеш).
Я конечно Василий, даа.Если только у него g_SteamSprite до включения не равен 0, то да. Иначе анхука не будет. ОффтопЗапустил сервер со своим кодом сразу с неверной картой - всё прошло отлично.
Danyas, скидывай своего кодоinvalidа)
И, если спрайт всё же равен нулю, а карта верна, то ты тут же получишь ещё один хук старта раунда. Т.е. событие будет выполняться дважды, что обычно ещё хуже простой ошибки анхука.Может просто смешать код с плагином который тоже хукает старт раунда