Nova
Simple Project
- Сообщения
- 262
- Реакции
- 28
Как подсчитать выстрелы игрока за раунд? Перепробовал несколько методов, но желаемого результата не получил.
Сервер: CS:S v34
1. Этот код не работает: колбэк не вызывается.
2. Этот код работает некорректно: если выстрелить из пистолета и не отпустить клавишу выстрела, то каждый раз будет вызываться колбэк, хотя фактически выстрела не происходит.
3. Этот код не работает: колбэк не вызывается.
Есть идеи как это реализовать?
Сервер: CS:S v34
1. Этот код не работает: колбэк не вызывается.
C-подобный:
new g_iShots[MAXPLAYERS+1];
public OnPluginStart()
{
HookEvent("player_shoot", HookEvent_PlayerShoot);
}
public HookEvent_PlayerShoot(Handle:event, const String:name[], bool:dontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
g_iShots[client]++;
}
2. Этот код работает некорректно: если выстрелить из пистолета и не отпустить клавишу выстрела, то каждый раз будет вызываться колбэк, хотя фактически выстрела не происходит.
C-подобный:
new g_iShots[MAXPLAYERS+1];
public OnPluginStart()
{
HookEvent("weapon_fire", HookEvent_WeaponFire);
}
public HookEvent_WeaponFire(Handle:event, const String:name[], bool:dontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
g_iShots[client]++;
}
3. Этот код не работает: колбэк не вызывается.
C-подобный:
new g_iShots[MAXPLAYERS+1];
public OnClientPutInServer(client)
{
SDKHook(client, SDKHook_FireBulletsPost, FireBulletsPost);
}
public FireBulletsPost(client, shots, const String:weaponname[])
{
g_iShots[client]++;
}
Есть идеи как это реализовать?