Code
public Com_Select(Handle:menu, MenuAction:action, ct_client, option)
{
if (action == MenuAction_Select)
{
decl String:Info[25];
GetMenuItem(menu, option, Info, sizeof(Info));
if (StrEqual(Info, "menu1"))
{
decl Float:wS_Pos[3];
wS_GetLookPos(ct_client, wS_Pos);
new index = CreateEntityByName("prop_physics");
if ((x == 1) && index > 0)
{
x = 0;
CreateTimer(5.0, DeleteEnt_Timer, index, TIMER_FLAG_NO_MAPCHANGE);
SetEntityModel(index, "models/items/healthkit.mdl");
DispatchKeyValueVector(index, "origin", wS_Pos);
// Если бы это не сделали, то через предмет можно было проходить (solid 0) и OnTakeDamage не работало бы
DispatchKeyValue(index, "solid", "6");
// Устанавливаем предмету флаг '16 : Break on Touch'
DispatchKeyValue(index, "spawnflags", "16");
DispatchSpawn(index);
// Ловим момент, когда игрок дотрагивается до предмета и он ломается
HookSingleEntityOutput(index, "OnBreak", EntityOutput:OnBreak_Func, true);
CreateTimer(5.0, MedicStop, ct_client, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
}
else PrintToChatAll("X = %s", x);
}
else PrintToChatAll("Какашонок");
Com_Menu(ct_client);
}
}
public Action:MedicStop(Handle:timer, any:ct_client)
{
x = 1;
return Plugin_Continue;
}
При нажатии пункта меню появляется аптечка, но при повторном нажатии она может появиться лишь через 5 сеунд. (Это регулирует X) - заработало, но если клацать без остановки на меню то аптечки сыпятся не выдерживая 5 секунд(((