Share Pastebin
Guest
Public paste!

Crusher - CTDM

By: a guest | Aug 8th, 2009 | Syntax: None | Size: 16.46 KB | Hits: 84 | Expires: Never
Copy text to clipboard
  1. /*
  2.                         Crushers TDM.
  3.                        
  4.         This is an TDM (Team deathmatch) GameMode.
  5.         Made by Crusher.
  6.         Version 1.0.
  7.         First release
  8. */
  9. #include <a_samp>
  10. #define RoundTime 300000
  11. #define MAX_TEAM_KILLS 3
  12. #define COLOR_BASIC 0x0066FFAA
  13. new
  14.         string[256],
  15.         Team_1_Life_Players = 0,
  16.         Team_2_Life_Players = 0,
  17.         Team_1_Score = 0,
  18.         Team_2_Score = 0,
  19.         RoundTimer,
  20.         EndRoundTimer,
  21.         RifleRound = 0,
  22.         GameStarted = 0,
  23.         ALife[MAX_PLAYERS],
  24.         TeamKill[MAX_PLAYERS],
  25.         Text:Time,
  26.         GameEnds = 0,
  27.         GameStarts = 0,
  28.         Text:textdraw,
  29.         Time_0,
  30.         Time_1,
  31.         Time_2,
  32.         Time_3,
  33.         Time_4,
  34.         Time_5;
  35. forward         EndGame();
  36. forward         NewGame();
  37. forward         Time0();
  38. forward         Time1();
  39. forward         Time2();
  40. forward         Time3();
  41. forward         Time4();
  42. forward         Time5();
  43. // '[:. Randoms .:]'
  44. new
  45.         Float:Team_1_Random[][6] =
  46.         {
  47.                 // Positions, (X, Y, Z and Facing Angle)
  48.                 {1764.796,-1924.766,13.228,58.0},
  49.                 {1797.719,-1894.259,13.063,58.0},
  50.                 {1716.036,-1932.410,13.229,58.0},
  51.                 {1708.088,-1883.313,13.229,181.0},
  52.                 {1694.660,-1892.206,13.229,181.0}
  53.         },
  54.         Float:Team_2_Random[][5] =
  55.         {
  56.                 // Positions, (X, Y, Z and Facing Angle)
  57.         {1802.684,-2072.868,13.225,0.0},
  58.         {1786.163,-2072.864,13.225,0.0},
  59.                 {1751.390,-2060.402,13.225,0.0},
  60.         {1690.142,-2072.064,13.254,0.0}
  61.         };
  62.        
  63. main() return 1;
  64. public OnGameModeInit()
  65. {
  66.     // '[:. Some things .:]'
  67.         SetGameModeText("Crushers TDM");
  68.     UsePlayerPedAnims();
  69.         DisableInteriorEnterExits();
  70.         SetNameTagDrawDistance(0.1);
  71.        
  72.         // '[:. Classes .:]'
  73.         AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); // class id 0
  74.         AddPlayerClassEx(1, 1, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); // team1 swat
  75.         AddPlayerClassEx(2, 95, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); // team1 army
  76.  
  77.         // '[:. Textdraws .:]'
  78.     Time = TextDrawCreate(489.000000,120.000000,"~r~0 ~w~Minutes left");
  79.         TextDrawAlignment(Time,0);
  80.         TextDrawBackgroundColor(Time,0x000000ff);
  81.         TextDrawFont(Time,1);
  82.         TextDrawLetterSize(Time,0.399999,1.700000);
  83.         TextDrawColor(Time,0xffffffff);
  84.         TextDrawSetOutline(Time,1);
  85.         TextDrawSetProportional(Time,1);
  86.         TextDrawSetShadow(Time,1);
  87.        
  88.         textdraw = TextDrawCreate(1.000000,7.000000,"~b~             Scores:         Team 1: 0, Team 2: 0");
  89.     TextDrawAlignment(textdraw,0);
  90.         TextDrawFont(textdraw,2);
  91.         TextDrawLetterSize(textdraw,0.500000,1.200000);
  92.         TextDrawColor(textdraw,COLOR_BASIC);
  93.         TextDrawSetProportional(textdraw,1);
  94.         TextDrawUseBox(textdraw,1);
  95.         TextDrawSetShadow(textdraw,0);
  96.         // '[:. Objects .:]'
  97.         CreateObject(1655,1689.772,-2010.895,14.148,0.0,0.0,0.0); // object
  98.         CreateObject(1655,1689.865,-2004.226,14.125,0.0,0.0,-179.622); // object (1)
  99.         CreateObject(16302,1752.060,-1994.067,11.609,0.0,0.0,0.0); // object (3)
  100.         CreateObject(16305,1712.518,-1991.709,15.937,0.0,0.0,0.0); // object (4)
  101.         CreateObject(972,1687.852,-1881.955,12.529,0.0,0.0,-71.333); // object (5)
  102.         CreateObject(972,1709.373,-1874.069,12.564,0.0,0.0,-90.241); // object (6)
  103.         CreateObject(972,1725.864,-1876.929,12.556,0.0,0.0,-110.008); // object (7)
  104.         CreateObject(972,1813.720,-1885.249,11.111,0.0,0.0,182.578); // object (8)
  105.         CreateObject(972,1798.743,-1962.463,11.922,0.0,0.0,126.328); // object (9)
  106.         CreateObject(972,1808.385,-1952.639,11.919,0.0,0.0,144.377); // object (10)
  107.         CreateObject(972,1678.703,-1964.248,10.544,0.0,0.0,0.095); // object (11)
  108.         CreateObject(972,1676.370,-2067.167,11.547,0.0,0.0,0.0); // object (12)
  109.         CreateObject(972,1816.439,-2063.288,8.976,0.0,0.0,180.000); // object (13)
  110.         CreateObject(969,1813.321,-2057.982,16.226,0.0,0.0,90.000); // object (15)
  111.         CreateObject(969,1813.279,-2066.775,16.229,0.0,0.0,90.000); // object (16)
  112.         CreateObject(3279,1796.848,-2039.000,12.330,0.0,0.0,22.500); // object (17)
  113.         CreateObject(3279,1796.031,-1931.949,12.087,0.0,0.0,22.500); // object (18)
  114.         NewGame();
  115.         return 1;
  116. }
  117.  
  118. public OnGameModeExit()
  119. {
  120.         return 1;
  121. }
  122.  
  123. public EndGame()
  124. {
  125.         GameEnds += 1;
  126.         printf("Game ended!, total games ended: %d",GameEnds);
  127.     TextDrawSetString(Time,"~w~Waiting for~n~ new game");
  128.     for(new E=0; E<MAX_PLAYERS; E++)
  129.         {
  130.             TextDrawSetString(textdraw,"~b~             Waiting for new game!");
  131.                 TextDrawShowForPlayer(E,textdraw);
  132.                 TextDrawSetString(Time,"~w~Waiting for~n~ new game~n~~n~~n~~n~~n~~n~~n~To win kill~n~They all!!!");
  133.                 TogglePlayerControllable(E, 0);
  134.                 TextDrawShowForPlayer(E, Time);
  135.                 SetPlayerCameraPos(E,1678.4041,-2012.7576,21.9542);
  136.                 SetPlayerCameraLookAt(E,1759.4498,-1957.8380,13.5469);
  137.         }
  138.         GameStarted = 0;
  139.         KillTimer(RoundTimer);
  140.         KillTimer(Time_5);
  141.         KillTimer(Time_4);
  142.         KillTimer(Time_3);
  143.         KillTimer(Time_2);
  144.         KillTimer(Time_1);
  145.         KillTimer(Time_0);
  146.     if (Team_1_Life_Players < Team_2_Life_Players)
  147.     {
  148.         GameTextForAll("~y~]~w~Team ~r~2 ~b~win~y~]",40000,5);
  149.     }
  150.     if (Team_2_Life_Players < Team_1_Life_Players)
  151.     {
  152.         GameTextForAll("~y~]~w~Team ~r~1 ~b~win~y~]",40000,5);
  153.     }
  154.     if (Team_1_Life_Players == Team_2_Life_Players)
  155.     {
  156.         GameTextForAll("~y~]~w~Draw~y~]~n~~n~~n~~w~The round is draw.",10000,5);
  157.     }
  158.     RifleRound = 0;
  159.         EndRoundTimer = SetTimer("NewGame",40000,0);
  160.         return 1;
  161. }
  162.  
  163. public NewGame()
  164. {
  165.     Team_1_Life_Players = 0;
  166.     Team_2_Life_Players = 0;
  167.         KillTimer(EndRoundTimer);
  168.     GameStarts += 1;
  169.         printf("Game started!, total games started: %d",GameStarts);
  170.  
  171.         for(new i=0; i<MAX_PLAYERS; i++)
  172.         {
  173.                 TextDrawSetString(textdraw,"~b~             Scores:         Team 1: 0, Team 2: 0");
  174.                 TextDrawShowForPlayer(i,textdraw);
  175.                 SetCameraBehindPlayer(i);
  176.                 ResetPlayerWeapons(i);
  177.                 TextDrawSetString(Time,"~w~Waiting for ~n~new game...");
  178.                 TextDrawShowForPlayer(i, Time);
  179.             TogglePlayerControllable(i, 1);
  180.             TogglePlayerSpectating(i, 0);
  181.             ALife[i] = 1;
  182.                 if (RifleRound == 1)
  183.                 {
  184.                         SetPlayerHealth(i, 15); // health 15%
  185.                         GivePlayerWeapon(i, 33, 50);// rifle ammo 50
  186.                 }
  187.                 else
  188.                 {
  189.             SetPlayerHealth(i, 40); // health 40%
  190.             GivePlayerWeapon(i, 28, 100);
  191.                         GivePlayerWeapon(i, 31, 500);
  192.                         GivePlayerWeapon(i, 16, 1);
  193.                 }
  194.                
  195.                 if (GetPlayerTeam(i) == 1)
  196.                 {
  197.                         new iRandom = random(sizeof(Team_1_Random));
  198.                         SetPlayerPos(i,Team_1_Random[iRandom][0],Team_1_Random[iRandom][1],Team_1_Random[iRandom][2]);
  199.                         SetPlayerFacingAngle(i, Team_1_Random[iRandom][3]);
  200.  
  201.                         Team_1_Life_Players += 1;
  202.                         GameTextForPlayer(i,"~w~Kill the ~r~Army ~w~guys",3000,5);
  203.                 }
  204.                 if (GetPlayerTeam(i) == 2)
  205.                 {
  206.                 new aRandom = random(sizeof(Team_2_Random));
  207.                         SetPlayerPos(i,Team_2_Random[aRandom][0],Team_2_Random[aRandom][1],Team_2_Random[aRandom][2]);
  208.                         SetPlayerFacingAngle(i, Team_2_Random[aRandom][3]);
  209.  
  210.                         Team_2_Life_Players += 1;
  211.                         GameTextForPlayer(i,"~w~Kill the ~r~S.W.A.T ~w~guys",3000,5);
  212.                 }
  213.         }
  214.         GameStarted = 1;
  215.         RoundTimer = SetTimer("EndGame",RoundTime,0);
  216.         Time_5 = SetTimer("Time5",60,0);
  217.         Time_4 = SetTimer("Time4",60000,0);
  218.         Time_3 = SetTimer("Time3",120000,0);
  219.         Time_2 = SetTimer("Time2",180000,0);
  220.         Time_1 = SetTimer("Time1",240000,0);
  221.         Time_0 = SetTimer("Time0",290000,0);
  222.         return 1;
  223. }
  224.  
  225. public Time5() { TextDrawSetString(Time,"~r~5 ~w~Minutes left"), TextDrawShowForAll(Time); return 1; }
  226. public Time4() { TextDrawSetString(Time,"~r~4 ~w~Minutes left"), TextDrawShowForAll(Time); return 1; }
  227. public Time3() { TextDrawSetString(Time,"~r~3 ~w~Minutes left"), TextDrawShowForAll(Time); return 1; }
  228. public Time2() { TextDrawSetString(Time,"~r~2 ~w~Minutes left"), TextDrawShowForAll(Time); return 1; }
  229. public Time1() { TextDrawSetString(Time,"~r~1 ~w~Minutes left"), TextDrawShowForAll(Time); return 1; }
  230. public Time0() { TextDrawSetString(Time,"~r~0 ~w~Minutes left"), TextDrawShowForAll(Time); return 1; }
  231.  
  232. public OnPlayerRequestClass(playerid, classid)
  233. {
  234.         SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  235.         SetPlayerCameraPos(playerid, 1959.3783, 135.1572, 15.3746);
  236.         SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  237.         if (classid == 0)
  238.         {
  239.                 GameTextForPlayer(playerid,"~w~Choise an team~n~~b~~<~~>~",3000,5);
  240.         }
  241.         if (classid == 1)
  242.         {
  243.                 GameTextForPlayer(playerid,"~w~Team~n~~b~1",3000,5);
  244.         }
  245.         if (classid == 2)
  246.         {
  247.                 GameTextForPlayer(playerid,"~w~Team~n~~b~2",3000,5);
  248.         }
  249.         return 1;
  250. }
  251.  
  252. public OnPlayerRequestSpawn(playerid)
  253. {
  254.         if (GetPlayerSkin(playerid) == 0)
  255.         {
  256.                 ForceClassSelection(playerid);
  257.                 SetPlayerHealth(playerid,0);
  258.             return 1;
  259.         }
  260.     TogglePlayerSpectating(playerid, 1);
  261.         for(new C=0; C<MAX_PLAYERS; C++)
  262.         {
  263.         if (GameStarted == 1)
  264.                 {
  265.                         if (Team_1_Life_Players == 0 || Team_2_Life_Players == 0)
  266.                         {
  267.                                 EndGame();
  268.                         }
  269.                         else if (IsPlayerConnected(C))
  270.                         {
  271.                             if (ALife[C] == 1)
  272.                                 {
  273.                                 PlayerSpectatePlayer(playerid, C);
  274.                                 }
  275.                         }
  276.                 }
  277.         }
  278.         return 1;
  279. }
  280.  
  281. public OnPlayerConnect(playerid)
  282. {
  283.         GameTextForPlayer(playerid,"~w~Crushers ~r~TDM~n~~b~Have Fun",5000,5);
  284.     ALife[playerid] = 0;
  285.         new Name[MAX_PLAYER_NAME];
  286.         GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  287.         for(new i=0; i<MAX_PLAYERS; i++)
  288.         {
  289.                 if (IsPlayerConnected(i))
  290.                 {
  291.                         new Connects[256];
  292.                         format(Connects, sizeof(Connects), ".:. %s (ID:%d) has joined the server .:.", Name, playerid);
  293.                         SendClientMessageToAll(COLOR_BASIC,Connects);
  294.                 }
  295.         }
  296.         SendClientMessage(playerid,COLOR_BASIC,"============");
  297.         SendClientMessage(playerid,COLOR_BASIC,"This server uses Crushers Team DeathMatch script.");
  298.         SendClientMessage(playerid,COLOR_BASIC,"Cmds: /Help, /Info, /rAdmins, /Kill");
  299.         SendClientMessage(playerid,COLOR_BASIC,"============");
  300.         return 1;
  301. }
  302.  
  303. public OnPlayerDisconnect(playerid, reason)
  304. {
  305.         if (GetPlayerTeam(playerid) == 1)
  306.         {
  307.             Team_1_Life_Players -= 1;
  308.         }
  309.         if (GetPlayerTeam(playerid) == 2)
  310.         {
  311.                 Team_2_Life_Players -= 1;
  312.         }
  313.         new Name[MAX_PLAYER_NAME];
  314.         GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  315.         for(new i=0; i<MAX_PLAYERS; i++)
  316.         {
  317.                 if (IsPlayerConnected(i))
  318.                 {
  319.                         new Disconnects[256];
  320.                         format(Disconnects, sizeof(Disconnects), ".:. %s (ID:%d) has leaved the server .:.", Name, playerid);
  321.                         SendClientMessageToAll(COLOR_BASIC,Disconnects);
  322.                 }
  323.         }
  324.         return 1;
  325. }
  326.  
  327. public OnPlayerDeath(playerid, killerid, reason)
  328. {
  329.         if (GetPlayerTeam(killerid) == GetPlayerTeam(playerid))
  330.         {
  331.                 SetPlayerScore(killerid, GetPlayerScore(killerid)-10);
  332.                 if (GetPlayerTeam(killerid) == 1)
  333.                 {
  334.                         Team_1_Score -= 10;
  335.                 }
  336.                 if (GetPlayerTeam(killerid) == 2)
  337.                 {
  338.                     Team_2_Score -= 10;
  339.                 }
  340.                 TeamKill[killerid] += 1;
  341.                 if (TeamKill[killerid] == MAX_TEAM_KILLS)
  342.                 {
  343.                     new Name[MAX_PLAYER_NAME];
  344.                         GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  345.                         new Reason[256] = "Teamkilling";
  346.                         for(new i=0; i<MAX_PLAYERS; i++)
  347.                         {
  348.                                 if (IsPlayerConnected(i))
  349.                                 {
  350.                                         new Connects[256];
  351.                                         format(Connects, sizeof(Connects), ".:. %s (ID:%d) has kicked from the server. the server, reason: %s .:.", Name, playerid, Reason);
  352.                                         SendClientMessageToAll(COLOR_BASIC,Connects);
  353.                                 }
  354.                         }
  355.                         SendClientMessage(killerid,COLOR_BASIC,"You are kicked from the server!");
  356.                         SendClientMessage(killerid,COLOR_BASIC,"Because you have killed team mates!");
  357.                         TogglePlayerControllable(killerid, 0);
  358.                         Kick(killerid);
  359.                         return 1;
  360.                 }
  361.         }
  362.         if (GetPlayerTeam(killerid) != GetPlayerTeam(playerid))
  363.         {
  364.                 SetPlayerScore(killerid, GetPlayerScore(killerid)+5);
  365.                 if (GetPlayerTeam(killerid) == 1)
  366.                 {
  367.                         Team_1_Score += 5;
  368.                 }
  369.                 if (GetPlayerTeam(killerid) == 2)
  370.                 {
  371.                     Team_2_Score += 5;
  372.                 }
  373.         }
  374.         if (GetPlayerTeam(playerid) == 1)
  375.         {
  376.             Team_1_Life_Players -= 1;
  377.         }
  378.         if (GetPlayerTeam(playerid) == 2)
  379.         {
  380.                 Team_2_Life_Players -= 1;
  381.         }
  382.         if (Team_1_Life_Players == 0)return EndGame();
  383.         if (Team_2_Life_Players == 0)return EndGame();
  384.         TogglePlayerSpectating(playerid, 1);
  385.     PlayerSpectatePlayer(playerid, killerid);
  386.     ALife[playerid] = 0;
  387.     new SCOREs[256];
  388.     format(SCOREs, sizeof(SCOREs), "~b~             Scores:         Team 1: %d, Team 2: %d", Team_1_Score, Team_2_Score);
  389.     TextDrawSetString(textdraw,SCOREs);
  390.     TextDrawShowForAll(textdraw);
  391.         return 1;
  392. }
  393.  
  394. public OnVehicleSpawn(vehicleid)
  395. {
  396.         return 1;
  397. }
  398.  
  399. public OnVehicleDeath(vehicleid, killerid)
  400. {
  401.         return 1;
  402. }
  403.  
  404. public OnPlayerText(playerid, text[])
  405. {
  406.         return 1;
  407. }
  408.  
  409. public OnPlayerPrivmsg(playerid, recieverid, text[])
  410. {
  411.         for(new MSG=0; MSG<MAX_PLAYERS; MSG++)
  412.         {
  413.             if (IsPlayerConnected(MSG))
  414.             {
  415.                         if (IsPlayerAdmin(MSG))
  416.                         {
  417.                             new MSGs[256];
  418.                             format(MSGs, sizeof(MSGs),"Player:%d PM Player: %d, Text: %s",playerid,recieverid,text);
  419.                             SendClientMessage(MSG,COLOR_BASIC,MSGs);
  420.                         }
  421.                 }
  422.         }
  423.         return 1;
  424. }
  425.  
  426. public OnPlayerCommandText(playerid, cmdtext[])
  427. {
  428.         if (strcmp("/kill", cmdtext, true, 10) == 0)
  429.         {
  430.                 SetPlayerHealth(playerid, 0);
  431.                 SAT(playerid,"Kill");
  432.                 SendClientMessage(playerid,COLOR_BASIC,"You are now DEAD!, lolz");
  433.                 return 1;
  434.         }
  435.        
  436.         if(strcmp(cmdtext,"/radmins",true) == 0)
  437.     {
  438.         //rcon admins
  439.         SendClientMessage(playerid, COLOR_BASIC, "Online Rcon Admins:");
  440.         new RconAdmins = 0;
  441.  
  442.         for(new r = 0; r < MAX_PLAYERS; r++)
  443.         {
  444.             if(IsPlayerConnected(r) == 1)
  445.             {
  446.                 if(IsPlayerAdmin(r))
  447.                 {
  448.                     RconAdmins++;
  449.                     new Rconpname[MAX_PLAYER_NAME];
  450.                     GetPlayerName(r, Rconpname, sizeof(Rconpname));
  451.                     format(string, sizeof(string), "%d) Name: %s, ID: %d", RconAdmins, Rconpname, r,(r));
  452.                     SendClientMessage(playerid, COLOR_BASIC, string);
  453.                 }
  454.             }
  455.         }
  456.  
  457.         if(RconAdmins == 0)
  458.         {
  459.                         SendClientMessage(playerid,COLOR_BASIC, "There are no rcon admins currently online");
  460.         }
  461.         return 1;
  462.     }
  463.        
  464.         if (strcmp("/help", cmdtext, true, 10) == 0)
  465.         {
  466.                 SendClientMessage(playerid,COLOR_BASIC,"============");
  467.                 SendClientMessage(playerid,COLOR_BASIC,"CTDM - Help.");
  468.                 SendClientMessage(playerid,COLOR_BASIC,"Cmds: /Help, /Kill, /rAdmins, /Info.");
  469.                 SendClientMessage(playerid,COLOR_BASIC,"============");
  470.                 SAT(playerid,"Help");
  471.                 return 1;
  472.         }
  473.  
  474.         if (strcmp("/info", cmdtext, true, 10) == 0)
  475.         {
  476.                 SendClientMessage(playerid,COLOR_BASIC,"============");
  477.                 SendClientMessage(playerid,COLOR_BASIC,"CTDM - Info.");
  478.                 SendClientMessage(playerid,COLOR_BASIC,"What must i do:");
  479.                 SendClientMessage(playerid,COLOR_BASIC,"You must be kill the enemy team to WIN!");
  480.                 SendClientMessage(playerid,COLOR_BASIC,"Dont kill team mates or you get an KICK!");
  481.                 SendClientMessage(playerid,COLOR_BASIC,"Credits:");
  482.                 SendClientMessage(playerid,COLOR_BASIC,"Maker: Crusher!!");
  483.                 SendClientMessage(playerid,COLOR_BASIC,"Testing: Crusher!!, Remi-X");
  484.                 SendClientMessage(playerid,COLOR_BASIC,"============");
  485.                 SAT(playerid,"Help");
  486.                 return 1;
  487.         }
  488.  
  489.         if (strcmp("/Rifle", cmdtext, true, 10) == 0)
  490.         {
  491.                 if (!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_BASIC,"You are not an admin");
  492.                 if (GameStarted == 1) return SendClientMessage(playerid,COLOR_BASIC,"You must be at the game end to use this cmd.");
  493.                 RifleRound = 1;
  494.                 SAT(playerid,"Rifle");
  495.                 SendClientMessageToAll(COLOR_BASIC,"Next round wil be an Rifle Round");
  496.                 return 1;
  497.         }
  498.  
  499.         if (strcmp("/nextgame", cmdtext, true, 10) == 0)
  500.         {
  501.                 if (!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_BASIC,"You are not an admin");
  502.                 NewGame();
  503.                 SAT(playerid,"newgame");
  504.                 SendClientMessage(playerid,COLOR_BASIC,"Newgame started!");
  505.                 return 1;
  506.         }
  507.  
  508.         return FailCmd(playerid);
  509. }
  510. stock SAT(playerid,text[]) //SendAdminText SAT
  511. {
  512.         for(new MSG=0; MSG<MAX_PLAYERS; MSG++)
  513.         {
  514.             if (IsPlayerConnected(MSG))
  515.             {
  516.                         if (IsPlayerAdmin(MSG))
  517.                         {
  518.                             new MSGs[256];
  519.                             format(MSGs, sizeof(MSGs),"Player:%d has used /%s",playerid,text);
  520.                             SendClientMessage(MSG,COLOR_BASIC,MSGs);
  521.                         }
  522.                 }
  523.         }
  524.         return 1;
  525. }
  526. stock FailCmd(playerid)
  527. {
  528.         SendClientMessage(playerid,COLOR_BASIC,"UNKNOWN COMMAND USE /HELP");
  529.         for(new MSG=0; MSG<MAX_PLAYERS; MSG++)
  530.         {
  531.             if (IsPlayerConnected(MSG))
  532.             {
  533.                         if (IsPlayerAdmin(MSG))
  534.                         {
  535.                             new MSGs[256];
  536.                             format(MSGs, sizeof(MSGs),"Player:%d Typed an wrong command",playerid);
  537.                             SendClientMessage(MSG,COLOR_BASIC,MSGs);
  538.                         }
  539.                 }
  540.         }
  541.         return 1;
  542. }
  543.  
  544. public OnPlayerStateChange(playerid, newstate, oldstate)
  545. {
  546.         if (newstate == PLAYER_STATE_DRIVER)
  547.         {
  548.                 GameTextForPlayer(playerid,"~W~you must shoot~N~~R~not drive~n~~w~!!!!!!!!!!!!",5000,5);
  549.                 RemovePlayerFromVehicle(playerid);
  550.                 for(new MSG=0; MSG<MAX_PLAYERS; MSG++)
  551.                 {
  552.                     if (IsPlayerConnected(MSG))
  553.                     {
  554.                                 if (IsPlayerAdmin(MSG))
  555.                                 {
  556.                                     new MSGs[256];
  557.                                     format(MSGs, sizeof(MSGs),"Player:%d is kicked from an vehicle",playerid);
  558.                                     SendClientMessage(MSG,COLOR_BASIC,MSGs);
  559.                                 }
  560.                         }
  561.                 }
  562.         }
  563.         return 1;
  564. }