• Хостинг игровых серверов

    Максимальная производительность для ваших игровых серверов!

    Заказать сейчас

Помогите Отслеживание смерти игрока

MILON4IK

27 Окт 2023
3
1
0
Возникла потребность в отслеживании смерти игрока (пытался записать его как объект, чтобы отслеживать, но мозгов не хватает на это)

Суть такая, делаю плагин для дуэлей. После смерти одного из двух игроков их обоих должно возвращать в лобби (координаты N, N, N условно). Вот как в таком случае можно отследить смерть, чтобы запустить процесс возвращения в лобби?

(Сори за тупость вопроса, ну реально как камень уже 3 дня с этим сижу, пытаюсь собрать "скелет" сервера, чтобы уже дальше "мясо" нарастить, и это единственный момент который мне непонятен)
 
C#:
object OnPlayerDeath(BasePlayer player, HitInfo info)
{
    if (player == null || info == null) return null;
    Puts($"X: {player.transform.position.x}, Y: {player.transform.position.y}, Z: {player.transform.position.z}");
    return null;
}
 
C#:
object OnPlayerDeath(BasePlayer player, HitInfo info)
{
    if (player == null || info == null) return null;
    Puts($"X: {player.transform.position.x}, Y: {player.transform.position.y}, Z: {player.transform.position.z}");
    return null;
}
А почему OnPlayerDeath является object`ом?
 
Вот как в таком случае можно отследить смерть, чтобы запустить процесс возвращения в лобби?
можно обойтись и без хука на смерть, а использовать хук на поиск точки спавна(по моему такой хуй есть в расте), а там уже передавать точку для спавна игроку, если он попадает под x-условия
 
  • Мне нравится
Реакции: Drop Dead
можно обойтись и без хука на смерть, а использовать хук на поиск точки спавна(по моему такой хуй есть в расте), а там уже передавать точку для спавна игроку, если он попадает под x-условия

Я делал вот так:

C#:
        object OnPlayerRespawn(BasePlayer player)
        {
            object position = GetSpawnPoint(player);
            if (position == null) return null;
            if (position is Vector3)           
                return new BasePlayer.SpawnPoint() { pos = (Vector3)position, rot = new Quaternion(0, 0, 0, 1) };
            return null;
        }
 
  • Мне нравится
Реакции: Kaidoz
Активность
Пока никто не печатает сообщение