All pastes #282598 Raw Edit

Untitled

public text v1 · immutable
#282598 ·published 2006-12-17 18:59 UTC
rendered paste body
#include <a_samp>
#include <dcallbacks>

//Global stuff and defines for our gamemode
new gPlayerCheckpointStatus[MAX_PLAYERS];

//Checks for the Checkpoints
new InCheckpoint_RACEA_START[MAX_PLAYERS];

//Color Defines
#define COLOR_GOLD 0xFFD700AA

//Checkpoints
enum
{
	CHECKPOINT_NONE,
	CHECKPOINT_RACEA_START,
	CHECKPOINT_RACEA_1,
	CHECKPOINT_RACEA_2,
	CHECKPOINT_RACEA_3,
	CHECKPOINT_RACEA_4,
	CHECKPOINT_RACEA_5,
	CHECKPOINT_RACEA_6,
	CHECKPOINT_RACEA_7,
	CHECKPOINT_RACEA_8,
	CHECKPOINT_RACEA_9,
	CHECKPOINT_RACEA_10,
	CHECKPOINT_RACEA_11,
	CHECKPOINT_RACEA_12,
	CHECKPOINT_RACEA_13,
	CHECKPOINT_RACEA_14,
	CHECKPOINT_RACEA_15,
	CHECKPOINT_RACEA_16,
	CHECKPOINT_RACEA_17,
	CHECKPOINT_RACEA_18,
	CHECKPOINT_RACEA_19,
	CHECKPOINT_RACEA_20,
	CHECKPOINT_RACEA_21,
	CHECKPOINT_RACEA_22,
	CHECKPOINT_RACEA_23,
	CHECKPOINT_RACEA_24,
	CHECKPOINT_RACEA_25,
	CHECKPOINT_RACEA_FINISH
}

new Count = 5;
new CountText[5][255] ={
	"~y~1",
	"~y~2",
	"~r~3",
	"~r~4",
	"~r~5"
	};

//Areas
new AREA_raceastart;

main()
{
	print("\n------------------------------------");
	print("  SA Grand Prix Racing by [NR]Luke    ");
	print("------------------------------------\n");
}

//------------------------------------------------------------------------------

public OnGameModeInit()
{
	print("GameModeInit()");
	SetGameModeText("SA Grand Prix Racing");
	SetTimer("TIMER_DCallbacks",1000,1);
	AREA_raceastart=AddAreaCheck(2040.0876,2232.7356,2103.2317,2373.8008,10.0000,12.0000);
	SetWorldTime(15);
	AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
	AddStaticVehicle(415,2110.1711,2206.3525,10.5921,359.8132,92,1); // Test Car
	return 1;
}

//------------------------------------------------------------------------------

public OnPlayerRequestClass(playerid, classid)
{
	SetupPlayerForClassSelection(playerid);
	return 1;
}

//------------------------------------------------------------------------------

public SetupPlayerForClassSelection(playerid)
{
	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerFacingAngle(playerid, 180.0);
	SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
}

//------------------------------------------------------------------------------

public OnGameModeExit()
{
	print("GameModeExit()");
	return 1;
}

//------------------------------------------------------------------------------

public OnPlayerConnect(playerid)
{
	printf("OnPlayerConnect(%d)", playerid);
	return 1;
}

//------------------------------------------------------------------------------

public OnPlayerDisconnect(playerid)
{
	printf("OnPlayerDisconnect(%d)", playerid);
	return 1;
}

//------------------------------------------------------------------------------

public OnPlayerSpawn(playerid)
{
	printf("OnPlayerSpawn(%d)", playerid);
	return 1;
}

//------------------------------------------------------------------------------

public OnPlayerDeath(playerid, killerid, reason)
{
	printf("OnPlayerDeath(%d, %d, %d)", playerid, killerid, reason);
	return 1;
}

//------------------------------------------------------------------------------

public OnVehicleSpawn(vehicleid)
{
	printf("OnVehicleSpawn(%d)", vehicleid);
	return 1;
}

//------------------------------------------------------------------------------

public OnVehicleDeath(vehicleid, killerid)
{
	printf("OnVehicleDeath(%d, %d)", vehicleid, killerid);
	return 1;
}

//------------------------------------------------------------------------------

public OnPlayerText(playerid)
{
	printf("OnPlayerText(%d)", playerid);
	return 1;
}

//------------------------------------------------------------------------------

public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp(cmdtext, "/mycommand", true)==0)
	{
	    /* Do something here */
	    return 1;
	}
	return 0;
}

//------------------------------------------------------------------------------

public OnPlayerInfoChange(playerid)
{
	printf("OnPlayerInfoChange(%d)");
	return 1;
}

//------------------------------------------------------------------------------

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	printf("OnPlayerEnterVehicle(%d, %d, %d)", playerid, vehicleid, ispassenger);
	return 1;
}

//------------------------------------------------------------------------------

public OnPlayerExitVehicle(playerid, vehicleid)
{
	printf("OnPlayerExitVehicle(%d, %d)", playerid, vehicleid);
	return 1;
}

//------------------------------------------------------------------------------

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	printf("OnPlayerStateChange(%d, %d, %d)", playerid, newstate, oldstate);
	return 1;
}

//------------------------------------------------------------------------------

public CountDown()
{
    SetTimer("CountDown", 1000, 0);
    for (new i = 0; i < MAX_PLAYERS; i++) // i = playerid
    {
		if (Count > 0)
		{
		TogglePlayerControllable(i, 0);
		SendClientMessage(i, COLOR_GOLD, "Test Text");
		GameTextForPlayer(i, CountText[Count-1], 999, 5);
		Count--;
		}
		else
		{
		TogglePlayerControllable(i, 1);
		GameTextForPlayer(i, "~g~Go!", 999, 5);
		Count = 5;
		}
	}
}

//------------------------------------------------------------------------------

public MinuteCount()
{
    for (new i = 0; i < MAX_PLAYERS; i++) // i = playerid
    {
        if (IsPlayerConnected(i) && InCheckpoint_RACEA_START[i])
        {
            DisablePlayerCheckpoint(i);
       		SetPlayerCheckpoint(i,2146.3345,2134.9775,10.3594,10.0);
     		SetTimer("CountDown",1000,0);
        }
    }
}

//------------------------------------------------------------------------------

public OnPlayerEnterCheckpoint(playerid)
{
	switch (gPlayerCheckpointStatus[playerid]) {
	case CHECKPOINT_RACEA_START:
	{
	    InCheckpoint_RACEA_START[playerid]=true;
	    SetTimer("MinuteCount",60000,0);
        SendClientMessage(playerid, COLOR_GOLD, "The countdown will begin in a minute.");
	}
	case CHECKPOINT_RACEA_1:
	{
	    GameTextForPlayer(playerid, "1/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2146.4832,1968.8866,10.3633,10.0);
	}
	case CHECKPOINT_RACEA_2:
	{
	    GameTextForPlayer(playerid, "2/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2130.6968,1831.5782,10.3594,10.0);
	}
	case CHECKPOINT_RACEA_3:
	{
	    GameTextForPlayer(playerid, "3/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2138.8247,1847.8046,10.3633,10.0);
	}
	case CHECKPOINT_RACEA_4:
	{
	    GameTextForPlayer(playerid, "4/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2066.4575,1680.3347,10.3633,10.0);
	}
	case CHECKPOINT_RACEA_5:
	{
	    GameTextForPlayer(playerid, "5/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2066.5967,1528.0879,10.3594,10.0);
	}
	case CHECKPOINT_RACEA_6:
	{
	    GameTextForPlayer(playerid, "6/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2066.4539,1272.6832,10.3593,10.0);
	}
	case CHECKPOINT_RACEA_7:
	{
	    GameTextForPlayer(playerid, "7/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2066.5166,1055.4886,10.3594,10.0);
	}
	case CHECKPOINT_RACEA_8:
	{
	    GameTextForPlayer(playerid, "8/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2076.1316,861.3741,6.4206,10.0);
	}
	case CHECKPOINT_RACEA_9:
	{
	    GameTextForPlayer(playerid, "9/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2323.2930,851.8660,6.4257,10.0);
	}
	case CHECKPOINT_RACEA_10:
	{
	    GameTextForPlayer(playerid, "10/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2607.3989,912.9923,6.4258,10.0);
	}
	case CHECKPOINT_RACEA_11:
	{
	    GameTextForPlayer(playerid, "11/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2708.4639,1282.9065,6.4257,10.0);
	}
	case CHECKPOINT_RACEA_12:
	{
	    GameTextForPlayer(playerid, "12/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2708.7874,1802.9209,6.4219,10.0);
	}
	case CHECKPOINT_RACEA_13:
	{
	    GameTextForPlayer(playerid, "13/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2671.6326,2436.0344,6.4218,10.0);
	}
	case CHECKPOINT_RACEA_14:
	{
	    GameTextForPlayer(playerid, "14/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2082.2158,2564.6443,6.4726,10.0);
	}
	case CHECKPOINT_RACEA_15:
	{
	    GameTextForPlayer(playerid, "15/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,1507.9442,2454.0879,6.4218,10.0);
	}
	case CHECKPOINT_RACEA_16:
	{
	    GameTextForPlayer(playerid, "16/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,1239.7996,2332.1526,6.4219,10.0);
	}
	case CHECKPOINT_RACEA_17:
	{
	    GameTextForPlayer(playerid, "17/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,1226.0612,1965.9755,6.4219,10.0);
	}
	case CHECKPOINT_RACEA_18:
	{
	    GameTextForPlayer(playerid, "18/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,1226.6365,1397.1482,6.4257,10.0);
	}
	case CHECKPOINT_RACEA_19:
	{
	    GameTextForPlayer(playerid, "19/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,1332.1415,872.7426,6.5000,10.0);
	}
	case CHECKPOINT_RACEA_20:
	{
	    GameTextForPlayer(playerid, "20/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,1849.9524,852.2249,9.2966,10.0);
	}
	case CHECKPOINT_RACEA_21:
	{
	    GameTextForPlayer(playerid, "21/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2036.8738,863.6600,6.4407,10.0);
	}
	case CHECKPOINT_RACEA_22:
	{
	    GameTextForPlayer(playerid, "22/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2048.5559,1193.9558,10.3594,10.0);
	}
	case CHECKPOINT_RACEA_23:
	{
	    GameTextForPlayer(playerid, "23/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2048.5774,1536.5914,10.3594,10.0);
	}
	case CHECKPOINT_RACEA_24:
	{
	    GameTextForPlayer(playerid, "24/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2084.4529,1774.8777,10.3594,10.0);
	}
	case CHECKPOINT_RACEA_25:
	{
	    GameTextForPlayer(playerid, "25/26", 3000, 1);
	    SetPlayerCheckpoint(playerid,2128.3105,2225.6035,10.3593,10.0);
	}
	case CHECKPOINT_RACEA_FINISH:
	{
	    GameTextForPlayer(playerid, "26/26", 3000, 1);
	    DisablePlayerCheckpoint(playerid);
	}
}
	return 1;
}

//------------------------------------------------------------------------------

public OnPlayerLeaveCheckpoint(playerid)
{
	switch (gPlayerCheckpointStatus[playerid]) {
	case CHECKPOINT_RACEA_START:
	{
	    InCheckpoint_RACEA_START[playerid]=false;
        SendClientMessage(playerid, COLOR_GOLD, "You must stay in the checkpoint to start the race!");
	}
}
	return 1;
}

//------------------------------------------------------------------------------

public OnPlayerEnterArea(playerid, areaid)
{
    printf("OnPlayerEnterArea(%d, %d)", playerid, areaid);
	if (areaid==AREA_raceastart)
	gPlayerCheckpointStatus[playerid] = CHECKPOINT_RACEA_START;
	SendClientMessage(playerid, COLOR_GOLD, "Enter the checkpoint and stay in it to start the race!");
	SetPlayerCheckpoint(playerid,2146.5022,2202.1724,10.3593,8.0);
}

//------------------------------------------------------------------------------

public OnPlayerLeaveArea(playerid, areaid)
{
    printf("OnPlayerLeaveArea(%d, %d)", playerid, areaid);
	if (areaid==AREA_raceastart)
	gPlayerCheckpointStatus[playerid] = CHECKPOINT_NONE;
	SendClientMessage(playerid, COLOR_GOLD, "Hope you find another race.");
	DisablePlayerCheckpoint(playerid);
}