Advertisement
FanHamMer

Untitled

Sep 17th, 2015
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 11.44 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;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement