View Single Post
  #6  
Old 10-17-2013, 07:44 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

I looked into the "Tutorial" issue a little bit more and could not come to a solution...

I know there are two rules to allow/disallow the use of the [Enter Tutorial] and [Go Home] buttons, and that
the server is coded to make use of these. However, I'm not completely sure we're using them appropriately
since I can't verfiy their behavior on live.


"What we do" (I think..based on in-game observations...)
Code:
WORLD SERVER:
	- Hard-coded to always enable 'Tutorial'
		-- Always shows 'Character Select' [Enter Tutorial] button
		-- Always shows 'Character Select' [Go Home] button
		-- Always shows 'Create Character' [Tutorial] button

CHARACTER SELECT:
	- [Enter Tutorial] button
		-- rule(EnableTutorialButton)
		[true]
			--- Sends player to rule(TutorialZoneID)
		[false]
			--- Button is [disabled]
	
	- [Go Home] button
		-- rule(EnableGoHomeButton)
		[true]
			--- Sends player home (starting city or tutorial, depending on character creation method)
		[false]
			--- Button is [disabled]

CREATE CHARACTER:
	- [Tutorial] button
	[selected]
		-- rule(EnableTutorialButton)
		[true]
			--- Sends character to rule(TutorialZoneID) upon finalization
		[false]
			--- Sends character to 'Starting City' upon finalization
	[de-selected]
		-- Returns to 'Character Select' screen with proper 'Starting City'

NOTES:
	- Current coding sets the character's starting city as the tutorial. (I thought this was a bit odd..but,
		Sorvani brought up that it may also be affecting 'Heritage' AA's as well... Unverified bug, tmk...)
	- When returning to 'Character Select' screen from 'Create Character,' using the [Enter Tutorial] button
		will send the player to rule(TutorialZoneID)..but, unknown atm if 'Starting City' is changed...

"What we should probably do" (Or something akin to this...)
Code:
WORLD SERVER:
	- rule(EnableTutorialButton)
	[true]
		-- Shows 'Character Select' [Enter Tutorial] button
		-- Shows 'Character Select' [Go Home] button
		-- Shows 'Create Character' [Tutorial] button
	[false]
		-- Hides 'Character Select' [Enter Tutorial] button
		-- Hides 'Character Select' [Go Home] button
		-- Hides 'Create Character' [Tutorial] button

CHARACTER SELECT:
	- rule(EnableTutorialButton)
	[true]
		-- [Enter Tutorial] button
			--- 'Player Profile' ('Tutorial Complete' || 'Tutorial Active')
			[true][x]
				---- Button is disabled
			[false][true]
				---- Button is disabled
			[false][false]
				---- Button is enabled, if appropriate criteria is met..otherwise disabled
				---- Pressing button
					----- Sends player to rule(TutorialZoneID)
					----- 'Player Profile' is tagged for 'Tutorial Active' [true]
		-- [Go Home] button
			--- rule(EnableGoHomeButton)
			[true]
				---- 'Player Profile' 'Tutorial Active'
				[true]
					----- Button is enabled
					----- Pressing button sends player to 'Starting City'
					----- Pressing button tags 'Player Profile' 'Tutorial Active' [false]
					----- Pressing button tags 'Player Profile' 'Tutorial Complete' [true]
				[false]
					----- Button is enabled, if appropriate criteria is met..otherwise disabled
			[false]
				---- Button is disabled, unless 'Tutorial Active' is [true] (see [true][true] above)
		-- [Enter World] button
			--- 'Player Profile' ('Tutorial Complete' || 'Tutorial Active')
			[true][true]
				---- Sends player to 'Current Zone' or 'Starting City'->SpawnPoint if (ZoneID = rule(TutorialZoneID))
				---- Tags 'Player Profile' 'Tutorial Active' [false]
			[false][true]
				---- Sends player to rule(TutorialZoneID)
			[x][false]
				---- Sends player to 'Current Zone' or 'Starting City'->SpawnPoint if (ZoneID = rule(TutorialZoneID))
	[false]
		-- [Enter Tutorial] button is hidden
		-- [Go Home] button is hidden

CREATE CHARACTER:
	- rule(EnableTutorialButton)
	[true]
		-- [Tutorial] button
		[selected]
			--- Sends player to rule(TutorialZoneID) upon finalization
			--- 'Player Profile' is tagged for 'Tutorial Active' [true]
			--- 'Player Profile' is tagged for 'Tutorial Complete' [false]
			--- 'Player Profile' 'Starting City' is set to proper 'Starting City'
		[de-selected]
			--- Returns to 'Character Select' screen with proper 'Starting City'
			--- 'Player Profile' is tagged for 'Tutorial Active' [false]
			--- 'Player Profile' is tagged for 'Tutorial Complete' [false]
	[false]*
		-- [Tutorial] button is hidden
		-- Returns player to 'Character Select' screen upon finalization
		-- 'Player Profile' is tagged for 'Tutorial Active' [false]
		-- 'Player Profile' is tagged for 'Tutorial Complete' [false]
		* in case admin changes tutorial rule, this will allow permitted characters to still enter the tutorial
		
NOTES:
	- Disabling rule(EnableTutorialButton) would also disallow the use of the [Go Home] button.
	- Though a seperate rule could be made for setting the 'World Server' state, disabling the [Enter Tutorial]
		button would still cause a glitch when creating a character and the [Tutorial] button is [selected].
	- 'Player Profile' 'Tutorial Active' [true] always redirects zoning destinations to rule(TutorialZoneID)
	- 'Player Profile' 'Tutorial Active' [true] always overrides respawns to rule(TutorialZoneID)->SpawnPoint
	- 'Player Profile' 'Tutorial Active' [false] always diverts zoning destinations away from rule(TutorialZoneID)
	- 'Player Profile' 'Tutorial Active' [false] always diverts respawns away from rule(TutorialZoneID)
	- Status overrides may need to be added
	- (Conditions can be added, removed or changed as needed...)

The way this is setup, the only way to exit tutorial status is to click the [Go Home] button from the 'Character
Select' screen. These rules may need to be adjusted or changed to reflect a more appropriate behavior.

Titanium DOES support the world server tutorial rule, so we should be able to condense the code. The only thing
that I'm aware of that isn't supported is the alternative home city (Crescent Reach) and we can bypass that.

Again, this is only a concept based on my observations and may not reflect live-like behavior. I WILL NOT develop
or implement this without feedback or suggestions.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote