Sam_Fisher_Gta
Специалист
-Автор данной команды Crazy_Str.
-Вырезал я: из мода Fortune.
-Если захотите дать + до дайте их Crazy_Str.
-Я всего лишь вырезал команду.
Ко всем new:
Если у вас есть эти new то заменяйте
Заменяем свою команду на эту:
Ко всем диалогам:
Замените или добавьте к public OnPlayerStateChange(playerid, newstate, oldstate)
Будут ошибки пишите
Если я что то забыл добавить то лучше просто скажите мне)
-Вырезал я: из мода Fortune.
-Если захотите дать + до дайте их Crazy_Str.
-Я всего лишь вырезал команду.
Ко всем new:
PHP:
new TransportDuty[MAX_PLAYERS];
new TransportValue[MAX_PLAYERS];
new idtr[MAX_PLAYERS];
new summatr[MAX_PLAYERS];
Заменяем свою команду на эту:
PHP:
if(strcmp(cmd,"/fare",true)==0)
{
new Veh = GetPlayerVehicleID(playerid);
if(PlayerInfo[playerid][pJob] == 4)
{
if(TransportDuty[playerid] == 1) return SendClientMessage(playerid, COLOR_GRAD1, "Вы уже начали рабочий день");
if(Veh >= taxicar[0] && Veh <= taxicar[1])
{
if(GetPlayerState(playerid) == 2)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SPD(playerid, 9398 , 1, "{ffcc00}Настройка счетчика", "{FFFFFF}Укажите тариф по которому будет работать Ваше такси\nЭта сумма будет сниматься с пассажира каждые 30 секунд поездки\nТарифная ставка может быть от 0 до 200$", "Ок", "Отмена");
moneys = strval(tmp);
if(moneys < 1 || moneys > 200) return SendClientMessage(playerid, COLOR_GREY, "Цена должна быть не меньше 1 и не больше 200!");
TaxiDrivers += 1;
TransportDuty[playerid] = 1;
TransportValue[playerid] = moneys;
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[10];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
GetPlayerName(playerid,sendername,sizeof(sendername));
format(string, sizeof(string), "{007fff}%s\n{efd334}Тариф: %d вирт",(result), TransportValue[playerid]);
taxi3d[Veh] = Create3DTextLabel(string,COLOR_YELLOW3d,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, "Вы начали рабочий день");
OnPlayerUpdate(playerid);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Вы должны быть на водительском месте!");
return true;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Вы не в служебной машине!");
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Вы не таксист!");
return true;
}
return true;
}
PHP:
case 9398:
{
if(response)
{
if(!strlen(inputtext)) return SPD(playerid, 9398, 1, "{ffcc00}Настройка счетчика", "{FFFFFF}Укажите тариф по которому будет работать Ваше такси\nЭта сумма будет сниматься с пассажира каждые 30 секунд поездки\nТарифная ставка может быть от 0 до 200$", "Далее", "Отмена");
idtr[playerid] = strval(inputtext);
SPD(playerid, 9399, 1,"{ffcc00}Название такси","{FFFFFF}Придумайте название для вашего такси\nМаксимальная длинна 15 символов\n\nЕсли вы не хотите как то называться\n нажмите кнопку ''Пропустить''","Ок","Пропустить");
}
}
case 9399:
{
if(response)
{
if(!strlen(inputtext)) return SPD(playerid, 9399 , 1, "{ffcc00}Название такси","{FFFFFF}Придумайте название для вашего такси\nМаксимальная длинна 15 символов\n\nЕсли вы не хотите как то называться\n нажмите кнопку ''Пропустить''","Ок","Пропустить");
summatr[playerid]= strval(inputtext);
format(string,sizeof(string),"/fare %d %s",idtr[playerid],(inputtext));
OnPlayerCommandText(playerid,string);
}
}
PHP:
if(newstate == PLAYER_STATE_PASSENGER)
{
new name[24];
GetPlayerName(playerid, name, sizeof(name));
new vehicleid = GetPlayerVehicleID(playerid);
for(new i=0;i<MaxPlayers;i++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == 2 && TransportDuty[i] > 0)
{
if(PlayerInfo[playerid][pCash] < TransportValue[i])
{
format(string, sizeof(string), "Вам нужно %d вирт, чтобы сесть в машину.", TransportValue[i]);
SendClientMessage(playerid, 0x6495EDFF, string);
RemovePlayerFromVehicle(playerid);
return true;
}
if(TransportDuty[i] == 1)
{
if(PlayerInfo[playerid][pLevel] > 1 && PlayerInfo[playerid][pCash] < TransportValue[i])
{
format(string, sizeof(string), "Вам нужно %d$, чтобы сесть в такси.", TransportValue[i]);
SendClientMessage(playerid, COLOR_GREEN, string);
RemovePlayerFromVehicle(playerid);
}
if(PlayerInfo[playerid][pLevel] == 1)
{
format(string, sizeof(string), "Для Вас проезд бесплатный");
SendClientMessage(playerid, COLOR_BLUE, string);
format(string, sizeof(string), "Отвезите его на работу шахтера или на работу грузчика, и получите премию", name);
SendClientMessage(i, COLOR_GREEN, string);
SetPlayerCheckpoint(i,2223.4639,-2219.3965,13.5469,6.0);
CP[i] = 500;
return true;
}
format(string, sizeof(string), "Вы заплатили таксисту %d вирт", TransportValue[i]);
SendClientMessage(playerid, 0x6495EDFF, string);
format(string, sizeof(string), "Пасcажир %s сел в ваше такси", name);
SendClientMessage(i, 0x6495EDFF, string);
PlayerInfo[playerid][pCash] -= TransportValue[i];
PlayerInfo[i][pCash] += TransportValue[i];
return true;
}
}
}
}
}
if(newstate == PLAYER_STATE_ONFOOT)
{
DeletePVar(playerid,"NoAB");
new Veh = GetPlayerVehicleID(playerid);
if(TransportDuty[playerid] == 1)
{
TaxiDrivers -= 1;
Delete3DTextLabel(taxi3d[Veh]);
}
TelePos[playerid][0] = 0.0;
TelePos[playerid][1] = 0.0;
}
Если я что то забыл добавить то лучше просто скажите мне)
Последнее редактирование модератором:
