Jump to content


Modding the Witch-King


  • Please log in to reply
30 replies to this topic

#1 Guest_Guest_boltonbrowne_*_*

Guest_Guest_boltonbrowne_*_*
  • Guests

Posted 21 October 2009 - 10:14 AM

Hey Everyone,

I'm looking for a bit of advice regarding the Witch-King units (Mordor and Angmar)

I want to change, re-name and give some new skils to him.

To start with...on the Angmar Witch-King, how can I remove the "Hour of the Witch-King" skill?

Before going on to the skills I wish to add - How can I remove the mounted Witch-King's MACE ATTACK?

After that, How can I make his mounted SWORD ATTACK have the same knockback effects as Sauron's? The Witch-King's attack hits several enemies, but they die on the spot and only perhaps one unit is actually thrown into the air. Sauron's, however, smashes all the units into the air...and they fly...a long, long way... ;). Is this possible to do?

I'll post again with the other skills I wish to add to the Witch King.

Thanks

(I'm totally new to coding btw ^_^ )

#2 High King of Arnor

High King of Arnor
  • Members
  • 71 posts
  • Location:Fornost

Posted 21 October 2009 - 02:30 PM

Hmmm...sounds interesting...

I'm pretty new to coding/modding myself! LOL

After a couple months though, I decided to return to BFME2 and try and complete my Arnor Heroes mod.

That mod really focused on re-vamping the Arnor Heroes, because at their current state...they suck, lol.

What powers are you thinking of giving the Witch-King in particular?

(btw I never managed to get my arnor heroes modded, I just can't understand what code does what...) ^_^
"No man can stand before my blade."

-The Witch-King of Angmar

#3 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 21 October 2009 - 04:01 PM

Is the "Hour of the Witch-King" a power that you press or is it some kind of leadership? ^_^
If its a leadership you need to remove the module for it...
Otherwise removing the button from the commandset would be enough ;)

@ High King of Arnor
did you ever ask in this forum for help? :)
Ridder Geel

#4 Guest_Guest_boltonbrowne_*_*

Guest_Guest_boltonbrowne_*_*
  • Guests

Posted 21 October 2009 - 07:58 PM

Well, the skills that I want to put onto the Witch-King (Angmar) are...

Level 1 - Mount-Dismount (Already in place)
Level 2 - Dread Wrath (Already in Place)
Level 3 - No Upgrade
Level 4 - No Upgrade
Level 5 - Lightning Sword (Exactly like Gandalf's) [This replaces Morgul Corruption]
Level 6 - No Upgrade
Level 7 - No Upgrade
Level 8 - Terrible Fury (Already in Place)
Level 9 - No upgrade
Level 10 - Earthquake (This is a Spellbook Power for Men and Dwarves - Is it possible to put it on a skill slot?)

*Earthquake will replace Hour of the Witch-King*

BTW, Ridder Geel, Hour of the Witch-King is a normal 'useable' power. Click button, Select enemy target, Power activated.

I'll post my Skill Ideas for the Witch-King (Mordor) next...

Thanks ^_^

#5 High King of Arnor

High King of Arnor
  • Members
  • 71 posts
  • Location:Fornost

Posted 21 October 2009 - 09:16 PM

Wow...this is starting to sound cool! :w00t:

I myself don't know how to switch skills around, but a master like Ridder Geel should be able to tell you.

All I really want to do with my Arnor Heroes Mod is Re-Name and Add more skills to the Heroes. I suppose I could post my ideas in a seperate thread... :cool2:

It's neat wanting to change Morgul Blade into Lightning sword. From what I see. your Witch-King is going to be pretty damn powerful.

I'll wait and see what Ridder Geel has to say about this...I reckon I'll edit my Witch-King to your skill ideas! :good:
"No man can stand before my blade."

-The Witch-King of Angmar

#6 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 21 October 2009 - 09:45 PM

Ok...
well... Step one... :cool2:
Open this ini:
data\ini\object\evilfaction\units\angmar\angmarwitchking.ini
Just before this line:
Behavior = NotifyTargetsOfImminentProbableCrushingUpdate ModuleTag_NotifyCrushScan
	End
Add this code... :good:
;------- LIGHTNING SWORD SPELL --------------------------------------------------------------------------------
	Behavior = UnpauseSpecialPowerUpgrade ModuleTag_LightningEnabler
		SpecialPowerTemplate = SpecialAbilityLightningSword
		TriggeredBy = Upgrade_WitchkingMorgulBlade
	End

	Behavior = SpecialPowerModule ModuleTag_11					  
		SpecialPowerTemplate		= SpecialAbilityLightningSword
		UpdateModuleStartsAttack	= Yes
		StartsPaused			= Yes
		InitiateSound			= GandalfVoiceAttackLightningSword;this plays when he targets, not when he fires
	End

	Behavior = ArrowStormUpdate ModuleTag_12				
		SpecialPowerTemplate	= SpecialAbilityLightningSword
		StartAbilityRange	   = 275.0
		UnpackingVariation		= 1
		
		UnpackTime			  = 2500; Pull out arrow
		PreparationTime		 = 1; Quick shot
		PersistentPrepTime	  = 500; looping the quick shot
		PackTime				= 1500; back to idle

		ApproachRequiresLOS	 = Yes; required so that it doesn't shoot through walls
		AwardXPForTriggering	= 0
		
		 ActiveLoopSound		= GandalfLightningLoop ; Sound loops entire time ability is actively firing

	;Specific to ArrowStorm
		WeaponTemplate  = GandalfLightningSwordBlastWeapon
		TargetRadius	= 120
		ShotsPerTarget  = 1
		ShotsPerBurst   = 1
		MaxShots		= 11 ; will double up if run out of targets
	End

;--------------------------------------Earthquake SPECIAL ABILITY-------------------------------------------------------------------- Taken from the RC Mod!
	Behavior = UnpauseSpecialPowerUpgrade ModuleTag_RZEarthquakeEnabler
		SpecialPowerTemplate	= SpecialAbilityRZEarthquake
		TriggeredBy		= Upgrade_HourOfTheWitchKing
	End

	Behavior = SpecialPowerModule ModuleTag_RZEarthquakeStarter
 		SpecialPowerTemplate		= SpecialAbilityRZEarthquake
 		UpdateModuleStartsAttack	= Yes
 		StartsPaused			= Yes
;	InitiateSound		= GoblinKingVoiceSkullTotem
 	End

	Behavior = ActivateModuleSpecialPower ModuleTag_RZEarthquakeUpdate
 		SpecialPowerTemplate	= SpecialAbilityRZEarthquake
		StartAbilityRange		= 25
		MustFinishAbility		= Yes
 		UnpackTime		= 2000	; Trigger on frame 42 (of 115)
 		PackTime		= 500	; Remaining 73 frames (of 115)
 		UnpackingVariation		= 1									; sets PACKING_TYPE_1
		TriggerSpecialPower		= ModuleTag_EarthquakeSpawner OBJECTPOS
	End

	Behavior = OCLSpecialPower ModuleTag_EarthquakeSpawner
		SpecialPowerTemplate = SpecialAbilityRZEarthquake2
		OCL				  = OCL_SpellBookEarthquake
		CreateLocation	   = CREATE_AT_LOCATION
		StartsPaused			= No
	End

Thats enough for that ini... i think :w00t:

In the next ini you want to add this at the bottom of the file... :p
data\ini\specialpower.ini
; -----------------------------------------------------------------------------
SpecialPower SpecialAbilityRZEarthquake
	Enum				= SPECIAL_SKULL_TOTEM
	ReloadTime			= 540000  ; in milliseconds
	RadiusCursorRadius	= 5
	Flags					= LIMIT_DISTANCE
	MaxCastRange			= 200
End

SpecialPower SpecialAbilityRZEarthquake2
	Enum						  = SPECIAL_GENERAL_TARGETLESS
	ReloadTime					= 1  ; in milliseconds
	InitiateAtLocationSound	= SpellEarthquakeMS
End

Almost done... Add these commandbuttons... :p at the bottom of...
data\ini\commandbutton.ini
CommandButton Command_SpecialAbilityRZEarthquake
 	Command				= SPECIAL_POWER
 	SpecialPower		= SpecialAbilityRZEarthquake
	TextLabel			= CONTROLBAR:Earthquake
	ButtonImage			= SBGood_Earthquake
	DescriptLabel		= CONTROLBAR:TooltipEarthquake
 	Options				= NEED_TARGET_POS CONTEXTMODE_COMMAND
 	CursorName			= EvilAbilityObj
 	InvalidCursorName	= GenericInvalid  
 	ButtonBorderType	= ACTION
 	InPalantir			= Yes
End

CommandButton Command_AngmarWKLightningSword
  Command				 	= SPECIAL_POWER 
  SpecialPower				= SpecialAbilityLightningSword
  Options				 	= NEED_TARGET_POS CONTEXTMODE_COMMAND
  TextLabel			   	= CONTROLBAR:LightningSword
  ButtonImage			 	= HSGandalfLightningSword
  RadiusCursorType			= LightningSwordRadiusCursor
  ButtonBorderType			= ACTION 
  DescriptLabel		   	= CONTROLBAR:ToolTipLightningSword
  AutoAbility			= No
  InPalantir			= Yes
End

The commandset also needs to be edited to look like this... :p
data\ini\commandset.ini
CommandSet AngmarWitchKingMountedCommandSet
	1 	= Command_ToggleStance
	2 	= Command_MountHorseBlackRider	
	3 	= Command_AngmarWitchKingDreadWrath
	4 	= Command_AngmarWKLightningSword
	5 	= Command_SpecialAbilityRZEarthquake
	13 	= Command_AttackMove
	14 	= Command_Stop
	16	  = Command_SetStanceBattle
	17	  = Command_SetStanceAggressive
	18	  = Command_SetStanceHoldGround
End

CommandSet AngmarWitchKingCommandSet
	1 	= Command_ToggleStance
	2 	= Command_MountHorseBlackRider
	3 	= Command_AngmarWitchKingDreadWrath
	4 	= Command_AngmarWKLightningSword
	5	= Command_SpecialAbilityWkTerribleFury
	6 	= Command_SpecialAbilityRZEarthquake
	12 	= Command_CaptureBuilding	
	13 	= Command_AttackMove
	14 	= Command_Stop
	16	  = Command_SetStanceBattle
	17	  = Command_SetStanceAggressive
	18	  = Command_SetStanceHoldGround
End

Now it should work... If it does not then i will try to find out whats wrong :p
Ridder Geel

#7 Guest_Guest_boltonbrowne_*_*

Guest_Guest_boltonbrowne_*_*
  • Guests

Posted 22 October 2009 - 01:39 PM

Wow Ridder Geel... you rock!

Everything seems to work fine...with the exception of 1 thing...

The 'Lightning Sword' Power's anim is weird...The lightning isin't coming out of the Witch King's unit. It's coming from the lower left corner of the screen - and Its more like a purple ray...

Also you can hear Gandalf's voice when you trigger it. Is there a way to remove this? Also the power's subtitle says:

Shoots a bolt of lightning out from Gandalf's (!) Sword. Requires Level 2. Can I re-name this?


Finally, Ridder Geel, if you can.. Is it possible to edit the WK's attack so that he knocks back the same as Sauron?
At the moment, when the WK attacks, 3 units die on the spot, and only 1 flies a short distance. Sauron knocks all units back by a long way. Can you write a code to implement this?

Thanks a Million for the WK mod btw! :cool2:

#8 High King of Arnor

High King of Arnor
  • Members
  • 71 posts
  • Location:Fornost

Posted 22 October 2009 - 02:40 PM

Hmm yeah, I'm getting the weird Lightning Sword thing as well.

It'd be cool if the Witch-King raised his sword, like when he hoists a capture flag when he uses Lightning sword. Same for Earthquake... :cool2:

Nice Job Ridder Geel!
"No man can stand before my blade."

-The Witch-King of Angmar

#9 Masterbadeend

Masterbadeend

    Yellow_Pete

  • Project Team
  • 797 posts
  • Location:The Netherlands
  • Projects:RCMOD
  •  Mapper @ the RCMOD

Posted 22 October 2009 - 04:53 PM

Finally, Ridder Geel, if you can.. Is it possible to edit the WK's attack so that he knocks back the same as Sauron?

He can :cool2:

Posted Image
Posted Image
Thanks to MirkwoordArcher for this great signature and the lovely duck.
Posted Image


#10 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 22 October 2009 - 06:22 PM

:cool2: Indeed take a look at my tutorial :p :good:
The Lightning power is wierd because...
Maybe the WK does not have the bone that gandalf's power uses... I will check that out later, when i have time :w00t:
In the LOTR.STR find CONTROLBAR:ToolTipLightningSword
Make a copy of it
name it:
CONTROLBAR:ToolTipLightningSwordWK
Then in the Commandbutton for the Lightningsword thing for the WK change the
CONTROLBAR:ToolTipLightningSword to CONTROLBAR:ToolTipLightningSwordWK :p
That should fix that :p
Ridder Geel

#11 Downfall

Downfall

    Scenarist

  • Members
  • 356 posts
  • Location:Chicago,USA
  •  There is one?

Posted 22 October 2009 - 07:27 PM

I'm pretty sure that you could connect it to the swordbone on the witchking. Don't know how it would look.

Edited by Downfall, 22 October 2009 - 07:30 PM.

"Human beings make strange fauna and flora. From a distance they appear negligible; up close they are apt to appear ugly and malicious."
Henry Miller, Tropic of Cancer


Posted Image

Posted Image

#12 oblivionator

oblivionator
  • Members
  • 73 posts

Posted 22 October 2009 - 11:14 PM

I've been actually trying to find the name of his sword bone to give him a flaming sword effect, but can't seem to find it... I don't know if I should ask here since it's not my thread...So I'll just wait around like a vulture to see if the bone name comes up... or if someone explains how to find the name of certain bones... :thumbsdownsmiley: Yeah.
Posted Image

#13 Guest_Guest_boltonbrowne_*_*

Guest_Guest_boltonbrowne_*_*
  • Guests

Posted 23 October 2009 - 12:28 AM

Thanks, Ridder Geel.

I've put in the commandset and commandbutton for the WK and I've re-named his Skill 'tooltip' successfully.

I'm not sure what a 'Bone' is - so I really can't proceed in trying to get the knockback effect on his attacks.

BTW Oblivionator - A flaming sword sounds cool! I suppose if you can make it flaming, you can make it glow blue as well? Just a thought...

I'll wait for Ridder Geel to bail us out on the Lightning Sword issue. How can I get the animation of the witch-king capturing a flag to play while he engages his lightning sword attack?

LOL I'd better post this now:

"The Sky is Falling"

#14 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 23 October 2009 - 07:59 AM

I see there are 2 bones on the FX's :thumbsdownsmiley:
B_WEAPONA_FX
B_WEAPONB_FX
Ridder Geel

#15 High King of Arnor

High King of Arnor
  • Members
  • 71 posts
  • Location:Fornost

Posted 23 October 2009 - 09:54 AM

So...umm...

How do you 'use' a bone?

Which bit of code do I have to tweak to get the knockback effect?


( I suppose Ridder Geel is still working on the lightning sword glitch, Lol)
"No man can stand before my blade."

-The Witch-King of Angmar

#16 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 23 October 2009 - 01:20 PM

The knockback? :thumbsdownsmiley: Thats all weapon stuff :mellow:
The tutorial should help you with that... :p Unless you dont know how to use the tutorial? ;)

Go to this file...
\data\ini\fxlist.ini
Find:
;-------------------------
FXList FX_GandalfLightningSwordBlastWeapon

  
  ParticleSystem
	Name = LightningStrike FollowBone:Yes
	OrientToObject = Yes
	CreateBoneOverride = B_SWORDBONE
	TargetBoneOverride = BAT_PELVIS
  End

;  ParticleSystem
;	Name = LightningStrikeHit1
;	OrientToObject = Yes
;	CreateBoneOverride = BAT_JAW
;	TargetBoneOverride = BAT_HAND_L
;	CreateBoneAtTarget = Yes
;  End
  
  ParticleSystem
	Name = LightningStrike2 FollowBone:Yes
	OrientToObject = Yes
	CreateBoneOverride = B_SWORDBONE
	TargetBoneOverride = BAT_PELVIS
	InitialDelay = 400 400 UNIFORM  ;In milliseconds
  End
  ParticleSystem
	Name = LightningStrike3 FollowBone:Yes
	OrientToObject = Yes
	CreateBoneOverride = B_SWORDBONE
	TargetBoneOverride = BAT_PELVIS
	InitialDelay = 800 800 UNIFORM  ;In milliseconds
  End
  ParticleSystem
	Name = LightningStrike FollowBone:Yes
	OrientToObject = Yes
	CreateBoneOverride = B_SWORDBONE
	TargetBoneOverride = BAT_PELVIS
	InitialDelay = 1200 1200 UNIFORM  ;In milliseconds
  End
  ParticleSystem
	Name = LightningStrike2 FollowBone:Yes
	OrientToObject = Yes
	CreateBoneOverride = B_SWORDBONE
	TargetBoneOverride = BAT_PELVIS
	InitialDelay = 1600 1600 UNIFORM  ;In milliseconds
  End
  ParticleSystem
	Name = LightningStrike3 FollowBone:Yes
	OrientToObject = Yes
	CreateBoneOverride = B_SWORDBONE
	TargetBoneOverride = BAT_PELVIS
	InitialDelay = 2000 2000 UNIFORM  ;In milliseconds
  End
End

Replace it with...
;-------------------------
FXList FX_GandalfLightningSwordBlastWeapon

 ;;Gandalf!
  ParticleSystem
	Name = LightningStrike FollowBone:Yes
	OrientToObject = Yes
	CreateBoneOverride = B_SWORDBONE
	TargetBoneOverride = BAT_PELVIS
  End
  ParticleSystem
	Name = LightningStrike2 FollowBone:Yes
	OrientToObject = Yes
	CreateBoneOverride = B_SWORDBONE
	TargetBoneOverride = BAT_PELVIS
	InitialDelay = 400 400 UNIFORM  ;In milliseconds
  End
  ParticleSystem
	Name = LightningStrike3 FollowBone:Yes
	OrientToObject = Yes
	CreateBoneOverride = B_SWORDBONE
	TargetBoneOverride = BAT_PELVIS
	InitialDelay = 800 800 UNIFORM  ;In milliseconds
  End
  ParticleSystem
	Name = LightningStrike FollowBone:Yes
	OrientToObject = Yes
	CreateBoneOverride = B_SWORDBONE
	TargetBoneOverride = BAT_PELVIS
	InitialDelay = 1200 1200 UNIFORM  ;In milliseconds
  End
  ParticleSystem
	Name = LightningStrike2 FollowBone:Yes
	OrientToObject = Yes
	CreateBoneOverride = B_SWORDBONE
	TargetBoneOverride = BAT_PELVIS
	InitialDelay = 1600 1600 UNIFORM  ;In milliseconds
  End
  ParticleSystem
	Name = LightningStrike3 FollowBone:Yes
	OrientToObject = Yes
	CreateBoneOverride = B_SWORDBONE
	TargetBoneOverride = BAT_PELVIS
	InitialDelay = 2000 2000 UNIFORM  ;In milliseconds
  End

 ;;Our WK :P Ownage!
  ParticleSystem
	Name = LightningStrike FollowBone:Yes
	OrientToObject = Yes
	CreateBoneOverride = B_WEAPONA_FX
	TargetBoneOverride = BAT_PELVIS
  End
  ParticleSystem
	Name = LightningStrike2 FollowBone:Yes
	OrientToObject = Yes
	CreateBoneOverride = B_WEAPONA_FX
	TargetBoneOverride = BAT_PELVIS
	InitialDelay = 400 400 UNIFORM  ;In milliseconds
  End
  ParticleSystem
	Name = LightningStrike3 FollowBone:Yes
	OrientToObject = Yes
	CreateBoneOverride = B_WEAPONA_FX
	TargetBoneOverride = BAT_PELVIS
	InitialDelay = 800 800 UNIFORM  ;In milliseconds
  End
  ParticleSystem
	Name = LightningStrike FollowBone:Yes
	OrientToObject = Yes
	CreateBoneOverride = B_WEAPONA_FX
	TargetBoneOverride = BAT_PELVIS
	InitialDelay = 1200 1200 UNIFORM  ;In milliseconds
  End
  ParticleSystem
	Name = LightningStrike2 FollowBone:Yes
	OrientToObject = Yes
	CreateBoneOverride = B_WEAPONA_FX
	TargetBoneOverride = BAT_PELVIS
	InitialDelay = 1600 1600 UNIFORM  ;In milliseconds
  End
  ParticleSystem
	Name = LightningStrike3 FollowBone:Yes
	OrientToObject = Yes
	CreateBoneOverride = B_WEAPONA_FX
	TargetBoneOverride = BAT_PELVIS
	InitialDelay = 2000 2000 UNIFORM  ;In milliseconds
  End
End

That should fix ur wierd thing ;)
Ridder Geel

#17 Guest_Guest_boltonbrowne_*_*

Guest_Guest_boltonbrowne_*_*
  • Guests

Posted 23 October 2009 - 11:15 PM

Er...

The Lightning Sword FX hasn't changed anything. If it has, It's made the ray brighter perhaps...but It doesn't look like the anims that play when Gandalf fires off his Lightning sword..

Also, Ridder Geel, I'll take a look at your tutorial! I hope I can script in the knockback for the WK without destroying anything :closedeyes:

@ Oblivionator - If you successfully make your flaming sword effect with the WK's bone... can you tell me how to do the exact same thing, except with a blue glow?

:crazed: Thanks guys...

*hopes the Lightning Sword can be fixed* :crazed:

#18 High King of Arnor

High King of Arnor
  • Members
  • 71 posts
  • Location:Fornost

Posted 24 October 2009 - 01:45 AM

Lightning sword isint working - even with that code :crazed:

Ridder Geel, I've played around with the weapon code for getting knockback effects for the witch-king.

So far, I've managed to give him the 'magic' damage and metaimpact stuff.. and when he hits units - he hits a big group of them. THE PROBLEM IS... WK hits them, but most of them just die on the spot while 1 unit goes flying. How do I get them all to go flying?

:closedeyes:
"No man can stand before my blade."

-The Witch-King of Angmar

#19 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 24 October 2009 - 01:51 AM

Increase the range that the meta impact thing does :closedeyes:
Ridder Geel

#20 High King of Arnor

High King of Arnor
  • Members
  • 71 posts
  • Location:Fornost

Posted 24 October 2009 - 11:51 AM

Range?

Here's the bit of code...




; Push back
MetaImpactNugget ; A Nugget that throws things back with force
; HeroResist = .75
ShockWaveAmount = 60
ShockWaveRadius = 40
ShockWaveArc = 40 ; Should generally be equal to damage arc
ShockWaveTaperOff = 1.0
ShockWaveSpeed = 0.0
ShockWaveZMult = 1.3
End
End


Which bit do I have to tweak?
"No man can stand before my blade."

-The Witch-King of Angmar




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users