Вопрос по спавну.

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
893
Реакции
149
Помог
25 раз(а)
Здравствуйте, заметил на некоторых серверах такую вещь, что если в начале раунда успеть перезайти на сервер в течении 5-7 секунд, тебя заспавнит.
Так вот, вопрос. Как сделать так, что когда раунд начался, и игрок зашёл на сервер - не спавнить его (зачастую в зп 4.3 моде такое происходит)?
Возможно, ловить Ham_Spawn либо же RG_CBasePlayer_Spawn в pre режиме, и как-то блокировать?
К примеру:

C++:
#include <amxmodx>
#include <reapi>

new bool:g_bCanSpawn[33];

public client_putinserver(UserId) {
    g_bCantSpawn[UserId] = true;
    set_task(10.0, "@ChangeCanSpawn", UserId);
}

@ChangeCanSpawn(UserId) {
    g_bCantSpawn[UserId] = false;
}

public plugin_init() {
    RegisterHookChain(RG_CBasePlayer_Spawn, "@PlayerSpawn_Pre", .post = false);
}

@PlayerSpawn_Pre(UserId) {
    if(g_bCantSpawn[UserId]) {
        return HC_SUPERCEDE;
    }
}
Или не получится?
 
Сообщения
290
Реакции
28
Помог
2 раз(а)
// Player cannot respawn until next round
// if more than N seconds has elapsed since the beginning round
//
// Default value: "20"
mp_roundrespawn_time 20

cvar in game.cfg
 
Сообщения
336
Реакции
414
Помог
7 раз(а)
Правильный вариант выше тебе предложили, но, если хочешь всё же плагином реализовать, твой вариант не подойдёт, ибо ты проверяешь игрока по id, но на место вышедшего игрока, может зайти другой. Надо проверять по стим ид, но даже это не 100% способ, т.к. игрок может изменять стим ид.
 
Сообщения
893
Реакции
149
Помог
25 раз(а)
Спасибо за подсказки, помогло. Можно закрывать.
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу