21.04.2011, 19:26
Код:
#include<streamer>
#include<string>
#define JOBMENU 1307
#define HELPMENU 1306
/* Trunk System */
#define MAX_TRUNK_SLOTS (5) //Only 4
new LoadTankerTime[MAX_PLAYERS];//ftjob
new UnloadTankerTime[MAX_PLAYERS];//ftjob
pTankerTime,//ftjob
LoadTankerTime[playerid] = 0;
UnloadTankerTime[playerid] = 0;//ftjob
PlayerInfo[playerid][pTankerTime] = 0;//ftjob
public OnFilterScriptInit()
{
Create3DTextLabel("Trucker Job \nDo /join to become one ",COLOR_RED,358.2409,182.4902,1008.3828+0.5,10.0, 0);// Trucker
CreateDynamicPickup(1239,1,358.2409,182.4902,1008.3828);//Trucker Registration
CreateDynamicPickup(1239,1,261.1522,1451.3818,10.1481);//Trucker Buyfuel
CreateDynamicPickup(1239,1,998.0496,-896.8078,42.2531);//Trucker Sellfuel
}
//----------------------------------[JOB HELP]----------------------------------------------
if(listitem == 1) //
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "|===[Trucker Commands ]===|");
SendClientMessage(playerid, COLOR_GREEN, "** /buyfuel [amount] - /sellfuel **");
}
else if(PlayerInfo[targetid][pJob] == 16) { jtext = "Trucker"; }//ftjob
}
if(strcmp(cmd, "/jobhelp", true) == 0)
{
if(IsPlayerConnected(playerid))
{
ShowPlayerDialog(playerid, JOBMENU, DIALOG_STYLE_LIST, "Job Help","nTrucker", "Help", "Cancel");
SendClientMessage(playerid, COLOR_GREEN, " ** Select a job you want help in !");
}
return 1;
}
if(strcmp(cmd, "/jobs", true) == 0)
{
if(IsPlayerConnected(playerid))
{
ShowPlayerDialog(playerid,DIALOG_CDEDITPARK,DIALOG_STYLE_MSGBOX,"Jobs:","16:Trucker","Close","Cancel");
}
return 1;
}
if(strcmp(cmd, "/join", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pJob] == 0)
{
if (GetPlayerState(playerid) == 1 && PlayerToPoint(3.0, playerid,358.2409,182.4902,1008.3828))//ftjob
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You are about to become a Trucker.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have to forfill this Contract first, if you want to Quit the job later.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you are sure to become a Trucker, type /accept job.");
GettingJob[playerid] = 16;
}
//----------------------------------[new line]----------------------------------------------
if(LoadTankerTime[i] >= 1)
{
LoadTankerTime[i] += 1;
if(LoadTankerTime[i] == 5)
{
SendClientMessage(i, COLOR_PURPLE, " 25 percent");
}
else if(LoadTankerTime[i] == 8)
{
SendClientMessage(i, COLOR_PURPLE, " 50 percent");
}
else if(LoadTankerTime[i] == 11)
{
SendClientMessage(i, COLOR_PURPLE, " 75 percent");
}
else if(LoadTankerTime[i] == 14)
{
SendClientMessage(i, TEAM_GROVE_COLOR, " The Tanker is now Full, deliver the fuel to Vinewood Gas Station");
}
else if(LoadTankerTime[i] == 15)
{
LoadTankerTime[i] = 0;
TogglePlayerControllable(i, 1);
}
}
if(UnloadTankerTime[i] >= 1)
{
new tmpcar = GetPlayerVehicleID(i);
new tmptrailer = GetVehicleTrailer(tmpcar);
UnloadTankerTime[i] += 1;
if(LoadTankerTime[i] == 2)
{
SendClientMessage(i, COLOR_PURPLE, " The Fuel is being unloaded, please wait");
}
else if(UnloadTankerTime[i] == 5)
{
SendClientMessage(i, COLOR_PURPLE, " 75 percent");
}
else if(UnloadTankerTime[i] == 8)
{
SendClientMessage(i, COLOR_PURPLE, " 50 percent");
}
else if(UnloadTankerTime[i] == 11)
{
SendClientMessage(i, COLOR_PURPLE, " 25 percent");
}
else if(UnloadTankerTime[i] == 14)
{
SendClientMessage(i, COLOR_RED, " The Tanker is now Empty, you will receive a message when more fuel is available.");
}
else if(UnloadTankerTime[i] == 15)
{
UnloadTankerTime[i] = 0;
TogglePlayerControllable(i, 1);
Gas[tmpcar] = GasMax;
SetVehicleToRespawn(GetPlayerVehicleID(i));
SetVehicleToRespawn(tmptrailer);
}
}
if(PlayerInfo[i][pTankerTime] > 0)
{
if(PlayerInfo[i][pTankerTime] == 1)
{
if(PlayerInfo[i][pJob] == 16)
{
SendClientMessage(i, COLOR_GRAD2, " The next load of Fuel is ready at the Refinery.");
PlayerInfo[i][pTankerTime] -= 1;
}
else
{
PlayerInfo[i][pTankerTime] -= 1;
}
}
else if(PlayerInfo[i][pTankerTime] <= 0)
{
PlayerInfo[i][pTankerTime] = 0;
}
else
{
PlayerInfo[i][pTankerTime] -= 1;
}
}
if(strcmp(cmd, "/buyfuel", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if ((PlayerInfo[playerid][pJob] == 16))
{
new tmpcar = GetPlayerVehicleID(playerid);
new compcost = 10;
if(PlayerToPoint(5.0, playerid, 261.1522,1451.3818,10.1481))
{
if(IsAFuelTruck(tmpcar) && IsTrailerAttachedToVehicle(tmpcar))
{
if(PlayerHaul[tmpcar][pFuelLoad] < PlayerHaul[tmpcar][pCapasity])
{
new amount;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, " USAGE: /buyfuel [amount]");
return 1;
}
amount = strval(tmp);
if(amount < 1 || amount > 10) { SendClientMessage(playerid, COLOR_GREY, " Can't buy less than 1 Fuel Product or more then 10 !"); return 1; }
new check= PlayerHaul[tmpcar][pFuelLoad] + amount;
if(check > PlayerHaul[tmpcar][pCapasity])
{
format(string, sizeof(string), " You went over the Truck's Fuel Load Limit of %d, you currently have %d Fuel loaded.",PlayerHaul[tmpcar][pCapasity],PlayerHaul[tmpcar][pFuelLoad]);
SendClientMessage(playerid, COLOR_GREY, string);
return 1;
}
new cost = amount*compcost;
if(GetPlayerMoney(playerid) >= cost)
{
if(PlayerInfo[playerid][pTankerTime] == 0)
{
if(LoadTankerTime[playerid] <= 1)
{
PlayerInfo[playerid][pTankerTime] = 1800;
LoadTankerTime[playerid] += 1;
TogglePlayerControllable(playerid, 0);
PlayerHaul[tmpcar][pFuelLoad] += amount;
format(string, sizeof(string), " Fuel: %d,000/%d,000 Gallons.", PlayerHaul[tmpcar][pFuelLoad],PlayerHaul[tmpcar][pCapasity]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
format(string, sizeof(string), " You bought %d,000 Gallons of fuel for $%d.", amount,cost);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
SendClientMessage(playerid, COLOR_PURPLE, " The Fuel Tanker is being filled, please wait");
GivePlayerMoney(playerid,-cost);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " There is no Fuel available at the moment, please wait");
return 1;
}
}
else
{
format(string, sizeof(string), " You cant afford %d,000 Gallons of Fuel at $%d !", amount,cost);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
return 1;
}
}
else
{
format(string, sizeof(string), " Fuel: %d,000/%d,000 Gallons.", PlayerHaul[tmpcar][pFuelLoad],PlayerHaul[tmpcar][pCapasity]);
SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
return 1;
}
}
else
{
SendClientMessage(playerid, TEAM_GROVE_COLOR, " This Vehicle does not deliver Fuel Products or there is no trailer attach.");
return 1;
}
}
else
{
SendClientMessage(playerid, TEAM_GROVE_COLOR, " Your not at the Fuel Refinery.");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " You are not a Truck Driver.");
return 1;
}
return 1;
}
if(strcmp(cmd, "/sellfuel", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new tmpcar = GetPlayerVehicleID(playerid);
if(IsAFuelTruck(tmpcar) && IsTrailerAttachedToVehicle(tmpcar))
{
if (PlayerToPoint(5.0, playerid, 998.0496,-896.8078,42.2531))
{
if (PlayerHaul[tmpcar][pFuelLoad] >= 1)
{
new cashmade = PlayerHaul[tmpcar][pFuelLoad]*15;
UnloadTankerTime[playerid] += 1;
TogglePlayerControllable(playerid, 0);
ConsumingMoney[playerid] = 1;
GivePlayerMoney(playerid,cashmade);
PlayerHaul[tmpcar][pFuelLoad] = 0;
SendClientMessage(playerid, TEAM_GROVE_COLOR, " All fuel in the Truck has been Sold.");
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " There is no fuel Loaded, return to the Fuel Refinery.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " You are not at Idlewood Gas Station.");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, " You are not in a Fuel Tanker or do not have a Trailer attached.");
return 1;
}
}
}

