Guest User

Arena++

a guest
Feb 24th, 2015
326
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. *                                      Arena++ Plugin by eightd and Kuhlkid
  3. *                                      Feel free to modify and share it but don't remove this author section.
  4. *
  5. */
  6. var arena_enabled_on_set = false;
  7. var arena_spec_enabled_on_set = true;
  8. var arena_plugin_enabled_after_install = "true";
  9. var arena_tbl_name = "com.eightd.arena++.arenas";
  10. var arena_spec_tbl_name = "com.eightd.arena++.spec";
  11. var arena_ploc_tbl_name = "com.eightd.arena++.ploc";
  12. var arena_pspecloc_tbl_name = "com.eightd.arena++.pspecloc";
  13. var arena_pinv_tbl_name = "com.eightd.arena++.pinv";
  14. var arena_pspecinv_tbl_name = "com.eightd.arena++.pspecinv";
  15. var arena_plug_tbl_name = "com.eightd.arena++.plug";
  16. var arena_pltoa_tbl_name = "com.eightd.arena++.pltoa";
  17. var arena_pltospec_tbl_name = "com.eightd.arena++.pltospec";
  18. var disabled_arena_commands = ["arenaset", "arenaremove", "arenatoggle", "arena", "barena", "arenas", "arenastart"];
  19. function On_PluginInit() {
  20.         if(!dataStoreContainsKey(arena_plug_tbl_name, "pluginenabled")) {
  21.                 Datastore.Add(arena_plug_tbl_name, "pluginenabled", arena_plugin_enabled_after_install);
  22.         }
  23.         Server.BroadcastFrom("[Arena++]", "Arena-Plugin loaded");
  24. }
  25.  
  26. function On_Command(Player, cmd, args) {
  27.         cmd = Data.ToLower(cmd);
  28.         if(Datastore.Get(arena_plug_tbl_name, "pluginenabled") == "false" && arrayContainsValue(disabled_arena_commands, cmd)) {
  29.                 Player.Message("Arena Plugin disabled.");
  30.                 if(Player.Admin) Player.Message("Enable it via /togglearenaplugin");
  31.                 return;
  32.         }
  33.         if(cmd == "arenahelp") {
  34.                 if(Player.Admin) Player.Message("Arena-Admin: /togglearenaplugin, /arenastart [arenaname] [numberofplayers] [reward], /arenaclose, /arenareset, /arenaset [name], /arenaspecset [name]. /arenaremove [name], /arenatoggle [enable]");
  35.                 Player.Message("Arena: /arenajoin [name], /arenaspec [name], /barena, /arenas, /arenaspecs, /arenahelp");
  36.         }
  37.         if(cmd == "togglearenaplugin") {
  38.                 if(!Player.Admin) return;
  39.                 if(args.Length > 0) {
  40.                         Player.Message("Useage: /togglearenaplugin");
  41.                         return;
  42.                 }
  43.                 var status = Datastore.Get(arena_plug_tbl_name, "pluginenabled");
  44.                 if(status == "true") {
  45.                         Datastore.Add(arena_plug_tbl_name, "pluginenabled", "false");
  46.                         Server.BroadcastFrom("[Arena++]", "Arena-Plugin Disabled");
  47.                 }
  48.                 else {
  49.                         Datastore.Add(arena_plug_tbl_name, "pluginenabled", "true");
  50.                         Server.BroadcastFrom("[Arena++]", "Arena-Plugin Enabled");
  51.                 }
  52.                 return;
  53.         }
  54.         if(cmd == "arenaset") {
  55.                 if(!Player.Admin) return;
  56.                 if(args.Length != 1) {
  57.                         Player.Message("Useage: /arenaset [name]");
  58.                         return;
  59.                 }
  60.                 if(dataStoreContainsKey(arena_tbl_name, args[0])) {
  61.                         Player.Message("Arena " + args[0]  + " already exists. Remove it first! (/arenaremove [name])");
  62.                         return;
  63.                 }
  64.                 if(args[0].indexOf(",") != -1 || args[0].indexOf("=") != -1) {
  65.                         Player.Message("Sorry! You cannot use ',' or '=' in the arenaname!");
  66.                         return;
  67.                 }
  68.                 var Arena = {};
  69.                 Arena.Name = args[0];
  70.                 Arena.Enabled = arena_enabled_on_set;
  71.                 Arena.X = Player.X;
  72.                 Arena.Y = Player.Y;
  73.                 Arena.Z = Player.Z;
  74.                 Arena.Players = 0;
  75.                 Arena.MaxPlayers = 0;
  76.                 var astr = serializeObject(Arena);
  77.                 Datastore.Add(arena_tbl_name, args[0], astr);
  78.                 Player.Message("Arena " + args[0] + " added.");
  79.                 return;
  80.         }
  81.         if(cmd == "arenas") {
  82.                 if(args.Length > 0) {
  83.                         Player.Message("Useage: /arenas");
  84.                         return;
  85.                 }
  86.                 var count = 0;
  87.                 for(var astr in Datastore.Values(arena_tbl_name)) {
  88.                         var aObj = castBackToObject(astr);
  89.                         Player.Message("Arena: " + aObj.Name + " - Status: " + aObj.Enabled);
  90.                         count++;
  91.                 }
  92.                 if(count == 0) {
  93.                         Player.Message("No arenas found.");
  94.                 }
  95.                 return;
  96.         }
  97.         if(cmd == "arenaspecset") {
  98.                 if(!Player.Admin) return;
  99.                 if(args.Length != 1) {
  100.                         Player.Message("Useage: /arenaspecset [name]");
  101.                         return;
  102.                 }
  103.                 if(dataStoreContainsKey(arena_spec_tbl_name, args[0])) {
  104.                         Player.Message("Spectator area " + args[0]  + " already exists. Remove it first! (/arenaspecremove [name])");
  105.                         return;
  106.                 }
  107.                 if(args[0].indexOf(",") != -1 || args[0].indexOf("=") != -1) {
  108.                         Player.Message("Sorry! You cannot use ',' or '=' in the arenaname!");
  109.                         return;
  110.                 }
  111.                 var ArenaSpec = {};
  112.                 ArenaSpec.Name = args[0];
  113.                 ArenaSpec.Enabled = arena_spec_enabled_on_set;
  114.                 ArenaSpec.X = Player.X;
  115.                 ArenaSpec.Y = Player.Y;
  116.                 ArenaSpec.Z = Player.Z;
  117.                 var astr = serializeObject(ArenaSpec);
  118.                 Datastore.Add(arena_spec_tbl_name, args[0], astr);
  119.                 Player.Message("Spectator area " + args[0] + " added.");
  120.                 return;
  121.         }
  122.         if(cmd == "arenaspecs") {
  123.                 if(args.Length > 0) {
  124.                         Player.Message("Useage: /arenaspecs");
  125.                         return;
  126.                 }
  127.                 var count = 0;
  128.                  for(var astr in Datastore.Values(arena_spec_tbl_name)) {
  129.                         var aObj = castBackToObject(astr);
  130.                         Player.Message("Spectator Area: " + aObj.Name + " - Status: " + aObj.Enabled);
  131.                         count++;
  132.                 }
  133.                 if(count == 0) {
  134.                         Player.Message("No spectator areas found.");
  135.                 }
  136.                 return;
  137.         }
  138.         if(cmd == "arenaremove") {
  139.                 if(!Player.Admin) return;
  140.                 if(args.Length != 1) {
  141.                         Player.Message("Useage: /arenaremove [name]");
  142.                         return;
  143.                 }
  144.                 if(!dataStoreContainsKey(arena_tbl_name, args[0])) {
  145.                         Player.Message("Arena " + args[0]  + " does not exists. Add it first! (/arenaset [name])");
  146.                         return;
  147.                 }
  148.                 Datastore.Remove(arena_tbl_name, args[0]);
  149.                 Player.Message("Arena " + args[0] + " removed.");
  150.                 return;
  151.         }
  152.         if(cmd == "arenaspecremove") {
  153.                 if(!Player.Admin) return;
  154.                 if(args.Length != 1) {
  155.                         Player.Message("Useage: /arenaspecremove [name]");
  156.                         return;
  157.                 }
  158.                 if(!dataStoreContainsKey(arena_spec_tbl_name, args[0])) {
  159.                         Player.Message("Spectator area " + args[0]  + " does not exists. Add it first! (/arenaspecset [name])");
  160.                         return;
  161.                 }
  162.                 Datastore.Remove(arena_spec_tbl_name, args[0]);
  163.                 Player.Message("Spectator area " + args[0] + " removed.");
  164.                 return;
  165.         }
  166.         if(cmd == "arenatoggle") {
  167.                 if(!Player.Admin) return;
  168.                 if(args.Length != 1) {
  169.                         Player.Message("Useage: /arenatoggle [name]");
  170.                         return;
  171.                 }
  172.                 if(!dataStoreContainsKey(arena_tbl_name, args[0])) {
  173.                         Player.Message("Arena " + args[0]  + " does not exists. Add it first! (/arenaset [name])");
  174.                         return;
  175.                 }
  176.                 var astr = Datastore.Get(arena_tbl_name, args[0]);
  177.                 var aObj = castBackToObject(astr);
  178.                 if(aObj.Enabled == "true") {
  179.                         aObj.Enabled = false;
  180.                         astr = serializeObject(aObj);
  181.                         Datastore.Add(arena_tbl_name, args[0], astr);
  182.                         Player.Message("Arena " + args[0] + " disabled.");
  183.                 }
  184.                 else {
  185.                         aObj.Enabled = true;
  186.                         astr = serializeObject(aObj);
  187.                         Datastore.Add(arena_tbl_name, args[0], astr);
  188.                         Player.Message("Arena " + args[0] + " enabled.");
  189.                 }
  190.                 return;
  191.         }
  192.         if(cmd == "arenaspectoggle") {
  193.                 if(!Player.Admin) return;
  194.                 if(args.Length != 1) {
  195.                         Player.Message("Useage: /arenaspectoggle [name]");
  196.                         return;
  197.                 }
  198.                 if(!dataStoreContainsKey(arena_spec_tbl_name, args[0])) {
  199.                         Player.Message("Spectator area " + args[0]  + " does not exists. Add it first! (/arenaspecset [name])");
  200.                         return;
  201.                 }
  202.                 var astr = Datastore.Get(arena_spec_tbl_name, args[0]);
  203.                 var aObj = castBackToObject(astr);
  204.                 if(aObj.Enabled == "true") {
  205.                         aObj.Enabled = false;
  206.                         astr = serializeObject(aObj);
  207.                         Datastore.Add(arena_spec_tbl_name, args[0], astr);
  208.                         Player.Message("Spectator area " + args[0] + " disabled.");
  209.                 }
  210.                 else {
  211.                         aObj.Enabled = true;
  212.                         astr = serializeObject(aObj);
  213.                         Datastore.Add(arena_spec_tbl_name, args[0], astr);
  214.                         Player.Message("Spectator area " + args[0] + " enabled.");
  215.                 }
  216.                 return;
  217.         }
  218.         if(cmd == "arenastart") {
  219.                 if(!Player.Admin)
  220.                         return;
  221.                 if(args.Length == 0) {
  222.                         Player.Message("Useage: /arenastart [arenaname] [numberofplayers] [reward]");
  223.                         return;
  224.                 }
  225.                 var nameofarena = args[0];
  226.                 var maxplayers = parseInt(args[1]);
  227.                 var reward = getstringofargs(args, 2,0);
  228.                 if(!dataStoreContainsKey(arena_tbl_name, args[0])) {
  229.                 Player.Message("Arena " + args[0]  + " does not exists. Add it first! (/arenaset [name])");
  230.                 return;
  231.                 }
  232.                 for(var astr in Datastore.Values(arena_tbl_name)) {
  233.                         var aObj = castBackToObject(astr);
  234.                         aObj.Enabled = false;
  235.                         var astr2 = serializeObject(aObj);
  236.                         Datastore.Add(arena_tbl_name, aObj.Name, astr2);
  237.                 }
  238.                 var astr = Datastore.Get(arena_tbl_name, args[0]);
  239.                 var aObj = castBackToObject(astr);
  240.                 aObj.Enabled = true;
  241.                 aObj.MaxPlayers = maxplayers;
  242.                 aObj.Players = 0;
  243.                 Player.Message("Arena " + args[0] + " enabled.");
  244.                 astr = serializeObject(aObj);
  245.  
  246.                 Datastore.Add(arena_tbl_name, args[0], astr);
  247.                 Server.BroadcastNotice("Arena now being held at " + args[0] + " for " + aObj.MaxPlayers + " contestants. Type /arenajoin " + args[0] + " to join. Reward: " + reward + ".");
  248.                 Server.BroadcastFrom("[Arena++]", "Arena now being held at " + args[0] + " for " + aObj.MaxPlayers + " contestants. Type /arenajoin " + args[0] + " to join.");
  249.                 Server.BroadcastFrom("[Arena++]", "Reward: " + reward + ".");
  250.                 Server.BroadcastFrom("[Arena++]", "Disclaimer! Mod slots on guns will be reset if they are in your inventory upon joining the arena.");
  251.                 Server.BroadcastFrom("[Arena++]", "To spectate any arena type /arenaspec [arenaname]-S");
  252.                 return;
  253.         }
  254.         if(cmd == "arenaclose"){
  255.                 if(!Player.Admin)
  256.                         return;
  257.                 if(args.Length > 0){
  258.                         Player.Message("Useage: /arenaclose")
  259.                 }
  260.                 for(var astr in Datastore.Values(arena_tbl_name)) {
  261.                         var aObj = castBackToObject(astr);
  262.                         aObj.Enabled = false;
  263.                         var astr2 = serializeObject(aObj);
  264.                         Datastore.Add(arena_tbl_name, aObj.Name, astr2);
  265.                 }
  266.                 Server.BroadcastFrom("[Arena++]", "All arenas have been closed.");
  267.                 if(!Player.Admin)
  268.                         return;
  269.                 if(args.Length > 0){
  270.                         Player.Message("Useage: /arenaclose")
  271.                 }
  272.         }
  273.         if(cmd == "arenajoin") {
  274.                 if(args.Length == 0) {
  275.                         Player.Message("Useage: /arenajoin [name]");
  276.                         return;
  277.                 }
  278.                 if(!dataStoreContainsKey(arena_tbl_name, args[0])) {
  279.                         Player.Message("Arena " + args[0]  + " does not exists. Type /arenas");
  280.                         return;
  281.                 }
  282.                 var astr = Datastore.Get(arena_tbl_name, args[0]);
  283.                 var aObj = castBackToObject(astr);
  284.                 if(aObj.Enabled == "false") {
  285.                         Player.Message("Arena " + args[0]  + " not enabled. Sorry!");
  286.                         return;
  287.                 }
  288.                 if(parseInt(aObj.Players) +  1 > parseInt(aObj.MaxPlayers)){
  289.                         Player.Message("The arena is full! Type /arenaspec " + args[0] + "-S to spectate.");
  290.                         return;
  291.                 }
  292.                 aObj.Players = parseInt(aObj.Players) + 1;
  293.                 aObj.MaxPlayers = parseInt(aObj.MaxPlayers);
  294.  
  295.                 var PlayerLocation = {};
  296.                 PlayerLocation.X = Player.X;
  297.                 PlayerLocation.Z = Player.Z;
  298.                 PlayerLocation.Y = Player.Y;
  299.                 Datastore.Add(arena_ploc_tbl_name, Player.SteamID, PlayerLocation);
  300.                 Datastore.Add(arena_pltoa_tbl_name, Player.SteamID, aObj.Name);
  301.                 var Inventory = [];
  302.                 var counter = 0;
  303.                 for(var Item in Player.Inventory.Items) {
  304.                         if(Item && Item.Name) {
  305.                                 var myitem = {};
  306.                                 myitem.name = Item.Name;
  307.                                 myitem.quantity = Item.Quantity;
  308.                                 myitem.slot = Item.Slot;
  309.                                 Inventory[counter++] = myitem;
  310.                         }
  311.                 }
  312.                 for(var Item in Player.Inventory.ArmorItems) {
  313.                         if(Item && Item.Name) {
  314.                                 var myitem = {};
  315.                                 myitem.name = Item.Name;
  316.                                 myitem.quantity = Item.Quantity;
  317.                                 myitem.slot = Item.Slot;
  318.                                 Inventory[counter++] = myitem;
  319.                         }
  320.                 }
  321.                 for(var Item in Player.Inventory.BarItems) {
  322.                         if(Item && Item.Name) {
  323.                                 var myitem = {};
  324.                                 myitem.name = Item.Name;
  325.                                 myitem.quantity = Item.Quantity;
  326.                                 myitem.slot = Item.Slot;
  327.                                 Inventory[counter++] = myitem;
  328.                         }
  329.                 }
  330.                 Datastore.Add(arena_pinv_tbl_name, Player.SteamID, Inventory)    
  331.                 Player.Inventory.ClearAll();
  332.                
  333.                 Player.TeleportTo(parseFloat(aObj.X), parseFloat(aObj.Y), parseFloat(aObj.Z));
  334.                 Player.TeleportTo(parseFloat(aObj.X), parseFloat(aObj.Y), parseFloat(aObj.Z));
  335.                 Player.Message("You teleported to Arena: " + args[0]);
  336.                 var astr = serializeObject(aObj);
  337.                 Datastore.Add(arena_tbl_name, aObj.Name, astr);
  338.                
  339.                 Server.BroadcastNotice((aObj.MaxPlayers - aObj.Players) + " spots left.");
  340.                 return;
  341.         }
  342.         if(cmd == "arenaspec") {
  343.                 if(args.Length == 0) {
  344.                         Player.Message("Useage: /arenaspec [name]");
  345.                         return;
  346.                 }
  347.                 if(!dataStoreContainsKey(arena_spec_tbl_name, args[0])) {
  348.                         Player.Message("Spectator area " + args[0]  + " does not exist. Type /arenaspec");
  349.                         return;
  350.                 }
  351.                 var astr = Datastore.Get(arena_spec_tbl_name, args[0]);
  352.                 var aObj = castBackToObject(astr);
  353.                 if(aObj.Enabled == "false") {
  354.                         Player.Message("Spectator area " + args[0]  + " is not enabled. Sorry!");
  355.                         return;
  356.                 }
  357.  
  358.                 var PlayerSpecLocation = {};
  359.                 PlayerSpecLocation.X = Player.X;
  360.                 PlayerSpecLocation.Z = Player.Z;
  361.                 PlayerSpecLocation.Y = Player.Y;
  362.                 Datastore.Add(arena_pspecloc_tbl_name, Player.SteamID, PlayerSpecLocation);
  363.                 Datastore.Add(arena_pltospec_tbl_name, Player.SteamID, aObj.Name);
  364.                 var Inventory = [];
  365.                 var counter = 0;
  366.                 for(var Item in Player.Inventory.Items) {
  367.                         if(Item && Item.Name) {
  368.                                 var myitem = {};
  369.                                 myitem.name = Item.Name;
  370.                                 myitem.quantity = Item.Quantity;
  371.                                 myitem.slot = Item.Slot;
  372.                                 Inventory[counter++] = myitem;
  373.                         }
  374.                 }
  375.                 for(var Item in Player.Inventory.ArmorItems) {
  376.                         if(Item && Item.Name) {
  377.                                 var myitem = {};
  378.                                 myitem.name = Item.Name;
  379.                                 myitem.quantity = Item.Quantity;
  380.                                 myitem.slot = Item.Slot;
  381.                                 Inventory[counter++] = myitem;
  382.                         }
  383.                 }
  384.                 for(var Item in Player.Inventory.BarItems) {
  385.                         if(Item && Item.Name) {
  386.                                 var myitem = {};
  387.                                 myitem.name = Item.Name;
  388.                                 myitem.quantity = Item.Quantity;
  389.                                 myitem.slot = Item.Slot;
  390.                                 Inventory[counter++] = myitem;
  391.                         }
  392.                 }
  393.                 Datastore.Add(arena_pspecinv_tbl_name, Player.SteamID, Inventory)    
  394.                 Player.Inventory.ClearAll();
  395.                
  396.                 Player.TeleportTo(parseFloat(aObj.X), parseFloat(aObj.Y), parseFloat(aObj.Z));
  397.                 Player.TeleportTo(parseFloat(aObj.X), parseFloat(aObj.Y), parseFloat(aObj.Z));
  398.                 Player.Message("You teleported to Arena: " + args[0]);
  399.                 var astr = serializeObject(aObj);
  400.                 Datastore.Add(arena_tbl_name, aObj.Name, astr);
  401.                 return;
  402.         }
  403.         if(cmd == "barena") {
  404.                 if(args.Length > 0) {
  405.                         Player.Message("Useage: /barena");
  406.                         return;
  407.                 }
  408.                 RemovePlayerFromArena(Player, 0);
  409.                 return;      
  410.         }
  411.         if(cmd == "pload"){
  412.             if(Player.Admin){
  413.                 if(args.Length == 0){
  414.                     Player.Message("Please choose a loadout.")
  415.                     Player.Inventory.AddItemTo("Kevlar Helmet", 36, 1);
  416.                     Player.Inventory.AddItemTo("Kevlar Vest", 37, 1);
  417.                     Player.Inventory.AddItemTo("Kevlar Pants", 38, 1);
  418.                     Player.Inventory.AddItemTo("Kevlar Boots", 39, 1);
  419.  
  420.                     Player.Inventory.AddItemTo("M4", 30, 24);
  421.                     Player.Inventory.AddItemTo("Shotgun", 31, 8);
  422.                     Player.Inventory.AddItemTo("Bolt Action Rifle", 32, 3);
  423.                     Player.Inventory.AddItemTo("Wood Barricade", 33, 20);
  424.                     Player.Inventory.AddItemTo("Large Medkit", 34, 5);
  425.                     Player.Inventory.AddItemTo("Small Medkit", 35, 5);
  426.                     Player.Inventory.AddItemTo("MP5A4", 0, 30);
  427.                     Player.Inventory.AddItemTo("556 Ammo", 1, 250);
  428.                     Player.Inventory.AddItemTo("556 Ammo", 2, 250);
  429.                     Player.Inventory.AddItemTo("9mm Ammo", 3, 250);
  430.                     Player.Inventory.AddItemTo("Shotgun Shells", 4, 250);
  431.                 }
  432.                 if(args[0] == "sniper.st"){
  433.                     Player.Inventory.ClearAll();
  434.                     Player.Inventory.AddItemTo("Kevlar Helmet", 36, 1);
  435.                     Player.Inventory.AddItemTo("Kevlar Vest", 37, 1);
  436.                     Player.Inventory.AddItemTo("Kevlar Pants", 38, 1);
  437.                     Player.Inventory.AddItemTo("Kevlar Boots", 39, 1);
  438.  
  439.                     Player.Inventory.AddItemTo("Bolt Action Rifle", 30, 3);
  440.                     Player.Inventory.AddItemTo("Large Medkit", 34, 5);
  441.                     Player.Inventory.AddItemTo("Small Medkit", 35, 5);
  442.                     Player.Inventory.AddItemTo("Wood Barricade", 33, 20);
  443.                     Player.Inventory.AddItemTo("556 Ammo", 0, 250);
  444.                     Player.Inventory.AddItemTo("556 Ammo", 1, 250);
  445.                 }
  446.                 if(args[0] == "sniper.nmed"){
  447.                     Player.Inventory.ClearAll();
  448.                     Player.Inventory.AddItemTo("Kevlar Helmet", 36, 1);
  449.                     Player.Inventory.AddItemTo("Kevlar Vest", 37, 1);
  450.                     Player.Inventory.AddItemTo("Kevlar Pants", 38, 1);
  451.                     Player.Inventory.AddItemTo("Kevlar Boots", 39, 1);
  452.  
  453.                     Player.Inventory.AddItemTo("Bolt Action Rifle", 30, 3);
  454.                     Player.Inventory.AddItemTo("Wood Barricade", 31, 20);
  455.                     Player.Inventory.AddItemTo("556 Ammo", 0, 250);
  456.                 }
  457.                 if(args[0] == "sniper.nb"){
  458.                     Player.Inventory.ClearAll();
  459.                     Player.Inventory.AddItemTo("Kevlar Helmet", 36, 1);
  460.                     Player.Inventory.AddItemTo("Kevlar Vest", 37, 1);
  461.                     Player.Inventory.AddItemTo("Kevlar Pants", 38, 1);
  462.                     Player.Inventory.AddItemTo("Kevlar Boots", 39, 1);
  463.  
  464.                     Player.Inventory.AddItemTo("Bolt Action Rifle", 30, 3);
  465.                     Player.Inventory.AddItemTo("Large Medkit", 34, 5);
  466.                     Player.Inventory.AddItemTo("Small Medkit", 35, 5);
  467.                     Player.Inventory.AddItemTo("556 Ammo", 0, 250);
  468.                 }
  469.                 if(args[0] == "sniper.n"){
  470.                     Player.Inventory.ClearAll();
  471.                     Player.Inventory.AddItemTo("Kevlar Helmet", 36, 1);
  472.                     Player.Inventory.AddItemTo("Kevlar Vest", 37, 1);
  473.                     Player.Inventory.AddItemTo("Kevlar Pants", 38, 1);
  474.                     Player.Inventory.AddItemTo("Kevlar Boots", 39, 1);
  475.  
  476.                     Player.Inventory.AddItemTo("Bolt Action Rifle", 30, 3);
  477.                     Player.Inventory.AddItemTo("556 Ammo", 0, 250);
  478.                 }
  479.                 if(args[0] == "assault.st"){
  480.                     Player.Inventory.ClearAll();
  481.                     Player.Inventory.AddItemTo("Kevlar Helmet", 36, 1);
  482.                     Player.Inventory.AddItemTo("Kevlar Vest", 37, 1);
  483.                     Player.Inventory.AddItemTo("Kevlar Pants", 38, 1);
  484.                     Player.Inventory.AddItemTo("Kevlar Boots", 39, 1);
  485.  
  486.                     Player.Inventory.AddItemTo("M4", 30, 24);
  487.                     Player.Inventory.AddItemTo("Wood Barricade", 31, 20);
  488.                     Player.Inventory.AddItemTo("Large Medkit", 34, 5);
  489.                     Player.Inventory.AddItemTo("Small Medkit", 35, 5);
  490.                     Player.Inventory.AddItemTo("556 Ammo", 0, 250);
  491.                     Player.Inventory.AddItemTo("556 Ammo", 1, 250);
  492.                     Player.Inventory.AddItemTo("556 Ammo", 2, 250);
  493.                 }
  494.                 if(args[0] == "assault.nmed"){
  495.                     Player.Inventory.ClearAll();
  496.                     Player.Inventory.AddItemTo("Kevlar Helmet", 36, 1);
  497.                     Player.Inventory.AddItemTo("Kevlar Vest", 37, 1);
  498.                     Player.Inventory.AddItemTo("Kevlar Pants", 38, 1);
  499.                     Player.Inventory.AddItemTo("Kevlar Boots", 39, 1);
  500.  
  501.                     Player.Inventory.AddItemTo("M4", 30, 24);
  502.                     Player.Inventory.AddItemTo("Wood Barricade", 31, 20);
  503.                     Player.Inventory.AddItemTo("556 Ammo", 0, 250);
  504.                     Player.Inventory.AddItemTo("556 Ammo", 0, 250);
  505.                     Player.Inventory.AddItemTo("556 Ammo", 0, 250);
  506.                 }
  507.                 if(args[0] == "assult.nb"){
  508.                     Player.Inventory.ClearAll();
  509.                     Player.Inventory.AddItemTo("Kevlar Helmet", 36, 1);
  510.                     Player.Inventory.AddItemTo("Kevlar Vest", 37, 1);
  511.                     Player.Inventory.AddItemTo("Kevlar Pants", 38, 1);
  512.                     Player.Inventory.AddItemTo("Kevlar Boots", 39, 1);
  513.  
  514.                     Player.Inventory.AddItemTo("M4", 30, 24);
  515.                     Player.Inventory.AddItemTo("Large Medkit", 34, 5);
  516.                     Player.Inventory.AddItemTo("Small Medkit", 35, 5);
  517.                     Player.Inventory.AddItemTo("556 Ammo", 0, 250);
  518.                     Player.Inventory.AddItemTo("556 Ammo", 1, 250);
  519.                     Player.Inventory.AddItemTo("556 Ammo", 2, 250);
  520.                 }
  521.                 if(args[0] == "assult.n"){
  522.                     Player.Inventory.ClearAll();
  523.                     Player.Inventory.AddItemTo("Kevlar Helmet", 36, 1);
  524.                     Player.Inventory.AddItemTo("Kevlar Vest", 37, 1);
  525.                     Player.Inventory.AddItemTo("Kevlar Pants", 38, 1);
  526.                     Player.Inventory.AddItemTo("Kevlar Boots", 39, 1);
  527.  
  528.                     Player.Inventory.AddItemTo("M4", 30, 24);
  529.                     Player.Inventory.AddItemTo("556 Ammo", 0, 250);
  530.                     Player.Inventory.AddItemTo("556 Ammo", 1, 250);
  531.                     Player.Inventory.AddItemTo("556 Ammo", 2, 250);
  532.                 }
  533.                 if(args[0] == "shotty.st"){
  534.                     Player.Inventory.ClearAll();
  535.                     Player.Inventory.AddItemTo("Kevlar Helmet", 36, 1);
  536.                     Player.Inventory.AddItemTo("Kevlar Vest", 37, 1);
  537.                     Player.Inventory.AddItemTo("Kevlar Pants", 38, 1);
  538.                     Player.Inventory.AddItemTo("Kevlar Boots", 39, 1);
  539.  
  540.                     Player.Inventory.AddItemTo("Shotgun", 30, 8);
  541.                     Player.Inventory.AddItemTo("Wood Barricade", 31, 20);
  542.                     Player.Inventory.AddItemTo("Large Medkit", 34, 5);
  543.                     Player.Inventory.AddItemTo("Small Medkit", 35, 5);
  544.                     Player.Inventory.AddItemTo("Shotgun Shells", 0, 250);
  545.                 }
  546.                 if(args[0] == "shotty.nmed"){
  547.                     Player.Inventory.ClearAll();
  548.                     Player.Inventory.AddItemTo("Kevlar Helmet", 36, 1);
  549.                     Player.Inventory.AddItemTo("Kevlar Vest", 37, 1);
  550.                     Player.Inventory.AddItemTo("Kevlar Pants", 38, 1);
  551.                     Player.Inventory.AddItemTo("Kevlar Boots", 39, 1);
  552.  
  553.                     Player.Inventory.AddItemTo("Shotgun", 30, 8);
  554.                     Player.Inventory.AddItemTo("Wood Barricade", 31, 20);
  555.                     Player.Inventory.AddItemTo("Shotgun Shells", 0, 250);
  556.                 }
  557.                 if(args[0] == "shotty.nb"){
  558.                     Player.Inventory.ClearAll();
  559.                     Player.Inventory.AddItemTo("Kevlar Helmet", 36, 1);
  560.                     Player.Inventory.AddItemTo("Kevlar Vest", 37, 1);
  561.                     Player.Inventory.AddItemTo("Kevlar Pants", 38, 1);
  562.                     Player.Inventory.AddItemTo("Kevlar Boots", 39, 1);
  563.  
  564.                     Player.Inventory.AddItemTo("Shotgun", 30, 8);
  565.                     Player.Inventory.AddItemTo("Large Medkit", 34, 5);
  566.                     Player.Inventory.AddItemTo("Small Medkit", 35, 5);
  567.                     Player.Inventory.AddItemTo("Shotgun Shells", 0, 250);
  568.                 }
  569.                 if(args[0] == "shotty.n"){
  570.                     Player.Inventory.ClearAll();
  571.                     Player.Inventory.AddItemTo("Kevlar Helmet", 36, 1);
  572.                     Player.Inventory.AddItemTo("Kevlar Vest", 37, 1);
  573.                     Player.Inventory.AddItemTo("Kevlar Pants", 38, 1);
  574.                     Player.Inventory.AddItemTo("Kevlar Boots", 39, 1);
  575.  
  576.                     Player.Inventory.AddItemTo("Shotgun", 30, 8);
  577.                     Player.Inventory.AddItemTo("Shotgun Shells", 0, 250);
  578.                 }
  579.                 if(args[0] == "rush.st"){
  580.                     Player.Inventory.ClearAll();
  581.                     Player.Inventory.AddItemTo("Kevlar Helmet", 36, 1);
  582.                     Player.Inventory.AddItemTo("Kevlar Vest", 37, 1);
  583.                     Player.Inventory.AddItemTo("Kevlar Pants", 38, 1);
  584.                     Player.Inventory.AddItemTo("Kevlar Boots", 39, 1);
  585.  
  586.                     Player.Inventory.AddItemTo("MP5A4", 30, 30);
  587.                     Player.Inventory.AddItemTo("Wood Barricade", 31, 20);
  588.                     Player.Inventory.AddItemTo("Large Medkit", 34, 5);
  589.                     Player.Inventory.AddItemTo("Small Medkit", 35, 5);
  590.                     Player.Inventory.AddItemTo("9mm Ammo", 0, 250);
  591.                     Player.Inventory.AddItemTo("9mm Ammo", 1, 250);
  592.                     Player.Inventory.AddItemTo("9mm Ammo", 2, 250);
  593.                 }
  594.                 if(args[0] == "rush.nmed"){
  595.                     Player.Inventory.ClearAll();
  596.                     Player.Inventory.AddItemTo("Kevlar Helmet", 36, 1);
  597.                     Player.Inventory.AddItemTo("Kevlar Vest", 37, 1);
  598.                     Player.Inventory.AddItemTo("Kevlar Pants", 38, 1);
  599.                     Player.Inventory.AddItemTo("Kevlar Boots", 39, 1);
  600.  
  601.                     Player.Inventory.AddItemTo("MP5A4", 30, 30);
  602.                     Player.Inventory.AddItemTo("Wood Barricade", 31, 20);
  603.                     Player.Inventory.AddItemTo("9mm Ammo", 0, 250);
  604.                     Player.Inventory.AddItemTo("9mm Ammo", 1, 250);
  605.                     Player.Inventory.AddItemTo("9mm Ammo", 2, 250);
  606.                 }
  607.                 if(args[0] == "rush.nb"){
  608.                     Player.Inventory.ClearAll();
  609.                     Player.Inventory.AddItemTo("Kevlar Helmet", 36, 1);
  610.                     Player.Inventory.AddItemTo("Kevlar Vest", 37, 1);
  611.                     Player.Inventory.AddItemTo("Kevlar Pants", 38, 1);
  612.                     Player.Inventory.AddItemTo("Kevlar Boots", 39, 1);
  613.  
  614.                     Player.Inventory.AddItemTo("MP5A4", 30, 30);
  615.                     Player.Inventory.AddItemTo("Wood Barricade", 31, 20);
  616.                     Player.Inventory.AddItemTo("9mm Ammo", 0, 250);
  617.                     Player.Inventory.AddItemTo("9mm Ammo", 1, 250);
  618.                     Player.Inventory.AddItemTo("9mm Ammo", 2, 250);
  619.                 }
  620.                 if(args[0] == "rush.n"){
  621.                     Player.Inventory.ClearAll();
  622.                     Player.Inventory.AddItemTo("Kevlar Helmet", 36, 1);
  623.                     Player.Inventory.AddItemTo("Kevlar Vest", 37, 1);
  624.                     Player.Inventory.AddItemTo("Kevlar Pants", 38, 1);
  625.                     Player.Inventory.AddItemTo("Kevlar Boots", 39, 1);
  626.  
  627.                     Player.Inventory.AddItemTo("MP5A4", 30, 30);
  628.                     Player.Inventory.AddItemTo("9mm Ammo", 0, 250);
  629.                     Player.Inventory.AddItemTo("9mm Ammo", 1, 250);
  630.                     Player.Inventory.AddItemTo("9mm Ammo", 2, 250);
  631.                 }
  632.                 if(args[0] == "bow.st"){
  633.                     Player.Inventory.ClearAll();
  634.                     Player.Inventory.AddItemTo("Cloth Helmet", 36, 1);
  635.                     Player.Inventory.AddItemTo("Cloth Vest", 37, 1);
  636.                     Player.Inventory.AddItemTo("Cloth Pants", 38, 1);
  637.                     Player.Inventory.AddItemTo("Cloth Boots", 39, 1);
  638.  
  639.                     Player.Inventory.AddItemTo("Hunting Bow", 30, 1);
  640.                     Player.Inventory.AddItemTo("Bandage", 31, 2);
  641.                     Player.Inventory.AddItemTo("Arrow", 0, 10);
  642.                     Player.Inventory.AddItemTo("Arrow", 0, 10);
  643.                     Player.Inventory.AddItemTo("Arrow", 0, 10);
  644.                 }
  645.                 if(args[0] == "bow.nmed"){
  646.                     Player.Inventory.ClearAll();
  647.                     Player.Inventory.AddItemTo("Cloth Helmet", 36, 1);
  648.                     Player.Inventory.AddItemTo("Cloth Vest", 37, 1);
  649.                     Player.Inventory.AddItemTo("Cloth Pants", 38, 1);
  650.                     Player.Inventory.AddItemTo("Cloth Boots", 39, 1);
  651.  
  652.                     Player.Inventory.AddItemTo("Hunting Bow", 30, 1);
  653.                     Player.Inventory.AddItemTo("Arrow", 0, 10);
  654.                     Player.Inventory.AddItemTo("Arrow", 0, 10);
  655.                     Player.Inventory.AddItemTo("Arrow", 0, 10);
  656.                 }
  657.                 if(args[0] == "pick"){
  658.                     Player.Inventory.ClearAll();
  659.                     Player.Inventory.AddItemTo("Pick Axe", 30, 1);
  660.                     Player.Inventory.AddItemTo("Bandage", 31, 1);
  661.                 }
  662.                 if(args[0] == "rock"){
  663.                     Player.Inventory.ClearAll();
  664.                     Player.Inventory.AddItemTo("Rock", 30, 1);
  665.                 }
  666.             }
  667.             else{
  668.                 Player.Message("You aren't an admin silly!");
  669.             }
  670.         }
  671.         if(cmd == "arenareset"){
  672.                 if(Player.Admin){
  673.                         Datastore.Flush(arena_ploc_tbl_name);
  674.                         Datastore.Flush(arena_pinv_tbl_name);
  675.                         Datastore.Flush(arena_pltoa_tbl_name);
  676.                 }
  677.                 for(var astr in Datastore.Values(arena_tbl_name)) {
  678.                         var aObj = castBackToObject(astr);
  679.                         aObj.Enabled = false;
  680.                         aObj.MaxPlayers = 0;
  681.                         aObj.Players = 0;
  682.                         var astr2 = serializeObject(aObj);
  683.                         Datastore.Add(arena_tbl_name, aObj.Name, astr2);
  684.                 }
  685.                 Server.BroadcastFrom("[Arena++]", "All arenas have been reset.")
  686.         }
  687.         if(cmd == "prepareuninstall") {
  688.                 if(Player.Admin) {
  689.                         Datastore.Flush(arena_tbl_name);
  690.                         Datastore.Flush(arena_ploc_tbl_name);
  691.                         Datastore.Flush(arena_pinv_tbl_name);
  692.                         Datastore.Flush(arena_plug_tbl_name);
  693.                         Datastore.Flush(arena_pltoa_tbl_name);
  694.                         Datastore.Flush(arena_pltospec_tbl_name);
  695.                         Player.MessageFrom("[Arena++]", "Uninstalling prepared. You can delete the plugin now!");
  696.                 }
  697.         }
  698. }
  699. function On_ServerInit() {
  700.         Datastore.Load();
  701. }
  702. function On_ServerShutdown() {
  703.         Datastore.Save();
  704. }
  705. function RemovePlayerFromArena(Player, reasonid) {
  706.         if(dataStoreContainsKey(arena_ploc_tbl_name, Player.SteamID)) {
  707.                 if(dataStoreContainsKey(arena_pltoa_tbl_name, Player.SteamID)) {
  708.                         var ArenaName = Datastore.Get(arena_pltoa_tbl_name, Player.SteamID);
  709.                         var astr = Datastore.Get(arena_tbl_name, ArenaName);
  710.                         var aObj = castBackToObject(astr);
  711.                         aObj.Players = parseInt(aObj.Players) - 1;
  712.                         aObj.MaxPlayers = parseInt(aObj.MaxPlayers);
  713.                         Datastore.Remove(arena_pltoa_tbl_name, Player.SteamID);
  714.                         astr = serializeObject(aObj);
  715.                         Datastore.Add(arena_tbl_name, aObj.Name, astr);
  716.                         Server.BroadcastNotice(aObj.Players + " players remain.");
  717.                 }
  718.                 if(reasonid == 0) {
  719.                         var PlayerLocation = Datastore.Get(arena_ploc_tbl_name, Player.SteamID);
  720.                         Player.TeleportTo(PlayerLocation.X, PlayerLocation.Y, PlayerLocation.Z);
  721.                         Player.Message("You teleported back to your location!");
  722.                         Player.Inventory.ClearAll();
  723.                         if(dataStoreContainsKey(arena_pinv_tbl_name, Player.SteamID)) {
  724.                                 var Inventory = Datastore.Get(arena_pinv_tbl_name, Player.SteamID);
  725.                                 if(Inventory) {
  726.                                         for(var i = 0; i < Inventory.length; i++) {
  727.                                                 var Item = Inventory[i];
  728.                                                 if(Item && Item.name) {
  729.                                                         Player.Inventory.AddItemTo(Item.name, Item.slot, Item.quantity);
  730.                                                 }
  731.                                         }
  732.                                 }
  733.                                 else {
  734.                                         Player.Message("Inventory == null");
  735.                                 }
  736.                                 Datastore.Remove(arena_pinv_tbl_name, Player.SteamID);
  737.                         }
  738.                         else {
  739.                                 Player.Message("No Items found!");
  740.                         }
  741.                         Datastore.Remove(arena_ploc_tbl_name, Player.SteamID);
  742.                 }
  743.                 if(dataStoreContainsKey(arena_pltospec_tbl_name, Player.SteamID)) {
  744.                         var ArenaName = Datastore.Get(arena_pltospec_tbl_name, Player.SteamID);
  745.                         var astr = Datastore.Get(arena_tbl_name, ArenaName);
  746.                         var aObj = castBackToObject(astr);
  747.                         Datastore.Remove(arena_pltoa_tbl_name, Player.SteamID);
  748.                         astr = serializeObject(aObj);
  749.                         Datastore.Add(arena_tbl_name, aObj.Name, astr);
  750.                 }
  751.                 if(reasonid == 0) {
  752.                         var PlayerLocation = Datastore.Get(arena_pltospec_tbl_name, Player.SteamID);
  753.                         Player.TeleportTo(PlayerLocation.X, PlayerLocation.Y, PlayerLocation.Z);
  754.                         Player.Message("You teleported back to your location!");
  755.                         Player.Inventory.ClearAll();
  756.                         if(dataStoreContainsKey(arena_pspecinv_tbl_name, Player.SteamID)) {
  757.                                 var Inventory = Datastore.Get(arena_pspecinv_tbl_name, Player.SteamID);
  758.                                 if(Inventory) {
  759.                                         for(var i = 0; i < Inventory.length; i++) {
  760.                                                 var Item = Inventory[i];
  761.                                                 if(Item && Item.name) {
  762.                                                         Player.Inventory.AddItemTo(Item.name, Item.slot, Item.quantity);
  763.                                                 }
  764.                                         }
  765.                                 }
  766.                                 else {
  767.                                         Player.Message("Inventory == null");
  768.                                 }
  769.                                 Datastore.Remove(arena_pspecinv_tbl_name, Player.SteamID);
  770.                         }
  771.                         else {
  772.                                 Player.Message("No Items found!");
  773.                         }
  774.                         Datastore.Remove(arena_pltospec_tbl_name, Player.SteamID);
  775.                 }
  776.                 if(reasonid == 1) {
  777.  
  778.                 }
  779.         }
  780.         else {
  781.                 Player.Message("No pLocation found!");
  782.         }
  783.         if(dataStoreContainsKey(arena_pspecloc_tbl_name, Player.SteamID)) {
  784.                 if(dataStoreContainsKey(arena_pltospec_tbl_name, Player.SteamID)) {
  785.                         var ArenaName = Datastore.Get(arena_pltospec_tbl_name, Player.SteamID);
  786.                         var astr = Datastore.Get(arena_tbl_name, ArenaName);
  787.                         var aObj = castBackToObject(astr);
  788.                         Datastore.Remove(arena_pltoa_tbl_name, Player.SteamID);
  789.                         astr = serializeObject(aObj);
  790.                         Datastore.Add(arena_tbl_name, aObj.Name, astr);
  791.                 }
  792.                 if(reasonid == 0) {
  793.                         var PlayerSpecLocation = Datastore.Get(arena_pltospec_tbl_name, Player.SteamID);
  794.                         Player.TeleportTo(PlayerLocation.X, PlayerLocation.Y, PlayerLocation.Z);
  795.                         Player.Message("You teleported back to your location!");
  796.                         Player.Inventory.ClearAll();
  797.                         if(dataStoreContainsKey(arena_pspecinv_tbl_name, Player.SteamID)) {
  798.                                 var Inventory = Datastore.Get(arena_pspecinv_tbl_name, Player.SteamID);
  799.                                 if(Inventory) {
  800.                                         for(var i = 0; i < Inventory.length; i++) {
  801.                                                 var Item = Inventory[i];
  802.                                                 if(Item && Item.name) {
  803.                                                         Player.Inventory.AddItemTo(Item.name, Item.slot, Item.quantity);
  804.                                                 }
  805.                                         }
  806.                                 }
  807.                                 else {
  808.                                         Player.Message("Inventory == null");
  809.                                 }
  810.                                 Datastore.Remove(arena_pspecinv_tbl_name, Player.SteamID);
  811.                         }
  812.                         else {
  813.                                 Player.Message("No Items found!");
  814.                         }
  815.                         Datastore.Remove(arena_pltospec_tbl_name, Player.SteamID);
  816.                 }
  817.                 if(reasonid == 1) {
  818.  
  819.                 }
  820.         }
  821.         else {
  822.                 Player.Message("No pLocation found!");
  823.         }
  824. }
  825. function castBackToObject(serializedstring) {
  826.         var MyObject = {};
  827.         var s1 = serializedstring.split(",");
  828.         for(var i = 0; i < s1.length; i++) {
  829.                 var s2 = s1[i].split("=");
  830.                 MyObject[s2[0]] = s2[1];
  831.         }
  832.         return MyObject;
  833. }
  834. function serializeObject(MyObject) {
  835.         var string = "";
  836.         for(var key in MyObject) {
  837.                 if(MyObject.hasOwnProperty(key)) {
  838.                         string += key + "=" + MyObject[key] + ",";
  839.                 }
  840.         }
  841.         string = Data.Substring(string, 0 , Data.StrLen(string) -1);
  842.         return string;
  843. }
  844. function arrayContainsValue(array, value) {
  845.         for(var i = 0; i < array.length; i++) {
  846.                 if(array[i] == value) {
  847.                         return true;
  848.                 }
  849.         }
  850.         return false;
  851. }
  852. function dataStoreContainsKey(tbl, pkey) {
  853.         for(var key in Datastore.Keys(tbl)) {
  854.                 if(Data.ToLower(key) == Data.ToLower(pkey)) return true;
  855.         }
  856.         return false;
  857. }
  858.  
  859. function On_ServerInit() {
  860.         Datastore.Load();
  861. }
  862.  
  863. function On_ServerShutdown() {
  864.                 Datastore.Flush(arena_pinv_tbl_name);
  865.                 Datastore.Flush(arena_ploc_tbl_name);
  866.                 Datastore.Flush(arena_pltoa_tbl_name);
  867.         Datastore.Save();
  868. }
  869.  
  870. function getstringofargs(args, start, followingargs){
  871.     var string = "";
  872.     for(var i = start; i < args.Length - followingargs; i++) {
  873.         string += args[i] + " ";
  874.     }
  875.     string = Data.Substring(string, 0, Data.StrLen(string) - 1);
  876.     return string;
  877. }
  878.  
  879. function On_PlayerKilled(DeathEvent) {
  880.     if(dataStoreContainsKey(arena_pltoa_tbl_name, DeathEvent.Victim.SteamID)){
  881.         RemovePlayerFromArena(DeathEvent.Victim, 1);
  882.         //add deathmessage here
  883.     }
  884. }
  885. function On_PlayerDisconnected(Player){
  886.         RemovePlayerFromArena(Player, 2);
  887. }
  888.  
  889. function On_PlayerSpawned(Player, SpawnEvent) {
  890.         if(dataStoreContainsKey(arena_pinv_tbl_name, Player.SteamID)) {
  891.                 Player.Inventory.ClearAll();
  892.         var Inventory = Datastore.Get(arena_pinv_tbl_name, Player.SteamID);
  893.         if(Inventory) {
  894.                 for(var i = 0; i < Inventory.length; i++) {
  895.                         var Item = Inventory[i];
  896.                         if(Item && Item.name) {
  897.                                 Player.Inventory.AddItemTo(Item.name, Item.slot, Item.quantity);
  898.                         }
  899.                 }
  900.         }
  901.         Datastore.Remove(arena_pinv_tbl_name, Player.SteamID);
  902.         }
  903. }
  904.  
  905. function On_PlayerSpawning(Player, SpawnEvent) {
  906.         if(dataStoreContainsKey(arena_ploc_tbl_name, Player.SteamID)) {
  907.         var PlayerLocation = Datastore.Get(arena_ploc_tbl_name, Player.SteamID);
  908.         SpawnEvent.X = PlayerLocation.X;
  909.         SpawnEvent.Y = PlayerLocation.Y;
  910.         SpawnEvent.Z = PlayerLocation.Z;
  911.         Datastore.Remove(arena_ploc_tbl_name, Player.SteamID);
  912.     }
  913. }
  914.  
  915. /*function ArenaPlayers(arena){
  916.         var obj = {};
  917.         obj = DataStore.GetTable(arena_pltoa_tbl_name);
  918.         for(var key in obj.Keys){
  919.                 var arenaname = obj[key];
  920.                 if(arenamane.Contains(arena)){
  921.  
  922.                 }
  923.         }
  924. }*/
Advertisement
Add Comment
Please, Sign In to add comment