All pastes #568157 Raw Edit

Untitled

public text v1 · immutable
·published 2007-06-15 09:54 UTC
rendered paste body
//------------------------------------------------------------------------------
//							   ~ Counter Strike ~
//----------------------------- ~ by Mr.Hanky ~ --------------------------------
//              					v 0.1 b
//------------------------------------------------------------------------------

#include <a_samp>
#include <a_players>
#include <float>
#include <core>

#define COLOR_BLUE 0x1111AAFF
#define COLOR_GREEN 0x33AA33AA
#define SWAT 1
#define TERRORIST 2
#define CHECKPOINT_VUOTO 0
#define CHECKPOINT_PLANE 1
#define CHECKPOINT_BOMBA 2
#define CHECKPOINT_ESTERNO_SWAT 3
#define CHECKPOINT_ESTERNO_TERRORIST 4
#define MAX_STRING 0
#define Countdown 0

new var[MAX_PLAYERS];
new gPlayerCheckpointStatus[MAX_PLAYERS];
new gPlayerClass[MAX_PLAYERS];

forward SetPlayerToTeamColor(playerid);
forward SetupPlayerForClassSelection(playerid,classid);
forward SetPlayerTeamFromClass(playerid,classid);

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

main()
{
	print("\n----------------------------------");
	print(" Counter Strike v0.1b");
	print("----------------------------------\n");
}

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

public OnGameModeInit()
{

	ShowPlayerMarkers(0);
	ShowNameTags(0);
	SetWorldTime(24);
    AllowInteriorWeapons(1);
	SetGameModeText("Counter Strike v0.1b");

	//SWAT
	AddPlayerClass(285,1579.6685,-1635.6995,13.5605,89.9412,4,0,23,500,29,500); // s s1
	AddPlayerClass(285,1544.0997,-1610.2698,13.3828,272.9296,4,0,23,500,25,500); // s s2
	AddPlayerClass(285,1545.5385,-1654.2521,13.5594,78.6610,4,0,23,500,31,500); // s s3
	AddPlayerClass(285,1543.1649,-1697.3383,13.5469,85.5543,4,0,23,500,33,500); // s s4

	//TERRORISTI
	AddPlayerClass(206,311.8878,976.1992,1960.9429,259.7892,4,0,23,500,29,500); // t s1
	AddPlayerClass(206,319.8452,975.8804,1961.0165,84.0309,4,0,23,500,25,500); // t s2
	AddPlayerClass(206,319.5009,983.7437,1959.2019,95.9377,4,0,23,500,31,500); // t s3
	AddPlayerClass(206,312.2211,983.3724,1959.2875,271.6960,4,0,23,500,33,500); // t s4
	
	//FURGONI SWAT
	AddStaticVehicle(427,1602.0823,-1614.7030,13.6199,87.6595,0,1); // swat 1
	AddStaticVehicle(427,1602.3500,-1624.3767,13.6227,89.0795,0,1); // swat 2
	AddStaticVehicle(427,1565.9443,-1607.3998,13.5147,179.7105,0,1); // swat 3
	
	//ELICOTTERI SWAT
	AddStaticVehicle(497,1511.0199,-1702.8287,13.8730,359.8940,0,1); // eli 1
	AddStaticVehicle(497,1517.3038,-1657.5931,13.3673,359.0219,0,1); // eli 2
	
	//PARACADUTI
	AddStaticPickup(371, 15,312.9704,1024.7319,1949.7430);
	AddStaticPickup(371, 15,318.8942,1025.2085,1949.6331);

	return 1;

}

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

public OnGameModeExit()

{

    GameModeExit();
	return 1;

}

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

public SetupPlayerForClassSelection(playerid,classid)
{																				
	if(classid == 0 || classid == 1 || classid == 2 || classid == 3)
	{
		SetPlayerInterior(playerid,0);
		SetPlayerPos(playerid,1544.2509,-1631.8453,13.3828);
		SetPlayerFacingAngle(playerid,90);
		SetPlayerCameraPos(playerid,1538.9763,-1632.2261,14.3828);
		SetPlayerCameraLookAt(playerid,1544.2509,-1631.8453,13.3828);
	}
	else if(classid == 4 || classid == 5 || classid == 6 || classid == 7)
	{
		SetPlayerInterior(playerid,9);
		SetPlayerFacingAngle(playerid,0.0);
		SetPlayerPos(playerid,315.7802,972.0253,1961.8705);
		SetPlayerCameraPos(playerid,315.7802,975.0253,1961.8705);
		SetPlayerCameraLookAt(playerid,315.7802,972.0253,1961.8705);
	}
	return 1;
}

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

public SetupPlayerFromClass(playerid,classid)
{   																			
	if(classid == 0 || classid == 1 || classid == 2 || classid == 3)
	{
		SetPlayerColor(playerid,COLOR_BLUE);
				}
	else if(classid == 4 || classid == 5 || classid == 6 || classid == 7)
	{
		SetPlayerColor(playerid,COLOR_GREEN);
				}
}

public OnPlayerRequestClass(playerid, classid)

{


	SetupPlayerForClassSelection(playerid,classid);



	gPlayerClass[playerid] = classid;

	switch (classid) {

		case 0:

		    {

				GameTextForPlayer(playerid, "~b~SWAT ~n~~r~weapon: ~y~mp5", 1000, 3);

			}
		case 1:

		    {

				GameTextForPlayer(playerid, "~b~SWAT ~n~~r~weapon: ~y~shotgun", 1000, 3);

			}
		case 2:

		    {

				GameTextForPlayer(playerid, "~b~SWAT ~n~~r~weapon: ~y~m4", 1000, 3);

			}
		case 3:

		    {

				GameTextForPlayer(playerid, "~b~SWAT ~n~~r~weapon: ~y~sniper", 1000, 3);

			}

		case 4:

	        {

				GameTextForPlayer(playerid, "~g~TERRORIST ~n~~r~weapon: ~y~mp5", 1000, 3);

			}
		case 5:

	        {

				GameTextForPlayer(playerid, "~g~TERRORIST ~n~~r~weapon: ~y~shotgun", 1000, 3);

			}
		case 6:

	        {

				GameTextForPlayer(playerid, "~g~TERRORIST ~n~~r~weapon: ~y~m4", 1000, 3);

			}
		case 7:

	        {

				GameTextForPlayer(playerid, "~g~TERRORIST ~n~~r~weapon: ~y~sniper", 1000, 3);

			}

	}

	return 1;

}

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

public OnPlayerSpawn(playerid)

{



	switch (gPlayerClass[playerid]) {

	    case 4,5,6,7:
{
	    SetPlayerInterior(playerid,9);
	    gPlayerCheckpointStatus[playerid] = CHECKPOINT_PLANE;
	    SetPlayerCheckpoint(playerid,315.7353,1035.6589,1945.1191,5.0);
	    GameTextForPlayer(playerid,"~w~Prendi un ~r~paracadute ~w~e preparati al lancio!",
		6000,5);
}
	case 0,1,2,3:

{
		gPlayerCheckpointStatus[playerid] = CHECKPOINT_ESTERNO_SWAT;
		SetPlayerCheckpoint(playerid,1298.4380,-799.4846,84.1406,5.0);
		GameTextForPlayer(playerid,"~w~Difendi la ~r~casa ~w~di Madd Dog!",
		6000,5);
}
}

	return 1;

}


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

public OnPlayerConnect(playerid)

{
    SendClientMessage(playerid,0xFFFF00AA,"~Counter Strike~");
    SendClientMessage(playerid,0xFFFF00AA,"by Mr.Hanky 2007");
    SendDeathMessage(INVALID_PLAYER_ID,playerid,200);

	return 1;
}

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

public OnPlayerDisconnect(playerid)

{
	SendDeathMessage(INVALID_PLAYER_ID,playerid,201);
    var[playerid] = 0;
    SetPlayerWantedLevel(playerid,0);

	return 1;
}

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

public OnPlayerEnterCheckpoint(playerid) {

	switch (gPlayerCheckpointStatus[playerid]) {

	case CHECKPOINT_PLANE:
{

	SetPlayerInterior(playerid,0);
	SetPlayerPos(playerid,1291.1661,-788.3045,596.4609);
	SetPlayerCheckpoint(playerid,1257.6592,-785.3892,92.0302, 5.0);
	gPlayerCheckpointStatus[playerid] = CHECKPOINT_ESTERNO_TERRORIST;
}

		case CHECKPOINT_BOMBA:
{
	DisablePlayerCheckpoint(playerid);
	gPlayerCheckpointStatus[playerid] = CHECKPOINT_VUOTO;

}

	case CHECKPOINT_ESTERNO_SWAT:
{

    SetPlayerInterior(playerid,5);
	SetPlayerPos(playerid,1299.0800,-795.2270,1084.0078);
	DisablePlayerCheckpoint(playerid);
	gPlayerCheckpointStatus[playerid] = CHECKPOINT_VUOTO;

}

	case CHECKPOINT_ESTERNO_TERRORIST:
{
    SetPlayerInterior(playerid,5);
	SetPlayerPos(playerid,1263.0778,-785.3063,1091.9063);
	DisablePlayerCheckpoint(playerid);
	gPlayerCheckpointStatus[playerid] = CHECKPOINT_BOMBA;
	SetPlayerCheckpoint(playerid,1246.6993,-803.7980,1084.0151,5.0);
    
}

default:

{

DisablePlayerCheckpoint(playerid);

}

}

	return 1;

}

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

public OnPlayerDeath(playerid,killerid,reason)

{

	if(killerid == INVALID_PLAYER_ID)
	{
		SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
        SetPlayerInterior(playerid,5);
		SetPlayerPos(playerid,2595.5308,2336.9536,10.8203);
		SetPlayerCameraPos(playerid,1250.2090,-807.5909,1084.8169);
		SetPlayerCameraLookAt(playerid,1246.6993,-803.7980,1084.0151);
		TogglePlayerControllable(playerid,0);
	    
	}
	else
	{
    	SendDeathMessage(killerid,playerid,reason);
        SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
		SetPlayerInterior(playerid,5);
        SetPlayerPos(playerid,2595.5308,2336.9536,10.8203);
		SetPlayerCameraPos(playerid,1250.2090,-807.5909,1084.8169);
		SetPlayerCameraLookAt(playerid,1246.6993,-803.7980,1084.0151);
	    TogglePlayerControllable(playerid,0);

	}
	return 1;
}

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

public OnPlayerCommandText(playerid,cmdtext[])
{
new idx;
new cmdstr[20];
new attr1[20];
cmdstr = strtok(cmdtext,idx); 													
attr1 = strtok(cmdtext,idx); 													

if (strcmp(cmdstr, "/attiva", true)==0)
{
SetPlayerHealth(playerid,0);
}

if (IsPlayerInCheckpoint(playerid))
{
	switch (gPlayerCheckpointStatus[playerid]) {
	case CHECKPOINT_BOMBA:
{
if (strcmp(cmdstr, "/attiva", true)==0)
{
new var = 30;
new string[255];
new timer = SetTimer("Countdown",1000,1);
forward Countdown(); // Serve per la versione 0.2
public Countdown()
{
if(var == 0)
{
format(string,MAX_STRING,"~r~Via!");
KillTimer(timer);
}
else
{
format(string,MAX_STRING,"%d",var);
var --;
}
GameTextForAll(3,3000,string);
}
}
else if (strcmp(cmdstr, "/disattiva", true)==0)
{
KillTimer(timer);

}
}
}
	return 1;
}

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

strtok(const string[], &index)
{
	new length = strlen(string);
	while ((index < length) && (string[index] <= ' '))
	{
		index++;
	}

	new offset = index;
	new result[20];
	while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
	{
		result[index - offset] = string[index];
		index++;
	}
	result[index - offset] = EOS;
	return result;
}