All pastes #907486 Raw Edit

Someone

public text v1 · immutable
·published 2008-02-17 17:23 UTC
rendered paste body
/*
Prison Wars GameMode A.0
By Homer
Licence: Freeware
*/
#include <a_samp>

#define SOUND_MUSIC10 1097
#define SOUND_OFF 1184

#define COLOR_GREY         0xAFAFAFAA
#define COLOR_ORANGE	   0xFF8C00AA
#define COLOR_GREEN        0x33AA33AA
#define COLOR_RED          0xAA3333AA
#define COLOR_YELLOW       0xFFFF00AA
#define COLOR_WHITE        0xFFFFFFAA
#define COLOR_BLUE         0x00FFFFAA
#define COLOR_WHITE        0xFFFFFFAA
#define COLOR_SEDA 		   0x808080AA
#define COLOR_RUZOVA	   0xFFC0CBAA
#define COLOR_CHARTR	   0x7FFF00AA
#define COLOR_ORANZCERV    0xFF4500AA
#define COLOR_LIGHTBLUE    0x33CCFFAA
#define COLOR_DARKRED      0x660000AA

#define TEAM_VEZEN 	    0
#define TEAM_STRAZCA 	1

new tpoc[MAX_PLAYERS];
new thraca[MAX_PLAYERS];

new Menu:menu;
new Menu:menu2;
new Menu:menu3;

new Text:txt;

forward reset();
forward AntiCheat();
forward pingkicker();


main()
{
	print("\n");
	print("(|------)   (|) | (|)");
    print("(|      |   (|) | (|)");
    print("(|------)   (|) | (|)");
    print("(|          (|) | (|)");
    print("(|          (|-----|)");
	print("---PRISON WARS GAMEMODE BY HOMER---");
	print("---ACTUALY VERSION: 1.0---\n");
}

public OnGameModeInit()
{
	SetGameModeText("Prison Wars 1.0");
	ShowPlayerMarkers(0);
	ShowNameTags(1);
	EnableStuntBonusForAll(0);
	SetWeather(1);
	SetTeamCount(2);
	EnableTirePopping(1);
	AllowInteriorWeapons(1);
	EnableZoneNames(0);
    SetNameTagDrawDistance(5.0);
	SetTimer("reset", 600000, 1);
	SetTimer("AntiCheat", 10000, 1);
	
	/*
	Text
	*/
	
         txt = TextDrawCreate(540,3, "~y~] ~b~Prison Wars ~y~]");
         TextDrawLetterSize(txt, 1, 1.13);
         TextDrawFont(txt,2);
         TextDrawColor(txt, 0xF7DFB5AA);
         TextDrawTextSize(txt, 55.0, 35.0);
         TextDrawSetOutline(txt,1);
         TextDrawAlignment(txt, 3);
         TextDrawSetShadow(txt, 2);
         TextDrawSetOutline(txt, 1);
	
	/*
	Menu
	*/
	      menu = CreateMenu("Attack Weapons:",1,50,220,200,200);
          AddMenuItem(menu,0,"-M4");
          AddMenuItem(menu,0,"-AK47");
          AddMenuItem(menu,0,"-MP5");
          
          menu2 = CreateMenu("Pistols:",1,50,220,200,200);
          AddMenuItem(menu2,0,"Deagle");
          AddMenuItem(menu2,0,"9mm");
          AddMenuItem(menu2,0,"Silenced 9mm");
          
          menu3 = CreateMenu("Shotguns:",1,50,220,200,200);
          AddMenuItem(menu3,0,"Shotgun");
          AddMenuItem(menu3,0,"Combat Shotgun");
          AddMenuItem(menu3,0,"Sawn off Shotgun");

	/*
	Skiny
	*/
AddPlayerClass(1,-1436.6564,1300.4059,1.3494,0.3177,0,0,0,0,0,0); // vezen
AddPlayerClass(66,-1431.5889,1303.1230,1.7779,281.6703,0,0,0,0,0,0); // vezen
AddPlayerClass(280,-1428.4385,1322.8140,16.1402,340.8603,0,0,0,0,0,0); // policajt
AddPlayerClass(281,-1433.8362,1315.5330,8.3865,155.0752,0,0,0,0,0,0); // policajt
	
	/*
	Autá
	*/
AddStaticVehicle(471,-1420.3862,1311.4598,0.7164,48.1149,103,111); // quad
AddStaticVehicle(471,-1434.6528,1302.9337,0.8264,315.9815,103,111); // quad
AddStaticVehicle(471,-1429.1324,1332.5623,1.3915,228.6991,103,111); // quad

	/*
	Objecty
	*/
	
//Celé väzenie
CreateObject(1675,-1428.015,1320.114,4.218,0.0,0.0,0.0);
CreateObject(1675,-1428.045,1294.634,4.242,0.0,0.0,0.0);
CreateObject(987,-1442.729,1355.268,0.410,0.0,0.0,-90.000);
CreateObject(987,-1442.759,1343.243,0.419,0.0,0.0,-90.000);
CreateObject(987,-1442.762,1331.250,0.422,0.0,0.0,-90.000);
CreateObject(987,-1442.762,1319.248,0.425,0.0,0.0,-90.000);
CreateObject(987,-1442.756,1307.275,0.436,0.0,0.0,-90.000);
CreateObject(987,-1442.757,1295.286,0.439,0.0,0.0,-90.000);
CreateObject(987,-1442.685,1283.276,0.385,0.0,0.0,-90.000);
CreateObject(987,-1442.706,1274.169,0.396,0.0,0.0,-90.000);
CreateObject(987,-1442.879,1263.115,0.268,0.0,0.0,0.0);
CreateObject(987,-1430.896,1263.170,0.245,0.0,0.0,0.0);
CreateObject(987,-1418.937,1263.132,0.241,0.0,0.0,67.500);
CreateObject(987,-1415.173,1271.535,0.253,0.0,0.0,90.000);
CreateObject(987,-1415.145,1283.553,0.273,0.0,0.0,90.000);
CreateObject(987,-1415.141,1295.472,0.276,0.0,0.0,90.000);
CreateObject(987,-1415.148,1307.457,0.268,0.0,0.0,90.000);
CreateObject(987,-1415.151,1319.427,0.270,0.0,0.0,90.000);
CreateObject(987,-1415.212,1331.298,0.267,0.0,0.0,90.000);
CreateObject(987,-1415.250,1343.277,0.251,0.0,0.0,90.000);
CreateObject(987,-1415.171,1354.613,0.244,0.0,0.0,180.000);
CreateObject(987,-1427.223,1354.877,0.357,0.0,0.0,180.000);
CreateObject(987,-1430.531,1354.846,0.705,0.0,0.0,-180.000);
CreateObject(3279,-1428.158,1321.548,7.462,0.0,0.0,-90.000);
CreateObject(3279,-1429.533,1295.653,7.486,0.0,0.0,-270.000);
CreateObject(1225,-1433.380,1297.311,7.816,0.0,0.0,0.0);
CreateObject(1225,-1433.349,1295.393,7.816,0.0,0.0,0.0);
CreateObject(5812,-1428.783,1308.946,0.398,0.0,0.0,0.0);
CreateObject(851,-1430.571,1329.563,1.295,0.0,0.0,0.0);
CreateObject(1437,-1425.603,1328.062,2.234,0.0,0.0,-180.000);
CreateObject(1436,-1433.484,1328.376,2.192,0.0,0.0,0.0);
CreateObject(2780,-1502.739,1373.916,2.601,0.0,0.0,0.0);
CreateObject(2780,-1450.550,1310.445,0.123,0.0,0.0,0.0);
CreateObject(2780,-1406.252,1310.694,-0.119,0.0,0.0,0.0);
CreateObject(2780,-1428.173,1359.863,0.161,0.0,0.0,0.0);
CreateObject(2780,-1428.549,1249.753,-0.169,0.0,0.0,0.0);
CreateObject(3057,-1431.825,1280.082,1.014,0.0,0.0,-56.250);
CreateObject(3057,-1421.072,1272.621,0.597,0.0,0.0,-146.250);
CreateObject(1218,-1421.970,1273.038,0.706,0.0,0.0,0.0);
CreateObject(18014,-1422.534,1282.033,0.985,0.0,0.0,0.0);
CreateObject(18014,-1432.980,1282.196,1.079,0.0,0.0,0.0);
CreateObject(807,-1431.483,1281.649,1.036,0.0,0.0,0.0);
CreateObject(998,-1439.072,1283.132,0.615,0.0,0.0,33.750);
CreateObject(996,-1421.762,1287.379,1.003,0.0,0.0,-90.000);

/*
Pickupy
*/
AddStaticPickup(30,500,-1430.5056,1308.5107,1.9775);
AddStaticPickup(33,500,-1442.0341,1288.6259,1.3324);
AddStaticPickup(14,500,-1422.7679,1286.5997,1.5555);
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
tpoc[playerid] = classid;
switch (classid)
{
case 0, 1:
{
              GameTextForPlayer(playerid, "~r~Prisoner", 3000, 5);
              SetPlayerColor(playerid,COLOR_RED);
              SetPlayerFacingAngle(playerid,253.7174);
              SetPlayerPos(playerid,-1436.2135,1308.6813,1.3433);
              SetPlayerCameraPos(playerid,-1430.5741,1307.1254,1.9608);
			  SetPlayerCameraLookAt(playerid,-1436.2135,1308.6813,1.3433);
			  thraca[playerid] = TEAM_VEZEN; 
}
case 2, 3:
{
              GameTextForPlayer(playerid, "~b~Policeman", 3000, 5);
              SetPlayerColor(playerid,COLOR_BLUE);
			  SetPlayerFacingAngle(playerid,173.9516);
			  SetPlayerPos(playerid,-1428.3253,1322.7346,24.5401);
			  SetPlayerCameraPos(playerid,-1429.0754,1317.4384,24.1399);
			  SetPlayerCameraLookAt(playerid,-1428.3253,1322.7346,24.5401);
			  thraca[playerid] = TEAM_STRAZCA;
}
}
return 1;
}

public OnPlayerConnect(playerid)
{
for(new n=0; n<MAX_PLAYERS; n++)
	{
	if(IsPlayerConnected(n))TextDrawShowForPlayer(n, txt);
	}
PlayerPlaySound(playerid,SOUND_MUSIC10,2113.6211,1683.4001,10.5078);
SendClientMessage(playerid,COLOR_GREEN,"Welcome on Prison Break 1.0!! For help type '/help'");
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
TextDrawHideForPlayer(playerid, txt);
        new string[85],pname[24];
		switch (reason)
{
    case 0:
    {
        GetPlayerName(playerid,pname,24);
        format(string,sizeof(string), "* %s(ID:%d has left from server (Crash)*",pname,playerid);
        SendClientMessageToAll(COLOR_GREY,string);
    }
    case 1:
    {
        GetPlayerName(playerid,pname,24);
        format(string,sizeof(string), "* %s(ID:%d has left from server (TimeOut)*",pname,playerid);
        SendClientMessageToAll(COLOR_GREY,string);
    }
    case 2:
    {
        GetPlayerName(playerid,pname,24);
        format(string,sizeof(string), "* %s(ID:%d) has left from server (Kick/Ban)*",pname,playerid);
        SendClientMessageToAll(COLOR_GREY,string);
    }
}
    	return 1;
}

public OnPlayerSpawn(playerid)
{
PlayerPlaySound(playerid,SOUND_OFF, 2259.8911,1689.5200,104.5028);
TogglePlayerControllable(playerid,0);
ShowMenuForPlayer(menu,playerid);
if(thraca[playerid] == TEAM_VEZEN)
{
SendClientMessage(playerid, COLOR_RED, "[Info] You are prisoner! You´re mision is kill policemans after time end.");
}
else
{
SendClientMessage(playerid, COLOR_RED, "[Info] You are policeman! You´re mision is kill prisoners after time end.!");
}
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{ 
if(thraca[playerid] == TEAM_STRAZCA)
{
if(thraca[killerid] == TEAM_VEZEN)
{
SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
SendDeathMessage(killerid, playerid, reason); 
SendClientMessage(playerid, COLOR_ORANGE, "You´re killed by prisoner!");
SendClientMessage(killerid, COLOR_RED, "You kill the policeman!");
}
else
{
if(thraca[playerid] == thraca[killerid])
{
SendDeathMessage(killerid, playerid, reason); 
SendClientMessage(killerid, COLOR_GREY, "YOU KILLED YOUR FRIEND!! TEAM KILL!!!");
SendClientMessage(playerid, COLOR_GREY, "You have been killed by your friend!!");
SetPlayerScore(killerid, GetPlayerScore(killerid)-1); 
}
}
}
else
{
if(thraca[killerid] == TEAM_VEZEN)
{
SendDeathMessage(killerid, playerid, reason);
SendClientMessage(killerid, COLOR_RED, "You have killed prisoner!");
SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
}
}
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp("/help", cmdtext, true, 10) == 0)
	{
    SendClientMessage(playerid, COLOR_GREEN, "Vyberte si postavu! Buď vezeň alebo policajt. Potom už len strieľajte a strieľajte.");
    SendClientMessage(playerid, COLOR_GREEN, "Pozor! TEAMKILL je tu prísne zakázaný!!");
    SendClientMessage(playerid, COLOR_RED, "Pozor! CHEATY ešte viac!! :D Naštastie je tu AntiCheat pre vaše pohodlie...");
		return 1;
	}
	return 0;
}

public reset()
{
	GameModeExit();
}

public AntiCheat()
{
for(new i=0; i < MAX_PLAYERS; i++)
{
new meno[MAX_PLAYER_NAME];
GetPlayerName(i, meno, sizeof(meno));
new string[256];
if(GetPlayerWeapon(i) == 35)
{
format(string, sizeof(string),"---- [!] Player %s has kicked from server. Reason: WeaponCheat (RocketLauncher) ----", meno);
printf(string);
Kick(i);
}
if(GetPlayerWeapon(i) == 38)
{
format(string, sizeof(string),"---- [!] Player %s has banned from server. Reason: WeaponCheat (Minigun) ----", meno);
printf(string);
Ban(i);
}
}
return 1;
}
//PingKicker====================================================================
public pingkicker()
{
for(new i=0; i < MAX_PLAYERS; i++)
{
new meno[MAX_PLAYER_NAME];
GetPlayerName(i, meno, sizeof(meno));
new string[256];
if(GetPlayerPing(i) >= 600)
{
format(string, sizeof(string),"---- [!] Player %s has kicked from server. Reason: High Ping (600+) ----", meno);
printf(string);
Kick(i);
}
}
return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
   new Menu:Current = GetPlayerMenu(playerid);
   if(Current == menu)
   {
   switch(row)
      {
      case 0:
      {
      GameTextForPlayer(playerid,"~b~M4",3000,5);//M4
      GivePlayerWeapon(playerid, 31, 500);
      ShowMenuForPlayer(menu2,playerid);
      }
      case 1:
      {
      GameTextForPlayer(playerid,"~r~Ak47",3000,5);//Ak47
      GivePlayerWeapon(playerid, 30, 500);
      ShowMenuForPlayer(menu2,playerid);
      }
      case 2:
      {
      GameTextForPlayer(playerid,"~g~MP5",3000,5);//MP5
      GivePlayerWeapon(playerid, 29, 500);
      ShowMenuForPlayer(menu2,playerid);
      }
      }
   }
   else if(Current == menu2)
   {
      switch(row)
      {
      case 0:
	  {
	  GameTextForPlayer(playerid,"~b~Deagle",3000,5);//Desert Eagle
	  GivePlayerWeapon(playerid, 24, 500);
	  ShowMenuForPlayer(menu3,playerid);
	  }
      case 1:
      {
      GameTextForPlayer(playerid,"~r~9mm",3000,5);//9mm
      GivePlayerWeapon(playerid, 22, 500);
      ShowMenuForPlayer(menu3,playerid);
      }
      case 2:
      {
      GameTextForPlayer(playerid,"~g~Silenced 9mm",3000,5);//Silenced 9mm
      GivePlayerWeapon(playerid, 23, 500);
      ShowMenuForPlayer(menu3,playerid);
      }
      }
   }
    else if(Current == menu3)
   {
      switch(row)
      {
      case 0:
	  {
      GameTextForPlayer(playerid,"~b~Shotgun",3000,5);//Shotgun
      GivePlayerWeapon(playerid, 25, 500);
      TogglePlayerControllable(playerid,1);
	  }
      case 1:
      {
      GameTextForPlayer(playerid,"~r~Combat shotgun",3000,5);//Combat Shotgun
      GivePlayerWeapon(playerid, 27, 500);
      TogglePlayerControllable(playerid,1);
      }
      case 2:
      {
      GameTextForPlayer(playerid,"~g~Sawn off Shotgun",3000,5);//Sawn off Shotgun
      GivePlayerWeapon(playerid, 26, 500);
      TogglePlayerControllable(playerid,1);
      }
      }
   }
}