Soto
Умник
1.Ошибка в команде "/fare"
Суть ошибки: При вводе команды всё ок, но когда пассажир садится в машину/мото он может ездить сколько хочет у него не снимит ни вирта, а так-же водителю не даст ни вирта. Кто может исправить?
Вот команда:
2.Ошибка в команде "/mopen"
Суть ошибки: При вводе команды пишет что ворота открылись, но они даже не двигаются. Что делать?
Вот команда:
Суть ошибки: При вводе команды всё ок, но когда пассажир садится в машину/мото он может ездить сколько хочет у него не снимит ни вирта, а так-же водителю не даст ни вирта. Кто может исправить?
Вот команда:
PHP:
if(strcmp(cmd,"/fare",true)==0)
{
if(PlayerInfo[playerid][pTaxiv] > 0)
{
new Veh = GetPlayerVehicleID(playerid);
if(TransportDuty[playerid] > 0)
{
if(TransportDuty[playerid] == 1)
{
TaxiDrivers -= 1;
}
Delete3DTextLabel(taxi3d[Veh]);
TransportDuty[playerid] = 0;
format(string, sizeof(string), "Вы закончили рабочий день и заработали: %d", TransportMoney[playerid]);
SendClientMessage(playerid, 0x6495EDFF, "Вы сняли вывеску 'Taxi' ");
format(string,sizeof(string),"{009BFF} - Ваша лицензия еще на: %d часов",PlayerInfo[playerid][pTaxiv]);
SendClientMessage(playerid,COLOR_GREEN,string);
PlayerInfo[playerid][pCash] +=TransportMoney[playerid];
TransportValue[playerid] = 0;
TransportMoney[playerid] = 0;
return true;
}
if(IsPlayerInAnyVehicle(playerid))
{
if(GetPlayerState(playerid) == 2)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "{F74848}» Введите{FFFFFF}: /fare [тариф]");
return true;
}
moneys = strval(tmp);
if(moneys < 1 || moneys > 600)
{
SendClientMessage(playerid, COLOR_GREY, "{F70000}x {ADAEAD}Не меньше 1 и не больше $600");
return true;
}
TaxiDrivers += 1;
TransportDuty[playerid] = 1;
TransportValue[playerid] = moneys;
GetPlayerName(playerid,sendername,sizeof(sendername));
format(string, sizeof(string), "{282828}T{DCDCDC}A{282828}X{DCDCDC}I\n{007DFF}<<{CDFF00} Тариф:{FAFAFA} %d {CDFF00} вирт {007DFF}>>", TransportValue[playerid]);
taxi3d[Veh] = Create3DTextLabel(string, COLOR_YELLOW, 9999.0, 9999.0, 9999.0, 30.0, 0, 1);
Attach3DTextLabelToVehicle(taxi3d[Veh], Veh, 0, 0, 1.5);
format(string, sizeof(string), "%s начал(а) рабочий день. Тариф: %d вирт", sendername, TransportValue[playerid]);
ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SendClientMessage(playerid, 0x6495EDFF, "Вы начали рабочий день");
}
else
{
SendClientMessage(playerid, COLOR_GREY, "{F70000}x {ADAEAD}Вы не в машине!");
return true;
}
}
return true;
}
}
Суть ошибки: При вводе команды пишет что ворота открылись, но они даже не двигаются. Что делать?
Вот команда:
PHP:
if(!strcmp(cmd, "/mopen", true))
{
if(PlayerInfo[playerid][pLeader] == 4 || PlayerInfo[playerid][pMember] == 4)
{
if (PlayerToPoint(25, playerid,-2561.60009766,618.29998779,14.69999981))
//Где должен стоять игрок что бы ворота открывались (15 == это радиус отталкивается от координат , playerid == ид игрока для которого будет выполнятся эта функция (в данном случае для всех), 1823.19,-1861.68,15.025 == Y,X,Z координаты где должен стоять игрок (не забывайте про радиус!) ).
{
MoveObject(gatemedic, -2561.59960938,618.29980469,1.00000000, 2);
//куда будут двигаться ворота (gateactekos == переменная которой мы обозначили объект в public OnGameModeInit, 1810.90,-1887.3,15.2 == координаты Y,X,Z куда двигаются ворота, 2 == скорость движения ворот (2 оптимальная))
SetTimer("gateactClose", 20000, 0);
gatetimeract = SetTimer("gateactClose", 20000, 0);
//Таймер открытия через сколько ворота закроются (gateactekos == переменная которой мы обозначили объект в public OnGameModeInit,10000 == время через сколько закроются ворота(указываются в миллисекундах)
SendClientMessage(playerid, COLOR_RED," Ворота открылись. Они будут закрыты через 20 секунд.");
//отсылка игроку сообщение о том что гараж открылся (playerid == ид игрока для которого будет выполнятся эта функция (в данном случае для всех), COLOR_RED == это тот самый #define которым мы заменяли хекс-код = 0xAA3333AA *это как бы цвет, " ворота открылись. Они будут закрыты через 10 секунд." == содержимое самого сообщения ).
}
}
return true;
}
