PDA

Просмотр полной версии : [Вопрос] Выдача скина при респауне



Kovshevoy
15.06.2017, 09:09
День добрый дамы и господа, у меня вот такая воть ошибка. Делаю систему смерти, и сервер без регистрации/авторизации, и не могу понять, как перед смертью чтобы система поняла какой скин у тебя сейчас, и выдала его после того как таймер смерти пройдет. То есть > умер > проходит стандартный таймер до спауна > игрок спаунится в анимации и с тем скином, с которым умирал.

Пытался делать вот так:

OnPlayerDeath - GetPlayerSkin(targetskin);
OnPlayerSpawn - SetPlayerSkin(playerid, targetskin);

При спауне, появляюсь в скине CJ и все. Прошу Вашей помощи, не могу понять в чем ошибка, и почему не выдает скин который нужно.

Sp1ke
15.06.2017, 09:38
Если не получается сделать так, как ты делаешь, то можешь заюзать перехват SetPlayerSkin и сохранять в пвар ид выданного скина, при спавне получаешь значение и выдаешь обратно этот скин

DeimoS
15.06.2017, 12:57
Если не получается сделать так, как ты делаешь, то можешь заюзать перехват SetPlayerSkin и сохранять в пвар ид выданного скина, при спавне получаешь значение и выдаешь обратно этот скин

Только вместо pVar обычный массив лучше использовать :pardon:

А вот в реализации автора можно и pVar использовать.

public OnPlayerDeath(...)
{
SetPVarInt(playerid, "DeatchSkin", GetPlayerSkin(playerid));
return 1;
}

public OnPlayerSpawn(...)
{
if(GetPVarInt(playerid, "DeatchSkin"))
{
SetPlayerSkin(playerid, GetPVarInt(playerid, "DeatchSkin"));
DeletePVar(playerid, "DeatchSkin");
}
return 1;
}

Автор, ты просто не так использовал GetPlayerSkin, как нужно его использовать

Kovshevoy
15.06.2017, 14:31
Только вместо pVar обычный массив лучше использовать :pardon:

А вот в реализации автора можно и pVar использовать.

public OnPlayerDeath(...)
{
SetPVarInt(playerid, "DeatchSkin", GetPlayerSkin(playerid));
return 1;
}

public OnPlayerSpawn(...)
{
if(GetPVarInt(playerid, "DeatchSkin"))
{
SetPlayerSkin(playerid, GetPVarInt(playerid, "DeatchSkin"));
DeletePVar(playerid, "DeatchSkin");
}
return 1;
}

Автор, ты просто не так использовал GetPlayerSkin, как нужно его использовать

Благодарю, действительно помогло)