SpiralRock

Rockers vs jasons

Jan 30th, 2011
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 22.17 KB | None | 0 0
  1. #include <a_vcmp>
  2. #include <core>
  3. #include <float>
  4. //------------------------------------------------------------------------------------------------------
  5. static szGameModeName[128] = "GS v1.0"; //GypsyScript v1.0
  6. static szGameModeAuthorName[128] = "[EAF]SpiralRock";
  7. //------------------------------------------------------------------------------------------------------
  8. #define COLOR_PINK 0x04A36BFF //0xFF66FFAA
  9. #define INACTIVE_PLAYER_ID 255
  10. #define MAX_WEAPONS 61
  11. #define PI  3.1415926535897932384626433832795
  12. #define LOBBY 0
  13. #define STARFISH 1
  14. #define PRAWN 2
  15. #define ON 1
  16. #define OFF 255
  17. //------------------------------------------------------------------------------------------------------
  18. new wep_init = 0;
  19. new gWeapons[MAX_WEAPONS][64];
  20. new LeadersR= OFF;
  21. new LeadersJ= OFF;
  22. new gPlayers[MAX_PLAYERS][MAX_PLAYER_NAME+1];
  23. new areaMode = LOBBY;
  24. new startShooting = OFF;
  25. //------------------------------------------------------------------------------------------------------
  26. public Float: GetPlayerDist(plr1,plr2);
  27. public Float: GetDistance(Float:X1,Float:Y1,Float:Z1,Float:X2,Float:Y2,Float:Z2);
  28. //------------------------------------------------------------------------------------------------------
  29. main()
  30. {
  31.     print("\n  ----------------------------------\n");
  32.     printf("    %s\n",szGameModeName);
  33.     printf("    \tby %s\n",szGameModeAuthorName);
  34.     print("  ----------------------------------\n");
  35. }
  36. //------------------------------------------------------------------------------------------------------
  37.  
  38. public OnPlayerConnect(playerid)
  39. {
  40.     SetWaterLevel(6.0);
  41.     SetGamespeed(100);
  42.     SetGravity(100);
  43.     GetPlayerName(playerid,gPlayers[playerid],MAX_PLAYER_NAME);
  44.     SendClientMessage(playerid,COLOR_PINK,"Welcome to EAF: Rockers Vs Jasons Server.");
  45.     return 1;
  46. }
  47.  
  48. //------------------------------------------------------------------------------------------------------
  49.  
  50. public OnPlayerDisconnect(playerid, reason)
  51. {
  52.  
  53.     return 1;
  54. }
  55.  
  56. //------------------------------------------------------------------------------------------------------
  57.  
  58. public OnPlayerEnterVehicle(playerid,vehicleid,ispassenger)
  59. {
  60.     return 1;
  61. }
  62.  
  63. //------------------------------------------------------------------------------------------------------
  64.  
  65. public OnPlayerCommandText(playerid, cmdtext[])
  66. {
  67. /*
  68.     new cmd[256];
  69.     new tmp[256];
  70.     new szMsg[256];
  71.     new idx, newvar;
  72.     new Float:x, Float:y, Float:z;
  73.     cmd = strtok(cmdtext, idx);
  74. */
  75.     return 0;
  76. }
  77.  
  78.  
  79. //------------------------------------------------------------------------------------------------------
  80.  
  81. public OnPlayerText(playerid, cmdtext[])
  82. {
  83.     new cmd[256];
  84.     new tmp[256];
  85.     new szMsg[256];
  86.     new idx, newvar;
  87.     new Float:x, Float:y, Float:z;
  88.     new Float:distance;
  89.     cmd = strtok(cmdtext, idx);
  90.     if (strcmp(cmd, "!goto", true) == 0)
  91.     {
  92.         tmp = strtok(cmdtext, idx);
  93.         if (!IsPlayerAdmin(playerid))
  94.                 return SendClientMessage(playerid,COLOR_PINK,"You are not a Admin");
  95.         new len = strlen(tmp);
  96.         if (!len) { format(szMsg,sizeof(szMsg),"Usage: !goto <name/id>",tmp);
  97.         SendClientMessage(playerid, COLOR_PINK, szMsg);return 1;}
  98.         newvar = FindPlayerIDFromString(tmp);
  99.         if (newvar != INACTIVE_PLAYER_ID) {
  100.             GetPlayerPos(newvar,x,y,z);
  101.             SetPlayerPos(playerid,x,y + 1.0,z,0,0);
  102.             format(szMsg,sizeof(szMsg),"Taking [%i] %s to [%i] %s.",playerid,gPlayers[playerid],newvar,gPlayers[newvar]);
  103.             SendClientMessageToAll(COLOR_PINK, szMsg);
  104.         }
  105.         return 1;
  106.     }
  107.     else if (strcmp(cmd, "!hp", true) == 0)
  108.     {
  109.         tmp = strtok(cmdtext, idx);
  110.         if (!strlen(tmp)) {
  111.             GetPlayerHealth(playerid,x);
  112.             GetPlayerArmour(playerid,y);
  113.             if (IsPlayerInAnyVehicle(playerid))
  114.             {
  115.                 GetVehicleHealth(GetPlayerVehicleID(playerid),z);
  116.                 format(szMsg,sizeof(szMsg),"[%i] %s  - Health %.0f - Armour %.0 Vehicle Health %.0f",playerid,gPlayers[playerid],x,y,z);
  117.             } else {
  118.                 format(szMsg,sizeof(szMsg),"[%i] %s  - Health %.1f - Armour %.1f",playerid,gPlayers[playerid],x,y);
  119.             }
  120.             SendClientMessageToAll(COLOR_PINK, szMsg);
  121.         } else {
  122.             newvar = FindPlayerIDFromString(tmp);
  123.             if (newvar != INACTIVE_PLAYER_ID) {
  124.                 GetPlayerHealth(newvar,x);
  125.                 GetPlayerArmour(newvar,y);
  126.                 if (IsPlayerInAnyVehicle(newvar))
  127.                 {
  128.                     GetVehicleHealth(GetPlayerVehicleID(newvar),z);
  129.                     format(szMsg,sizeof(szMsg),"[%i] %s  - Health %.0f - Armour %.0 Vehicle Health %.0f",newvar,gPlayers[newvar],x,y,z);
  130.                 } else {
  131.                     format(szMsg,sizeof(szMsg),"[%i] %s  - Health %.0f - Armour %.0f",newvar,gPlayers[newvar],x,y);             }
  132.  
  133.                 SendClientMessageToAll(COLOR_PINK, szMsg);
  134.             }
  135.         }
  136.         return 1;
  137.     }
  138.     else if (strcmp(cmd, "!heal", true) == 0)
  139.     {
  140.         tmp = strtok(cmdtext, idx);
  141.         if (!IsPlayerAdmin(playerid))
  142.                 return SendClientMessage(playerid,COLOR_PINK,"You are not a Admin");
  143.         if (!strlen(tmp)) { newvar = playerid; }
  144.         else { newvar = FindPlayerIDFromString(tmp); }
  145.         if (newvar == INACTIVE_PLAYER_ID) { return 1; }
  146.         if (IsPlayerInAnyVehicle(newvar)) {
  147.             SetVehicleHealth(GetPlayerVehicleID(newvar),1000.0);
  148.             SetVehicleTyre(GetPlayerVehicleID(newvar),1);
  149.             format(szMsg,sizeof(szMsg),"You are now healed",tmp);
  150.             SendClientMessage(playerid,COLOR_PINK, szMsg);
  151.         } else {
  152.             SetPlayerHealth(newvar,100.0);
  153.             format(szMsg,sizeof(szMsg),"You are now healed",tmp);
  154.             SendClientMessage(playerid,COLOR_PINK, szMsg);
  155.         }
  156.         return 1;
  157.     }
  158.     else if (strcmp(cmd, "!wep", true) == 0)
  159.         {
  160.             tmp = strtok(cmdtext,idx);
  161.             new len = strlen(tmp);
  162.             new choice;
  163.             if (!len) { format(szMsg,sizeof(szMsg),"Usage: !wep <name>",tmp);SendClientMessage(playerid, COLOR_PINK, szMsg);return 1;}
  164.             newvar = GetPlayerTeam(playerid);
  165.             if (newvar==0) {
  166.                 GetPlayerPos(playerid,x,y,z);
  167.                 if (areaMode == STARFISH)
  168.                     {
  169.                     distance=GetDistance(x,y,z,-488.4050, -421.6337, 11.4306);
  170.                     if (distance <5) {
  171.                         newvar = FindWepIDFromString(tmp);
  172.                         choice = GetAmmunation(newvar);
  173.                         if (choice == 1)
  174.                             SetPlayerWeapon(playerid,newvar,500);
  175.                         else
  176.                             SendClientMessage(playerid,COLOR_PINK,"You cannot buy this Shit!!");
  177.                         return 1;
  178.                         }
  179.                     else
  180.                         SendClientMessage(playerid,COLOR_PINK,"You are not at weapon dealing spot");
  181.                     }
  182.             }
  183.             else if (newvar==1) {
  184.                 GetPlayerPos(playerid,x,y,z);
  185.                 if (areaMode == STARFISH)
  186.                 {
  187.                     distance=GetDistance(x,y,z,-392.9321,-279.0997,10.6587);
  188.                     if (distance <5) {
  189.                         newvar = FindWepIDFromString(tmp);
  190.                         choice = GetAmmunation(newvar);
  191.                         if (choice == 1)
  192.                             SetPlayerWeapon(playerid,newvar,500);
  193.                         else
  194.                             SendClientMessage(playerid,COLOR_PINK,"You cannot buy this Shit!!");
  195.                         return 1;
  196.                         }
  197.                 else
  198.                     SendClientMessage(playerid,COLOR_PINK,"You are not at weapon dealing spot");
  199.                 }
  200.             }
  201.         }
  202.         else if (strcmp(cmd, "!loadarea", true) == 0)
  203.         {
  204.             tmp = strtok(cmdtext,idx);
  205.             new len = strlen(tmp);
  206.             if (!IsPlayerAdmin(playerid))
  207.                 return SendClientMessage(playerid,COLOR_PINK,"You are not a Admin");
  208.             if (!len)
  209.                 return SendClientMessage(playerid, COLOR_PINK, "Cannot Find any Parameters. Usage: !loadarea <Area-Name>");
  210.             if (strcmp(tmp,"lobby",true)==0)
  211.             {
  212.                 areaMode = LOBBY;
  213.                 RestartAll(areaMode);
  214.             }
  215.             else if (strcmp(tmp,"starfish",true)==0)
  216.             {
  217.                 areaMode = STARFISH;
  218.                 RestartAll(areaMode);
  219.             }
  220.             else if (strcmp(tmp,"prawn",true)==0)
  221.             {
  222.                 areaMode = PRAWN;
  223.                 RestartAll(areaMode);
  224.             }
  225.         }
  226.         else if (strcmp(cmd, "!slr")==0)
  227.         {
  228.             new i;
  229.             tmp = strtok(cmdtext,idx);
  230.             new len = strlen(tmp);
  231.             if (!IsPlayerAdmin(playerid))
  232.                 return SendClientMessage(playerid,COLOR_PINK,"You are not a Admin");
  233.             if (areaMode == LOBBY)
  234.                 return SendClientMessage(playerid,COLOR_PINK,"Error: Cannot Use This Cmd in this Area-Mode");
  235.             if (!len)
  236.                 return SendClientMessage(playerid, COLOR_PINK,"Cannot Find any Parameters. Usage: !slr <Name>");
  237.             LeadersR = OFF;
  238.             newvar = FindPlayerIDFromString(tmp);
  239.             LeadersR = newvar;
  240.             SetPlayerSkin(newvar,111);
  241.             format(szMsg,sizeof(szMsg),"*** [Admin]: [%i] %s became Rockers Leader",newvar,gPlayers[newvar]);
  242.             SendClientMessageToAll(COLOR_PINK,szMsg);
  243.             if (LeadersR != OFF && LeadersJ != OFF)
  244.             {
  245.                 for (i=0;i<MAX_PLAYERS;i++)
  246.                 {
  247.                     if (IsPlayerConnected(i))
  248.                         TogglePlayerControllable(i,1);
  249.                 }
  250.                 startShooting = ON;
  251.                 SendClientMessageToAll(COLOR_PINK,"*** [Admin] Game-Mode Started: Kill the opposite Team's Leader");
  252.             }
  253.         }
  254.         else if (strcmp(cmd, "!slj")==0)
  255.         {
  256.             new i;
  257.             tmp = strtok(cmdtext,idx);
  258.             new len = strlen(tmp);
  259.             if (!IsPlayerAdmin(playerid))
  260.                 return SendClientMessage(playerid,COLOR_PINK,"You are not a Admin");
  261.             if (areaMode == LOBBY)
  262.                 return SendClientMessage(playerid,COLOR_PINK,"Error: Cannot Use This Cmd in this Area-Mode");
  263.             if (!len)
  264.                 return SendClientMessage(playerid, COLOR_PINK,"Cannot Find any Parameters. Usage: !slr <Name>");
  265.             LeadersJ = OFF;
  266.             newvar = FindPlayerIDFromString(tmp);
  267.             LeadersJ = newvar;
  268.             SetPlayerSkin(newvar,127);
  269.             format(szMsg,sizeof(szMsg),"*** [Admin]: [%i] %s became Jasons Leader",newvar,gPlayers[newvar]);
  270.             SendClientMessageToAll(COLOR_PINK,szMsg);
  271.             if (LeadersR != OFF && LeadersJ != OFF)
  272.             {
  273.                 for (i=0;i<MAX_PLAYERS;i++)
  274.                 {
  275.                     if (IsPlayerConnected(i))
  276.                         TogglePlayerControllable(i,1);
  277.                 }
  278.                 startShooting = ON;
  279.                 SendClientMessageToAll(COLOR_PINK,"*** [Admin] Game-Mode Started: Kill the opposite Team's Leader");
  280.             }
  281.         }
  282.     return 1;
  283. }
  284. //------------------------------------------------------------------------------------------------------
  285. public RestartAll(tmp)
  286. {
  287.     new i;
  288.     LeadersR = OFF;
  289.     LeadersJ = OFF;
  290.     for (i=0;i<MAX_PLAYERS;i++)
  291.     {
  292.         if (IsPlayerConnected(i))
  293.         {
  294.             SetPlayerHealth(i,0);
  295.             if (tmp == LOBBY)
  296.                 SendClientMessage(i,COLOR_PINK,"*** [Admin] Game-Mode changed: Lobby. You need to respawn");
  297.             else if (tmp == STARFISH)
  298.             {
  299.                 startShooting = OFF;
  300.                 SendClientMessage(i,COLOR_PINK,"*** [Admin] Game-Mode changed: Sarfish Island. You need to respawn");
  301.             }
  302.             else if (tmp == PRAWN)
  303.             {
  304.                 startShooting = OFF;
  305.                 SendClientMessage(i,COLOR_PINK,"*** [Admin] Game-Mode changed: Prawn Island.  You need to respawn");
  306.             }
  307.         }
  308.     }
  309. }
  310. //------------------------------------------------------------------------------------------------------
  311. public GetAmmunation(newvar)
  312. {
  313.     new choice;
  314.     if (newvar == 14 ||newvar == 19 || newvar == 20 || newvar == 21 ||newvar == 23 || newvar == 24 || newvar == 25 || newvar == 26 || newvar ==27)
  315.         choice = 1;
  316.     else
  317.         choice = 0;
  318.  
  319.     return choice;
  320. }
  321. //------------------------------------------------------------------------------------------------------
  322. public OnPlayerSpawn(playerid,classid,teamid)
  323. {
  324.     //new cmd[256];
  325.     //new tmp[256];
  326.     //new idx, newvar;
  327.     new szMsg[256];
  328.     if (teamid == 0)
  329.     {
  330.         format (szMsg, sizeof(szMsg), "*** [%i] %s joined the Rockers Team",playerid,gPlayers[playerid]);
  331.         SendClientMessageToAll(COLOR_PINK, szMsg);
  332.         //SetPlayerColor(playerid,"");
  333.         if (areaMode == LOBBY)
  334.         {
  335.             SetPlayerPos(playerid,-835.7239,-1487.5494,12.1048,170.1298,0);
  336.             SendClientMessage(playerid,COLOR_PINK, "You joined the Lobby Room.");
  337.         }
  338.         else if (areaMode == STARFISH)
  339.         {
  340.             SetPlayerPos(playerid,-500.0569,-465.1577,11.4867,0.7182,0);
  341.             if (startShooting == OFF)
  342.                 TogglePlayerControllable(playerid, 0);
  343.         }
  344.         else if (areaMode == PRAWN)
  345.         {
  346.             //setplayerpos func
  347.             if (startShooting == OFF)
  348.                 TogglePlayerControllable(playerid, 0);
  349.         }
  350.     }
  351.     else
  352.     {
  353.         format (szMsg, sizeof(szMsg), "*** [%i] %s joined the Jasons Team",playerid,gPlayers[playerid]);
  354.         SendClientMessageToAll(COLOR_PINK, szMsg);
  355.         //SetPlayerColor(playerid,"");
  356.         if (areaMode == LOBBY)
  357.         {
  358.             SetPlayerPos(playerid,-844.2106,-1506.6545,12.1244,343.0915,0);
  359.             SendClientMessage(playerid,COLOR_PINK, "You joined the Lobby Room.");
  360.         }
  361.         else if (areaMode == STARFISH)
  362.         {
  363.             SetPlayerPos(playerid,-374.1536,-223.0066,9.1213,183.0354,0);
  364.             if (startShooting == OFF)
  365.                 TogglePlayerControllable(playerid, 0);
  366.         }
  367.         else if (areaMode == PRAWN)
  368.         {
  369.             //setplayerpos func
  370.             if (startShooting == OFF)
  371.                 TogglePlayerControllable(playerid, 0);
  372.         }
  373.     }
  374.     return 1;
  375. }
  376. //------------------------------------------------------------------------------------------------------
  377. public OnPlayerDeath(playerid, killerid, reason)
  378. {
  379.     new szMsg[256];
  380.     new newvar;
  381.     if (killerid)
  382.     {
  383.         format(szMsg, sizeof(szMsg), "*** Victim: %s, Killer: %s, Weapon: %s, Distance: %f",gPlayers[playerid],gPlayers[killerid],gWeapons[reason],GetPlayerDist(playerid,killerid));
  384.         SendClientMessageToAll(COLOR_PINK,szMsg);
  385.     }
  386.     if (LeadersR == playerid || LeadersJ == playerid)
  387.     {
  388.         LeadersR = OFF;
  389.         LeadersJ = OFF;
  390.         areaMode = LOBBY;
  391.         RestartAll(areaMode);
  392.         newvar = GetPlayerTeam(playerid);
  393.     if (newvar == 0)
  394.         return SendClientMessageToAll(COLOR_PINK,"Team Rockers Leader Died. Jasons Wins!!!");
  395.     else
  396.         return SendClientMessageToAll(COLOR_PINK,"Team Jasons Leader Died. Rockers Wins!!!");
  397.     }
  398.     return 1;
  399. }
  400. //------------------------------------------------------------------------------------------------------
  401. public OnPlayerRequestClass(playerid, classid, skinid)
  402. {
  403.  
  404.     return 1;
  405. }
  406. //------------------------------------------------------------------------------------------------------
  407. public OnPickedUp(pickupid, playerid)
  408. {       new newvar;
  409.         if (pickupid == 1) {
  410.             newvar = GetPlayerTeam(playerid);
  411.             if (newvar == 0)
  412.                 return SendClientMessage(playerid,COLOR_PINK,"Hey, you can buy guns here");
  413.             else
  414.                 return SendClientMessage(playerid, COLOR_PINK, "This is not your weapon dealer");
  415.         }
  416.         else if (pickupid == 2) {
  417.             newvar = GetPlayerTeam(playerid);
  418.             if (newvar == 1)
  419.                 return SendClientMessage(playerid,COLOR_PINK,"Hey, you can buy guns here");
  420.             else
  421.                 return SendClientMessage(playerid, COLOR_PINK, "This is not your weapon dealer");
  422.         }
  423.         else
  424.             SendClientMessage(playerid, COLOR_PINK, "Work in Progress");
  425.  
  426.     return 1;
  427. }
  428. //------------------------------------------------------------------------------------------------------
  429. public OnGameModeInit()
  430. {
  431.     SetGameModeText(szGameModeName);
  432.  
  433.     ShowPlayerMarkers(1);
  434.  
  435.     // Player Classes
  436.     AddPlayerClassEx(0,107,-500.0569,-465.1577,11.4867,0.7182,0,0,21,100,0,0);  // Rockers
  437.     AddPlayerClassEx(1,129,-374.1536,-223.0066,9.1213,183.0354,0,0,21,100,0,0); // Jasons
  438.  
  439.     SetPlayerFriendlyFire(true);
  440.     Jumpswitch(1);
  441.  
  442.     // Vehicles
  443.  
  444.         //Police
  445.     AddStaticVehicle(156, -715.1685, -482.2235, 10.8822, 0.9519, 0, 1);
  446.     AddStaticVehicle(156, -714.9229, -497.0534, 10.8654, 0.9236, 0, 1);
  447.     AddStaticVehicle(156, -183.8194, -465.4719, 10.8446, 10.8470, 0, 1);
  448.     AddStaticVehicle(156, -181.0072, -480.6185, 10.8508, 9.8620, 0, 1);
  449.  
  450.         //Enforcers
  451.     AddStaticVehicle(157, -715.0520, -489.2520, 10.8733, 0.9514, 0, 1);
  452.     AddStaticVehicle(157, -182.3127, -473.3688, 10.8385, 10.8059, 0, 1);
  453.  
  454.         //Team green vehicles
  455.     AddStaticVehicle(133, -539.4441, -474.2635, 11.1189, 270.2599, 44, 1);
  456.     AddStaticVehicle(143, -520.8994, -474.1699, 11.1477, 272.4575, 44, 1);
  457.     AddStaticVehicle(149, -497.1541, -473.3339, 11.1770, 272.5067, 44, 1);
  458.     AddStaticVehicle(154, -470.2748, -472.9805, 11.0522, 273.4655, 44, 1);
  459.     AddStaticVehicle(152, -457.6939, -464.3488, 11.0436, 359.1348, 44, 1);
  460.     AddStaticVehicle(198, -475.5645, -434.3491, 11.4980, 180.2597, 44, 1);
  461.     AddStaticVehicle(198, -469.9465, -432.6784, 11.4211, 186.8397, 44, 1);
  462.  
  463.         //Team Blue vehicles
  464.     AddStaticVehicle(133, -467.0890, -244.5312, 10.3687, 268.6380, 2, 1);
  465.     AddStaticVehicle(143, -439.0008, -241.7432, 10.3688, 267.9733, 2, 1);
  466.     AddStaticVehicle(149, -430.7938, -253.1322, 10.5549, 182.3609, 2, 1);
  467.     AddStaticVehicle(154, -415.0505, -245.8516, 10.5152, 91.1488, 2, 1);
  468.     AddStaticVehicle(152, -414.5432, -259.7456, 10.9684, 90.4392, 2, 1);
  469.     AddStaticVehicle(198, -405.4318, -311.1410, 11.0946, 185.1944, 2, 1);
  470.     AddStaticVehicle(198, -411.9401, -312.0182, 11.2288, 185.1944, 2, 1);
  471.  
  472.  
  473. /*
  474.     AddStaticPickup(id, type, Float:x, Float:y, Float:z, ammo, respawnseconds);
  475.  
  476.     -for cash pickups use type 501
  477.     -use -1 for respawnseconds to select default respawn 4 minutes
  478.         *   may ditch the manual id arg and have it auto id instead   *
  479.  
  480. */
  481.     new sp=1;
  482.  
  483.     AddStaticPickup(sp++, 405, -488.4050, -421.6337, 11.4306);  //gunbox green team
  484.     AddStaticPickup(sp++, 405, -392.9321,-279.0997,10.6587);    //gunbox blue team
  485.     AddStaticPickup(sp++, 407, -489.3182, -417.4309, 11.4343);  //green - garage
  486.     AddStaticPickup(sp++, 407, -513.0669, -412.9139, 13.0789);  //green - top - roof
  487.     AddStaticPickup(sp++, 406, -389.7154, -273.2468, 10.5478);  //blue - garage
  488.     AddStaticPickup(sp++, 406, -346.5848, -290.1815, 11.9751);  //blue - top - roof
  489.  
  490.  
  491.  
  492.  
  493.     SetWorldBounds(5000.0,-5000.0,5000.0,-5000.0);
  494.     SetCameraPos(-231.4, -440.0, 32.1);
  495.     SetCameraLookAt(-232.0314, -442.6181, 33.1);
  496.  
  497.  
  498.     SetPlayerStartPos(-232.0314, -442.6181, 32.7944);
  499.     new q,c=0;
  500.     for (q=0;q < MAX_PLAYERS; q++) {
  501.         if (IsPlayerConnected(q)) {
  502.             new pname[MAX_PLAYER_NAME+1];
  503.             GetPlayerName(q,pname,MAX_PLAYER_NAME);
  504.             gPlayers[q] = pname;
  505.             c++;
  506.         } else { gPlayers[q] = ""; }
  507.     }
  508.     InitWepList();
  509.     printf("\n\n**\tscript init loaded\t**\n**\t%d players\t**\n",c);
  510.     new szMessage[256];
  511.     format(szMessage,256,"Game Mode %s loaded.",szGameModeName);
  512.     SendClientMessageToAll(COLOR_PINK, szMessage);
  513.     return 1;
  514. }
  515.  
  516.  
  517.  
  518. //------------------------------------------------------------------------------------------------------
  519. public Float: GetPlayerDist(plr1,plr2) // Daddy's function
  520. {
  521.     new Float:X,Float:Y,Float:Z,Float:X1,Float:Y1,Float:Z1;
  522.     GetPlayerPos(plr1,X,Y,Z);
  523.     GetPlayerPos(plr2,X1,Y1,Z1);
  524.     new Float:Dist=GetDistance(X,Y,Z,X1,Y1,Z1);
  525.     return Dist;
  526. }
  527.  
  528. public Float: GetDistance(Float:X1,Float:Y1,Float:Z1,Float:X2,Float:Y2,Float:Z2) // Daddy's function
  529. {
  530.     new Float:X = floatsub(X2,X1);
  531.     new Float:Y = floatsub(Y2,Y1);
  532.     new Float:Z = floatsub(Z2,Z1);
  533.     new Float:Dist = floatsqroot(floatadd(floatadd(floatpower(X,2),floatpower(Y,2)),floatpower(Z,2)));
  534.     return Dist;
  535. }
  536.  
  537.  
  538. public FindPlayerIDFromString(string[])
  539. {// for determining player id from a string  -bakasan
  540.     new szMsg[256];
  541.     new player = INACTIVE_PLAYER_ID;
  542.     new p = 0;
  543.     while (p < MAX_PLAYERS) { if (strfind(gPlayers[p],string,true) != -1) { player=p;break; } p++; }
  544.     if (player == INACTIVE_PLAYER_ID) {// string didnt match so check if it can be an id
  545.         if ((strlen(string) > 2) || (isnumeric(string) == 0)) {
  546.             format(szMsg,sizeof(szMsg),"Unable to find %s.",string);
  547.             SendClientMessageToAll(COLOR_PINK, szMsg);
  548.             return INACTIVE_PLAYER_ID;
  549.         }
  550.         player = strval(string);// string is numeric and not more than 2 digits
  551.     }
  552.     if (!IsPlayerConnected(player)) {
  553.         format(szMsg,sizeof(szMsg),"Invalid ID %d.",player);
  554.         SendClientMessageToAll(COLOR_PINK, szMsg);
  555.         return INACTIVE_PLAYER_ID;
  556.     }
  557.     return player;// valid id found
  558. }
  559.  
  560. //------------------------------------------------------------------------------------------------------
  561. public InitWepList()
  562. {
  563.     if (wep_init == 1) { return 1; }
  564.     gWeapons[0] = "Fist";
  565.     gWeapons[1] = "BrassKnuckle";
  566.     gWeapons[2] = "ScrewDriver";
  567.     gWeapons[3] = "GolfClub";
  568.     gWeapons[4] = "NightStick";
  569.     gWeapons[5] = "Knife";
  570.     gWeapons[6] = "BaseballBat";
  571.     gWeapons[7] = "Hammer";
  572.     gWeapons[8] = "Cleaver";
  573.     gWeapons[9] = "Machete";
  574.     gWeapons[10] = "Katana";
  575.     gWeapons[11] = "Chainsaw";
  576.     gWeapons[12] = "Grenade";
  577.     gWeapons[13] = "RemoteGrenade";
  578.     gWeapons[14] = "TearGas";
  579.     gWeapons[15] = "Molotov";
  580.     gWeapons[16] = "Missile";//called "Rocket" in weapon.dat
  581.     gWeapons[17] = "Colt45";
  582.     gWeapons[18] = "Python";
  583.     gWeapons[19] = "Shotgun";
  584.     gWeapons[20] = "Spaz";//Spas12Shotgun
  585.     gWeapons[21] = "Stubby";//StubbyShotgun
  586.     gWeapons[22] = "Tec9";
  587.     gWeapons[23] = "Uzi";
  588.     gWeapons[24] = "Ingrams";
  589.     gWeapons[25] = "MP5";
  590.     gWeapons[26] = "M4";
  591.     gWeapons[27] = "Ruger";
  592.     gWeapons[28] = "SniperRifle";
  593.     gWeapons[29] = "LaserScope";
  594.     gWeapons[30] = "RocketLauncher";
  595.     gWeapons[31] = "FlameThrower";
  596.     gWeapons[32] = "M60";
  597.     gWeapons[33] = "Minigun";
  598.     gWeapons[34] = "none34";
  599.     gWeapons[35] = "Heli-Cannon";
  600.     gWeapons[36] = "none36";
  601.     gWeapons[37] = "none37";
  602.     gWeapons[38] = "none38";
  603.     gWeapons[39] = "Vehicle";
  604.     gWeapons[40] = "none40";
  605.     gWeapons[41] = "41";
  606.     gWeapons[42] = "none42";
  607.     gWeapons[43] = "Drowned";
  608.     gWeapons[44] = "Impact";
  609.     gWeapons[45] = "none45";
  610.     gWeapons[46] = "none46";
  611.     gWeapons[47] = "none47";
  612.     gWeapons[48] = "none48";
  613.     gWeapons[49] = "none49";
  614.     gWeapons[50] = "none50";
  615.     gWeapons[51] = "none51";
  616.     gWeapons[52] = "none52";
  617.     gWeapons[53] = "none53";
  618.     gWeapons[54] = "none54";
  619.     gWeapons[55] = "none55";
  620.     gWeapons[56] = "none56";
  621.     gWeapons[57] = "none57";
  622.     gWeapons[58] = "none58";
  623.     gWeapons[59] = "none59";
  624.     gWeapons[60] = "Heli-Blades";
  625.     wep_init = 1;
  626.     return 1;
  627. }
  628.  
  629. public FindWepIDFromString(string[])
  630. {// for determining weapon id from a string  -bakasan
  631.     if (wep_init == 0) { InitWepList(); }
  632.     new szMsg[256];
  633.     new match = 0;
  634.     new p = 0;
  635.     while (p < MAX_WEAPONS) { if (strfind(gWeapons[p],string,true) != -1) { match=p;break; } p++; }
  636.     if (match == 0) {// string didnt match so check if it can be an id
  637.         if ((strlen(string) > 2) || (isnumeric(string) == 0)) {
  638.             format(szMsg,sizeof(szMsg),"Unable to find weapon %s.",string);
  639.             SendClientMessageToAll(COLOR_PINK, szMsg);
  640.             return 0;
  641.         }
  642.         match = strval(string);// string is numeric and not more than 2 digits
  643.     }
  644.     if ((match < 1) || (match > 33)) {
  645.         format(szMsg,sizeof(szMsg),"Invalid Weapon ID %d.",match);
  646.         SendClientMessageToAll(COLOR_PINK, szMsg);
  647.         return 0;
  648.     }
  649.     return match;// valid id found
  650. }
  651. strtok(const string[], &index)
  652. {
  653.     new length = strlen(string);
  654.     while ((index < length) && (string[index] <= ' ')){ index++; }
  655.     new offset = index;
  656.     new result[20];
  657.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  658.     {
  659.         result[index - offset] = string[index];
  660.         index++;
  661.     }
  662.     result[index - offset] = EOS;
  663.     return result;
  664. }
  665. isnumeric(const string[])
  666. {// mike's function
  667.     for (new i = 0, j = strlen(string); i < j; i++) { if (string[i] > '9' || string[i] < '0') return 0; }
  668.     return 1;
  669. }
Advertisement
Add Comment
Please, Sign In to add comment