rendered paste body//------------------------------------------------------------------------------
//
// ShadowDemon`s Cars for SA-MP 0.1
//
//------------------------------------------------------------------------------
#include <a_samp>
#include <core>
#include <float>
//Global stuff and defines for our gamemode
static gTeam[MAX_PLAYERS]; // Tracks the team assignment for each player
new gPlayerClass[MAX_PLAYERS];
//Color Defines
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_PURPLE 0xA020F0AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_CYAN 0x00FFFFAA
#define COLOR_RED 0xAA3333AA
#define COLOR_DARKRED 0x660000AA
#define COLOR_PINK 0xFF66FFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_BLUE 0x0000BBAA
#define COLOR_WHITE 0xFFFFFFFF
//Team Defines
#define TEAM_MECHANIC 0
// Round duration
new gRoundTime = 360000000000000; // 60 mins
//new gRoundTime = 900000; //15 mins
//new gRoundTime = 300000; // 5 mins
new countdown=0;
new COUNTDOWN_TIMER;
new test[255];
//------------------------------------------------------------------------------
main()
{
print("\n----------------------------------");
print(" Cars by ShadowDemon (2006)\n");
print("----------------------------------\n");
}
//------------------------------------------------------------------------------
public OnGameModeInit()
{
SetGameModeText("ShadowDemon`s Cars");
SetTeamCount(1);
ShowNameTags(1);
ShowPlayerMarkers(1);
SetWorldTime(18);
AddPlayerClass(50,-1982.2970,288.3539,34.9712,274.4560,5,1,29,300,30,300); //Mechanic
AddStaticVehicle(587,-1949.1479,256.8493,34.8965,66.2597,53,1); // car1
AddStaticVehicle(602,-1947.3796,261.9798,34.8985,65.1618,53,1); // car2
AddStaticVehicle(541,-1949.1479,251.8493,34.8965,66.2597,53,1); // car3
AddStaticVehicle(562,-1947.3796,246.9798,34.8985,65.1618,53,1); // car4
AddStaticVehicle(402,-1949.1479,241.8493,34.8965,66.2597,53,1); // car5
AddStaticVehicle(411,-1947.3796,236.9798,34.8985,65.1618,53,1); // car6
AddStaticVehicle(559,-1949.1479,231.8493,34.8965,66.2597,53,1); // car7
AddStaticVehicle(560,-1947.3796,226.9798,34.8985,65.1618,53,1); // car8
AddStaticVehicle(506,-1949.1479,221.8493,34.8965,66.2597,53,1); // car9
AddStaticVehicle(439,-1947.3796,286.9798,34.8985,65.1618,53,1); // car10
AddStaticVehicle(451,-1949.1479,281.8493,34.8965,66.2597,53,1); // car11
AddStaticVehicle(558,-1947.3796,278.9798,34.8985,65.1618,53,1); // car12
AddStaticVehicle(439,-1949.1479,271.8493,34.8965,66.2597,53,1); // car13
AddStaticVehicle(415,-1949.1479,266.8493,34.8965,66.2597,53,1); // car13
//Pickups
AddStaticPickup(370, 15, 2191.0342,-1155.7056,33.0883); // jetpack
AddStaticPickup(370, 15, 1146.6971,-1181.0649,31.5915); // jetpack
AddStaticPickup(370, 15, 1119.1736,-2012.9319,73.9926); // jetpack
SetTimer("GameModeExitFunc", gRoundTime, 0);
return 1;
}
//------------------------------------------------------------------------------
public COUNTDOWN()
{
countdown++; // add one
if (countdown >= 4)
{
countdown = 0;
SendClientMessageToAll(COLOR_WHITE, "GO!!!!");
KillTimer(COUNTDOWN_TIMER);
} else {
format(test, sizeof(test), "%i...", countdown);
SendClientMessageToAll(COLOR_WHITE, test);
}
}
//------------------------------------------------------------------------------
public OnPlayerConnect(playerid)
{
GameTextForPlayer(playerid,"ShadowDemon: ~r~Cars",5000,5);
SendClientMessage(playerid, COLOR_YELLOW, "Welcome to ShadowDemon Races.");
SendClientMessage(playerid,COLOR_YELLOW,"(Type /help to comand list)");
GivePlayerMoney(playerid, 5000);
SetPlayerColor(playerid, COLOR_GREY); // Set the player's color to inactive
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerSpawn(playerid)
{
SetPlayerInterior(playerid,0);
if(gTeam[playerid] == TEAM_MECHANIC) {
SetPlayerColor(playerid,COLOR_RED); // Red
}
SendClientMessage(playerid, COLOR_WHITE, "respawned");
return 1;
}
//------------------------------------------------------------------------------
public OnPlayerCommandText(playerid, cmdtext[])
{
new string[256];
new cmd[256];
new tmp[256];
new amount, idx;
if(strcmp(cmd, "/countdown", true) == 0)
{
countdown = 0; // reset
COUNTDOWN_TIMER = SetTimer("COUNTDOWN", 500, true);
return 1;
}
return 0;
}
//------------------------------------------------------------------------------
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid == INVALID_PLAYER_ID) {
SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
} else {
if(gTeam[killerid] != gTeam[playerid]) {
// Valid kill
SendDeathMessage(killerid,playerid,reason);
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
GivePlayerMoney(killerid, 1000);
}
else {
//Team Killer!
SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
SendDeathMessage(killerid,playerid,reason);
GivePlayerMoney(killerid, 1000);
}
}
return 1;
}
//------------------------------------------------------------------------------
public SetupPlayerForClassSelection(playerid)
{
SetPlayerInterior(playerid,14);
SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
SetPlayerFacingAngle(playerid, 90.0);
SetPlayerCameraPos(playerid,256.0815,-43.0475,1003.0234);
SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
}
//------------------------------------------------------------------------------
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerClass(playerid, classid);
SetupPlayerForClassSelection(playerid);
gPlayerClass[playerid] = classid;
switch (classid) {
case 0:
{
GameTextForPlayer(playerid, "~g~Mechanic", 500, 3);
}
}
return 1;
}
//------------------------------------------------------------------------------
public GameModeExitFunc()
{
GameModeExit();
return 1;
}
//------------------------------------------------------------------------------
SetPlayerClass(playerid, classid) {
if(classid == 0) {
gTeam[playerid] = TEAM_MECHANIC;
}
}
//------------------------------------------------------------------------------