public override void OnResponse( NetState state, RelayInfo info ) { Mobile from = state.Mobile; PageType type = (PageType)(-1); switch ( info.ButtonID ) { case 0: // Close/Cancel { from.SendLocalizedMessage( 501235, "", 0x35 ); // Help request aborted. break; } case 1: // General question { type = PageType.Question; break; } case 2: // Stuck { if ( from.Region.IsPartOf( typeof( Server.Regions.Jail ) ) ) { from.SendLocalizedMessage( 1114345, "", 0x35 ); // You'll need a better jailbreak plan than that! } else if ( from.CanUseStuckMenu() && from.Region.CanUseStuckMenu( from ) && !CheckCombat( from ) && !from.Frozen && !from.Criminal && from.Kills < 5 ) { StuckMenu menu = new StuckMenu( from, from, true ); menu.BeginClose(); from.SendGump( menu ); } else { type = PageType.Stuck; } break; } case 3: // Report bug or contact Origin { type = PageType.Bug; break; } case 4: // Game suggestion { type = PageType.Suggestion; break; } case 5: // Account management { type = PageType.Account; break; } case 6: // Other { type = PageType.Other; break; } case 7: // Harassment: verbal/exploit { type = PageType.VerbalHarassment; break; } case 8: // Harassment: physical { type = PageType.PhysicalHarassment; break; } } if ( type != (PageType)(-1) && PageQueue.CheckAllowedToPage( from ) ) from.SendGump( new PagePromptGump( from, type ) ); }
public override void OnResponse( NetState state, int index ) { //pla, 03/10/07 // Log help stuck attempt if (index != 2) { LogHelper log = new LogHelper("HelpStuck.log"); if (log != null) { log.Log(LogType.Mobile, state.Mobile); log.Finish(); } } if ( index == 0 ) { bool bGood = false; if (m_From.Alive == false) //dead: always allow to transport { bGood = true; } else if (m_From.Region is Regions.FeluccaDungeon) //alive and in dungeon { m_From.SendMessage("You have chosen to die."); m_From.Kill(); bGood = true; } else if (m_From.TotalWeight < StuckMenu.MAXHELPSTUCKALIVEWEIGHT) //alive and out of dungeon and not over weight limit { bGood = true; } else // alive, out of dungeon, over weight limit { m_From.SendMessage("You are too encumbered to be moved, drop most of your stuff and help-stuck again."); } if (bGood) { //auto-choose destination now, so don't give them this message //m_From.SendMessage("You will now be given the standard help-stuck menu."); StuckMenu menu = new StuckMenu(m_From, m_From, true, true); //menu.BeginClose(); //m_From.SendGump(menu); menu.AutoSelect(); } } else if ( index == 1 ) { if (!HelpGump.TryMoveStuckPlayer(m_From, 4)) { int staffonline = 0; foreach (NetState ns in NetState.Instances) { Mobile m = ns.Mobile; if (m != null && m.AccessLevel >= AccessLevel.Counselor && m.AutoPageNotify) staffonline++; } if (staffonline == 0) { StuckMenu menu = new StuckMenu(m_From, m_From, true); //menu.BeginClose(); //m_From.SendGump(menu); menu.AutoSelect(); } } } else if (index == 2) { m_From.SendMessage("Help Stuck request cancelled."); } }
public override void OnResponse( NetState state, RelayInfo info ) { Mobile from = state.Mobile; PageType type = (PageType)(-1); switch ( info.ButtonID ) { case 0: // Close/Cancel { from.SendLocalizedMessage( 501235, "", 0x35 ); // Help request aborted. break; } case 1: // General question { type = PageType.Question; break; } case 2: // Stuck { BaseHouse house = BaseHouse.FindHouseAt( from ); if ( house != null && house.IsAosRules ) { from.Location = house.BanLocation; } else if ( from.Region.IsPartOf( typeof( Server.Regions.Jail ) ) ) { from.SendLocalizedMessage( 1041530, "", 0x35 ); // You'll need a better jailbreak plan then that! } else if ( Factions.Sigil.ExistsOn( from ) ) { from.SendLocalizedMessage( 1061632 ); // You can't do that while carrying the sigil. } else if ( from.CanUseStuckMenu() && from.Region.CanUseStuckMenu( from ) && !CheckCombat( from ) && !from.Frozen && !from.Criminal && (Core.AOS || from.Kills < 5) ) { StuckMenu menu = new StuckMenu( from, from, true ); menu.BeginClose(); from.SendGump( menu ); } else { type = PageType.Stuck; } break; } case 3: // Report bug or contact Origin { type = PageType.Bug; break; } case 4: // Game suggestion { type = PageType.Suggestion; break; } case 5: // Account management { type = PageType.Account; break; } case 6: // Other { type = PageType.Other; break; } case 7: // Harassment: verbal/exploit { type = PageType.VerbalHarassment; break; } case 8: // Harassment: physical { type = PageType.PhysicalHarassment; break; } case 9: // Young player transport { if ( IsYoung( from ) ) { if ( from.Region.IsPartOf( typeof( Regions.Jail ) ) ) { from.SendLocalizedMessage( 1041530, "", 0x35 ); // You'll need a better jailbreak plan then that! } else if ( from.Region.IsPartOf( "Haven Island" ) ) { from.SendLocalizedMessage( 1041529 ); // You're already in Haven } else { from.MoveToWorld( new Point3D( 3503, 2574, 14 ), Map.Trammel ); } } break; } } if ( type != (PageType)(-1) && PageQueue.CheckAllowedToPage( from ) ) from.SendGump( new PagePromptGump( from, type ) ); }
public override void OnResponse(NetState state, int index) { Mobile from = state.Mobile; PageType type = (PageType)(-1); switch (index) { /*case 0: // Close/Cancel { from.SendAsciiMessage("Help request unchanged.", 0x35); // Help request aborted. break; }*/ case 0: // General question { type = PageType.Question; break; } case 1: // Stuck { BaseHouse house = BaseHouse.FindHouseAt(from); if (house != null && house.IsAosRules) { from.Location = house.BanLocation; } else if (from.Region.IsPartOf(typeof(Server.Regions.Jail))) { from.SendLocalizedMessage(0x35,"You'll need a better jailbreak plan then that!"); // You'll need a better jailbreak plan then that! } else if (Factions.Sigil.ExistsOn(from)) { from.SendLocalizedMessage(1061632); // You can't do that while carrying the sigil. } else if (from.CanUseStuckMenu() && from.Region.CanUseStuckMenu(from) && !CheckCombat(from) && !from.Frozen && !from.Criminal && (Core.AOS || from.Kills < 5)) { StuckMenu menu = new StuckMenu(from, from, true); menu.BeginClose(); from.SendGump(menu); } else { type = PageType.Stuck; } break; } case 2: // Harassment: verbal/exploit { type = PageType.VerbalHarassment; break; } case 3: // Other { type = PageType.Other; break; } } if (type != (PageType)(-1) && PageQueue.CheckAllowedToPage(from)) { from.SendAsciiMessage(0x35, "Please enter a brief description (up to 40 characters) of your problem:"); from.Prompt = new HelpPrompt(from, type); } //from.SendGump(new PagePromptGump(from, type)); }
public override void OnResponse( NetState state, int index ) { Mobile from = state.Mobile; PageType type = (PageType)(-1); switch ( index ) { case 0: from.LaunchBrowser( "http://www.uorebirth.com/" ); break; case 1: { if ( from.Region is Server.Regions.Jail ) { from.SendLocalizedMessage( 1041530, "", 0x35 ); // You'll need a better jailbreak plan then that! } else if ( from.CanUseStuckMenu() && from.Region.CanUseStuckMenu( from ) && !CheckCombat( from ) && !from.Frozen && !from.Criminal ) { StuckMenu menu = new StuckMenu( from, from, true ); menu.BeginClose(); from.SendGump( menu ); } else { type = PageType.Stuck; } break; } case 2: type = PageType.Harassment; break; case 3: type = PageType.Bug; break; case 4: type = PageType.Other; break; } if ( type != (PageType)(-1) && PageQueue.CheckAllowedToPage( from ) ) { from.Prompt = new PagePrompt( type ); from.SendAsciiMessage( "Enter a description of your problem, or press (Esc) to cancel:" ); } //from.SendGump( new PagePromptGump( from, type ) ); }
public override void OnResponse(NetState state, RelayInfo info) { Mobile from = state.Mobile; var type = (PageType)(-1); switch (info.ButtonID) { case 0: // Close/Cancel { from.SendLocalizedMessage(501235, "", 0x35); // Help request aborted. break; } case 1: // General question { type = PageType.Question; break; } case 2: // Stuck { if (from is BaseCreature) { from.SendMessage("You can't use the help stuck menu if on anything but a player character!"); return; } if (from != null && from.Map == Map.ZombieLand) { from.SendMessage(54, "You cannot use the stuck option while in the zombie event. Please log out of the event first."); return; } BaseHouse house = BaseHouse.FindHouseAt(from); if (house != null && house.IsAosRules && !from.Region.IsPartOf(typeof(SafeZone))) // Dueling { from.Location = house.BanLocation; } else if (from.Region.IsPartOf(typeof(Regions.Jail))) { from.SendLocalizedMessage(1114345, "", 0x35); // You'll need a better jailbreak plan than that! } else if (Sigil.ExistsOn(from)) { from.SendLocalizedMessage(1061632); // You can't do that while carrying the sigil. } else if (from.CanUseStuckMenu() && from.Region.CanUseStuckMenu(from) && !CheckCombat(from) && !from.Frozen && !from.Criminal) // && (Core.AOS || from.Kills < Mobile.MurderCount) ) { var menu = new StuckMenu(from, from, true); menu.BeginClose(); from.SendGump(menu); } else { type = PageType.Stuck; } break; } case 3: // Report bug or contact UOFOREVER { type = PageType.Bug; break; } case 4: // Game suggestion { type = PageType.Suggestion; break; } case 5: // Account management { type = PageType.Account; break; } case 6: // Other { type = PageType.Other; break; } case 7: // Harassment: verbal/exploit { type = PageType.VerbalHarassment; break; } case 8: // Harassment: physical { type = PageType.PhysicalHarassment; break; } case 9: // Young player transport { if (IsYoung(from)) { if (from.Region.IsPartOf(typeof(Regions.Jail))) { from.SendLocalizedMessage(1114345, "", 0x35); // You'll need a better jailbreak plan than that! } else if (from.Region.IsPartOf("Haven Island")) { from.SendLocalizedMessage(1041529); // You're already in Haven } else { from.MoveToWorld(new Point3D(3503, 2574, 14), Map.Felucca); } } break; } } if (type != (PageType)(-1) && PageQueue.CheckAllowedToPage(from)) { from.SendGump(new PagePromptGump(from, type)); } }
protected override void OnTick() { if (!Running) { return; // this is ok because the underlying Timer is set up to be never-ending; TimerMain() will never } // call Stop() on us. THIS IS NOT THE GENERAL CASE! Normally this sort of check is BAD. if (DateTime.Now > m_End) { m_Mobile.Frozen = false; if (StuckMenu.ValidUseLocation(m_Sender, m_Mobile)) { //if mobile is already logged out, leave it where it is! if (m_Mobile.Map != Map.Internal) { //Force mobile to drop whatever they're holding. m_Mobile.DropHolding(); bool bMoveMe = true; if (m_bAdditionalChecks) { bool bGood = false; if (m_Mobile.Alive == false) //dead: always allow to transport { bGood = true; } else if (m_Mobile.Region.IsDungeonRules) //alive and in dungeon { m_Mobile.Kill(); bGood = true; } else if (m_Mobile.TotalWeight < StuckMenu.MAXHELPSTUCKALIVEWEIGHT) //alive and out of dungeon and not over weight limit { bGood = true; } else // alive, out of dungeon, over weight limit { m_Mobile.SendMessage("You are too encumbered to be moved, drop most of your stuff and help-stuck again."); } if (bGood) { //all good - proceed //check his pets in range: try { IPooledEnumerable eable = m_Mobile.GetMobilesInRange(3); foreach (Mobile m in eable) { if (m is BaseCreature) { BaseCreature pet = (BaseCreature)m; if (pet.Controlled && pet.ControlMaster == m_Mobile) { if (pet.ControlOrder == OrderType.Guard || pet.ControlOrder == OrderType.Follow || pet.ControlOrder == OrderType.Come) { if (pet is PackHorse || pet is PackLlama || pet is Beetle || pet is HordeMinion) { if (pet.Backpack != null && pet.Backpack.Items.Count > 0) { m_Mobile.SendMessage("You cannot be transported because you have a pack animal that is not empty!"); bMoveMe = false; } } } } } } eable.Free(); } catch (Exception checkexception) { Server.Commands.LogHelper.LogException(checkexception); } } else { bMoveMe = false; } } if (bMoveMe) { Mobiles.BaseCreature.TeleportPets(m_Mobile, m_Location, Map.Felucca); m_Mobile.MoveToWorld(m_Location, Map.Felucca); m_Mobile.UsedStuckMenu(); } } } else { m_Mobile.SendMessage("You are not in a valid location to use auto-help-stuck. You may use help-stuck again to ask for GM intervention."); } Stop(); } else { m_Mobile.Frozen = true; } }
public override void OnResponse(NetState state, RelayInfo info) { Mobile from = state.Mobile; PageType type = (PageType)(-1); switch ( info.ButtonID ) { case 0: // Close/Cancel { from.SendLocalizedMessage(501235, "", 0x35); // Help request aborted. break; } case 1: // General question about Ultima Online { from.LaunchBrowser("http://www.uo.com"); break; } case 2: // Stuck { var house = BaseHouse.FindHouseAt(from); if (house != null && house.IsAosRules && !from.Region.IsPartOf(typeof(Engines.ConPVP.SafeZone))) // Dueling { from.Location = house.BanLocation; } else if (from.Region.IsPartOf(typeof(Regions.Jail))) { from.SendLocalizedMessage(1041530, "", 0x35); // You'll need a better jailbreak plan then that! } else if (Factions.Sigil.ExistsOn(from)) { from.SendLocalizedMessage(1061632); // You can't do that while carrying the sigil. } else if (from.CanUseStuckMenu() && from.Region.CanUseStuckMenu(from) && !CheckCombat(from) && !from.Frozen && !from.Criminal) { StuckMenu menu = new StuckMenu(from, from, true); menu.BeginClose(); from.SendGump(menu); } else { type = PageType.Stuck; } break; } case 3: // Harassment: Verbal { type = PageType.VerbalHarassment; break; } case 4: // Other { type = PageType.Other; break; } case 5: // Visit the OWO web page { from.LaunchBrowser("http://www.uoguide.com/"); break; } case 6: // Report a bug or contact Origin { from.LaunchBrowser("http://www.uo.com"); break; } case 7: // Contact a Councelor { type = PageType.Question; break; } case 8: // Visit the Ultima Online web site { from.LaunchBrowser("http://www.uo.com"); break; } case 10: // Young player transport { if (IsYoung(from)) { if (from.Region.IsPartOf(typeof(Regions.Jail))) { from.SendLocalizedMessage(1041530, "", 0x35); // You'll need a better jailbreak plan then that! } else if (from.Region.Name == "Haven" || from.Region.Name == "New Haven") { from.SendLocalizedMessage(1041529); // You're already in Haven } else { if (from.Alive) from.MoveToWorld(new Point3D(3503, 2574, 14), Map.Trammel); else from.MoveToWorld(new Point3D(3469, 2559, 36), Map.Trammel); } } break; } case 11: // Promotional Code { //if (PromotionalSystem.Enabled) //{ // from.SendGump(new PromotionalCodeGump()); //} //else //{ from.SendLocalizedMessage(1062904); // The promo code redemption system is currently unavailable. Please try again later. from.SendLocalizedMessage(501235, "", 0x35); // Help request aborted. //} break; } case 12: // Harassment: Physical { type = PageType.PhysicalHarassment; break; } } if (type != (PageType)(-1) && PageQueue.CheckAllowedToPage(from)) { from.SendGump(new PagePromptGump(from, type)); } }
public override void OnResponse( NetState state, RelayInfo info ) { Mobile from = state.Mobile; PageType type = (PageType)(-1); switch ( info.ButtonID ) { case 0: // Close/Cancel { from.SendLocalizedMessage( 501235, "", 0x35 ); // Help request aborted. break; } case 1: // General question { type = PageType.Question; break; } case 2: // Stuck { BaseHouse house = BaseHouse.FindHouseAt( from ); if ( house != null && house.IsAosRules ) { from.Location = house.BanLocation; } else if ( from.Region.IsPartOf( typeof( Server.Regions.Jail ) ) ) { from.SendLocalizedMessage( 1041530, "", 0x35 ); // You'll need a better jailbreak plan then that! } else if ( Factions.Sigil.ExistsOn( from ) ) { from.SendLocalizedMessage( 1061632 ); // You can't do that while carrying the sigil. } else if ( from.CanUseStuckMenu() && from.Region.CanUseStuckMenu( from ) && !CheckCombat( from ) && !from.Frozen && !from.Criminal && (Core.AOS || from.Kills < 5) ) { StuckMenu menu = new StuckMenu( from, from, true ); menu.BeginClose(); from.SendGump( menu ); } else { type = PageType.Stuck; } break; } case 3: // Report bug { from.LaunchBrowser( "http://bug.casiopia.net/" ); type = PageType.Bug; break; } case 4: // Game suggestion { from.LaunchBrowser( "http://www.defianceuo.com/forum/forumdisplay.php?f=232" ); type = PageType.Suggestion; break; } case 5: // Account management { from.LaunchBrowser( "http://accounts.defianceuo.com/pwchange.php" ); type = PageType.Account; break; } case 6: // Other { type = PageType.Other; break; } case 7: // Harassment: verbal/exploit { type = PageType.VerbalHarassment; break; } case 8: // Harassment: physical { type = PageType.PhysicalHarassment; break; } case 9: // Young player transport { if ( IsYoung( from ) ) { if ( from.Region.IsPartOf( typeof( Regions.Jail ) ) ) { from.SendLocalizedMessage( 1041530, "", 0x35 ); // You'll need a better jailbreak plan then that! } // *** Changed Code *** else if ( from.Region.IsPartOf( "Britain" ) ) { from.SendMessage("You're already in Britain"); } else { from.MoveToWorld(new Point3D(1519, 1619, 10), Map.Felucca); } // *** *** } break; } case 10: // Dfi homepage { from.LaunchBrowser( "http://www.defianceuo.com/main.php" ); break; } case 11: // Dfi forums { from.LaunchBrowser( "http://www.defianceuo.com/forum/" ); break; } case 12: // Dfi wiki { from.LaunchBrowser( "http://www.mydotdot.com/dfiwiki/index.php?title=Main_Page" ); break; } case 13: // Ultima Online Top 200 { from.LaunchBrowser( "http://www.gamesites200.com/ultimaonline/in.php?id=1298" ); break; } } if ( type != (PageType)(-1) && PageQueue.CheckAllowedToPage( from ) ) from.SendGump( new PagePromptGump( from, type ) ); }
public override void OnResponse( NetState state, RelayInfo info ) { Mobile from = state.Mobile; PageType type = (PageType)(-1); switch ( info.ButtonID ) { case 0: // Close/Cancel { from.SendLocalizedMessage( 501235, ""); // Help request aborted. break; } case 1: // General question { type = PageType.Question; break; } case 2: // Stuck { BaseHouse house = BaseHouse.FindHouseAt( from ); if ( house != null && house.IsAosRules ) { from.Location = house.BanLocation; } else if ( from.Region.IsPartOf( typeof( Jail ) ) ) { from.SendLocalizedMessage(1114345, "", 0x35); // You'll need a better jailbreak plan than that! } else if ( Sigil.ExistsOn( from ) ) { from.SendLocalizedMessage( 1061632 ); // You can't do that while carrying the sigil. } else if ( from.CanUseStuckMenu() && from.Region.CanUseStuckMenu( from ) ) { StuckMenu menu = new StuckMenu( from, from, true ); menu.BeginClose(); from.SendGump( menu ); } else { type = PageType.Stuck; } break; } case 3: // Report bug or contact Origin { type = PageType.Bug; break; } case 4: // Game suggestion { type = PageType.Suggestion; break; } case 5: // Account management { type = PageType.Account; break; } case 6: // Other { type = PageType.Other; break; } case 7: // Harassment: verbal/exploit { type = PageType.VerbalHarassment; break; } case 8: // Harassment: physical { type = PageType.PhysicalHarassment; break; } case 9: // Young player transport { if ( IsYoung( from ) ) { if ( from.Region.IsPartOf( typeof( Jail ) ) ) { from.SendLocalizedMessage(1114345, "", 0x35); // You'll need a better jailbreak plan than that! } else if ( from.CanUseStuckMenu() && from.Region.CanUseStuckMenu( from ) ) { from.MoveToWorld(new Point3D(1426, 1696, 0), Map.Felucca); if (from.IsInEvent) { from.IsInEvent = false; from.SendAsciiMessage("You auto supply has been removed."); SupplySystem.RemoveEventGear(from); } } else { from.SendAsciiMessage("You cannot use the young player transport system from where you are"); } } break; } } if ( type != (PageType)(-1) && PageQueue.CheckAllowedToPage( from ) ) from.SendGump( new PagePromptGump( from, type ) ); }