d2000 0 Опубликовано 5 сентября, 2017 Делаю работу автобусника.Мне нужно чтобы были как гоночные чекпоинты (типо со стрелочкой) - это 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; } Подскажите пожалуйста как этот поправить ибо всю голову сломал), либо более простой способ реализации маршрутов по той же схеме.(Остановка - промежуточный - промежуточный - остановка- промежуточный - остановка и т.п) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты