Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Не срабатывает чекпоинт

Статус
В этой теме нельзя размещать новые ответы.

Denis30rus

Новичок
Когда подъезжаешь на чекпоинт не перекидывает на другой! В чем может быть проблема?
Ссылка на скрин:

PHP:
[/CENTER]

new MARSHRUT_NAME[][45] = {
	{"Южный-Арзамас"},
	{"Арзамас-Батырево"}
};

enum autobusc
{
    mID,
    Type,
    Float:aX,
    Float:aY,
    Float:aZ,
    Float:aXX,
    Float:aYY,
    Float:aZZ
};

new AUTOBUS_DATA[][autobusc] = {
    {0, 0, 902.8864,-461.7906,4.1200, 949.9850,-457.1638,4.1200},
    {0, 0, 949.9850,-457.1638,4.1200, 946.1705,-421.9751,4.1200},
    {0, 1, 946.1705,-421.9751,4.1200, 888.2141,-422.4407,4.1337},
    {0, 3, 888.2141,-422.4407,4.1337, 902.8864,-461.7906,4.1200}
};

public OnPlayerEnterCheckpoint(playerid)
{
	if(GetPVarInt(playerid, "job_bus") == 5)
    {
		if(GetPlayerVehicleID(playerid) != PLAYER_DATA[playerid][data_RENTJOB]) return SCM(playerid, COLOR_WARNING, "Вы не на арендованной машине!");
        SetPVarInt(playerid, "cash_avt", GetPVarInt(playerid, "cash_avt")+25); // цена за чекпоинт
        if(AUTOBUS_DATA[GetPVarInt(playerid, "ostanovka")][Type] == 1)
        {
            SetTimerEx("@@_Ostanovka", 5000, false, "i", playerid);
            SCM(playerid, COLOR_WARNING, "Остановка. Ожидайте пассажиров...");
            TogglePlayerControllable(playerid, false);
        }
        if(AUTOBUS_DATA[GetPVarInt(playerid, "ostanovka")][Type] == 3)
        {
            SCM(playerid, COLOR_WARNING, "Это конечная остановка. Если хотите продолжить маршрут в обратном направлении, двигайтесь далее по чекпоинтам.");
            SCM(playerid, COLOR_WARNING, "Если хотите забрать деньги, введите команду /stopbus.");
            if(GetPVarInt(playerid, "konech") == 0) SetPVarInt(playerid, "konech", 1);
            else DeletePVar(playerid, "konech");
        }
        for(new i; i < sizeof(AUTOBUS_DATA); i++)
        {
            if(AUTOBUS_DATA[i][mID] != GetPVarInt(playerid, "marshrut")) continue;
            if(i < GetPVarInt(playerid, "ostanovka") && !GetPVarInt(playerid, "konech")) continue;
            if(GetPVarInt(playerid, "konech") && i == GetPVarInt(playerid, "ostanovka")) {
                i--;
            }
            SetPlayerRaceCheckpoint(playerid, 0, AUTOBUS_DATA[i][aX], AUTOBUS_DATA[i][aY], AUTOBUS_DATA[i][aZ], AUTOBUS_DATA[i][aXX], AUTOBUS_DATA[i][aYY], AUTOBUS_DATA[i][aZZ] 5.0);
            SetPVarInt(playerid, "ostanovka", i+1);
            break;
        }
        return true;
    }
    return true;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	case dialog_SELECTMARSHRUT:
 	{
		if(response)
		{
			SetPVarInt(playerid, "marshrut", listitem);
			new str[70];
			format(str, sizeof str, "Маршрут: %s\nПроезд бесплатный", MARSHRUT_NAME[listitem]);
			autobus_3d[GetPlayerVehicleID(playerid)] = Create3DTextLabel(str, COLOR_WARNING, 0.0, 0.0, 0.0, 20.0, 0, 0);
			Attach3DTextLabelToVehicle(autobus_3d[GetPlayerVehicleID(playerid)], GetPlayerVehicleID(playerid), 0.0, 0.0, 0.5);

			SCM(playerid, COLOR_WARNING, str);
			SetPVarInt(playerid, "ostanovka", 0);
			SCM(playerid, COLOR_WARNING, "Отправляйтесь на свой первый чекпоинт!");
			for(new i; i < sizeof(AUTOBUS_DATA); i++)
			{
			    if(AUTOBUS_DATA[i][mID] != listitem) continue;
			    SetPlayerRaceCheckpoint(playerid, 0, AUTOBUS_DATA[i][aX], AUTOBUS_DATA[i][aY], AUTOBUS_DATA[i][aZ], AUTOBUS_DATA[i][aXX], AUTOBUS_DATA[i][aYY], AUTOBUS_DATA[i][aZZ] 5.0);
			    break;
			}
		}
		else
		{
			DeletePVar(playerid, "job_bus");
			give_player_money(playerid, GetPVarInt(playerid, "cash_avt"), "#Avtobus");
			DeletePVar(playerid, "cash_avt");
			SCM(playerid, COLOR_WARNING, "Работа автобусника окончена!");
			DisablePlayerCheckpoint(playerid);
			RemovePlayerFromVehicleAC(playerid);
			SetVehicleToRespawn(PLAYER_DATA[playerid][data_RENTJOB]);
		}
		return true;
	}
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу