SpiralRock

Tushar

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