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