Если игрок взрывается находясь в транспорте - игрока кидает в спектаторы
Как это решить? При смерти игрока от пуль, взрыва рпг и огня - такого не происходит
Использую weapon-config
Страница 1 из 1
[ Pawn ]
Кидает в спектейт после взрыва в транспорте
#4
Отправлено 01 июля 2025 - 13:26
Скорей всего, это у тебя что-то в моде ибо такой проблемы с wc не было ни разу.
Ищи все, что связано с TogglePlayerSpectating
Ищи все, что связано с TogglePlayerSpectating
#5
Отправлено 01 июля 2025 - 13:39
Saibot (01 июля 2025 - 13:26) писал:
Скорей всего, это у тебя что-то в моде ибо такой проблемы с wc не было ни разу.
Ищи все, что связано с TogglePlayerSpectating
Ищи все, что связано с TogglePlayerSpectating
в onplayerdeath единсвенное что с этим связано это система быстрого спавна
if(g_FastRespawn[playerid])
{
TogglePlayerSpectating(playerid, 1);
TogglePlayerSpectating(playerid, 0);
SetTimerEx("InstantRespawn", 150, false, "d", playerid);
}
forward InstantRespawn(playerid);
public InstantRespawn(playerid)
{
if(!IsPlayerConnected(playerid)) return;
ClearAnimations(playerid);
SpawnPlayer(playerid);
SetPlayerHealth(playerid, 100.0);
TogglePlayerControllable(playerid, 0);
SetTimerEx("RestoreControls", 100, false, "d", playerid);
}
forward RestoreControls(playerid);
public RestoreControls(playerid)
{
TogglePlayerControllable(playerid, 1);
return 1;
}
#7
Отправлено 01 июля 2025 - 15:23
#8
Отправлено 01 июля 2025 - 16:40
Пишешь перехват для TogglePlayerSpectating и вставляешь в самое начало мода (сразу после a_samp, в идеале). В перехвате делаешь логирование вызова TogglePlayerSpectating и далее вызываешь баг. Если TogglePlayerSpectating вызывается - проблема в моде. Если не вызывается - проблема либо в том, как у тебя реализован обход стандартных кнопок спавна при входе, либо, возможно, из-за твоего "быстрого спавна". Первое должно fixes исправляться в большинстве случаев. Так что скачай и поставь.
Сообщение отредактировал DeimoS: 01 июля 2025 - 16:41
#9
Отправлено 01 июля 2025 - 20:24
Изменил
На
И проблема с закидыванием в спектра убралась, персонаж теперь спавнится нормально.
Спасибо за всем за помощь.
public OnPlayerRequestClass(playerid, classid)
{
// Блокируем стандартное меню выбора класса
TogglePlayerSpectating(playerid, true); // Игрок остаётся в режиме спектатора
return 0; // Запрещаем стандартную обработку
}
На
public OnPlayerRequestClass(playerid, classid)
{
// Если игрок не авторизован - блокируем выбор класса
if(!PlayerInfo[playerid][pLogged])
{
TogglePlayerSpectating(playerid, 1);
return 1;
}
// Если игрок авторизован - принудительно спавним
SetSpawnInfo(
playerid,
0,
PlayerInfo[playerid][pSkin],
-2191.313232, 1907.257202, 35.328606, 1.764727,
-1, -1, -1, -1, -1, -1
);
SpawnPlayer(playerid);
return 1;
}
И проблема с закидыванием в спектра убралась, персонаж теперь спавнится нормально.
Спасибо за всем за помощь.
Поделиться темой:
Страница 1 из 1
Вход
Регистрация
Помощь










