Проблема со спавном
#1

Проблема в том что если сделать SpawnPlayer в то время когда игрок находится в автомобиле он появляется на грув стрит и часто с бутылкой или сигарой в руке, и бегом CJ'я. Из-за чего такое может быть?
Reply
#2

Мсье, да это же дефолтный баг сампа. Знать бы такое пора. Как вариант решения - выпихивать игрока их машины, и потом спавнить.
Reply
#3

Quote:
Originally Posted by iEnemY
View Post
Мсье, да это же дефолтный баг сампа. Знать бы такое пора. Как вариант решения - выпихивать игрока их машины, и потом спавнить.
Спасибо, незнал. Думал где-то в коде ошибку допустил
Reply
#4

Так стоп. Почему-то у меня не получается...
Пробывал SpawnPlayer через сток воспроизводить:

PHP Code:
stock Spawn(playerid)
{
if(
IsPlayerInAnyVehicle(playerid)) RemovePlayerFromVehicle(playerid);
SpawnPlayer(playerid);
return 
1;
}
#define SpawnPlayer Spawn 
Пробывал просто в коде перед SpawnPlayer ставить if(IsPlayerInAnyVehicle(playerid)) RemovePlayerFromVehicle(playerid);
И в OnPlayerSpawn ставил. Ни один способ не помог.

Просветите?
Reply
#5

Плохая идея. RemovePlayerFromVehicle - заставяляет выйти игрока из машины. Как труп выйдет из машины? Я использую примерно это:
pawn Code:
OnPlayerDeath()
{
    if(IsPlayerInAnyVehicle())
    {
        new Float:f[3];
        GetPlayerPos(playerid, f[0], f[1], f[2]);
        SetPlayerPos(playerid, f[0], f[1], f[2] + 1);
    }
}
Но можно еще попробовать сменить вирт. мир игрока - и тогда он и машина окажутся в разных вирт. мирах, и машина не будет видна игроку, и его из неё выпихнет.
Reply
#6

Все, сделал. Ща спасибку кину.
Вот:

PHP Code:
stock Spawn(playerid)
{
    if(
IsPlayerInAnyVehicle(playerid))
    {
    new 
Float:f[3];
    
GetPlayerPos(playeridf[0], f[1], f[2]);
    
SetPlayerPos(playeridf[0], f[1], f[2] + 1);
    }
SpawnPlayer(playerid);
return 
1;
}
#define SpawnPlayer Spawn 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)