Guest User

Untitled

a guest
Jan 25th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.41 KB | None | 0 0
  1. /*
  2. * * * * * * * * * * * * * * * * * * * * * * * *
  3. * CREDITS : *
  4. * ARRETDEFIL - MRTOINOU - I-ZCMD (YASHAS) *
  5. * *
  6. * * * * * * * * * * * * * * * * * * * * * * * * *
  7. */
  8.  
  9. #include <a_samp>
  10. #include <zcmd>
  11. #include <sscanf2>
  12.  
  13.  
  14. #define COLOR_GREY 0xAFAFAFAA
  15. #define COLOR_RED 0xAA3333AA
  16. #define COLOR_YELLOW 0xFFFF00AA
  17. #define COLOR_BLUE 0x0000BBAA
  18. #define COLOR_LIGHTBLUE 0x33CCFFAA
  19. #define COLOR_ORANGE 0xFF9900AA
  20. #define COLOR_RED 0xAA3333AA
  21.  
  22.  
  23. #define TEAM_MURDER 0
  24. #define TEAM_GUN 1
  25. #define TEAM_INNOCENT 2
  26.  
  27.  
  28. #define PRESSED(%0) \
  29. (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  30.  
  31. //
  32. new Text:Textdraw[5];
  33. new PlayerText:playerPoints[MAX_PLAYERS];
  34. new id;
  35. //
  36.  
  37. new points[MAX_PLAYERS];
  38. new Actor[MAX_ACTORS];
  39. new gPlayerTeam[MAX_PLAYERS];
  40. new Float:RandomSpawns[][] =
  41. {
  42. {1278.6624,-813.8312,1085.6328},
  43. {1294.1095,-827.7710,1085.6328},
  44. {1247.9601,-820.7675,1084.0078},
  45. {1234.9125,-824.3225,1083.1563},
  46. {1234.9871,-809.2429,1084.0078},
  47. {1267.0770,-813.1758,1084.0078},
  48. {1272.4529,-813.3427,1084.0078},
  49. {1284.8055,-801.5486,1084.0078},
  50. {1284.4454,-787.0720,1084.0078},
  51. {1267.0936,-795.9094,1084.0078},
  52. {1240.1737,-780.3179,1084.0149},
  53. {1249.0775,-765.6386,1084.0156},
  54. {1266.4635,-782.5561,1084.0078},
  55. {1262.3259,-782.5859,1084.0078},
  56. {1290.5151,-766.2123,1084.0078},
  57. {1280.5310,-783.5627,1084.0078}
  58. };
  59. new RandomTeams[][] =
  60. {
  61. {TEAM_MURDER},
  62. {TEAM_GUN},
  63. {TEAM_INNOCENT}
  64. };
  65.  
  66.  
  67. main()
  68. {
  69. print("\n<> <> <> <> <> <> <> <> <> <> <> <> ");
  70. print(" <> <> <> The Murderer <> <> <> <> ");
  71. print("<> <> <> <> <> <> <> <> <> <> <> <> \n");
  72. }
  73.  
  74. // <> <> <> <> <> <> <> <> <> <> ZCMD COMMANDS <> <> <> <> <> <> <> <> <> <> <> <> <>
  75.  
  76. CMD:kill(playerid,params[]) return SetPlayerHealth(playerid, 0.0);
  77.  
  78. CMD:qg(playerid,params[]) return SetPlayerInterior(playerid, 5), SetPlayerPos(playerid, 1267.663208, -781.323242, 1091.906250);
  79.  
  80. CMD:givecred(playerid,params[])
  81. {
  82. SendClientMessage(playerid, COLOR_YELLOW, "+10 free points!");
  83. points[playerid]+=10;
  84. new getpoints[16];
  85. format(getpoints, sizeof(getpoints), "%d", points[playerid]);
  86. PlayerTextDrawSetString(playerid, playerPoints[playerid], getpoints);
  87. return 1;
  88. }
  89.  
  90. CMD:team(playerid,params[])
  91. {
  92. if(gPlayerTeam[playerid] == 0)
  93. {
  94. SendClientMessage(playerid, -1, "Team MURDER");
  95. }
  96. if(gPlayerTeam[playerid] == 1)
  97. {
  98. SendClientMessage(playerid, -1, "Team GUN");
  99. }
  100. if(gPlayerTeam[playerid] == 2)
  101. {
  102. SendClientMessage(playerid, -1, "Team INNOCENT");
  103. }
  104. return 1;
  105. }
  106.  
  107.  
  108. public OnGameModeInit()
  109. {
  110. /////////
  111. Textdraw[0] = TextDrawCreate(560.399000, 7.874948, "The Murderer");
  112. TextDrawLetterSize(Textdraw[0], 0.309999, 1.454168);
  113. TextDrawTextSize(Textdraw[0], 639.375000, 17.499996);
  114. TextDrawAlignment(Textdraw[0], 1);
  115. TextDrawColor(Textdraw[0], -1);
  116. TextDrawSetShadow(Textdraw[0], 0);
  117. TextDrawSetOutline(Textdraw[0], 1);
  118. TextDrawBackgroundColor(Textdraw[0], 51);
  119. TextDrawFont(Textdraw[0], 1);
  120. TextDrawSetProportional(Textdraw[0], 1);
  121.  
  122. Textdraw[1] = TextDrawCreate(10.625000, 428.749969, "Murderer:");
  123. TextDrawLetterSize(Textdraw[1], 0.343749, 1.570833);
  124. TextDrawAlignment(Textdraw[1], 1);
  125. TextDrawColor(Textdraw[1], -1);
  126. TextDrawSetShadow(Textdraw[1], 0);
  127. TextDrawSetOutline(Textdraw[1], 1);
  128. TextDrawBackgroundColor(Textdraw[1], 51);
  129. TextDrawFont(Textdraw[1], 1);
  130. TextDrawSetProportional(Textdraw[1], 1);
  131.  
  132. Textdraw[2] = TextDrawCreate(71.875000, 429.333465, "-");
  133. TextDrawLetterSize(Textdraw[2], 0.381249, 1.512499);
  134. TextDrawAlignment(Textdraw[2], 1);
  135. TextDrawColor(Textdraw[2], 16711935);
  136. TextDrawSetShadow(Textdraw[2], 0);
  137. TextDrawSetOutline(Textdraw[2], 1);
  138. TextDrawBackgroundColor(Textdraw[2], 51);
  139. TextDrawFont(Textdraw[2], 1);
  140. TextDrawSetProportional(Textdraw[2], 1);
  141.  
  142. Textdraw[3] = TextDrawCreate(120.625000, 428.750030, "Deagle:");
  143. TextDrawLetterSize(Textdraw[3], 0.343749, 1.541666);
  144. TextDrawAlignment(Textdraw[3], 1);
  145. TextDrawColor(Textdraw[3], -1);
  146. TextDrawSetShadow(Textdraw[3], 0);
  147. TextDrawSetOutline(Textdraw[3], 1);
  148. TextDrawBackgroundColor(Textdraw[3], 51);
  149. TextDrawFont(Textdraw[3], 1);
  150. TextDrawSetProportional(Textdraw[3], 1);
  151.  
  152. Textdraw[4] = TextDrawCreate(170.000000, 431.083343, "-");
  153. TextDrawLetterSize(Textdraw[4], 0.399998, 1.395833);
  154. TextDrawAlignment(Textdraw[4], 1);
  155. TextDrawColor(Textdraw[4], 16711935);
  156. TextDrawSetShadow(Textdraw[4], 0);
  157. TextDrawSetOutline(Textdraw[4], 1);
  158. TextDrawBackgroundColor(Textdraw[4], 51);
  159. TextDrawFont(Textdraw[4], 1);
  160. TextDrawSetProportional(Textdraw[4], 1);
  161.  
  162. Textdraw[5] = TextDrawCreate(476.250000, 428.166625, "POINTS:");
  163. TextDrawLetterSize(Textdraw[5], 0.449999, 1.600000);
  164. TextDrawAlignment(Textdraw[5], 1);
  165. TextDrawColor(Textdraw[5], -1);
  166. TextDrawSetShadow(Textdraw[5], 0);
  167. TextDrawSetOutline(Textdraw[5], 1);
  168. TextDrawBackgroundColor(Textdraw[5], 51);
  169. TextDrawFont(Textdraw[5], 3);
  170. TextDrawSetProportional(Textdraw[5], 1);
  171.  
  172. TextDrawShowForAll(Textdraw[0]);
  173. TextDrawShowForAll(Textdraw[1]);
  174. TextDrawShowForAll(Textdraw[2]);
  175. TextDrawShowForAll(Textdraw[3]);
  176. TextDrawShowForAll(Textdraw[4]);
  177. TextDrawShowForAll(Textdraw[5]);
  178. /////////
  179.  
  180. ShowNameTags(0);
  181. ShowPlayerMarkers(0);
  182. SetGameModeText("The Murderer");
  183. AddPlayerClass(160, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  184. return 1;
  185. }
  186.  
  187. public OnGameModeExit() return 1;
  188.  
  189. public OnPlayerRequestClass(playerid, classid)
  190. {
  191. SetPlayerPos(playerid, 1281.0375,-829+20,1090.5938);
  192. SetPlayerCameraPos(playerid, 1281.0375,-829.7905,1090.5938);
  193. SetPlayerCameraLookAt(playerid, 1269.5922,-835.7245,1085.6328);
  194. SetPlayerInterior(playerid,5);
  195. return 1;
  196. }
  197.  
  198. public OnPlayerConnect(playerid)
  199. {
  200. SetPlayerTime(playerid, 0, 0);
  201. points[playerid] = 0;
  202.  
  203. new name[MAX_PLAYER_NAME], string[24+MAX_PLAYER_NAME];
  204. GetPlayerName(playerid, name, sizeof(name));
  205. format(string, sizeof(string), "%s has joined the server.", name);
  206. SendClientMessageToAll(COLOR_GREY, string);
  207.  
  208. //////
  209. playerPoints[playerid] = CreatePlayerTextDraw(playerid, 541.875000, 429.916778, "0");
  210. PlayerTextDrawLetterSize(playerid, playerPoints[playerid], 0.449999, 1.600000);
  211. PlayerTextDrawAlignment(playerid, playerPoints[playerid], 2);
  212. PlayerTextDrawColor(playerid, playerPoints[playerid], -5963521);
  213. PlayerTextDrawSetShadow(playerid, playerPoints[playerid], 0);
  214. PlayerTextDrawSetOutline(playerid, playerPoints[playerid], 1);
  215. PlayerTextDrawBackgroundColor(playerid, playerPoints[playerid], 51);
  216. PlayerTextDrawFont(playerid, playerPoints[playerid], 1);
  217. PlayerTextDrawSetProportional(playerid, playerPoints[playerid], 1);
  218. PlayerTextDrawShow(playerid, playerPoints[playerid]);
  219. //////
  220.  
  221. return 1;
  222. }
  223.  
  224. public OnPlayerDisconnect(playerid, reason)
  225. {
  226. new name[MAX_PLAYER_NAME], string[24+MAX_PLAYER_NAME];
  227. GetPlayerName(playerid, name, sizeof(name));
  228. format(string, sizeof(string), "%s has left.", name);
  229. SendClientMessageToAll(COLOR_GREY, string);
  230.  
  231. if(gPlayerTeam[playerid] == 0) // If Murderer disconnect
  232. {
  233. TextDrawSetString(Textdraw[2], "-");
  234. }
  235. if(gPlayerTeam[playerid] == 1) // If Deagle disconnect
  236. {
  237. TextDrawSetString(Textdraw[4], "-");
  238. }
  239. return 1;
  240. }
  241.  
  242. public OnPlayerSpawn(playerid)
  243. {
  244. new Random = random(sizeof(RandomSpawns));
  245. SetPlayerInterior(playerid, 5);
  246. SetPlayerPos(playerid, RandomSpawns[Random][0], RandomSpawns[Random][1], RandomSpawns[Random][2]);
  247.  
  248. new RandomTeam = random(3);
  249. gPlayerTeam[playerid] = RandomTeams[RandomTeam][0];
  250. if(gPlayerTeam[playerid] == 0)
  251. {
  252. TextDrawSetString(Textdraw[2], "Alive");
  253. SendClientMessage(playerid, COLOR_RED, "You're the murderer, be quiet and kill the other players! Try to not be spotted by the Deagle");
  254. GivePlayerWeapon(playerid, 4, 1);
  255. }
  256. if(gPlayerTeam[playerid] == 1)
  257. {
  258. TextDrawSetString(Textdraw[4], "Alive");
  259. SendClientMessage(playerid, COLOR_YELLOW, "You're the Deagle, find the murderer and kill him!");
  260. GivePlayerWeapon(playerid, 24, 200);
  261. }
  262. if(gPlayerTeam[playerid] == 2)
  263. {
  264. SendClientMessage(playerid, -1, "You're the civilian, get away from the murderer.");
  265. }
  266.  
  267. return 1;
  268. }
  269.  
  270. public OnPlayerDeath(playerid, killerid, reason)
  271. {
  272. if(gPlayerTeam[killerid] == 0) // If Murdered someone
  273. {
  274. SendClientMessage(killerid, COLOR_RED, "+1 point");
  275. points[killerid]+=1;
  276. new getpoints[16];
  277. format(getpoints,sizeof(getpoints),"%d",points[killerid]);
  278. PlayerTextDrawSetString(killerid, playerPoints[killerid], getpoints);
  279. }
  280. else if(gPlayerTeam[killerid] == 0 && gPlayerTeam[playerid] == 1) // If Murderer killed Deagle
  281. {
  282. SendClientMessage(killerid, COLOR_RED, "+2 points, for killing the Deagle!");
  283. points[killerid]+=2;
  284. new getpoints[16];
  285. format(getpoints, sizeof(getpoints), "%d", points[killerid]);
  286. PlayerTextDrawSetString(killerid, playerPoints[killerid], getpoints);
  287. TextDrawSetString(Textdraw[4], "-");
  288. }
  289.  
  290. if(gPlayerTeam[playerid] == 0) // If Murderer died
  291. {
  292. TextDrawSetString(Textdraw[2], "-");
  293. }
  294. else if(gPlayerTeam[playerid] == 1) // If Deagle died
  295. {
  296. SendClientMessage(playerid, -1, "You're not a Deagle anymore");
  297. TextDrawSetString(Textdraw[4], "-");
  298. }
  299. else if(gPlayerTeam[playerid] == 0 && gPlayerTeam[killerid] == 1) // If Deagle kill Murderer
  300. {
  301. SendClientMessage(playerid, -1, "You killed the murderer! +2 points");
  302. points[playerid]+=2;
  303. new getpoints[16];
  304. format(getpoints, sizeof(getpoints), "%d", points[playerid]);
  305. PlayerTextDrawSetString(playerid, playerPoints[playerid], getpoints);
  306. TextDrawSetString(Textdraw[2], "-");
  307. if(points[playerid] >=8)
  308. {
  309. SendClientMessage(playerid, -1, "You can now create a clone by pressing N");
  310. }
  311. }
  312. return 1;
  313. }
  314.  
  315. public OnPlayerRequestSpawn(playerid) return Spawnplayer(playerid);
  316.  
  317. public OnPlayerGiveDamageActor(playerid, damaged_actorid, Float: amount, weaponid, bodypart)
  318. {
  319. /*if(gPlayerTeam[playerid] == 0)
  320. {
  321. SendClientMessage(playerid, COLOR_RED, "It is a clone...");
  322. SetActorHealth(damaged_actorid, 0);
  323. }
  324. else
  325. {
  326. SendClientMessage(playerid, COLOR_YELLOW, "It's a clone, let it alone!");
  327. SetActorHealth(damaged_actorid, 100);
  328. }*/
  329. return 1;
  330. }
  331. public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
  332. {
  333. if(gPlayerTeam[playerid] == 1 && gPlayerTeam[hitid] == 2)
  334. {
  335. SendClientMessage(playerid, COLOR_ORANGE, "Oops! You didn't shoot the murderer, you died!");
  336. SetPlayerHealth(playerid, 0);
  337. SetPlayerHealth(hitid, 100);
  338. }
  339. return 1;
  340. }
  341.  
  342. public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart) return 1;
  343.  
  344. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  345. {
  346. if(PRESSED(KEY_NO))
  347. {
  348. if(gPlayerTeam[playerid] == 1)
  349. {
  350. if(points[playerid] >= 8)
  351. {
  352. SendClientMessage(playerid, COLOR_RED, "You've just created a clone!");
  353.  
  354. new Float:x, Float:y, Float:z, Float:angle;
  355. GetPlayerPos(playerid, x, y, z);
  356. GetPlayerFacingAngle(playerid, angle);
  357.  
  358. id = playerid;
  359. Actor[id] = CreateActor(GetPlayerSkin(playerid), x, y+2, z, angle);
  360. points[playerid] = points[playerid]-8;
  361.  
  362. new getpoints[16];
  363. format(getpoints, sizeof(getpoints), "%d", points[playerid]);
  364. PlayerTextDrawSetString(playerid, playerPoints[playerid], getpoints);
  365. }
  366. }
  367. }
  368. return 1;
  369. }
  370.  
  371. public OnPlayerUpdate(playerid) return 1;
Add Comment
Please, Sign In to add comment