Commands

08/01/2010 17:37 Zkiller110#1
I'm working on a new set of commands for my server and may be releasing them them not sure yet but, I need a little help with a small problem.

This is what i got for my revive command:
Code:
                        #region Revive

                        if (Cmd[0] == "/Revive" || Cmd[0] == "/revive")
                        {
                            if (GC.GM || GC.PM)
                            {
                                if (C == null)
                                {
                                    if (!GC.MyChar.Alive)
                                    {
                                        GC.MyChar.Ghost = false;
                                        GC.MyChar.BlueName = false;
                                        GC.MyChar.CurHP = (ushort)GC.MyChar.MaxHP;
                                        GC.MyChar.Alive = true;
                                        GC.MyChar.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.Dead);
                                        GC.MyChar.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.BlueName);
                                        GC.MyChar.Body = GC.MyChar.Body;
                                        GC.MyChar.Hair = GC.MyChar.Hair;
                                        GC.MyChar.Equips.Send(GC, false);
                                    }
                                    else
                                        GC.LocalMessage(2000, "Your not dead.");
                                }

                                Game.Character C = Game.World.CharacterFromName(Cmd[1]);
                                if (C != null)
                                {
                                    if (!C.Alive)
                                    {
                                        C.Ghost = false;
                                        C.BlueName = false;
                                        C.CurHP = (ushort)GC.MyChar.MaxHP;
                                        C.Alive = true;
                                        C.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.Dead);
                                        C.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.BlueName);
                                        C.Body = GC.MyChar.Body;
                                        C.Hair = GC.MyChar.Hair;
                                        C.Equips.Send(GC, false);
                                        C.MyClient.LocalMessage(2000, GC.MyChar.Name + " has revived you.");
                                    }
                                    else
                                        GC.LocalMessage(2000, C.Name + " is not dead.");
                                }
                            }
                            else
                                GC.LocalMessage(2000, "You not a [GM] or [PM].");
                        }

                        #endregion
/* fixed
Now this all works fine just that if i want to revive myself i have to put a space after "/revive", how would I go about making this command the same just not having to put a space after "/revive" to revive myself. fixed */ :p

sorry that was the wrong question to ask that problem was an easy fix and i feel like and idiot :p but i fixed my last problem and now when i use the command "/revive test[PM]" it goes through the first section of code and revives myself then i get a message that says "test is not dead" so it also goes through the second section of code -.- anyone wanna help
08/01/2010 17:49 Fish*#2
Well, this code ur making here, is for reviving others.
Code:
                        #region Revive

                        if (Cmd[0] == "/Revive" || Cmd[0] == "/revive")
                        {
                            Game.Character C = Game.World.CharacterFromName(Cmd[1]);
                            if (GC.GM || GC.PM)
                            {
                                if (C == null)
                                {
                                    if (!GC.MyChar.Alive)
                                    {
                                        GC.MyChar.Ghost = false;
                                        GC.MyChar.BlueName = false;
                                        GC.MyChar.CurHP = (ushort)GC.MyChar.MaxHP;
                                        GC.MyChar.Alive = true;
                                        GC.MyChar.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.Dead);
                                        GC.MyChar.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.BlueName);
                                        GC.MyChar.Body = GC.MyChar.Body;
                                        GC.MyChar.Hair = GC.MyChar.Hair;
                                        GC.MyChar.Equips.Send(GC, false);
                                    }
                                    else
                                        GC.LocalMessage(2000, "Your not dead.");
                                }

                                if (C != null)
                                {
                                    if (!C.Alive)
                                    {
                                        C.Ghost = false;
                                        C.BlueName = false;
                                        C.CurHP = (ushort)GC.MyChar.MaxHP;
                                        C.Alive = true;
                                        C.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.Dead);
                                        C.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.BlueName);
                                        C.Body = GC.MyChar.Body;
                                        C.Hair = GC.MyChar.Hair;
                                        C.Equips.Send(GC, false);
                                        C.MyClient.LocalMessage(2000, GC.MyChar.Name + " has revived you.");
                                    }
                                    else
                                        GC.LocalMessage(2000, C.Name + " is not dead.");
                                }
                            }
                            else
                                GC.LocalMessage(2000, "You not a [GM] or [PM].");
                        }

                        #endregion
and this for revive ur self
Code:
                        #region Revive

                        if (Cmd[0] == "/Revive" || Cmd[0] == "/revive")
                        {
                            if (GC.GM || GC.PM)
                            {
                                if (C == null)
                                {
                                    if (!GC.MyChar.Alive)
                                    {
                                        GC.MyChar.Ghost = false;
                                        GC.MyChar.BlueName = false;
                                        GC.MyChar.CurHP = (ushort)GC.MyChar.MaxHP;
                                        GC.MyChar.Alive = true;
                                        GC.MyChar.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.Dead);
                                        GC.MyChar.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.BlueName);
                                        GC.MyChar.Body = GC.MyChar.Body;
                                        GC.MyChar.Hair = GC.MyChar.Hair;
                                        GC.MyChar.Equips.Send(GC, false);
                                    }
                                    else
                                        GC.LocalMessage(2000, "Your not dead.");
                                }

                                if (C != null)
                                {
                                    if (!C.Alive)
                                    {
                                        C.Ghost = false;
                                        C.BlueName = false;
                                        C.CurHP = (ushort)GC.MyChar.MaxHP;
                                        C.Alive = true;
                                        C.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.Dead);
                                        C.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.BlueName);
                                        C.Body = GC.MyChar.Body;
                                        C.Hair = GC.MyChar.Hair;
                                        C.Equips.Send(GC, false);
                                        C.MyClient.LocalMessage(2000, GC.MyChar.Name + " has revived you.");
                                    }
                                    else
                                        GC.LocalMessage(2000, C.Name + " is not dead.");
                                }
                            }
                            else
                                GC.LocalMessage(2000, "You not a [GM] or [PM].");
                        }

                        #endregion
what did I do?
Removed:
Code:
Game.Character C = Game.World.CharacterFromName(Cmd[1]);
08/01/2010 17:50 _tao4229_#3
Code:
                        #region Revive

                        if (Cmd[0] == "/Revive" || Cmd[0] == "/revive")
                        {
                            Game.Character C = Game.World.CharacterFromName(Cmd[1]);
                            if (GC.GM || GC.PM)
                            {
                                if (Cmd.Length == 1)
                                {
                                    if (!GC.MyChar.Alive)
                                    {
                                        GC.MyChar.Ghost = false;
                                        GC.MyChar.BlueName = false;
                                        GC.MyChar.CurHP = (ushort)GC.MyChar.MaxHP;
                                        GC.MyChar.Alive = true;
                                        GC.MyChar.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.Dead);
                                        GC.MyChar.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.BlueName);
                                        GC.MyChar.Body = GC.MyChar.Body;
                                        GC.MyChar.Hair = GC.MyChar.Hair;
                                        GC.MyChar.Equips.Send(GC, false);
                                    }
                                    else
                                        GC.LocalMessage(2000, "Your not dead.");
                                }
                                else if (C != null)
                                {
                                    if (!C.Alive)
                                    {
                                        C.Ghost = false;
                                        C.BlueName = false;
                                        C.CurHP = (ushort)GC.MyChar.MaxHP;
                                        C.Alive = true;
                                        C.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.Dead);
                                        C.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.BlueName);
                                        C.Body = GC.MyChar.Body;
                                        C.Hair = GC.MyChar.Hair;
                                        C.Equips.Send(GC, false);
                                        C.MyClient.LocalMessage(2000, GC.MyChar.Name + " has revived you.");
                                    }
                                    else
                                        GC.LocalMessage(2000, C.Name + " is not dead.");
                                }
                            }
                            else
                                GC.LocalMessage(2000, "You not a [GM] or [PM].");
                        }

                        #endregion
08/01/2010 18:04 Fish*#4
Quote:
Originally Posted by _tao4229_ View Post
Code:
                The code
lol,I see what I did wrong :):handsdown:
08/01/2010 18:44 Zkiller110#5
thanks tao4229 i see whats wrong with it now

i just tried it with the cmd.length == 1 and it works for reviving by the players name but it doesnt work like "/revive" the code you put up has the Game.Character C = Game.World.CharacterFromName(Cmd[1]); in the wrong spot

should look like:
Code:
                        #region Revive

                        if (Cmd[0] == "/Revive" || Cmd[0] == "/revive")
                        {
                            if (Cmd.Length == 1)
                            {
                                if (!GC.MyChar.Alive)
                                {
                                    GC.MyChar.Ghost = false;
                                    GC.MyChar.BlueName = false;
                                    GC.MyChar.CurHP = (ushort)GC.MyChar.MaxHP;
                                    GC.MyChar.Alive = true;
                                    GC.MyChar.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.Dead);
                                    GC.MyChar.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.BlueName);
                                    GC.MyChar.Body = GC.MyChar.Body;
                                    GC.MyChar.Hair = GC.MyChar.Hair;
                                    GC.MyChar.Equips.Send(GC, false);
                                }
                                else
                                    GC.LocalMessage(2000, "Your not dead.");
                            }
                            Game.Character C = Game.World.CharacterFromName(Cmd[1]);
                            if (C != null)
                            {
                                if (!C.Alive)
                                {
                                    C.Ghost = false;
                                    C.BlueName = false;
                                    C.CurHP = (ushort)GC.MyChar.MaxHP;
                                    C.Alive = true;
                                    C.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.Dead);
                                    C.StatEff.Remove(NewestCOServer.Game.StatusEffectEn.BlueName);
                                    C.Body = GC.MyChar.Body;
                                    C.Hair = GC.MyChar.Hair;
                                    C.Equips.Send(GC, false);
                                    C.MyClient.LocalMessage(2000, GC.MyChar.Name + " has revived you.");
                                }
                                else
                                    GC.LocalMessage(2000, C.Name + " is not dead.");
                            }
                        }

                        #endregion
but thanks again for telling me about cmd.length