Это не скрипт, а часть кода которую нужно вшить в код самого мода ГТО.
[pwn]new DriverTimer;
new driver[MAX_PLAYERS];
#define MAX_CASH 100000
#define MIN_CASH 50000
new vehicleModel[MAX_VEHICLES];
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z); stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
return 1;
}
return 0;
}
public OnGameModeInit()
{
AddVehicle(435,608.3671,1714.5481,6.6011,125.5637,2,8); // fura1
AddVehicle(435,589.0675,1641.7410,6.6017,244.5831,7,3); // fura2
AddVehicle(435,596.6193,1648.4313,6.6029,244.8807,18,24); // fura3
AddVehicle(403,563.6525,1685.5457,6.5999,307.8501,7,3); // kamaz 1
AddVehicle(403,648.7978,1688.1344,6.6034,38.1212,27,35); // kamaz 2
AddVehicle(403,663.2928,1750.0137,5.4414,127.2697,7,3); // kamaz 3
AddVehicle(435,607.7957,1653.9866,6.6016,244.1656,7,3); // fura4
AddVehicle(435,615.4266,1660.9045,6.6020,243.1745,7,3); // fura5
}
stock AddVehicle(modelid,Float:spawn_x,Float:spawn_y,Float:spawn_z,Float:z_angle,color1,color2)
{
vehicleModel[AddStaticVehicle(modelid,spawn_x,spawn_y,spawn_z,z_angle,color1,color2)-1]=modelid;
}
public OnPlayerStateChange(playerid,newstate,oldstate)
{
new string[256];
new name[256];
if(newstate == PLAYER_STATE_ONFOOT)
{
DisablePlayerCheckpoint(playerid);
}
if(newstate == PLAYER_STATE_DRIVER)
{
new Model = GetVehicleModel((GetPlayerVehicleID(playerid)));
switch(Model)
{
case 403:
{
if(driver[playerid] == 0)
{
SendClientMessage(playerid,0xE49BADFF," Прицепи фуру и доставь грузовик к дому Си-Джея, и ты получишь 100000$");
SendClientMessage(playerid,0xE49BADFF," Если приедешь без фуры, миссия не будет выполнена, по дороге не выходи из грузовика!");
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string)," %s взял миссию по доставке транспорта",name);
SendClientMessageToAll(COLOUR_MISSION,string);
driver[playerid]=1;
}
DriverTimer = SetTimer("IsPlayerDriverJob",2000,1);
}
}
}
return true;
}
public OnPlayerExitVehicle(playerid)
{
if(driver[playerid] == 1)
{
SendClientMessage(playerid,0xFF0000AA," Ты не справился с миссией, не выходи больше из грузовика!");
driver[playerid]=0;
KillTimer(DriverTimer);
SetVehicleToRespawn(GetPlayerVehicleID(playerid));
}
}
forward IsPlayerDriverJob();
public IsPlayerDriverJob()
{
new string[256];
new name[256];
for(new i=0; i<MAX_PLAYERS; i++)
{
if(PlayerToPoint(25,i,2494.4578,-1671.4043,13.3359))
{
if(driver[i]==1&&vehicleModel[GetPlayerVehicleID(i)-1]==403)
{
if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(i)))
{
SetVehicleToRespawn(GetPlayerVehicleID(i));
SendClientMessage(i,0xFFFF00AA," Молодец! Ты доставил транспорт! Поздравляю!");
GameTextForPlayer(i,"+ 100000$",5000,3);
SendClientMessage(i,0xFFFF00AA," получи свои 100 000$");
GetPlayerName(i,name,sizeof(name));
format(string,sizeof(string)," %s успешно доставил транспорт и получил 100 000 $ + Опыт",name);
SendClientMessageToAll(COLOUR_MISSION,string);
driver[i]=0;
KillTimer(DriverTimer);
oGivePlayerMoney(i,100000,true);
new lvl = GetPlayerScore(i);
if(lvl > 10 && lvl < 20)
{
GivePlayerXP(i,10000,true);
}
else if(lvl > 20 && lvl < 30)
{
GivePlayerXP(i,30000,true);
}
else if(lvl > 30 && lvl < 40)
{
GivePlayerXP(i,60000,true);
}
else if(lvl > 40 && lvl < 50)
{
GivePlayerXP(i,150000,true);
}
}
else
{
SendClientMessage(i, 0xFFFF00AA, " А где фура?! Нет фуры - нет опыта и денег!");
SetVehicleToRespawn(GetPlayerVehicleID(i));
}
}
}
}
}[/pwn]
TruckMission by StopTussin