scifista42 Posted March 12, 2016 zdoom wiki said: SXF_SETMASTER - if the calling actor is a monster ((New from 2.8.1) this restriction does not apply), this places the new actor in a master/minion relationship with the parent. Master/minions will not attack each other and this allows for the use of A_KillMaster and/or A_KillChildren.So, if you're using a ZDoom version lesser than 2.8.1, then the monster needs ISMONSTER flag or Monster Combo property to be able to form a master/minion relationship with the decoy. EDIT: For A_KillChildren to work, the child needs to be killable (SHOOTABLE or VULNERABLE), which your decoy isn't, which is more likely to be the cause of the problem than the abovementioned thing. EDIT2: You should be able to use A_RemoveChildren to make unkillable children disappear from the map. 0 Quote Share this post Link to post
rabidrage Posted March 12, 2016 I appear to be using an earlier version. In file version it says 2.0.9999.0. I set +ISMONSTER anyway. Still no good. So I gave the monster the full combo (but not the minion). If the minion needs it too, then I need some other way to make the minion intangible. I think there are other flags that can be set for that, but I'll cross that bridge when I come to it. 0 Quote Share this post Link to post
scifista42 Posted March 12, 2016 You should most definitely update your ZDoom to the current stable version, which is 2.8.1. Older versions are missing on quite a lot of features. Also, see my edits of my previous post. 0 Quote Share this post Link to post
rabidrage Posted March 12, 2016 I'll see about updating soon. So, concerning your edits...as far as I can tell, a_RemoveChildren could work. How do I set it to "all", including live children? 0 Quote Share this post Link to post
scifista42 Posted March 12, 2016 Call it with 1 or true as the first parameter. A_RemoveChildren(1) 0 Quote Share this post Link to post
rabidrage Posted March 12, 2016 Okay, so that's solved. Ultimately I also had to make it shootable, even though I want shots to pass through it. But making it shootable has also rendered it killable. I need to fix that next. I'm open to suggestions. 0 Quote Share this post Link to post
rabidrage Posted March 12, 2016 Wait, correction; I don't have +SHOOTABLE set, but even with +NONSHOOTABLE, the Projection can be killed by being shot. Must be because of +VULNERABLE? I don't know. Also, I'm using GZDoom, not ZDoom--so I might already have the latest version? 0 Quote Share this post Link to post
scifista42 Posted March 12, 2016 So, you want projectiles to pass through the decoy without harming him, presumably splash damage and other means of damage also have no effect on him, and only be killable by the A_KillChildren command called by his parent? One already proposed solution is to unset his SHOOTABLE and VULNERABLE flags and remove him by A_RemoveChildren. Another solution is to unset his SHOOTABLE flag, give him VULNERABLE and NORADIUSDMG flag, and the following 2 damage factors:DamageFactor 0.0 DamageFactor "KillDecoy", 1.0 Then make the parent call A_KillChildren with "KillDecoy" as the parameter. 0 Quote Share this post Link to post
rabidrage Posted March 14, 2016 Well, this just got easier. I double-checked, and the character this is based on actually has a tangible projection. Whew! Nothing was working, so that's a huge relief. 0 Quote Share this post Link to post
rabidrage Posted March 14, 2016 Alright, so it's down to: actor Slayer : Runner 32014 { MaxStepHeight 600 MaxDropoffHeight 600 Scale 2.0 Health 3000 Speed 8 FastSpeed 10 PainChance 50 Radius 20 Height 76 Mass 4000 Painchance "Fire", 255 Painchance "Lava", 255 Painchance "Poison", 1 Painchance "Ice", 255 Painchance "Bleeding", 0 Painchance "Flame", 255 DamageFactor "Fire", 1.5 DamageFactor "Ice", 1.5 DamageFactor "Flame", 1.5 DamageFactor "Lava", 1.5 DamageFactor "Poison", 1.0 DamageFactor "Bleeding", 0.0 DamageFactor "Feeding", 0.0 DamageFactor "Tracer", 0.7 DamageFactor "Electric", 1.5 DropItem "XXBerserk", 20 +LOOKALLAROUND +FIXMAPTHINGPOS +CANUSEWALLS +CANPUSHWALLS +ACTIVATEIMPACT +QUICKTORETALIATE +SLIDESONWALLS +ISMONSTER +SHOOTABLE +SOLID +COUNTKILL +ACTIVATEMCROSS +CANPASS +SHADOW States { Spawn: XENR A 0 TNT1 A 0 A_GiveInventory("Hologram", 1) XENR AB 10 A_Look Goto Idle Idle: XENR AB 10 A_Look Loop See: TNT1 A 0 A_JumpIfInventory("Hologram", 1, "Projection") TNT1 A 0 A_Recoil(-1) XENR BB 2 A_Chase TNT1 A 0 A_Recoil(-1) XENR CC 2 A_Chase TNT1 A 0 A_Recoil(-1) TNT1 A 0 A_JumpIf(128, "See") Goto See //Loop Melee2: XENR D 8 A_FaceTarget TNT1 A 0 ThrustThingZ(0,20,0,1) XENR E 8 A_Recoil(-15) TNT1 A 0 A_CustomMissile("SRunnerAttack",20,0,0,0) XENR F 8 Goto See Melee: TNT1 A 0 A_JumpIfInventory("Hologram", 1, "Melee2") TNT1 D 8 A_FaceTarget TNT1 A 0 ThrustThingZ(0,20,0,1) TNT1 E 8 A_Recoil(-15) TNT1 A 0 A_CustomMissile("SRunnerAttack",20,0,0,0) TNT1 F 8 Goto See2 Projection: XENR B 0 A_SpawnItemEx("Projection", 0, 45, SXF_SETMASTER) XENR B 0 A_TakeInventory("Hologram", 1) Goto See2 See2: TNT1 A 0 A_Recoil(-1) TNT1 BB 2 A_Chase TNT1 A 0 A_Recoil(-1) TNT1 CC 2 A_Chase TNT1 A 0 A_Recoil(-1) TNT1 A 0 A_JumpIf(128, "See2") Goto See2 //Loop Pain2: XENR G 1 A_Pain TNT1 A 0 A_Jump(200, "Avoid2") Goto See Pain: TNT1 A 0 A_JumpIfInventory("Hologram", 1, "Pain2") TNT1 G 1 A_Pain TNT1 A 0 A_Jump(200, "Avoid") Goto See2 Avoid2: XENR A 1 A_FaceTarget XENR ABCB 2 A_FastChase Goto See Avoid: TNT1 A 0 A_JumpIfInventory("Hologram", 1, "Avoid2") TNT1 A 1 A_FaceTarget TNT1 ABCB 2 A_FastChase Goto See2 Death.Poison: TNT1 A 0 A_ClearTarget XENR H 1 A_RemoveChildren(1) TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45) XENR H 8 XENR I 8 A_Scream XENR J 4 XENR K 4 A_NoBlocking XENR L -1 Stop Death.Bleeding: TNT1 A 0 A_ClearTarget XENR H 1 A_RemoveChildren(1) TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45) XENR H 8 XENR I 8 A_Scream XENR J 4 XENR K 4 A_NoBlocking XENR L -1 Stop Death: TNT1 A 0 A_RemoveChildren(1) TNT1 A 0 A_ClearTarget TNT1 A 0 A_Jump(255, "Death1", "Death2", "Death3") Death1: TNT1 A 0 A_RemoveChildren(1) Death2: TNT1 A 0 A_RemoveChildren(1) Death3: XENR H 1 TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45) XENR H 8 A_RemoveChildren(1) XENR I 8 A_Scream XENR J 4 XENR K 4 A_NoBlocking XENR L -1 Stop XDeath.Poison: TNT1 A 0 A_ClearTarget XENR H 1 A_RemoveChildren(1) TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45) XENR H 8 XENR I 8 A_Scream XENR J 4 XENR K 4 A_NoBlocking XENR L -1 Stop XDeath.Bleeding: TNT1 A 0 A_ClearTarget XENR H 1 A_RemoveChildren(1) TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45) XENR H 8 XENR I 8 A_Scream XENR J 4 XENR K 4 A_NoBlocking XENR L -1 Stop XDeath: TNT1 A 0 A_ClearTarget TNT1 A 0 A_RemoveChildren(1) TNT1 A 0 A_Jump(255,"C1", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "C10") C1: TNT1 A 0 A_GiveToTarget("Comment1") Goto XDeath2 C2: TNT1 A 0 A_GiveToTarget("Comment2") Goto XDeath2 C3: TNT1 A 0 A_GiveToTarget("Comment3") Goto XDeath2 C4: TNT1 A 0 A_GiveToTarget("Comment4") Goto XDeath2 C5: TNT1 A 0 A_GiveToTarget("Comment5") Goto XDeath2 C6: TNT1 A 0 A_GiveToTarget("Comment6") Goto XDeath2 C7: TNT1 A 0 A_GiveToTarget("Comment7") Goto XDeath2 C8: TNT1 A 0 A_GiveToTarget("Comment8") Goto XDeath2 C9: TNT1 A 0 A_GiveToTarget("Comment9") Goto XDeath2 C10: TNT1 A 0 A_GiveToTarget("Comment10") Goto XDeath2 XDeath2: TNT1 AAA 0 A_SpawnItem("AlienBlood", 0, 45) TNT1 A 0 A_PlaySound("misc/xdeath4c") TNT1 A 0 A_RemoveChildren(1) EXPL A 0 A_CustomMissile ("AlienGibTorsoRunner", 35, 0, random (0, 360), 2, random (10, 90)) EXPL A 0 A_CustomMissile ("AlienGibRunnerHead", 45, 0, random (0, 360), 2, random (10, 90)) EXPL A 0 A_CustomMissile ("AlienGibRunnerArm1", 35, 0, random (0, 360), 2, random (10, 90)) EXPL A 0 A_CustomMissile ("AlienGibRunnerArm2", 35, 0, random (0, 360), 2, random (10, 90)) EXPL AA 0 A_CustomMissile ("AlienGibRunnerLeg", 15, 0, random (0, 360), 2, random (10, 90)) EXPL A 0 A_CustomMissile ("AlienGibRunnerTail", 35, 0, random (0, 360), 2, random (10, 90)) EXPL AAAAA 0 A_CustomMissile ("FlyingAcidRidiculous", 45, 0, random (0, 360), 2, random (40, 90)) EXPL AAAAA 0 A_CustomMissile ("FlyingAcidBig1", 35, 0, random (0, 360), 2, random (10, 90)) EXPL AAAAA 0 A_CustomMissile ("FlyingAcidBig2", 35, 0, random (0, 360), 2, random (40, 90)) TNT1 A 0 A_Scream TNT1 A 0 A_NoBlocking Stop Crush: TNT1 A 0 A_ClearTarget TNT1 A 0 A_RemoveChildren(1) EXPL A 0 A_CustomMissile ("AlienGibRunnerHead", 45, 0, random (0, 360), 2, random (10, 90)) TNT1 A 0 A_PlaySound("misc/xdeath4c") EXPL A 0 A_CustomMissile ("AlienGibRunnerArm1", 35, 0, random (0, 360), 2, random (10, 90)) EXPL A 0 A_CustomMissile ("AlienGibRunnerArm2", 35, 0, random (0, 360), 2, random (10, 90)) EXPL AA 0 A_CustomMissile ("AlienGibRunnerLeg", 15, 0, random (0, 360), 2, random (10, 90)) EXPL A 0 A_CustomMissile ("AlienGibRunnerTail", 35, 0, random (0, 360), 2, random (10, 90)) EXPL AAAAA 0 A_CustomMissile ("FlyingAcidRidiculous", 45, 0, random (0, 360), 2, random (40, 90)) EXPL AAAAA 0 A_CustomMissile ("FlyingAcidBig1", 35, 0, random (0, 360), 2, random (10, 90)) EXPL AAAAA 0 A_CustomMissile ("FlyingAcidBig2", 35, 0, random (0, 360), 2, random (40, 90)) Stop } } Actor Projection { MaxStepHeight 600 MaxDropoffHeight 600 Scale 2.0 Health 3000 Speed 8 FastSpeed 10 Radius 20 Height 76 Mass 4000 Monster +COUNTKILL +SOLID +CANPUSHWALLS +CANUSEWALLS +ACTIVATEMCROSS +CANPASS +ISMONSTER +VULNERABLE States { Spawn: XENR A 0 XENR AB 10 A_Look Goto Idle Idle: XENR AB 10 A_Look Loop See: TNT1 A 0 A_Recoil(-1) XENR BB 2 A_Chase TNT1 A 0 A_Recoil(-1) XENR CC 2 A_Chase TNT1 A 0 A_Recoil(-1) TNT1 A 0 A_JumpIf(128, "See") Goto Spawn //Loop Avoid: XENR A 1 A_FaceTarget XENR ABCB 2 A_FastChase Goto See Death: TNT1 A 0 Stop } } I tried walking it back a step when I found out the projection did not have to be intangible...and somehow messed it all up. What did I do?? The projection doesn't disappear when the parent dies. It can die on its own, but I have some ideas on how to fix that once this first problem is dealt with. 0 Quote Share this post Link to post
scifista42 Posted March 14, 2016 Try setting RMVF_EVERYTHING flag in the second parameter of A_RemoveChildren. 0 Quote Share this post Link to post
rabidrage Posted March 14, 2016 So it should look like A_RemoveChildren(1, RMVF_EVERYTHING) Correct? Not working, unfortunately. What I don't understand is how I had what I wanted before and can't get it back. 0 Quote Share this post Link to post
scifista42 Posted March 14, 2016 I can see the cause now: When calling A_SpawnItemEx to spawn the Projection, you are putting the SXF_SETMASTER flag into a wrong'th parameter field. You must follow the exact parameter order here, and when you want to set a particular parameter field, you must not omit any of the fields that precede it. This is how your code should look like: A_SpawnItemEx("Projection",0,0,0,0,0,0,45,SXF_SETMASTER) 0 Quote Share this post Link to post
rabidrage Posted March 14, 2016 That worked! But look--I swear I didn't have to do that before. I mean, it's okay, it doesn't hurt anything. I just don't get why it's different this time. Coding's crazy, huh? 0 Quote Share this post Link to post
scifista42 Posted March 14, 2016 If you mean that your A_RemoveChildren had worked while the SXF_SETMASTER flag wasn't set correctly, then either your observations were wrong, or it was because of your old version of ZDoom behaving differently than is the current standard. 0 Quote Share this post Link to post
rabidrage Posted March 14, 2016 Weird. Alright, check it out! The (tentative) final code for Slayer. This makes it so that he can decide to switch in and out of his invisible projection mode at random and confuse the hell out of you. actor Slayer : Runner 32014 { MaxStepHeight 600 MaxDropoffHeight 600 Scale 2.0 Health 3000 Speed 8 FastSpeed 10 PainChance 50 Radius 20 Height 76 Mass 4000 Painchance "Fire", 255 Painchance "Lava", 255 Painchance "Poison", 1 Painchance "Ice", 255 Painchance "Bleeding", 0 Painchance "Flame", 255 DamageFactor "Fire", 1.5 DamageFactor "Ice", 1.5 DamageFactor "Flame", 1.5 DamageFactor "Lava", 1.5 DamageFactor "Poison", 1.0 DamageFactor "Bleeding", 0.0 DamageFactor "Feeding", 0.0 DamageFactor "Tracer", 0.7 DamageFactor "Electric", 1.5 DropItem "XXBerserk", 20 +LOOKALLAROUND +FIXMAPTHINGPOS +CANUSEWALLS +CANPUSHWALLS +ACTIVATEIMPACT +QUICKTORETALIATE +SLIDESONWALLS +ISMONSTER +SHOOTABLE +SOLID +COUNTKILL +ACTIVATEMCROSS +CANPASS +SHADOW States { Spawn: XENR A 0 TNT1 A 0 A_GiveInventory("Hologram", 1) XENR AB 10 A_Look Goto Idle Idle: XENR AB 10 A_Look Loop See: TNT1 A 0 A_Jump(50, "See3") TNT1 A 0 A_JumpIfInventory("Hologram", 1, "Projection") TNT1 A 0 A_Recoil(-1) XENR BB 2 A_Chase TNT1 A 0 A_Recoil(-1) XENR CC 2 A_Chase TNT1 A 0 A_Recoil(-1) TNT1 A 0 A_Jump(50, "See") Goto See //Loop Melee2: XENR D 8 A_FaceTarget TNT1 A 0 ThrustThingZ(0,20,0,1) XENR E 8 A_Recoil(-15) TNT1 A 0 A_CustomMissile("SRunnerAttack",20,0,0,0) XENR F 8 Goto See Melee: TNT1 A 0 A_JumpIfInventory("Hologram", 1, "Melee2") TNT1 D 8 A_FaceTarget TNT1 A 0 ThrustThingZ(0,20,0,1) TNT1 E 8 A_Recoil(-15) TNT1 A 0 A_CustomMissile("SRunnerAttack",20,0,0,0) TNT1 F 8 Goto See2 Projection: XENR B 0 A_SpawnItemEx("Projection",0,0,0,0,0,0,45,SXF_SETMASTER) XENR B 0 A_TakeInventory("Hologram", 1) Goto See2 See2: TNT1 A 0 A_Recoil(-1) TNT1 BB 2 A_Chase TNT1 A 0 A_Recoil(-1) TNT1 CC 2 A_Chase TNT1 A 0 A_Recoil(-1) TNT1 A 0 A_Jump(50, "See3") Goto See2 //Loop See3: TNT1 A 0 A_RemoveChildren(1, RMVF_EVERYTHING) TNT1 A 0 A_GiveInventory("Hologram", 1) TNT1 A 0 A_Recoil(-1) XENR BB 2 A_Chase TNT1 A 0 A_Recoil(-1) XENR CC 2 A_Chase TNT1 A 0 A_Recoil(-1) TNT1 A 0 A_Jump(50, "See3") Goto See Pain2: XENR G 1 A_Pain TNT1 A 0 A_Jump(200, "Avoid2") Goto See Pain: TNT1 A 0 A_JumpIfInventory("Hologram", 1, "Pain2") TNT1 G 1 A_Pain TNT1 A 0 A_Jump(200, "Avoid") Goto See2 Avoid2: XENR A 1 A_FaceTarget XENR ABCB 2 A_FastChase Goto See Avoid: TNT1 A 0 A_JumpIfInventory("Hologram", 1, "Avoid2") TNT1 A 1 A_FaceTarget TNT1 ABCB 2 A_FastChase Goto See2 Death.Poison: TNT1 A 0 A_ClearTarget XENR H 1 A_RemoveChildren(1, RMVF_EVERYTHING) TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45) XENR H 8 XENR I 8 A_Scream XENR J 4 XENR K 4 A_NoBlocking XENR L -1 Stop Death.Bleeding: TNT1 A 0 A_ClearTarget XENR H 1 A_RemoveChildren(1, RMVF_EVERYTHING) TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45) XENR H 8 XENR I 8 A_Scream XENR J 4 XENR K 4 A_NoBlocking XENR L -1 Stop Death: TNT1 A 0 A_RemoveChildren(1, RMVF_EVERYTHING) TNT1 A 0 A_ClearTarget TNT1 A 0 A_Jump(255, "Death1", "Death2", "Death3") Death1: TNT1 A 0 A_RemoveChildren(1, RMVF_EVERYTHING) Death2: TNT1 A 0 A_RemoveChildren(1, RMVF_EVERYTHING) Death3: XENR H 1 TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45) XENR H 8 A_RemoveChildren(1, RMVF_EVERYTHING) XENR I 8 A_Scream XENR J 4 XENR K 4 A_NoBlocking XENR L -1 Stop XDeath.Poison: TNT1 A 0 A_ClearTarget XENR H 1 A_RemoveChildren(1,RMVF_EVERYTHING) TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45) XENR H 8 XENR I 8 A_Scream XENR J 4 XENR K 4 A_NoBlocking XENR L -1 Stop XDeath.Bleeding: TNT1 A 0 A_ClearTarget XENR H 1 A_RemoveChildren(1, RMVF_EVERYTHING) TNT1 A 0 A_SpawnItem("AlienBlood", 0, 45) XENR H 8 XENR I 8 A_Scream XENR J 4 XENR K 4 A_NoBlocking XENR L -1 Stop XDeath: TNT1 A 0 A_ClearTarget TNT1 A 0 A_RemoveChildren(1, RMVF_EVERYTHING) TNT1 A 0 A_Jump(255,"C1", "C2", "C3", "C4", "C5", "C6", "C7", "C8", "C9", "C10") C1: TNT1 A 0 A_GiveToTarget("Comment1") Goto XDeath2 C2: TNT1 A 0 A_GiveToTarget("Comment2") Goto XDeath2 C3: TNT1 A 0 A_GiveToTarget("Comment3") Goto XDeath2 C4: TNT1 A 0 A_GiveToTarget("Comment4") Goto XDeath2 C5: TNT1 A 0 A_GiveToTarget("Comment5") Goto XDeath2 C6: TNT1 A 0 A_GiveToTarget("Comment6") Goto XDeath2 C7: TNT1 A 0 A_GiveToTarget("Comment7") Goto XDeath2 C8: TNT1 A 0 A_GiveToTarget("Comment8") Goto XDeath2 C9: TNT1 A 0 A_GiveToTarget("Comment9") Goto XDeath2 C10: TNT1 A 0 A_GiveToTarget("Comment10") Goto XDeath2 XDeath2: TNT1 AAA 0 A_SpawnItem("AlienBlood", 0, 45) TNT1 A 0 A_PlaySound("misc/xdeath4c") TNT1 A 0 A_RemoveChildren(1, RMVF_EVERYTHING) EXPL A 0 A_CustomMissile ("AlienGibTorsoRunner", 35, 0, random (0, 360), 2, random (10, 90)) EXPL A 0 A_CustomMissile ("AlienGibRunnerHead", 45, 0, random (0, 360), 2, random (10, 90)) EXPL A 0 A_CustomMissile ("AlienGibRunnerArm1", 35, 0, random (0, 360), 2, random (10, 90)) EXPL A 0 A_CustomMissile ("AlienGibRunnerArm2", 35, 0, random (0, 360), 2, random (10, 90)) EXPL AA 0 A_CustomMissile ("AlienGibRunnerLeg", 15, 0, random (0, 360), 2, random (10, 90)) EXPL A 0 A_CustomMissile ("AlienGibRunnerTail", 35, 0, random (0, 360), 2, random (10, 90)) EXPL AAAAA 0 A_CustomMissile ("FlyingAcidRidiculous", 45, 0, random (0, 360), 2, random (40, 90)) EXPL AAAAA 0 A_CustomMissile ("FlyingAcidBig1", 35, 0, random (0, 360), 2, random (10, 90)) EXPL AAAAA 0 A_CustomMissile ("FlyingAcidBig2", 35, 0, random (0, 360), 2, random (40, 90)) TNT1 A 0 A_Scream TNT1 A 0 A_NoBlocking Stop Crush: TNT1 A 0 A_ClearTarget TNT1 A 0 A_RemoveChildren(1, RMVF_EVERYTHING) EXPL A 0 A_CustomMissile ("AlienGibRunnerHead", 45, 0, random (0, 360), 2, random (10, 90)) TNT1 A 0 A_PlaySound("misc/xdeath4c") EXPL A 0 A_CustomMissile ("AlienGibRunnerArm1", 35, 0, random (0, 360), 2, random (10, 90)) EXPL A 0 A_CustomMissile ("AlienGibRunnerArm2", 35, 0, random (0, 360), 2, random (10, 90)) EXPL AA 0 A_CustomMissile ("AlienGibRunnerLeg", 15, 0, random (0, 360), 2, random (10, 90)) EXPL A 0 A_CustomMissile ("AlienGibRunnerTail", 35, 0, random (0, 360), 2, random (10, 90)) EXPL AAAAA 0 A_CustomMissile ("FlyingAcidRidiculous", 45, 0, random (0, 360), 2, random (40, 90)) EXPL AAAAA 0 A_CustomMissile ("FlyingAcidBig1", 35, 0, random (0, 360), 2, random (10, 90)) EXPL AAAAA 0 A_CustomMissile ("FlyingAcidBig2", 35, 0, random (0, 360), 2, random (40, 90)) Stop } } Cool, right? 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.