Перейти к содержанию
Авторизация  
d2000

Проблема с чекпоинтами

Рекомендуемые сообщения

d2000

Делаю работу автобусника.
Мне нужно чтобы были как гоночные чекпоинты (типо со стрелочкой) - это OnPlayerEnterRaceCheckpoint.

И обычные. OnPlayerEnterCheckpoint.

Со стрелочкой это промежуточные, а обычные - остановки.

И у меня получается так что первая остановка берется норм, промежуточные чекпоинты норм, вторая остановка нет.(ничего не происходит).
 

public OnPlayerEnterRaceCheckpoint(@p)
{
    if(GetPVarInt(playerid, "BusArz_mark") == 1)
    {
        DisablePlayerRaceCheckpoint(playerid);
        DeletePVar(playerid,"BusArz_mark");
	SetPlayerRaceCheckpoint(playerid,0,810.2558,1813.5111,13.3994,626.3737,1844.4850,13.4008,5.0); //Первый от ЖД
	SetPVarInt(playerid, "BusArz_mark", 2);
        return true;
    }
    if(GetPVarInt(playerid, "BusArz_mark") == 2)//Второй от ЖД
    {
        DisablePlayerRaceCheckpoint(playerid);
        DeletePVar(playerid,"BusArz_mark");
	SetPlayerRaceCheckpoint(playerid,0,626.3737,1844.4850,13.4008,581.8356,1696.1971,13.2924,5.0);
	SetPVarInt(playerid, "BusArz_mark", 3);
	return true;
    }
    if(GetPVarInt(playerid, "BusArz_mark") == 3)//Третий от ЖД
    {
        DisablePlayerRaceCheckpoint(playerid);
        DeletePVar(playerid,"BusArz_mark");
	SetPlayerCheckpoint(playerid,581.8356,1696.1971,13.2924,5.0);//На автошколу
	SetPVarInt(playerid, "BusArz1", 2);
	return true;
    }
	return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
    new string7[250];
    new sender[MAX_PLAYER_NAME];
    if(GetPVarInt(playerid, "BusArz1") == 1)
    {
        DeletePVar(playerid, "BusArz1"); 
        DisablePlayerCheckpoint(playerid); // 
	TogglePlayerControllable(playerid, 0);
        SetTimerEx("UnFreezePlayer", 15*1000, false, "i", playerid);//таймер на 15 секунд
        SendClientMessage(playerid,COLOR_BLUE,"Вы заморожены на 15 секунд.");
	format(string7, sizeof(string7), "[Водитель автобуса] %s : Остановка - 'ЖД-Вокзал'.Следующая остановка - 'Автошкола'",sender);
	SendClientMessageToAll(COLOR_GREEN,string7);
        SetPlayerRaceCheckpoint(playerid, 0, 914.1260,1786.2695,13.4023, 810.2558,1813.5111,13.3994, 2); // устанавливает гоночный чекпоинт
        SetPVarInt(playerid, "BusArz_mark", 1);
	return true;
    }
    else if(GetPVarInt(playerid, "BusArz1") == 2) //Автошкола
    {
        TogglePlayerControllable(playerid, 0);
        SetTimerEx("UnFreezePlayer", 15*1000, false, "i", playerid);//таймер на 15 секунд
        SendClientMessage(playerid,COLOR_BLUE,"Вы заморожены на 15 секунд.");
	SCM(playerid,COLOR_RED,"[Водитель автобуса] %s : Остановка - 'Автошкола'.Следующая остановка - 'Мэрия'");
        DeletePVar(playerid, "BusArz1");
        DisablePlayerCheckpoint(playerid); //
	SetPlayerRaceCheckpoint(playerid, 0, 914.1260,1786.2695,13.4023, 810.2558,1813.5111,13.3994, 5);// От автошколы
	SetPVarInt(playerid, "BusArz_mark", 4);
	return true;
    }
    return 1;
}	

Подскажите пожалуйста как этот поправить ибо всю голову сломал), либо более простой способ реализации маршрутов по той же схеме.(Остановка - промежуточный - промежуточный - остановка- промежуточный - остановка и т.п)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.