All pastes #582292 Raw Edit

Stuff

public text v1 · immutable
·published 2007-06-21 22:13 UTC
rendered paste body
//---------------------------------------------------------
//
// Casino Rob by brandon6199 for SA-MP 0.2
//
//---------------------------------------------------------



#include <a_samp>

#include <a_objects>

#include <a_players>

#include <a_vehicles>

#include <string>

//Global stuff and defines for our gamemode

static gTeam[MAX_PLAYERS]; // Tracks the team assignment for each player

new gPlayerClass[MAX_PLAYERS];

new gPlayerCheckpointStatus[MAX_PLAYERS];

//Color Defines

#define COLOR_GREY 0xAFAFAFAA

#define COLOR_GREEN 0x33AA33AA

#define COLOR_RED 0xFF0000FF

#define COLOR_YELLOW 0xFFFF00AA

#define COLOR_PINK 0xFF66FFAA

#define COLOR_BLUE 0x0000BBAA

#define COLOR_LIGHTBLUE 0x33CCFFAA

#define COLOR_DARKRED 0x660000AA

#define COLOR_ORANGE 0xFF9900AA

#define COLOR_WHITE 0xFFFFFFAA

//Team Defines

#define TEAM_GROVE 0

#define TEAM_COPS 1

#define TEAM_GROVE_COLOR 0x33AA33AA

#define TEAM_COPS_COLOR 0x0000BBAA

// Checkpoint Defines

#define CHECKPOINT_NONE 0

#define CHECKPOINT_SAFE 1

#define CHECKPOINT_TOWN 2

#define CHECKPOINT_SCORE 3

#define CHECKPOINT_LEAVE 4

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

forward SetPlayerClass(playerid, classid);

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

// BEGIN THE ACTUAL CODE!!!
// BEGIN THE ACTUAL CODE!!!
// BEGIN THE ACTUAL CODE!!!
// BEGIN THE ACTUAL CODE!!!
// BEGIN THE ACTUAL CODE!!!
// BEGIN THE ACTUAL CODE!!!
// BEGIN THE ACTUAL CODE!!!


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

main()

{

	print("\n----------------------------------");
	print("Casino Rob by brandon6199");
	print("----------------------------------\n");

}

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

public OnGameModeInit()

{
	
print("GameModeInit()");

SetGameModeText("Casino Rob");

ShowNameTags(1);

ShowPlayerMarkers(1);
	
AllowInteriorWeapons(1);


AddPlayerClass(105,2484.5894,1291.6488,10.8125,263.2205,5,1,32,300,30,500); // Grove

AddPlayerClass(106,2481.8582,1271.6160,10.8125,274.4073,28,300,30,500,16,3); // Grove

AddPlayerClass(284,2295.6926,2468.7317,10.8203,92.3687,3,1,22,150,029,500); // Cops

AddPlayerClass(285,2295.7690,2451.3647,10.8203,92.2518,23,150,31,500,17,500); // Cops


AddStaticVehicle(471,-364.8514,2210.9124,41.8772,284.4909,16,16); // quad 1

AddStaticVehicle(471,-396.0703,2231.9834,41.9108,105.7804,16,16); // quad 2

AddStaticVehicle(567,-370.0383,2255.1147,42.2486,99.1563,16,16); // savanna

AddStaticVehicle(598,2282.2849,2477.0271,10.5673,359.9103,0,1); // police 1

AddStaticVehicle(598,2277.7959,2477.3606,10.5637,0.8223,0,1); // police 2

AddStaticVehicle(598,2273.3428,2477.7720,10.5640,359.3792,0,1); // police 3

AddStaticVehicle(598,2273.1492,2459.9387,10.5683,359.3797,0,1); // police 4

AddStaticVehicle(598,2282.5408,2442.7351,10.5682,180.3116,0,1); // police 5

AddStaticVehicle(598,2269.1885,2442.9819,10.5627,179.6315,0,1); // police 6

AddStaticVehicle(523,2255.8843,2458.2559,10.3827,1.1034,0,0); // cop bike 1

AddStaticVehicle(523,2255.9705,2476.3459,10.3920,359.0161,0,0); // cop bike 2

AddStaticVehicle(523,2295.1309,2444.5696,10.3906,178.0836,0,0); // cop bike

AddStaticVehicle(523,2259.9980,2442.4880,10.3842,358.3316,0,0); // cop bike 4

AddStaticVehicle(497,2332.8928,2384.0200,10.9962,89.3365,0,1); // police mav

AddStaticVehicle(567,2524.0105,1266.3029,10.5400,0.4006,16,16); // savanna 1

AddStaticVehicle(567,2523.9783,1281.2521,10.5404,359.7207,16,16); // savanna 2

AddStaticVehicle(567,2524.0188,1299.6293,10.5495,359.8246,16,16); // savanna 3

AddStaticVehicle(492,2514.4680,1309.6660,10.4537,89.1511,16,16); // greenwood 1

AddStaticVehicle(492,2497.4004,1309.8257,10.4576,89.3624,16,16); // greenwood 2

AddStaticVehicle(492,2477.2771,1309.7052,10.4740,90.2629,16,16); // greenwood 3

AddStaticVehicle(581,2499.3132,1257.6030,10.2698,90.7725,16,16); // bf400 1

AddStaticVehicle(581,2490.1511,1257.4797,10.2709,90.7768,16,16); // bf400 2


AddStaticPickup(371,15,2268.8533,1625.9772,94.9219); // parachute

AddStaticPickup(371,15,2269.1438,1671.7017,94.9219); // parachute

AddStaticPickup(1550,15,2141.2017,1640.9675,993.5761); // moneybag

return 1;

}

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

public OnPlayerConnect(playerid)

{

    GameTextForPlayer(playerid,"~r~Casino Rob ~w~by brandon6199",5000,5);

    SetPlayerColor(playerid, COLOR_GREY); // Set the player's color to inactive

    GivePlayerMoney(playerid,5000);

	return 1;

}

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

public OnPlayerRequestClass(playerid, classid)

{

	printf("OnPlayerRequestClass(%d, %d)", playerid, classid);

    SetPlayerTeamFromClass(playerid, classid);

	SetPlayerPos(playerid, 1523.9215,-43.5341,1002.1310);

	SetPlayerFacingAngle(playerid, 178.1434);

	SetPlayerCameraPos(playerid, 1523.8665,-47.4997,1002.1310);

	SetPlayerCameraLookAt(playerid, 1523.9215,-43.5341,1002.1310);

	PlayerPlaySound(playerid, 1097, 1523.9215,-43.5341,1002.1310);

	SetPlayerInterior(playerid,2);

    gPlayerClass[playerid] = classid;

	switch (classid) {

		case 0:

			{

				GameTextForPlayer(playerid, "~g~Grove", 500, 3);

			}

		case 1:

		    {

                GameTextForPlayer(playerid, "~g~Grove", 500, 3);
                
			}
                
  		case 2:

		    {

                GameTextForPlayer(playerid, "~b~Cops", 500, 3);

			}
			
		case 3:

		    {

                GameTextForPlayer(playerid, "~b~Cops", 500, 3);

	}

}

	return 1;

}

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

public OnPlayerSpawn(playerid)

{

	SetPlayerInterior(playerid,0);

    PlayerPlaySound(playerid, 1069, 0.0,0.0,0.0);

	switch (gPlayerClass[playerid]) {

		case 0:

			{
			
			    gPlayerCheckpointStatus[playerid] = CHECKPOINT_SAFE;
			    
			    SetPlayerCheckpoint(playerid,2141.2017,1640.9675,993.5761,2.0);

		        SetPlayerInterior(playerid,0);

                GameTextForPlayer(playerid, "~w~Attack the ~r~Casino!", 5000, 5);

				SetPlayerColor(playerid,COLOR_GREEN);
				
			}

        case 1:

			{
			
			    gPlayerCheckpointStatus[playerid] = CHECKPOINT_SAFE;

			    SetPlayerCheckpoint(playerid,2141.2017,1640.9675,993.5761,2.0);

		        SetPlayerInterior(playerid,0);

                GameTextForPlayer(playerid, "~w~Attack the ~r~Casino!", 5000, 5);

				SetPlayerColor(playerid,COLOR_GREEN);

			}
			
        case 2:

			{

		        SetPlayerInterior(playerid,0);

                GameTextForPlayer(playerid, "~w~Defend the ~r~Casino!", 5000, 5);

				SetPlayerColor(playerid,COLOR_BLUE);
				
			}

        case 3:

			{

		        SetPlayerInterior(playerid,0);

                GameTextForPlayer(playerid, "~w~Defend the ~r~Casino!", 5000, 5);

				SetPlayerColor(playerid,COLOR_BLUE);

			}

	}

	return 1;

}

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

public OnPlayerEnterCheckpoint(playerid) {

	switch (gPlayerCheckpointStatus[playerid]) {

		case CHECKPOINT_SAFE:

		    {

	            GameTextForAll("~w~The ~g~Grove ~w~are attacking the ~r~Safe!", 5000, 5);

                new safe[256];

				format(safe, sizeof(safe), "Take the Moneybag to the Abandoned Town!");

    			SendClientMessage(playerid,0xAA3333AA,safe);

	            SetPlayerCheckpoint(playerid,-377.3860,2242.1565,42.6185,2.0);

                PlayerPlaySound(playerid,1058,2505.7527,-1695.8398,13.5523);
                
                SetPlayerWantedLevel(playerid,6);

	            gPlayerCheckpointStatus[playerid] = CHECKPOINT_TOWN;

			}
			
        case CHECKPOINT_TOWN:
        
			{
			
			    new score[256];

				format(score, sizeof(score), "Return the Moneybag to the back of the house.");

    			SendClientMessage(playerid,0xAA3333AA,score);
			
   				SetPlayerCheckpoint(playerid,-2451.3394,-1686.1453,1013.5078,2.0);
   				
				SetPlayerPos(playerid,2465.9448,-1698.2147,1013.5078);

				SetPlayerInterior(playerid,2);

                PlayerPlaySound(playerid,1058,2505.7527,-1695.8398,13.5523);

	            gPlayerCheckpointStatus[playerid] = CHECKPOINT_SCORE;
	            
			}
			
		case CHECKPOINT_SCORE:
		
			{
			
			    GameTextForAll("~w~The ~g~Grove ~w~have successfully robbed ~r~Caligula's!", 5000, 5);

                new other[256];

				format(other, sizeof(other), "Congratulations! You have earned $500,000!");

    			SendClientMessage(playerid,0xAA3333AA,other);
    			
    			GivePlayerMoney(playerid,500000);

	            SetPlayerCheckpoint(playerid,2465.9448,-1698.2147,1013.5078,2.0);

                PlayerPlaySound(playerid,1058,2505.7527,-1695.8398,13.5523);

	            gPlayerCheckpointStatus[playerid] = CHECKPOINT_LEAVE;
	            
			}
			
		case CHECKPOINT_LEAVE:
		
			{
			
			    SetPlayerPos(playerid,2465.9448,-1698.2147,1013.5078);

                new leave[256];

				format(leave, sizeof(leave), "Go rob the Casino again!");

    			SendClientMessage(playerid,0xAA3333AA,leave);
    			
				SetPlayerInterior(playerid,0);
    			
    			PlayerPlaySound(playerid,1058,2505.7527,-1695.8398,13.5523);
    			
    			SetPlayerCheckpoint(playerid,2141.2017,1640.9675,993.5761,2.0);
    			
    			gPlayerCheckpointStatus[playerid] = CHECKPOINT_SAFE;
    			
			}

	}

	return 1;

}

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

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);


}

		else {

			//Team Killer!

		new warning[256];

		format(warning, sizeof(warning), "Be careful! You have lost 1 point for teamkilling.");

		SendClientMessage(killerid, 0xFFFF00AA, warning);

		SendDeathMessage(killerid,playerid,reason);

		GivePlayerMoney(killerid, -1000);

		SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);

}

	}

 	return 1;

}

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

SetPlayerTeamFromClass(playerid, classid) {

	if(classid == 0) {

		gTeam[playerid] = TEAM_GROVE;

	} else if(classid == 1) {

	    gTeam[playerid] = TEAM_COPS;

	}

}

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