All pastes #360891 Raw Edit

Someone

public text v1 · immutable
·published 2007-02-17 20:10 UTC
rendered paste body
//GameMode by (c)Denius
#include <a_samp>
#define TEAM_GROVE 1
#define TEAM_BALLA 2
#define TEAM_GROVE_COLOR 0x33AA33FF // Green 
#define TEAM_BALLA_COLOR 0xFF00FFAA // Purple
#define COLOR_YELLOW 0xFFFF00AA 	// Yellow
#define IN_ARENA 1
#define OUT_ARENA 2
new gTeam[MAX_PLAYERS];
new Float:rx, Float:ry, Float:rz;
new player_spawned[MAX_PLAYERS]; // Teamchat
new gArena[MAX_PLAYERS] = OUT_ARENA;
new Float:ArenaSpawn[4][3] = {
   {1102.7014,-341.1859,73.9922},
   {1021.0997,-303.8612,73.9931},
   {1045.5071,-290.0125,83.4999},
    {1118.0061,-293.5841,73.9922}
};

main()
{
	print("\n----------------------------------------------");
	print("  TeamDeathMatch Grove vs Ballas by (c)Denius");
	print("----------------------------------------------\n");
}


public OnPlayerCommandText(playerid, cmd[])
{
if(strcmp(cmd, "/arena", true) == 0){

gArena[playerid] = IN_ARENA;
new randomize=random(sizeof(ArenaSpawn));
SetPlayerPos(playerid, ArenaSpawn[randomize][0],ArenaSpawn[randomize][1],ArenaSpawn[randomize][2]);
//SetPlayerHealth(playerid,100);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 31, 1000);
GivePlayerWeapon(playerid, 26, 1000);
GivePlayerWeapon(playerid, 28, 1000);

return 1;
}

if(strcmp(cmd, "/mhelp", true) == 0){
SendClientMessage(playerid,COLOR_YELLOW,"This is a TDM GameMode. Kill players of the other team to earn");
SendClientMessage(playerid,COLOR_YELLOW,"money and points. Dont' kill your teammates or you'll lose points an money");
SendClientMessage(playerid,COLOR_YELLOW,"Type /arena to go to a arena. There you can kill anyone");
SendClientMessage(playerid,COLOR_YELLOW,"GameMode by (c)Denius");
return 1;
}

if(strcmp(cmd, "/caida5", true) == 0) {
	GetPlayerPos(playerid, rx, ry, rz);
	SendClientMessage(playerid, 0xFFFF00AA, "Caida!");
	SetPlayerPos(playerid, rx, ry, rz+5000);
	GivePlayerWeapon(playerid, 46, 0);
	return 1;
	}


if(strcmp(cmd, "/caida1", true) == 0) {
	GetPlayerPos(playerid, rx, ry, rz);
	SendClientMessage(playerid, 0xFFFF00AA, "Caida!");
	SetPlayerPos(playerid, rx, ry, rz+1500);
	GivePlayerWeapon(playerid, 46, 0);
	return 1;
	}
if(strcmp(cmd, "/caida10", true) == 0) {
	GetPlayerPos(playerid, rx, ry, rz);
	SendClientMessage(playerid, 0xFFFF00AA, "Caida!");
	SetPlayerPos(playerid, rx, ry, rz+10000);
	GivePlayerWeapon(playerid, 46, 0);
	return 1;
	}

	
	return 1;
}

public OnGameModeInit()
{
	print("GameModeInit()");
	SetGameModeText("TDM Grove-Ballas");
	AddStaticVehicle(520,2752.2837,-1757.3154,44.7806,332.5389,0,0); //

	AddPlayerClass(105,2505.5774,-1671.5300,13.3699,79.0129,29,1000,24,1000,4,0); // Grove 1
	AddPlayerClass(106,2497.8621,-1676.8077,13.3487,3.1855,29,1000,24,1000,4,0); //  Grove 2
	AddPlayerClass(107,2497.7009,-1660.2401,13.3359,165.1570,29,1000,24,1000,4,0); // Grove 3
	AddStaticPickup(1242, 2, 2497.1272,-1667.8346,13.3438); // Grove Chaleco
	AddPlayerClass(102,1979.6017,-1218.3383,25.2849,90.3797,29,1000,24,1000,4,0); //  Ballas 1
	AddPlayerClass(103,1964.7515,-1219.3318,25.2998,277.4181,29,1000,24,1000,4,0); // Ballas 2
	AddPlayerClass(104,1971.3583,-1205.0183,25.5006,176.5238,29,1000,24,1000,4,0); // Ballas 3
	AddStaticPickup(1242, 2,1972.3517,-1216.4061,25.1859); // Ballas Chaleco
	AddStaticVehicle(492,1961.2794,-1179.9984,25.8584,182.5919,-1,-1); // Auto Balla 1
	AddStaticVehicle(492,1976.8402,-1181.8344,25.8250,178.4436,-1,-1); // Auto Balla 2
	AddStaticVehicle(522,1967.1414,-1162.4979,25.4689,175.0461,-1,-1); //   Moto Balla 1
	AddStaticVehicle(522,1971.8170,-1164.4279,25.4838,173.7589,-1,-1); //   Moto Balla 2
	AddStaticVehicle(492,2470.1973,-1655.0471,13.1211,89.9074,-1,-1); // Auto 1 Grove
	AddStaticVehicle(492,2468.5154,-1663.6798,13.0873,88.3078,-1,-1); // Auto 2 Grove
	AddStaticVehicle(522,2450.2046,-1660.7664,12.8748,88.7233,-1,-1); //  Moto 1 Grove
	AddStaticVehicle(522,2455.1902,-1656.3794,12.8747,88.3118,-1,-1); //  Moto 2 Grove
	AddStaticVehicle(487,1917.3048,-2268.3450,13.7235,184.1751,-1,-1); //
	AddStaticVehicle(487,1983.5732,-2267.6467,13.7235,178.8756,-1,-1); //
	AddStaticVehicle(487,2009.3158,-2538.3994,13.7236,264.3632,-1,-1); //
	AddStaticVehicle(500,1947.4094,-2126.9143,13.6532,271.0341,-1,-1); //
	AddStaticVehicle(500,1947.6702,-2136.5906,13.6532,271.0043,-1,-1); //
	AddStaticVehicle(519,2066.2896,-2593.5388,14.4658,91.1517,-1,-1); //
	AddStaticVehicle(519,1458.6587,-2600.8003,14.4656,267.5645,-1,-1); //
	AddStaticVehicle(592,1449.2347,-2494.4812,14.7488,269.2489,-1,-1); //
	AddStaticVehicle(593,1538.4064,-2447.0098,14.0106,272.4618,-1,-1); //
	AddStaticVehicle(593,1658.0879,-2455.9634,14.0129,272.3382,-1,-1); //
	AddStaticVehicle(425,1544.9590,-1355.5215,330.4452,265.4901,-1,-1); //
	AddStaticVehicle(411,1437.9011,-1605.0764,13.2740,0.5694,-1,-1); //
	AddStaticVehicle(411,1438.1805,-1633.1688,13.2739,0.5693,-1,-1); //
	AddStaticVehicle(411,1438.4573,-1661.0453,13.2739,0.5694,-1,-1); //
	AddStaticVehicle(411,1438.8176,-1695.0715,13.2740,0.8039,-1,-1); //
	AddStaticVehicle(411,899.8115,-1359.2761,13.2954,268.8387,-1,-1); //
	AddStaticVehicle(424,882.4846,-1376.5328,24.9817,0.0001,-1,-1); //
	AddStaticVehicle(424,2027.2996,-1909.6504,13.3347,181.4890,-1,-1); //
	AddStaticVehicle(424,2052.6599,-1903.7745,13.3266,180.5418,-1,-1); //
	AddStaticVehicle(429,2065.6206,-1904.0814,13.2266,181.1899,-1,-1); //
	AddStaticVehicle(429,2337.0354,-1367.5197,23.6872,179.0906,-1,-1); //
	AddStaticVehicle(429,2408.7007,-1391.0549,23.9320,88.4390,-1,-1); //
	AddStaticVehicle(434,2408.4470,-1380.1750,24.3469,88.3028,-1,-1); //
	AddStaticVehicle(434,1799.1300,-1188.9540,23.8609,266.6764,-1,-1); //
	AddStaticVehicle(434,1728.6616,-1280.6820,13.5089,357.4924,-1,-1); //
	AddStaticVehicle(473,1966.2046,-1201.8213,17.7625,265.5047,-1,-1); //
	AddStaticVehicle(520,2735.8801,-1759.0480,45.0141,330.9593,-1,-1); //
	AddStaticVehicle(446,2941.2871,-2022.9667,-0.0749,164.9100,-1,-1); //
	AddStaticVehicle(446,2940.0220,-2075.0122,-0.1887,316.4850,-1,-1); //
	AddStaticVehicle(446,792.1735,-1971.6171,-0.3872,178.1249,-1,-1); //
	AddStaticVehicle(446,896.2247,-1975.8102,-0.4843,329.7241,-1,-1); //
	AddStaticVehicle(462,846.7059,-2051.9741,12.4637,355.3906,-1,-1); //
	AddStaticVehicle(462,832.7809,-2055.3059,12.4635,357.1536,-1,-1); //
	AddStaticVehicle(571,830.2681,-2036.3802,12.1510,357.1091,-1,-1); //
	AddStaticVehicle(571,835.3850,-2034.9911,12.1510,0.6054,-1,-1); //
	AddStaticVehicle(446,442.0475,-1990.0208,-0.4288,0.3945,-1,-1); //
	AddStaticVehicle(446,312.2628,-2015.3440,-0.6423,27.2245,-1,-1); //
	AddStaticVehicle(446,99.5294,-1953.6482,-0.3856,45.6875,-1,-1); //




 	return 1;
 	

}

public WriteTeamInScreen(playerid,classid)
{
if(classid == 0 || classid == 1 || classid == 2) {
GameTextForPlayer(playerid,"~g~GROVE STREET",1000,5);
}else if(classid == 3 || classid == 4 || classid == 5) {
GameTextForPlayer(playerid,"~b~BALLAS",1000,5);
}
return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	WriteTeamInScreen(playerid,classid);
	printf("OnPlayerRequestClass(%d, %d)", playerid, classid);
	SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerFacingAngle(playerid, 95.8675);
	SetPlayerCameraPos(playerid, 1955.8433, 1343.0842, 15.3746);
	SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
	{
	// Set their team number based on the class they selected.
	if(classid == 0 || classid == 1 || classid == 2) {
		gTeam[playerid] = TEAM_GROVE;
	} else if(classid == 3 || classid == 4 || classid == 5) {
	    gTeam[playerid] = TEAM_BALLA;
	}
}
	return 1;
}

public SetPlayerTeamFromClass(playerid,classid)
{
	// Set their team number based on the class they selected.
	if(classid == 0 || classid == 1 || classid == 2) {
		gTeam[playerid] = TEAM_GROVE;
	} else if(classid == 3 || classid == 4 || classid == 5) {
	    gTeam[playerid] = TEAM_BALLA;
	}
}

public SetPlayerToTeamColor(playerid)
{
	if (gTeam[playerid] == TEAM_GROVE)
	{
		SetPlayerColor(playerid, TEAM_GROVE_COLOR);
	}
	else if (gTeam[playerid] == TEAM_BALLA)
	{
		SetPlayerColor(playerid, TEAM_BALLA_COLOR);
	}
}
public OnGameModeExit()
{
	print("GameModeExit()");
	return 1;
}

public OnPlayerConnect(playerid)
{
	printf("OnPlayerConnect(%d)", playerid);
	
	 SendDeathMessage(playerid, INVALID_PLAYER_ID, 200);
	 SendClientMessage(playerid,COLOR_YELLOW,"For help about the gamemode write /mhelp");
	 SendClientMessage(playerid, COLOR_YELLOW, "For TeamChat, write ! before message");
	 player_spawned[playerid] = 0; // Teamchat
     return 1;
     
}

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

public OnPlayerSpawn(playerid)
{
 printf("OnPlayerSpawn(%d)", playerid);
	SetPlayerToTeamColor(playerid);
		player_spawned[playerid] = 1; // Teamchat
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{


 if(killerid == INVALID_PLAYER_ID) {
        SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
        } else {
        if(gArena[killerid] == OUT_ARENA) {
        if(gTeam[killerid] != gTeam[playerid]) {
	    	// Valid kill
	    	SendDeathMessage(killerid,playerid,reason);
			SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
			GivePlayerMoney(killerid,GetPlayerMoney(killerid)+5000);
			GivePlayerMoney(playerid,0);
     	}
		else /*if(gTeam[killerid] = gTeam[playerid])*/ {
		    // Team kill
		    SendDeathMessage(killerid,playerid,reason);
		    SetPlayerScore(killerid,GetPlayerScore(killerid)-1);
		    GivePlayerMoney(killerid,0);
		}
		}
		if(gArena[killerid] == IN_ARENA) {
		SendDeathMessage(killerid,playerid,reason);
		SetPlayerScore(playerid,GetPlayerScore(killerid)+1);
		GivePlayerMoney(playerid,GetPlayerMoney(killerid)+5000);
		
		}
		}
		player_spawned[playerid] = 0; // Teamchat
	
 	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, text[])
{
	if(text[0] == '!' && player_spawned[playerid] == 1 && gArena[playerid] == OUT_ARENA)
 {
        new teamchat[256];
        new playername[24];
        GetPlayerName(playerid,playername,24);
        for(new i=0; i<MAX_PLAYERS; i++)
        {
              if(gTeam[i] == gTeam[playerid] && player_spawned[i] == 1)
              {
                    format(teamchat,sizeof(teamchat),"%s(Team):%s",playername,text[1]);
                    SendClientMessage(i,0xFFFF00AA,teamchat);
              }
        }
 }

	return 1;
}



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 OnPlayerEnterCheckpoint(playerid)
{
	printf("OnPlayerEnterCheckpoint(%d)", playerid);
	return 1;
}

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