Esempio n. 1
0
        private void Awake()
        {
            //add
            m_nview = GetComponent <ZNetView>();
            if (m_nview.GetZDO() == null)
            {
                DBG.blogWarning("Mark Report zdo null");
                return;
            }
            if (m_nview.GetZDO().GetBool("LocMarkUsed", false))
            {
                MarkList.Remove(ID);
                Destroy(this);
                return;
            }
            else
            {
                ID = ZoneSystem.instance.GetZone(transform.position).Pak();
                if (MarkList.ContainsKey(ID))
                {
                    DubList.Add(ID, this);
                }
                else
                {
                    MarkList.Add(ID, this);
                }

                DBG.blogInfo("locmark placed at zone : " + ID);
            }
        }
Esempio n. 2
0
 public void ReigsterRpc()
 {
     MyQuests = new Dictionary <string, Quest>();
     ZRoutedRpc.instance.Register <string, Vector3>("RPC_CreateQuestSucced", new Action <long, string, Vector3>(RPC_CreateQuestSucced));
     ZRoutedRpc.instance.Register("RPC_CreateQuestFailed", new Action <long>(RPC_CreateQuestFailed));
     DBG.blogWarning("QuestManager rpc reged");
 }
Esempio n. 3
0
        public static void HackingFarm()
        {
            Transform t = PrefabManager.Root.transform;
            var       a = ZoneSystem.instance.m_locations;

            foreach (var item in a)
            {
                if (item.m_prefabName == "WoodFarm1")
                {
                    t = item.m_prefab.transform;
                    break;
                }
            }
            var guard = ZNetScene.instance.GetPrefab("GuardVillager" + "Spawner");
            var msg   = ZNetScene.instance.GetPrefab("MessageNPCHuman" + "Spawner");
            var rsc   = ZNetScene.instance.GetPrefab("MatNPCHuman" + "Spawner");

            rsc = Instantiate(rsc, new Vector3(5, 0, 5) + t.position, Quaternion.identity, t);
            msg = Instantiate(msg, new Vector3(5.5f, 0, 5.5f) + t.position, Quaternion.identity, t);
            for (int i = 0; i < 9; i++)
            {
                guard = Instantiate(guard, new Vector3(10.RollDices(), 0, 10.RollDices()) + t.position, Quaternion.identity, t);
            }
            rsc.name   = rsc.name.RemoveClone();
            msg.name   = msg.name.RemoveClone();
            guard.name = guard.name.RemoveClone();
            DBG.blogWarning("Hacking Village");
        }
Esempio n. 4
0
        public static void saveOdinData(string name)
        {
            if (DevTool.DisableSaving)
            {
                OdinPlus.m_instance.isLoaded = true;
                return;
            }
            #region Save
            QuestManager.instance.Save();
            Data.Credits = Credits;
            #endregion Save

            #region Serialize
            string file = Path.Combine(Application.persistentDataPath, (name + ".odinplus"));
            if (File.Exists(@file))
            {
                //add Backup
            }
            FileStream   fileStream   = new FileStream(@file, FileMode.Create, FileAccess.Write);
            string       dat          = JsonConvert.SerializeObject(Data);
            BinaryWriter binaryWriter = new BinaryWriter(fileStream);
            binaryWriter.Write(dat);
            binaryWriter.Flush();
            binaryWriter.Close();
            //BinaryFormatter formatter = new BinaryFormatter();
            //formatter.Serialize(fileStream, Data);
            fileStream.Close();
            #endregion Serialize

            DBG.blogWarning("OdinDataSaved:" + name);
        }
Esempio n. 5
0
 private void Awake()
 {
     if (DevTool.DisableSaving)
     {
         Credits = 1000;
     }
     Data        = new DataTable();
     Data.Quests = new List <Quest>();
     if (Plugin.CFG_ItemSellValue.Value == "")
     {
         return;
     }
     string[] l1 = Plugin.CFG_ItemSellValue.Value.Split(new char[] { ';' });
     for (int i = 0; i < l1.Length; i++)
     {
         string[] c = l1[i].Split(new char[] { ':' });
         if (c.Length == 0)
         {
             continue;
         }
         try
         {
             ItemSellValue.Add(c[0], int.Parse(c[1]));
         }
         catch (Exception e)
         {
             DBG.blogWarning("CFG Error,Check Your ItemSellValue");
             DBG.blogWarning(e);
         }
     }
 }
Esempio n. 6
0
        public static void HackLoctaions()
        {
            if (!ZNet.instance.IsServer())
            {
                return;
            }
            var locPar = GameObject.Find("/_Locations").transform;

            for (int i = 0; i < locPar.childCount; i++)
            {
                var par = locPar.GetChild(i);
                for (int k = 0; k < par.childCount; k++)
                {
                    var par2 = par.GetChild(k);
                    var dgg  = par2.GetComponentInChildren <DungeonGenerator>();
                    if (dgg)
                    {
                        var go = Instantiate(Prefab, dgg.transform);
                        go.name = ("LocMark");
                        DBG.blogWarning("Hack Dungeon: " + par2.name);
                    }
                    else
                    {
                        var go2 = Instantiate(Prefab, par2);
                        go2.name = ("LocMark");
                        DBG.blogWarning("Hack Location: " + par2.name);
                    }
                }
            }
        }
Esempio n. 7
0
 public static void DestroyCTN(Vector3 pos, float p_range)
 {
     Collider[] array = Physics.OverlapBox(pos, Vector3.one * p_range);
     foreach (var col in array)
     {
         var ctn  = col.GetComponent <Container>();
         var ctn2 = col.transform.parent.GetComponent <Container>();
         var ctn3 = col.transform.parent.parent.GetComponent <Container>();
         if (ctn)
         {
             ctn.gameObject.GetComponent <ZNetView>().Destroy();
             DBG.blogWarning("Find destroyable ctn");
             return;
         }
         if (ctn2)
         {
             col.transform.parent.GetComponent <ZNetView>().Destroy();
             DBG.blogWarning("Find destroyable ctn parent");
             return;
         }
         if (ctn3)
         {
             ctn3.GetComponent <ZNetView>().Destroy();
             DBG.blogWarning("Find destroyable ctn grandparent");
             return;
         }
     }
 }
Esempio n. 8
0
 private static void PrintMeadsLoc()
 {
     foreach (var item in OdinMeads.MeadList.Keys)
     {
         DBG.blogWarning("op_" + item + "_name");
         DBG.blogWarning("op_" + item + "_desc");
         DBG.blogWarning("op_" + item + "_tooltip");
     }
 }
Esempio n. 9
0
 private void Reg()
 {
     if (ZNet.instance.IsServer())
     {
         ZRoutedRpc.instance.Register <string>("RPC_ServerSetGlobalKey", new Action <long, string>(RPC_ServerSetGlobalKey));
         ZRoutedRpc.instance.Register("RPC_ServerResetGlobalKey", new Action <long>(RPC_ServerResetGlobalKey));
         DBG.blogWarning("Server Reg:cheat Global Key");
     }
 }
Esempio n. 10
0
 private void Rpc_GetStartPos(long sender)
 {
     DBG.blogWarning("Server got odin postion request");
     if (Plugin.CFG_OdinPosition.Value != Vector3.zero)
     {
         OdinPostion = Plugin.CFG_OdinPosition.Value;
     }
     ZRoutedRpc.instance.InvokeRoutedRPC(sender, "RPC_SetStartPos", new object[] { OdinPostion });
 }
Esempio n. 11
0
        private static void PrintMeadsList()
        {
            string s = "";

            foreach (var item in OdinMeads.MeadList.Keys)
            {
                s += item + ",";
            }
            DBG.blogWarning(s);
        }
Esempio n. 12
0
        public void RPC_CreateQuestSucced(long sender, string id, Vector3 pos)
        {
            CancelWaitError();
            var quest = WaitQuest;

            quest.ID            = id;
            quest.m_realPostion = pos;
            questProcesser.Begin();
            DBG.blogWarning(string.Format("Client :Create Quest {0} {1} at {2}", id, quest.locName, pos));
        }
Esempio n. 13
0
        public static void CreateNPC <T>(string pname, string goname) where T : Component
        {
            var go = Instantiate(BasicHuman, OdinPlus.PrefabParent.transform);

            CreatePreset(go, pname);
            go.AddComponent <T>();
            go.name = goname;
            PrefabList.Add(go.name, go.gameObject);
            HumanList.Add(go.name, go.gameObject);
            DBG.blogWarning("Create Human" + go.name);
        }
Esempio n. 14
0
 public static void SpawnFloor(Vector3 position, Quaternion rotation, GameObject piece)
 {
     try
     {
         UnityEngine.Object.Instantiate <GameObject>(piece, position, rotation);
     }
     catch (Exception e)
     {
         DBG.blogWarning("SpawnFloor Failed:" + e);
     }
 }
Esempio n. 15
0
        public static object InvokePrivate(object instance, string name, object[] args = null)
        {
            MethodInfo method = instance.GetType().GetMethod(name, BindingFlags.NonPublic | BindingFlags.Instance);

            if (method == null)
            {
                DBG.blogWarning("Method " + name + " does not exist on type: " + instance.GetType());
                return(null);
            }

            return(method.Invoke(instance, args));
        }
Esempio n. 16
0
        public static void SetPrivateField(object instance, string name, object value)
        {
            FieldInfo var = instance.GetType().GetField(name, BindingFlags.NonPublic | BindingFlags.Instance);

            if (var == null)
            {
                DBG.blogWarning("Variable " + name + " does not exist on type: " + instance.GetType());
                return;
            }

            var.SetValue(instance, value);
        }
Esempio n. 17
0
        public static T GetPrivateField <T>(object instance, string name)
        {
            FieldInfo var = instance.GetType().GetField(name, BindingFlags.NonPublic | BindingFlags.Instance);

            if (var == null)
            {
                DBG.blogWarning("Variable " + name + " does not exist on type: " + instance.GetType());
                return(default(T));
            }

            return((T)var.GetValue(instance));
        }
Esempio n. 18
0
        public static bool CheckPlayerNull(bool log = false)
        {
            if (Player.m_localPlayer == null)
            {
                if (log)
                {
                    DBG.blogWarning("Player is Null");
                }

                return(true);
            }
            return(false);
        }
Esempio n. 19
0
 private void Update()
 {
     if (m_container.GetInventory() == null)
     {
         DBG.blogWarning("Cant find inv");
         return;
     }
     if (m_container.GetInventory().NrOfItems() == 0)
     {
         Instantiate(NpcManager.RavenPrefab.GetComponent <Raven>().m_despawnEffect.m_effectPrefabs[0].m_prefab, gameObject.transform.position, Quaternion.identity);
         ZNetScene.instance.Destroy(gameObject);
     }
 }
Esempio n. 20
0
        public static void Place(Vector3 pos, string monster, string id, string _owner, int p_key, int p_lvl)
        {
            float y = 0;

            ZoneSystem.instance.FindFloor(pos, out y);
            pos = new Vector3(pos.x, y + 2, pos.z + 5);
            var Reward = Instantiate(ZNetScene.instance.GetPrefab(monster + "Hunt"), pos, Quaternion.identity);

            Reward.GetComponent <HuntTarget>().ID          = id;
            Reward.GetComponent <HuntTarget>().m_ownerName = _owner;
            Reward.GetComponent <HuntTarget>().Setup(p_key, p_lvl);
            DBG.blogWarning("Placed Hunt " + monster + " at : " + Reward.transform.localPosition);
        }
Esempio n. 21
0
        private void PlaceQuestHuman(string key, Vector3 pos)
        {
            var pgo = ZNetScene.instance.GetPrefab("WorkerNPCHuman");
            var go  = Instantiate(pgo, PrefabManager.Root.transform);

            go.GetComponent <HumanVis>().m_name = key;
            float y;

            ZoneSystem.instance.FindFloor(pos, out y);
            pos = new Vector3(pos.x, y + 2, pos.z);
            go.transform.localPosition = pos;
            go.transform.SetParent(transform.parent.parent);
            DBG.blogWarning("Place Quest Worker at " + pos);
        }
Esempio n. 22
0
        public static string GetNameByPeerId(long uid)
        {
            var peers = Traverse.Create(ZNet.instance).Field <List <ZNetPeer> >("m_peers").Value;

            foreach (var peer in peers)
            {
                if (peer.m_uid == uid)
                {
                    return(peer.m_playerName);
                }
            }
            DBG.blogWarning("Cant find player name");
            return(null);
        }
Esempio n. 23
0
        public static void RemoveFlora(float radius, Vector3 pos)
        {
            Collider[]    array = Physics.OverlapBox(pos, new Vector3(radius, radius, radius));
            List <string> list  = new List <string>();

            list.Add("tree");
            list.Add("rock");
            list.Add("beech");
            list.Add("log");
            list.Add("bush");
            Collider[] array2 = array;
            if (array.Length == 0)
            {
                return;
            }
            for (int i = 0; i < array2.Length; i++)
            {
                GameObject gameObject  = array2[i].gameObject;
                GameObject gameObject2 = gameObject.transform.parent.gameObject;
                GameObject gameObject3 = null;
                string     text        = gameObject2.name.ToLower();
                string     text2       = gameObject.name.ToLower();
                foreach (string value in list)
                {
                    if (text2.Contains(value))
                    {
                        gameObject3 = gameObject;
                        break;
                    }
                    if (!(gameObject2 == null) && text.Contains(value))
                    {
                        gameObject3 = gameObject2;
                        break;
                    }
                }
                if (!(gameObject3 == null))
                {
                    try
                    {
                        ZNetScene.instance.Destroy(gameObject3);
                    }
                    catch (Exception e)
                    {
                        DBG.blogWarning("terrain flora:" + e);
                        return;
                    }
                }
            }
        }
Esempio n. 24
0
        //OPT definitely need a thread pool !! struct[] quenee //notice
        public static void RPC_ServerFindLocation(long sender, string sender_locName, Vector3 sender_pos)
        {
            var _id  = "0_0";
            var _pos = Vector3.zero;

            if (FindClosestLocation(sender_locName, sender_pos, out _id, out _pos))
            {
                DBG.blogWarning(string.Format("Server Location found location {0} at {1}", sender_locName, _pos.ToString()));
                ZRoutedRpc.instance.InvokeRoutedRPC(sender, "RPC_CreateQuestSucced", new object[] { _id, _pos });
                Remove(_id);
                return;
            }
            ZRoutedRpc.instance.InvokeRoutedRPC(sender, "RPC_CreateQuestFailed", new object[] {});
            DBG.blogWarning(String.Format("Location cant find location {0} at {1}", sender_locName, sender_pos));
        }
Esempio n. 25
0
        private Vector3 FindSpawnPoint()
        {
            var a = UnityEngine.Random.Range(10, 10);
            var b = UnityEngine.Random.Range(10, 10);
            var c = ZoneSystem.instance.GetGroundHeight(new Vector3(a, 500, b));

            ZoneSystem.LocationInstance locationInstance;
            if (ZoneSystem.instance.FindClosestLocation("StartTemple", Vector3.zero, out locationInstance))
            {
                var p = locationInstance.m_position + new Vector3(-6, 0.2f, -8);
                return(p);
            }
            DBG.blogWarning("Cant Find a point to Spawn Odin use /odin respawn");            //notice
            return(new Vector3(a, c, b));
        }
Esempio n. 26
0
        public static void UpdateDictinary()
        {
            string missing = "Missing Words:";

            foreach (var el in english)
            {
                if (t.ContainsKey(el.Key))
                {
                    AddWord(new object[] { el.Key, t[el.Key] });
                    continue;
                }
                AddWord(new object[] { el.Key, el.Value });
                missing += el.Key;
            }
            DBG.blogInfo("Translation added");
            DBG.blogWarning(missing);
        }
Esempio n. 27
0
        public static void CreateSpawner(string cname)
        {
            var go = new GameObject(cname + "Spawner");

            go.transform.SetParent(PrefabManager.Root.transform);
            var znv = go.AddComponent <ZNetView>();
            var spn = go.AddComponent <CreatureSpawner>();

            spn.m_creaturePrefab = PrefabList[cname];
            znv.m_persistent     = true;

            spn.m_respawnTimeMinuts   = 0;
            spn.m_levelupChance       = 10;
            spn.m_setPatrolSpawnPoint = true;
            PrefabList.Add(go.name, go);
            DBG.blogWarning("Create Spawner " + go.name);
        }
Esempio n. 28
0
        public override void Place(LocationMarker lm)
        {
            var   pos = lm.GetPosition();
            float y   = -2f;
            float x   = 4f;
            float z   = 3.999f;

            if (quest.Key == 0)
            {
                y = 0;
                x = 2f;
                z = 1.999f;
            }
            pos += new Vector3(x.RollDice(), y, z.RollDice());
            var chest = LegacyChest.Place(pos, quest.ID, quest.m_ownerName, quest.Key);

            DBG.blogWarning("Client Placed LegacyChest at : " + pos);
            base.Place(lm);
        }
Esempio n. 29
0
        public static GameObject Place(Vector3 pos, string p_id, string p_owner, int p_key, Quaternion rot, bool sphy = true)
        {
            GameObject chest;

            chest = Instantiate(ZNetScene.instance.GetPrefab("LegacyChest" + (p_key + 1).ToString()), pos, rot, OdinPlus.PrefabParent.transform);

            var lc = chest.GetComponent <LegacyChest>();

            lc.Placing     = true;
            lc.m_id        = p_id;
            lc.m_sphy      = sphy;
            lc.m_ownerName = p_owner;

            if (!sphy)
            {
                DestroyImmediate(chest.GetComponent <StaticPhysics>());
            }
            DBG.blogWarning("Placed Chest at " + pos);
            chest.transform.SetParent(OdinPlus.Root.transform);
            return(chest);
        }
Esempio n. 30
0
        public static void UnRegister()
        {
            var odb            = ObjectDB.instance;
            var zns            = ZNetScene.instance;
            var m_itemByHash   = Traverse.Create(odb).Field <Dictionary <int, GameObject> >("m_itemByHash").Value;
            var m_namedPrefabs = Traverse.Create(ZNetScene.instance).Field <Dictionary <int, GameObject> >("m_namedPrefabs").Value;

            odb.m_items.RemoveList <int, GameObject>(odbRegList);
            m_itemByHash.RemoveList <int, GameObject>(odbRegList);
            zns.m_prefabs.RemoveList <int, GameObject>(odbRegList);
            m_namedPrefabs.RemoveList <int, GameObject>(odbRegList);
            zns.m_prefabs.RemoveList <int, GameObject>(znsRegList);
            m_namedPrefabs.RemoveList <int, GameObject>(znsRegList);
            foreach (var item in OdinSE.SElist.Values)
            {
                odb.m_StatusEffects.Remove(item);
            }
            isRegistered        = false;
            m_instance.isLoaded = false;
            DBG.blogWarning("UnRegister all list");
        }