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;
}
}
Последнее редактирование:
