PHP код:
#include <a_samp>
#define COLOR_ORANGE 0xFFA500FF
#define COLOR_LIMEGREEN 0x32CD32FF
#define COLOR_ROYALBLUE 0x4169E1FF
#define COLOR_PINK 0xFA8072FF
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
enum {
STAGE_NONE,
STAGE_PICKUP,
STAGE_ONROUTE
}
new MissionStage[MAX_PLAYERS];
new Float: gPickupCPs[][] = {
{ 2798.1702, -1576.2926, 10.9272 },
{ 3798.1702,-1576.2926,10.9272 },
{ 1798.1702,-1576.2926,10.9272 }
};
new Float: gDeliverCPs[][] = {
{ 2060.4375, -2091.2126, 13.5469 },
{ 070.8125, -2384.6160, 13.5469 },
{ 900.7358, -1204.0779, 16.9832 },
{ 800.1103, -1542.8258, 13.5526 }
};
public OnFilterScriptInit()
{
print("\n----------------------------------");
print("::::::::your fs name:::::::");
print("----------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
print("\n----------------------------------");
print("::::::::your fs name:::::::");
print("----------------------------------\n");
return 1;
}
public OnPlayerConnect(playerid) {
MissionStage[playerid] = STAGE_NONE;
return true;
}
DeliveryMission(playerid) {
if(MissionStage[playerid] == STAGE_NONE) {
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 455) {
new
idx,
Float: tmp,
Float: dist = GetPlayerDistanceFromPoint(playerid, gPickupCPs[0][0], gPickupCPs[0][1], gPickupCPs[0][2])
;
for(new i = 1; i < sizeof gPickupCPs; ++i) {
tmp = GetPlayerDistanceFromPoint(playerid, gPickupCPs[i][0], gPickupCPs[i][1], gPickupCPs[i][2]);
if(tmp < dist) {
dist = tmp;
idx = i;
}
}
MissionStage[playerid] = STAGE_PICKUP;
return SetPlayerCheckpoint(playerid, gPickupCPs[idx][0], gPickupCPs[idx][1], gPickupCPs[idx][2], 10.0);
}
} else {
MissionStage[playerid] = STAGE_NONE;
return DisablePlayerCheckpoint(playerid);
}
return false;
}
public OnPlayerCommandText(playerid, cmdtext[]) {
if (strcmp("/work", cmdtext, true) == 0) {
if(MissionStage[playerid] != STAGE_NONE) {
return SendClientMessage(playerid, COLOR_RED, "You are already doing a work!");
}
if(DeliveryMission(playerid)) {
new
string[64]
;
GameTextForPlayer(playerid, "~g~You started the job, good luck!", 3000, 3);
GetPlayerName(playerid, string, MAX_PLAYER_NAME);
strcat(string, " is now doing Courrier mission.");
return SendClientMessageToAll(COLOR_YELLOW, string);
}
}
if (strcmp("/stopwork", cmdtext, true) == 0) {
if(MissionStage[playerid] == STAGE_NONE) {
return SendClientMessage(playerid, COLOR_RED, "You aren't doing any work!");
}
if(DeliveryMission(playerid)) {
return SendClientMessage(playerid, COLOR_RED, "You aborted the delivery job!");
}
}
return true;
}
public OnPlayerEnterCheckpoint(playerid) {
switch(MissionStage[playerid]) {
case STAGE_PICKUP: {
new
rand = random(sizeof gDeliverCPs)
;
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid, COLOR_RED, "Loading Courrier");
GameTextForPlayer(playerid, "~g~Deliver the Courrier!", 3000, 3);
SetPlayerCheckpoint(playerid, gDeliverCPs[rand][0], gDeliverCPs[rand][1], gDeliverCPs[rand][2], 10.0);
MissionStage[playerid] = STAGE_ONROUTE;
}
case STAGE_ONROUTE: {
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid, COLOR_RED, "Unloading Package");
SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
GivePlayerMoney(playerid, 5000);
MissionStage[playerid] = STAGE_NONE;
}
}
return true;