02.06.2013, 12:18
I am having difficulties with cars, If you see the code at /starttrash you need to be in one of the Dynamic cars setted on top, but I can do command /starttrash even on foot or in whatever vehicle.
Help me please
Help me please
pawn Код:
// This is a comment
// uncomment the line below if you want to write a filterscript
#define FILTERSCRIPT
#include <a_samp>
#if defined FILTERSCRIPT
#define CPTStart 2609.2524,-1546.1023,11.5783
#define CPT1 2224.1653,-1721.4316,13.2754
#define CPT2 1930.4004,-1767.0565,13.2700
#define CPT3 1365.5557,-1286.4127,13.2740
#define CPT4 1214.9138,-920.6895,42.6515
#define CPT5 995.4059,-920.6085,41.9068
#define CAR_TYPE_TRASHINGCAR 1
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_LIGHTBLUE 0x33CCFFAA
enum pInfo
{
trashskin,
trashduty,
enterCP1,
enterCP2,
enterCP3,
enterCP4,
enterCP5
};
new Trashcar1;
new Trashcar2;
new Trashcar3;
public OnFilterScriptInit()
{
Trashcar1 = AddDynamicCar(408, 2568.0779, -1604.0088, 4.3680, 267.2954, 1, 1, 2, CAR_TYPE_TRASHINGCAR);
Trashcar2 = AddDynamicCar(408, 2568.2290, -1599.4730, 4.5800, 265.8384, 1, 1, 2, CAR_TYPE_TRASHINGCAR);
Trashcar3 = AddDynamicCar(408, 2568.4705, -1595.0354, 4.7624, 266.9550, 1, 1, 2, CAR_TYPE_TRASHINGCAR);
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
return 1;
}
new gCarData[MAX_VEHICLES] = { INVALID_VEHICLE_ID, ... };
stock AddDynamicCar(modelid, Float:cx, Float:cy, Float:cz, Float:cfa, color1, color2, respawndelay, cartype)
{
new vindex = CreateVehicle(modelid, cx, cy, cz, cfa, color1, color2, respawndelay);
if(vindex != INVALID_VEHICLE_ID)
{
gCarData[vindex] = cartype;
return vindex;
}
return INVALID_VEHICLE_ID;
}
new PlayerInfo[MAX_PLAYERS][pInfo];
public OnFilterScriptExit()
{
return 1;
}
#else
main()
{
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}
#endif
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/duty", cmdtext, true, 10) == 0)
{
if(GetPlayerScore(playerid) >= -500)
{
if(IsPlayerInRangeOfPoint(playerid, 7.0, 2609.2524,-1546.1023,11.5783))
{
if (PlayerInfo[playerid][trashduty] == 0)
{
SendClientMessage(playerid, COLOR_GREEN, "You are now on Trash driver duty!");
SendClientMessage(playerid, COLOR_GREEN, "Be sure to take your Trash car, and type /starttrash!");
PlayerInfo[playerid][trashduty] = 1;
PlayerInfo[playerid][trashskin] = GetPlayerSkin(playerid);
SetPlayerSkin(playerid, 50);
}
else
{
PlayerInfo[playerid][trashduty] = 0;
SendClientMessage(playerid, COLOR_GREEN, "You are now off Trash driver duty!");
SetPlayerSkin(playerid, PlayerInfo[playerid][trashskin]);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You are not next to the duty point!");
}
}
else
{
SendClientMessage(playerid, COLOR_GREEN, "Your job isn't Trash driver!");
}
return 1;
}
if (strcmp("/starttrash", cmdtext, true, 10) == 0)
{
if (PlayerInfo[playerid][trashduty] == 1)
{
if(GetPlayerVehicleID(playerid) == Trashcar1 || Trashcar2 || Trashcar3)
{
SetPlayerCheckpoint(playerid, CPT1, 3.0);
SendClientMessage(playerid, COLOR_GREEN, "You've sucessfully started Trash delivery job! Be sure to head to the first bizz to pickup trash!");
}
else
{
SendClientMessage(playerid, COLOR_RED, "You must be in a TrashMaster truck to start picking up trash!");
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You must go on Trash duty to start!");
}
return 1;
}
return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
forward CPF1(playerid);
public CPF1(playerid)
{
SendClientMessage(playerid, COLOR_GREEN, "You've sucessfully picked up trash from bizz, head to the next one!");
SetPlayerCheckpoint(playerid, CPT2, 3.0);
TogglePlayerControllable(playerid, 1);
return 1;
}
forward CPF2(playerid);
public CPF2(playerid)
{
SendClientMessage(playerid, COLOR_GREEN, "You've sucessfully picked up trash from bizz, head to the next one!");
TogglePlayerControllable(playerid, 1);
SetPlayerCheckpoint(playerid, CPT3, 3.0);
return 1;
}
forward CPF3(playerid);
public CPF3(playerid)
{
SendClientMessage(playerid, COLOR_GREEN, "You've sucessfully picked up trash from bizz, head to the next one!");
TogglePlayerControllable(playerid, 1);
SetPlayerCheckpoint(playerid, CPT4, 3.0);
return 1;
}
forward CPF4(playerid);
public CPF4(playerid)
{
SendClientMessage(playerid, COLOR_GREEN, "You've sucessfully picked up trash from bizz, head to the next one!");
TogglePlayerControllable(playerid, 1);
SetPlayerCheckpoint(playerid, CPT5, 3.0);
return 1;
}
forward CPF5(playerid);
public CPF5(playerid)
{
SendClientMessage(playerid, COLOR_GREEN, "You've sucessfully picked up trash from bizz, You are now full, head to trash place to unload it!");
TogglePlayerControllable(playerid,1);
SetPlayerCheckpoint(playerid, CPTStart, 3.0);
return 1;
}
forward CPFStart(playerid);
public CPFStart(playerid)
{
SendClientMessage(playerid, COLOR_GREEN, "You've sucessfully sold trash and earned for it!");
TogglePlayerControllable(playerid,1);
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
if(GetPlayerVehicleID(playerid) == Trashcar1 || Trashcar2 || Trashcar3)
{
if (IsPlayerInRangeOfPoint(playerid, 3.0,CPT1))
{
SendClientMessage(playerid, COLOR_GREEN, "You've started to pickup trash, wait 10 seconds for trash to be loaded!");
SetTimerEx("CPF1", 10000, false, "i", playerid);
TogglePlayerControllable(playerid, 0);
}
if (IsPlayerInRangeOfPoint(playerid, 3.0,CPT2))
{
SendClientMessage(playerid, COLOR_GREEN, "You've started to pickup trash, wait 10 seconds for trash to be loaded!");
SetTimerEx("CPF2", 10000, false, "i", playerid);
TogglePlayerControllable(playerid, 0);
}
if (IsPlayerInRangeOfPoint(playerid, 3.0,CPT3))
{
SendClientMessage(playerid, COLOR_GREEN, "You've started to pickup trash, wait 10 seconds for trash to be loaded!");
SetTimerEx("CPF3", 10000, false, "i", playerid);
TogglePlayerControllable(playerid, 0);
}
if (IsPlayerInRangeOfPoint(playerid, 3.0,CPT4))
{
SendClientMessage(playerid, COLOR_GREEN, "You've started to pickup trash, wait 10 seconds for trash to be loaded!");
SetTimerEx("CPF4", 10000, false, "i", playerid);
TogglePlayerControllable(playerid, 0);
}
if (IsPlayerInRangeOfPoint(playerid, 3.0,CPT5))
{
SendClientMessage(playerid, COLOR_GREEN, "You've started to pickup trash, wait 10 seconds for trash to be loaded!");
SetTimerEx("CPF5", 10000, false, "i", playerid);
TogglePlayerControllable(playerid, 0);
}
if (IsPlayerInRangeOfPoint(playerid, 3.0,CPTStart))
{
SendClientMessage(playerid, COLOR_GREEN, "You've started unloading trash, wait 10 seconds for trash to be unloaded!");
TogglePlayerControllable(playerid, 0);
SetTimerEx("CPFStart", 10000, false, "i", playerid);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You must be in TrashMaster to pick up trash!");
}
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}