Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2014
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var fix = [
  2.     ["Campfire", "Camp Fire"],
  3.     ["Wood_Shelter", "Wood Shelter"], ["Barricade_Fence_Deployable", "Wood Barricade"],
  4.     ["Wood Spike Wall", "Spike Wall"], ["Large Wood Spike Wall", "Large Spike Wall"],
  5.     ["Wood Box", "Wood Storage Box"],["Wood Box Large", "Large Wood Storage"],
  6.  
  7.     ["Wood Door Frame", "Wood Doorway"], ["Metal Door Frame", "Metal Doorway"],
  8.     ["Wood Window Frame", "Wood Window"], ["Metal Window Frame", "Metal Window"],
  9.     ["Metal Bars Window", "Metal Window Bars"]
  10. ];
  11. var tryb = 0; // 0-> wyłacza się po każdym zniszczeniu 1-> wyłacza się po czasie 2-> w ogóle się nie wyłącza samodzielnie
  12. var doEkwipunku = false; // true -> Rozwalone elementy dodają się do ekwipunku
  13. var ttt = [];
  14.         ttt[0] = 2 ; /// GODZINA STARTU
  15.         ttt[1] = 45; // MINUTY STARTU
  16.  
  17. var tt2 = [];
  18.         tt2[0] = 3; // godzina zakończenia
  19.         tt2[1] = 15; // minuty zakończenia
  20.  
  21. function On_EntityHurt(Hurt)
  22.         {
  23.         if(Hurt.Attacker != null && Hurt.Entity != null)
  24.                 {
  25.                 if(Hurt.Attacker.PlayerClient.netUser.userID == Hurt.Entity.OwnerID)
  26.                         {
  27.                         if(GetMode(Hurt.Attacker))
  28.                                 {
  29.                                 if(destItem != "Metal Window Bars" && IsEligible(Hurt) == true)
  30.                                         {
  31.                                         Hurt.Entity.Destroy();
  32.                                                 if(doEkwipunku)
  33.                                                 {
  34.                                                 var destItem = StringFix(Hurt.Entity.Name);
  35.                                                 Hurt.Attacker.Inventory.AddItem(destItem, 1);
  36.                                                 Rust.Notice.Inventory(Hurt.Attacker.PlayerClient.netPlayer, "1 x " + destItem);
  37.                                                 }
  38.                                         }
  39.                                 if(tryb==0)
  40.                                         {
  41.                                         Data.AddTableValue("destroy_mode", Hurt.Attacker.SteamID, !GetMode(Hurt.Attacker));
  42.                                         Hurt.Attacker.Message("destroy mode automatycznie wyłączony");
  43.                                         //Hurt.Attacker.Message("TRYB==0");
  44.                                         }
  45.                                 else if(tryb==1)
  46.                                         {
  47.                                         var time = parseInt(System.DateTime.Now.ToString("%H")*60)+parseInt(System.DateTime.Now.ToString("%m"));
  48.                                         //Hurt.Attacker.Message("TRYB==1");
  49.                                         var t2 = (tt2[0]*60)+tt2[1];
  50.                                        
  51.                                         if(time > t2)
  52.                                                 {
  53.                                                 //Hurt.Attacker.Message("time > t2");
  54.                                                 Data.AddTableValue("destroy_mode", Hurt.Attacker.SteamID, !GetMode(Hurt.Attacker));
  55.                                                 Hurt.Attacker.Message("destroy mode automatycznie wyłączony (minęła "+tt2[0]+":"+tt2[1]+")");
  56.                                                 }
  57.                                         else
  58.                                                 {
  59.                                                 Hurt.Attacker.Message("Możesz niszczyć przedmioty do "+tt2[0]+":"+tt2[1]);
  60.                                                 Hurt.Attacker.Message("Teraz jest godzina " + System.DateTime.Now.ToString("HH:mm"));
  61.                                                 }
  62.                                         }
  63.                                 else
  64.                                         {
  65.                                         //Hurt.Attacker.Message("TRYB==2");
  66.                                         Hurt.Attacker.Message("nieograniczone używanie destroy mode");
  67.                                         }
  68.                                 }
  69.                         else
  70.                                 {
  71.                                 //Hurt.Attacker.Message("destroy mode był i jest wyłączony");
  72.                                 }
  73.                 }
  74.         }
  75. }
  76.  
  77. function On_Command(Player, cmd, args)
  78.     {
  79.     var time = parseInt(System.DateTime.Now.ToString("%H")*60)+parseInt(System.DateTime.Now.ToString("%m"));
  80.     switch(cmd)
  81.         {
  82.         case "destroy":
  83.                         if((tryb==0)||(tryb==1))
  84.                                 {
  85.                                 var t1 = (ttt[0]*60)+ttt[1];
  86.                                 var t2 = (tt2[0]*60)+tt2[1];
  87.                                 if((time >= t1)&(time < t2))
  88.                                         {
  89.                                         Data.AddTableValue("destroy_mode", Player.SteamID, !GetMode(Player));
  90.                                         Player.Message("Destroy Mode has been " + (GetMode(Player) ? "enabled." : "disabled."));
  91.                                         }
  92.                                 else
  93.                                         {
  94.                                         if(GetMode(Player))
  95.                                                 {
  96.                                                 Player.Message("Autowyłącznie Destroy Mode");
  97.                                                 Data.AddTableValue("destroy_mode", Player.SteamID, !GetMode(Player));
  98.                                                 }
  99.                                         Player.Message("Destroy Mode dostepny od "+ttt[0]+":"+ttt[1]+" do "+tt2[0]+":"+tt2[1]);
  100.                                         Player.Message("Teraz jest godzina " + System.DateTime.Now.ToString("HH:mm"));
  101.                                         }
  102.                                 }
  103.                         else
  104.                                 {
  105.                                 Data.AddTableValue("destroy_mode", Player.SteamID, !GetMode(Player));
  106.                                 Player.Message("Destroy Mode has been " + (GetMode(Player) ? "enabled." : "disabled."));
  107.                                 }
  108.         }
  109.     }
  110.  
  111. function GetMode(Player)
  112.         {
  113.     var destroy = Data.GetTableValue("destroy_mode", Player.SteamID);
  114.         if(destroy== null)
  115.                 {
  116.                 return 'false';
  117.                 }
  118.         else
  119.                 {
  120.                 return destroy;
  121.                 }
  122.         }
  123.  
  124. function StringFix(str)
  125.         {
  126.     str = str.replace(/([a-z])([A-Z])/g, '$1 $2');
  127.     for(var i=1; i < fix.length; i++)
  128.                 {
  129.         if(str==fix[0])
  130.                         {
  131.             return fix[1];
  132.                         }
  133.                 }
  134.     return str;
  135.         }
  136.  
  137. function IsEligible(HurtEvent)
  138.         {
  139.     try
  140.                 {
  141.         var Eligible = HurtEvent.Entity.Object._master.ComponentCarryingWeight(HurtEvent.Entity.Object);
  142.         return !Eligible;
  143.         }
  144.     catch(err)
  145.                 {
  146.                 return true;
  147.                 }
  148.         }
  149. function On_EntityDeployed(Player, Entity)
  150. {
  151.     var subZone1 = World.CreateZone(Player.SteamID + "Zone1");
  152.     var subZone2 = World.CreateZone(Player.SteamID + "Zone2");
  153.     var subZone3 = World.CreateZone(Player.SteamID + "Zone3");
  154.     var subZone4 = World.CreateZone(Player.SteamID + "Zone4");
  155.  
  156.     subZone1.Mark(Entity.X, Entity.Z);
  157.     subZone1.Mark(Entity.X, Entity.Z+3);
  158.     subZone1.Mark(Entity.X-3, Entity.Z+3);
  159.     subZone1.Mark(Entity.X-3, Entity.Z);
  160.  
  161.     subZone2.Mark(Entity.X, Entity.Z);
  162.     subZone2.Mark(Entity.X, Entity.Z+3);
  163.     subZone2.Mark(Entity.X+3, Entity.Z+3);
  164.     subZone2.Mark(Entity.X+3, Entity.Z);
  165.  
  166.     subZone3.Mark(Entity.X, Entity.Z);
  167.     subZone3.Mark(Entity.X, Entity.Z-3);
  168.     subZone3.Mark(Entity.X-3, Entity.Z-3);
  169.     subZone3.Mark(Entity.X-3, Entity.Z);
  170.  
  171.     subZone4.Mark(Entity.X, Entity.Z);
  172.     subZone4.Mark(Entity.X, Entity.Z-3);
  173.     subZone4.Mark(Entity.X+3, Entity.Z-3);
  174.     subZone4.Mark(Entity.X+3, Entity.Z);
  175.  
  176.     for(var thisEntity in subZone1.Entities){
  177.         if((Entity.Name == "WoodFoundation" && thisEntity.Name != "WoodFoundation") || (Entity.Name == "MetalFoundation" && thisEntity.Name != "MetalFoundation"))
  178.     {
  179.             if(thisEntity.Name == "WoodBox" || thisEntity.Name == "WoodBoxLarge" || thisEntity.Name == "SleepingBagA")
  180.         {
  181.                 Util.DestroyObject(Entity.Object.gameObject);
  182.                 Player.Notice("Nie mozesz tu tego postawic");
  183.                 }
  184.         }
  185.     }
  186.  
  187.     for(var thisEntity in subZone2.Entities)
  188.     {
  189.         if((Entity.Name == "WoodFoundation" && thisEntity.Name != "WoodFoundation") || (Entity.Name == "MetalFoundation" && thisEntity.Name != "MetalFoundation"))
  190.         {
  191.             if(thisEntity.Name == "WoodBox" || thisEntity.Name == "WoodBoxLarge" || thisEntity.Name == "SleepingBagA"){
  192.                 Util.DestroyObject(Entity.Object.gameObject);
  193.                 Player.Notice("Nie mozesz tu tego postawic");
  194.                 }
  195.         }
  196.     }
  197.  
  198.     for(var thisEntity in subZone3.Entities)
  199.     {
  200.         if((Entity.Name == "WoodFoundation" && thisEntity.Name != "WoodFoundation") || (Entity.Name == "MetalFoundation" && thisEntity.Name != "MetalFoundation"))
  201.         {
  202.                 if(thisEntity.Name == "WoodBox" || thisEntity.Name == "WoodBoxLarge" || thisEntity.Name == "SleepingBagA")
  203.             {
  204.                     Util.DestroyObject(Entity.Object.gameObject);
  205.                     Player.Notice("Nie mozesz tu tego postawic");
  206.                     }
  207.             }
  208.         }
  209.  
  210.     for(var thisEntity in subZone4.Entities)
  211.     {
  212.         if((Entity.Name == "WoodFoundation" && thisEntity.Name != "WoodFoundation") || (Entity.Name == "MetalFoundation" && thisEntity.Name != "MetalFoundation"))
  213.         {
  214.                 if(thisEntity.Name == "WoodBox" || thisEntity.Name == "WoodBoxLarge" || thisEntity.Name == "SleepingBagA")
  215.             {
  216.                      Util.DestroyObject(Entity.Object.gameObject);
  217.                      Player.Notice("Nie mozesz tu tego postawic");
  218.                     }
  219.             }
  220.         }  
  221.  
  222.     DataStore.Remove("3DZonesList", Player.SteamID + "Zone1");
  223.     DataStore.Remove("3DZonesList", Player.SteamID + "Zone2");
  224.     DataStore.Remove("3DZonesList", Player.SteamID + "Zone3");
  225.     DataStore.Remove("3DZonesList", Player.SteamID + "Zone4");
  226. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement