All pastes #612788 Raw Edit

Untitled

public text v1 · immutable
·published 2007-07-10 16:53 UTC
rendered paste body
#include <a_samp>


// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#define COLOR_RED 0xAA3333AA
#define COLOR_ORANGE 0xFF9900AA
#define TEAM_RED 0
#define TEAM_ORANGE 1
static gTeam[MAX_PLAYERS]; // Tracks the team assignment for each player
new gPlayerClass[MAX_PLAYERS];
new Menu:VMain;
new Menu:WMain;
new gPlayerGotFlag;
forward SetupPlayerForClassSelection(playerid);
forward Time();
forward Exit();
forward PlayerGotFlag(playerid);


#if defined FILTERSCRIPT


public OnFilterScriptInit()
{
	print("\n--------------------------------------");
	print(" Blank Filterscript by your name here");
	print("--------------------------------------\n");
	return 1;
}

public OnFilterScriptExit()
{
	return 1;
}

#else

main()
{
	print("\n----------------------------------");
	print(" CtF LV by [AC]FrozenX");
	print("----------------------------------\n");
}

#endif

public OnGameModeInit()
{
	SetTimer("Exit",1200000,0);
    SetTimer("Time", 600000, 1);
	// Don't use these lines if it's a filterscript
	SetGameModeText("CtF LV");
	AddPlayerClass(60,2844.5024,1291.6553,11.3906,106.1010,0,0,0,0,0,0);
	AddPlayerClass(101,1035.8816,1840.3611,11.4683,98.5249,0,0,0,0,0,0);
	AddStaticVehicle(522,2834.9280,1311.5413,10.3497,179.5828,6,25); //
	AddStaticVehicle(529,2834.2874,1282.7986,10.4107,184.7345,42,42); //
	AddStaticVehicle(541,2833.8850,1268.1299,10.4028,179.0264,58,8); //
	AddStaticVehicle(541,2833.7871,1324.1587,10.4027,354.4240,58,8); //
	AddStaticVehicle(541,1020.9497,1833.3663,10.4452,81.4285,58,8); //
	AddStaticVehicle(522,1025.4763,1833.3470,10.3852,91.4181,8,82); //
	AddStaticVehicle(529,1039.2119,1834.4541,10.4511,266.2548,62,62); //
	AddStaticVehicle(522,1033.5278,1832.0598,10.3865,272.1257,36,105); //
 	AddStaticPickup(360,19,1972.8921,1623.4976,12.4314);
	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, "~r~RED Team", 500, 3);

			}

		case 1:

		    {

				GameTextForPlayer(playerid, "ORANGE Team", 500, 3);

			}
}
	
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnPlayerConnect(playerid)
{
	SendClientMessage(playerid,COLOR_RED,"Welcome by CtF LV");
	SendClientMessage(playerid,COLOR_RED,"Made by [AC]FrozenX");
	SendClientMessage(playerid,COLOR_RED,"Typ /help when you need Help!");
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	return 1;
}

public OnPlayerSpawn(playerid)
{
	SetPlayerInterior(playerid,0);

	if(gTeam[playerid] == TEAM_RED) {

	SetPlayerColor(playerid,COLOR_RED); // Green

		}

	else if(gTeam[playerid] == TEAM_ORANGE) {

	SetPlayerColor(playerid,COLOR_ORANGE); // Red

		}

	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	DisablePlayerCheckpoint(playerid);
	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!

		new warning[256];

		format(warning, sizeof(warning), "Be careful! You have been punished for teamkilling.");

		SendClientMessage(killerid, 0xFFFF00AA, warning);

		SendDeathMessage(killerid,playerid,reason);

		GivePlayerMoney(killerid, -1000);

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

}
		if(gPlayerGotFlag == 1);
		{
			AddStaticPickup(360,19,2183.6887,1110.9854,12.2135);
			
		}
		
	}
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}

public OnPlayerText(playerid, text[])
{
	return 1;
}

public OnPlayerPrivmsg(playerid, recieverid, text[])
{
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	new idx;
	new cmd[255];
	cmd = strtok(cmdtext, idx );
	if (strcmp("/kill", cmdtext, true, 10) == 0)
	{
		if(gPlayerGotFlag == 1){
		SetPlayerScore(playerid, -1);
		DisablePlayerCheckpoint(playerid);
		SetPlayerHealth(playerid,0);
		AddStaticPickup(360,19,2183.6887,1110.9854,12.2135);}
		else {
		SetPlayerScore(playerid, -1);
		DisablePlayerCheckpoint(playerid);
		SetPlayerHealth(playerid,0);}
		return 1;
	}
	if (strcmp("/scoreadd",cmdtext, true ,10)==0)
	{
	    SetPlayerScore(playerid, 10);
	    SendClientMessage(playerid,COLOR_RED,"You got 10 points!");
		return 1;
	}
	if(strcmp(cmdtext,"/not ",true,4)==0  && IsPlayerAdmin(playerid)==1)
	{
		new output[255];
		strmid(output,cmdtext,4,strlen(cmdtext));
		GameTextForAll(output,4000,3);
		return 1;
	}
	if(strcmp(cmdtext,"/Weapons",true,4)==0 && IsPlayerAdmin(playerid)==1)
	{
	    GivePlayerWeapon(playerid,23,50000);
		return 1;
	}
	if(strcmp(cmdtext, "/Wmenu",true)==0){
	WMain = CreateMenu(" ",1,100,200,90,25);
	AddMenuItem(WMain,0,"Colt 45");
	AddMenuItem(WMain,0,"Desert Eagle");
	AddMenuItem(WMain,0,"Uzi");
	AddMenuItem(WMain,0,"AK-47");
	AddMenuItem(WMain,0,"MP5");
	AddMenuItem(WMain,0,"Sawn-Off Shotgun");
	AddMenuItem(WMain,0,"Grenade");
	AddMenuItem(WMain,0,"Baseball Bat");
	AddMenuItem(WMain,0,"TEC-9");
	AddMenuItem(WMain,0,"Special One!");
	ShowMenuForPlayer(WMain,playerid);
	return 1;
	}
	if(strcmp(cmdtext, "/Carmenu", true) == 0) {
	VMain = CreateMenu(" ",1,100,200,90,25);
	AddMenuItem(VMain,0,"NRG");
	AddMenuItem(VMain,0,"Elegy");
	AddMenuItem(VMain,0,"Turismo");
	AddMenuItem(VMain,0,"Super GT");
	AddMenuItem(VMain,0,"Phoenix");
	AddMenuItem(VMain,0,"Banshee");
	AddMenuItem(VMain,0,"Sultan");
	AddMenuItem(VMain,0,"Sabre");
	AddMenuItem(VMain,0,"Clover");
	AddMenuItem(VMain,0,"Lowrider");
	ShowMenuForPlayer(VMain,playerid);

	return 1;
    }
    if(strcmp(cmdtext, "/CarDealers", true)==0)
    {
       SetPlayerPos(playerid,2080.01,1683.779,10.56309);
       SetPlayerFacingAngle(playerid,270.0);
    }
    if(strcmp(cmd, "/create", true) == 0 ){
	if(IsPlayerAdmin(playerid) == 1){
		new tmp[256];
   		new objid;
   		new rot;
   		tmp = strtok(cmdtext, idx);
   		if(!strlen(tmp)) {
   			SendClientMessage(playerid, COLOR_RED, "/create [objid] [rot]");
			return 1;
	}
   		objid = strval(tmp);
   		tmp = strtok(cmdtext, idx);
   		if(!strlen(tmp)) {
   		SendClientMessage(playerid, COLOR_RED, "/create [objid] [rot]");
   		return 1;
	}
   		new Float:X, Float:Y,Float:Z,Float:rX,Float:rY;
   		GetPlayerPos(playerid, X, Y, Z);
   		rot = strval(tmp);
   		SetPlayerPos(playerid,X,Y,Z +5);
   		CreateObject(objid, X, Y, Z, rX, rY, rot);
	}
    return 1;
   	}
   	if(strcmp(cmdtext, "/afk", true) == 0)
 	{
 	    new string[255];
 		SendClientMessage(playerid,0x33CCCC,"You Declare your Away From Keyboard Status");
 		SendClientMessage(playerid,COLOR_RED,"You are now FREEZED ");
		SendClientMessage(playerid,COLOR_RED,"type /back when u are back over your Keyboard.");
 		SendClientMessage(playerid,COLOR_RED,"and u will be UN-FREEZED .");
 		TogglePlayerControllable (playerid, 0);
  		GetPlayerName(playerid, string, MAX_PLAYER_NAME);
  		format(string, sizeof(string),"%s is AWAY FROM KEYBOARD AND FREEZED HIMSELF .", string);
  		SendClientMessageToAll(0xFFFFFFAA,string);
		return 1;
	}
//BACK Command
	if(strcmp(cmdtext, "/back", true) == 0)
	{
	    new string[255];
 		SendClientMessage(playerid,0x33CCCC,"You Declare your are back over your Keyboard");
 		SendClientMessage(playerid,COLOR_RED,"You are now UN - FREEZED ");
 		TogglePlayerControllable (playerid, 1);
  		GetPlayerName(playerid, string, MAX_PLAYER_NAME);
  		format(string, sizeof(string),"%s is BACK OVER THE KEYBOARD AND IS NOW UN-FREEZED .", string);
  		SendClientMessageToAll(0xFFFFFFAA,string);
		return 1;
	}
	if(strcmp(cmdtext,"/Help", true)==0)
	{
	    SendClientMessage(playerid,COLOR_RED,"This is the help message for CtF LV!");
	    SendClientMessage(playerid,COLOR_RED,"You need to find the flag and bring him to your spawn. Then your team will win!");
	    SendClientMessage(playerid,COLOR_RED,"Use /commands to see all commands. If you are Admin use /acommands to see the commands for Admins!");
	    return 1;
	}
	if(strcmp(cmdtext,"/commands",true)==0)
	{
	    SendClientMessage(playerid,COLOR_RED,"Handy commands: /afk and /back.");
	    SendClientMessage(playerid,COLOR_RED,"Menu commands: /Wmenu and /Carmenu.");
	    SendClientMessage(playerid,COLOR_RED,"To get your car from the menu: /CarDealers.");
	    SendClientMessage(playerid,COLOR_RED,"If you are admin:/acommands. Help command is: /Help and you got also /kill.");
	    return 1;
	}
	if(strcmp(cmdtext,"acommands",true)==0) {
	if(IsPlayerAdmin(playerid)== 1){
		SendClientMessage(playerid,COLOR_RED,"/not: to announce something.");
		SendClientMessage(playerid,COLOR_RED,"/Weapons:To get a Colt 45 with 50000 Ammo.");
		SendClientMessage(playerid,COLOR_RED,"/Create: To create objects.");
	}
  	return 1;
  	}
	return 0;
}

public OnPlayerInfoChange(playerid)
{
	return 1;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{

	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{

	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{

	GetPlayerTeam(playerid);
	if (gTeam[playerid]==TEAM_RED) {
	GameTextForAll("Team Red Wins!",1000,3);
	GameModeExit();
	}
	else if
	GameTextForAll("Team Orange Wins!",1000,3)*then
	GameModeExit();
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	GetPlayerTeam(playerid);
	if (gTeam[playerid] == TEAM_RED){
	GameTextForAll("Team RED got the Flag!",1000,3);
	SetPlayerCheckpoint(playerid,2844.5024,1291.6553,11.3906,6);
	}
	else{
	GameTextForAll("Team Orange got the Flag!",1000,3);
	SetPlayerCheckpoint(playerid,1035.8816,1840.3611,11.4683,6);
	}
	{
	gPlayerGotFlag == 1;
	}
	return 1;
}



public OnPlayerExitedMenu(playerid)
{
	return 1;
}

public OnGameModeExit()
{
	return 1;
}


SetPlayerClass(playerid, classid) {

	if(classid == 0) {

	gTeam[playerid] = TEAM_RED;

	} else if(classid == 1) {

	gTeam[playerid] = TEAM_ORANGE;
	}
}
public Exit()
{
	GameModeExit();
}
public Time()
{
	new sText[255];
	format(sText,sizeof(sText),"Rules: Don't Cheat, don't shit and Listen to admins!",GetTickCount());
	print(sText);
	SendClientMessageToAll(0xFF0000, sText);
}
public OnPlayerSelectedMenuRow(playerid, row)
{
	new Menu:Current = GetPlayerMenu(playerid);
	if (Current == VMain) {

  	switch(row) {
    case 0: {CreateVehicle(522,2084.01,1683.779,10.56309,60,-1,-1,10000);}
    case 1: {CreateVehicle(562,2084.01,1683.779,10.56309,60,-1,-1,10000);}
 	   case 2: {CreateVehicle(451,2084.01,1683.779,10.56309,60,-1,-1,10000);}
 	   case 3: {CreateVehicle(506,2084.01,1683.779,10.56309,60,-1,-1,10000);}
 	   case 4: {CreateVehicle(603,2084.01,1683.779,10.56309,60,-1,-1,10000);}
 	   case 5: {CreateVehicle(429,2084.01,1683.779,10.56309,60,-1,-1,10000);}
 	   case 6: {CreateVehicle(560,2084.01,1683.779,10.56309,60,-1,-1,10000);}
 	   case 7: {CreateVehicle(475,2084.01,1683.779,10.56309,60,-1,-1,10000);}
 	   case 8: {CreateVehicle(542,2084.01,1683.779,10.56309,60,-1,-1,10000);}
 	   case 9: {CreateVehicle(567,2084.01,1683.779,10.56309,60,-1,-1,10000);}
 				}
  					}

	if (Current == WMain ) {
 	switch(row) {
	case 0: {GivePlayerWeapon(playerid,23,500);}
	case 1: {GivePlayerWeapon(playerid,24,500);}
	case 2: {GivePlayerWeapon(playerid,28,500);}
	case 3: {GivePlayerWeapon(playerid,30,500);}
	case 4: {GivePlayerWeapon(playerid,29,500);}
	case 5: {GivePlayerWeapon(playerid,26,500);}
	case 6: {GivePlayerWeapon(playerid,16,500);}
	case 7: {GivePlayerWeapon(playerid,5,500);}
	case 8: {GivePlayerWeapon(playerid,32,500);}
	case 9: {GivePlayerWeapon(playerid,12,500);}
			}}
	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;
}
public PlayerGotFlag(playerid)
{
	new string[255];
	GetPlayerName(playerid, string, MAX_PLAYER_NAME);
	format(string, sizeof(string),"%s got the flag, kill him!", string);
	SendClientMessageToAll(0xFFFFFFAA,string);
}