1. Wulf

    Wulf Community Admin

    .dll files are extensions, not plugins. All plugins here are not something you'd compile to .dll, and there'd be no reason to. Sounds like someone gave you some false information that led you to believe that all plugins have to be .dll for itemv2.
     
  2. There are some people that convert the plugins to ddl only to be able to use them without Steam...
     
  3. Wulf

    Wulf Community Admin

    That isn't the purpose of that, the DLL versions you find are people trying to sell them and "protect" them.
     
  4. sometimes you need to use the dll, and the "protection" is illusory, but the plus =)
     
  5. Well, this is one of the ddl's...
    Code:
    ```
    internal class Patching
        {
            // Token: 0x06000048 RID: 72 RVA: 0x000045F0 File Offset: 0x000027F0
            public void PathNoSteam(KitsPlugin plg)
            {
                this.PathNoSteam();
                bool flag = this.rest > 0;
                if (flag)
                {
                    Singleton<ConsoleManager>.Instance.ExecuteCommand("quit");
                }
            }        // Token: 0x06000049 RID: 73 RVA: 0x00004624 File Offset: 0x00002824
            public void PathNoSteam()
            {
                this.PathServInit();
            }
    ```
     
  6. Wulf

    Wulf Community Admin

    Yeah, most of those types of DLLs do some sketchy stuff, and mostly geared toward pirated servers.
     
  7. When i download a Hurtworld item v2 server, using steamcmd, it download only one map - mangatang. But what about others - diemensland, nulliestest, why they are not loading with the server?
     
  8. Wulf

    Wulf Community Admin

    Pretty sure that's the only map available for itemv2 right now.
     
  9. Wulf, Will u update Roll The Dice in breaks?
     
  10. Please update the Oxide for the newest Hurtworld version
    @Wulf
     
    Last edited by a moderator: Aug 9, 2017
  11. Wulf

    Wulf Community Admin

    No plans anytime soon, but working on making it universal.

    Already pushed the patch for it, will put up a snapshot build for it soon.
     
  12. Code:
    Console: RollTheDice.cs(212,61): error CS1502: The best overloaded method match for `HNetworkManager.SpawnPrefabClient(string, ushort, ushort, ERarity)' has some invalid arguments
    /home/k8169_s5095/server_5095/Assembly-CSharp.dll (Location of the symbol related to previous error)
    RollTheDice.cs(212,102): error CS1503: Argument `#2' cannot convert `float' expression to type `ushort'
    Code:
      RaycastHit hitInfo;
      Physics.Raycast(position, Vector3.down, out hitInfo);
      {
                 Quaternion rotation = Quaternion.Euler(0.0f, (float)UnityEngine.Random.Range(0f, 360f), 0.0f);
      rotation = Quaternion.FromToRotation(Vector3.down, hitInfo.normal) * rotation;
                 ushort seed = (ushort)UnityEngine.Random.Range(0, 65535);
      Singleton<HNetworkManager>.Instance.SpawnPrefabClient(rolledSpawn.spawnName, 0f, (ushort)UnityEngine.Random.Range(0, 65535), ERarity.Common);
      numberSpawned++;
      }
    thanks
     
  13. fixed just
     
  14. Code:
      else if (rnd > sumItemChance /*+ sumStatChance*/ && rnd <= /*sumStatChance +*/ sumItemChance + sumSpawnChance)
      {
      count = sumItemChance /*+ sumStatChance*/;
      GameObject obj = new GameObject();  for (int i = 0; i < roll.spawns.Count && rolledSpawn.spawnName == null; i++)
      {
      count += roll.spawns[i].chance;  if (count >= rnd)
      rolledSpawn = roll.spawns[i];
      }  var iterations = 0;
      var numberSpawned = 0;  for (numberSpawned = 0; numberSpawned < rolledSpawn.amount && iterations < rolledSpawn.amount*100;)
      {
      Vector3 position = new Vector3(playerEntity.transform.position.x + Core.Random.Range(-10, 10),
      playerEntity.transform.position.y + Core.Random.Range(0, 10),
      playerEntity.transform.position.z + Core.Random.Range(-10, 10));  RaycastHit hitInfo;
      Physics.Raycast(position, Vector3.down, out hitInfo);
      {
                 Quaternion rotation = Quaternion.Euler(0.0f, (float)UnityEngine.Random.Range(0f, 360f), 0.0f);
      rotation = Quaternion.FromToRotation(Vector3.down, hitInfo.normal) * rotation;
                 ushort seed = (ushort)UnityEngine.Random.Range(0, 65535);
                 ushort idk = 0;
      Singleton<HNetworkManager>.Instance.SpawnPrefabClient(rolledSpawn.spawnName, idk, seed, ERarity.Common);
      numberSpawned++;
      }  iterations++;   
      }  BroadcastMsg(Msg("GiveRoll_SpawnGive")
      .Replace("{player}", session.Identity.Name)
      .Replace("{amount}", numberSpawned.ToString())
      .Replace("{creature}", creatures[rolledSpawn.spawnName.ToLower()]));
      }
      else
      {
      var replacementFound = false;
      count = sumStatChance + sumItemChance + sumSpawnChance;
       
      for (int i = 0; i < roll.replacements.Count && rolledReplacement.itemid == 0; i++)
      {
      count += roll.replacements[i].chance;  if (count >= rnd)
      rolledReplacement = roll.replacements[i];
      }         var noOfIterations = 0;
             for (int i = Core.Random.Range(0, playerinv.Capacity); !replacementFound && noOfIterations < 1000;)
             {
               if(playerinv.GetSlot(i) != null)
               {
                 var item = itemmanager.GetItem(rolledReplacement.itemid);
                 ItemObject iitem = itemmanager.CreateItem(item.Generator, rolledReplacement.amount);
                 ItemObject replaceedItem = playerinv.GetSlot(i);             replaceedItem = iitem;
                 amanager.ItemReceivedServer(iitem, iitem.StackSize, session.Player);
                 playerinv.Invalidate(false);
                 replacementFound = true;             BroadcastMsg(Msg("GiveRoll_ItemReplace")
                   .Replace("{player}", session.Identity.Name)
                   .Replace("{amount1}", replaceedItem.StackSize.ToString())
                   .Replace("{itemname1}", replaceedItem.Generator.ToString().Split('/').Last())
                   .Replace("{amount2}", playerinv.GetSlot(i).StackSize.ToString())
                   .Replace("{itemname2}", playerinv.GetSlot(i).Generator.ToString().Split('/').Last()));
               }           noOfIterations++;
             }
      }
      return true;
      }  void Destroy(GameObject obj)
      {
      timer.Once(600, () =>
      {
      Singleton<HNetworkManager>.Instance.NetDestroy(uLink.NetworkView.Get(obj));
      });
      }
    "Console: RollTheDice.cs(188,28): warning CS0219: The variable `obj' is assigned but its value is never used"
    My plugin is working, but.. i can't reedem item and no communicate on chat who rolled.

    Code:
      case "remove":
      rollname = args[1].ToLower();
      if (!storedData.Rolls.Remove(rollname))
      {
      ShowMsg(session, Msg("CmdRoll_NewRollNotExists"));
      return;
      }
       
      ShowMsg(session, Msg("CmdRoll_Remove").Replace("{rollname}", rollname));
      if (rollEditor[session.SteamId.m_SteamID] == rollname) rollEditor.Remove(session.SteamId.m_SteamID);
      break;
      default:
      if (!rollEditor.TryGetValue(session.SteamId.m_SteamID, out rollname))
      {
      ShowMsg(session, Msg("CmdRoll_NotInEdit"));
      return;
      }
      Roll roll;
      if (!storedData.Rolls.TryGetValue(rollname, out roll))
      {
      ShowMsg(session, Msg("CmdRoll_Dirty"));
      return;
      }
      for (var i = 0; i < args.Length; i++)
      {
      object editvalue;
      var key = args[i].ToLower();
      switch (key)
      {
    
    RollTheDice.cs(739,32): warning CS0219: The variable `editvalue' is assigned but its value is never used

    I think if i repair it, plugin will work great :D
     
  15. Wulf

    Wulf Community Admin

    Those are warnings, not errors, and would not prevent it from working. Your issue likely is somewhere else with it else you removed what those variables were doing.
     
  16. Okey, is possible to get 5 languages from one plugin? im creating lang/en lang/pl and only lang/en is working.
     
  17. Wulf

    Wulf Community Admin

    Yes, you can have it generate or manually create as many as you'd like. If it's only using English, then that generally means that the keys you are calling do not match, aren't translated, or otherwise inaccessible.
     
  18. Code:
            string Msg(string msg, string SteamId = null) => lang.GetMessage(msg, this, SteamId);
            void ShowMsg(PlayerSession session, string msg) => hurt.SendChatMessage(session, msg);
            void BroadcastMsg(string msg) => hurt.BroadcastChat(msg);        void Loaded()
            {
                LoadData();
                lang.RegisterMessages(messages, this);
                try
                {
                    rollsData = Interface.Oxide.DataFileSystem.ReadObject<Dictionary<ulong, Dictionary<string, RollData>>>("Rolls_Data");
                }
                catch
                {
                    rollsData = new Dictionary<ulong, Dictionary<string, RollData>>();
                }
            }
    still not loading lang/pl, only lang/en
     
  19. Wulf

    Wulf Community Admin

    You're only registering one set of messages from the looks of it.
     
  20. Is plugin, which i can modeling?