DarkEmu_GameServer.spez_obj.SpawnMe C# (CSharp) Method

SpawnMe() public method

public SpawnMe ( int duration ) : void
duration int
return void
        public void SpawnMe(int duration)
        {
            try
            {
                lock (Systems.clients)
                {
                    for (int i = 0; i < Systems.clients.Count; i++)
                    {
                        try
                        {
                            Systems sys = Systems.clients[i];
                            if (this.x >= (sys.Character.Position.x - 50) && this.x <= ((sys.Character.Position.x - 50) + 100) && this.y >= (sys.Character.Position.y - 50) && this.y <= ((sys.Character.Position.y - 50) + 100) && this.Spawned(sys.Character.Information.UniqueID) == false)
                            {
                                this.Spawn.Add(sys.Character.Information.UniqueID);
                                sys.client.Send(Packet.ObjectSpawn(this));
                            }
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine("spez_obj SpawnMe error on index {1}/{2}: {0}", ex, i, Systems.clients.Count);
                            Systems.Debugger.Write(ex);
                        }
                    }
                }
                if (duration != 0) StartDeleteTimer(duration);

                if (this.Name.Contains("HARMONY")) { StartHarmonyBuff(); }
            }
            catch (Exception ex)
            {
                Console.WriteLine("spez_obj SpawnMe error: {0}", ex);
                Systems.Debugger.Write(ex);
            }
        }

Usage Example

示例#1
0
文件: Skills.cs 项目: CarlosX/DarkEmu
        // theese attributes are not serializable
        public void HandleSpecialBuff(int skillid)
        {
            try
            {
                string series = Data.SkillBase[skillid].Series.Remove(Data.SkillBase[skillid].Series.Length - 2);
                switch (series)
                {
                    case "SKILL_OP_HARMONY":
                    case "SKILL_CH_WATER_HARMONY":

                        spez_obj so = new spez_obj();

                        so.Name = series;
                        so.ID = skillid;
                        so.spezType = 0x850;
                        so.Radius = Data.SkillBase[skillid].Distance / 10;
                        so.Ids = new Global.ID(Global.ID.IDS.Object);
                        so.UniqueID = so.Ids.GetUniqueID;

                        so.xSec = Character.Position.xSec;
                        so.ySec = Character.Position.ySec;
                        so.x = Character.Position.x;
                        so.z = Character.Position.z;
                        so.y = Character.Position.y;

                        Systems.SpecialObjects.Add(so);
                        so.SpawnMe(Data.SkillBase[skillid].Properties1["dura"]);

                        break;
                }
            }
            catch (Exception ex)
            {
                Systems.Debugger.Write(ex);
            }
        }