игрок постоянно умирает при респавне
#1


такая проблема, вставил функцию SpawnPlayer(playerid) в паблик OnPlayerDeath чтобы обойти снятие денег при смерти. иногда (чаще когда игроков на сервере больше чем один)может случиться так что игрок после смерти спавнится и начинает очень быстро умирать\респавниться и так до краша клиента, в консоль же идёт смерть с пометкой 255. что это, и как это исправить?

pawn Code:
public OnPlayerDeath(playerid, killerid, reason)
{
    GetPlayerPos(playerid, PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ]);
    GetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPosR]);
    //
    SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ], PlayerInfo[playerid][pPosR], 0, 0, 0, 0, 0, 0);
    SpawnPlayer(playerid);
    return 1;
}
Reply
#2

Восстановить HP перед SpawnPlayer(playerid).
Reply
#3

Quote:
Originally Posted by NameNone
View Post
Восстановить HP перед SpawnPlayer(playerid).
дело не в этом мне кажется. когда я один на сервере то такого почти не происходит. а когда с другом команды тестирую и кто-то умрёт то начнётся такая фигня.

вот это всё за секунду пролетает в консоль (строчек так под сто) и игрок начинает появляться и исчезать быстро, а потом вылетает. по died 255 тоже ничего путного не нашёл, но было что-то связаное с выходом за пределы массива. всё проверил, нигде нет подобного, да и из массивов только один enum. но всё-же я что-то сломал. отчего ещё так может произойти?
Reply
#4

Жизнь выдай.
Reply
#5

Кажется, ни кажется. Просто попробуй.
Reply
#6

поставил SetPlayerHealth(playerid, 100) в OnPlayerSpawn. всё равно через несколько смертей начинает вылетать с died 255
Reply
#7

Reply
#8

Внимательнее.
Quote:

Восстановить HP перед SpawnPlayer(playerid).

Reply
#9

тоже самое, начинает вылетать died 255. что это? на вики я такого id смерти не нашёл.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)