Использование weapon_healthshot
pashek71
Дата: Пятница, 25.03.2016, 15:12:23 | Сообщение # 1
Сообщений: 2
Репутация: 0 [ +/- ]
weapon_healthshot //Шприц, недавно добавленный в CS:GO, который восстанавливает здоровье. Можно как-то узнать, кто конкретно использовал данный шприц?
RunCrafting
Дата: Пятница, 25.03.2016, 18:32:18 | Сообщение # 2
Сообщений: 52
Репутация: 0 [ +/- ]
код
Код
public OnPluginStart() { HookEvent("weapon_fire", FIRE) } public FIRE(Handle event,char[] name, bool dbc) { new client = GetClientOfUserId(GetEventInt(event, "userid")) if(client<1||client>=MAXPLAYERS||!IsClientInGame(client)) return; decl String:arg[256] GetEventString(event, "weapon", arg, sizeof(arg)) if(!StrEqual(arg, "weapon_healthshot")) return // do nothing... (Не знаю как переводится, где-то видел) }
pashek71
Дата: Пятница, 25.03.2016, 19:05:09 | Сообщение # 3
Сообщений: 2
Репутация: 0 [ +/- ]
Такой вариант не очень подходит. Во-первых, это срабатывает несколько раз при использовании(это конечно легко исправить). Во-вторых, можно начать использовать и отменить, но код все равно сработает(а вот это для меня уже проблема).
RunCrafting
Дата: Суббота, 26.03.2016, 07:49:18 | Сообщение # 4
Сообщений: 52
Репутация: 0 [ +/- ]
Цитата pashek71 (
)
можно начать использовать и отменить, но код все равно сработает
С этим сталкивался при хуке раскидывания гранаты. Пока незнаю как решить проблему, но что-нибудь придумаюДобавлено (26.03.2016, 07:49:18) ---------------------------------------------
Цитата pashek71 (
)
Во-первых, это срабатывает несколько раз при использовании
Эм, это почему? Ну ладно, потом посмотрю, а со вторым можно попробывать так:
Код
public OnPluginStart() { HookEvent("weapon_fire", FIRE) } public FIRE(Handle event,char[] name, bool dbc) { new client = GetClientOfUserId(GetEventInt(event, "userid")) if(client<1||client>=MAXPLAYERS||!IsClientInGame(client)) return; decl String:arg[256] decl String:arg2[256] GetEventString(event, "weapon", arg, sizeof(arg)) if(!StrEqual(arg, "weapon_healthshot")) return new weapon = GetEntPropEnt(client, Prop_Send, "m_hActiveWeapon") if(weapon<65||weapon>2048||!IsValidEntity(weapon)) return; GetEntityClassname(weapon, arg2, sizeof(arg2)) if(!StrEqual(arg, arg2)) return; CreateTimer(0.3, CheckShot, weapon) } public Action CheckShot(Handle timer, any weapon) { if(IsValidEntity(weapon)) return; // do nothing... (Не знаю как переводится, где-то видел) }
GodlikE145
Дата: Пятница, 08.04.2016, 12:40:19 | Сообщение # 5
Сообщений: 33
Репутация: 9 [ +/- ]
//ОффтопЦитата RunCrafting (
)
// do nothing... (Не знаю как переводится, где-то видел)
Это переводится, как "Ничего не делать". Лучше пиши в таких случаях "//do something", это уже значит "Делать что-то")
RunCrafting
Дата: Пятница, 08.04.2016, 13:07:12 | Сообщение # 6
Сообщений: 52
Репутация: 0 [ +/- ]
Окей :)