White face acting weird in specific cases

Discuss all aspects related to modding Zandronum here.
Post Reply
User avatar
ibm5155
Addicted to Zandronum
Posts: 1641
Joined: Tue Jun 05, 2012 9:32 pm
Location: Somewhere, over the rainbow

White face acting weird in specific cases

#1

Post by ibm5155 » Sun Jan 17, 2016 7:36 pm

So, for some reasons, when a player is on the top of a object that is near to two walls, he doesnt instakill him, and many times he just fails to kill the player '-'
phpBB [video]
The [video] tag is deprecated, please use the [media] tag
Here's a example vídeo, whiteface pass near the player and goes in a linear direction, after passing the sector, he goes back and kill the player.

This wasn't even happening before, before, he would just go over that direction he went before, and he would never return D:

Here's the code line that he was executing

Code: Select all

  SeeHaunt:
   SCAR A 0 A_JumpIf(user_WFHunterTimer>0,3)
   //START SETUP
   SCAR A 0 A_SetUserVar("user_WFHunterTimer",random(10,20))//Set the timer 
   SCAR A 0 ACS_Execute(46,0,1) //1
   //END START SETUP
   SCAR A 0 A_Playsound("KIDSND")//2 <-
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.1,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.2,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.3,0)
   SCAR A 0 A_FaceTarget
   SCAR AAA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.4,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.5,0)
   SCAR A 0 A_FaceTarget
   SCAR AAA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.6,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.7,0)
   SCAR A 0 A_FaceTarget
   SCAR AAA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.8,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.9,0)
   SCAR A 0 A_FaceTarget
   SCAR AAA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(1.0,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.9,0) 
   SCAR A 0 A_FaceTarget
   SCAR AAA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.8,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.7,0)
   SCAR A 0 A_FaceTarget
   SCAR AAA 1 Bright A_Chase
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.5,0)
   SCAR A 0 A_FaceTarget
   SCAR AAA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.4,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.3,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.2,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.1,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.0,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase 
   SCAR A 0 A_SetUserVar("user_WFHunterTimer",user_WFHunterTimer-1)//in case it goes below zero
   SCAR A 0 A_JumpIf(user_WFHunterTimer>0,5)
   //RESET WHITE FACE TO NORMAL STATUS
   SCAR A 0 A_SetTranslucent (0.0,0)  //1
   SCAR A 0 ACS_Execute(46,0,0)         //2
   SCAR A 0 A_SetUserVar("user_WFHunterTimer",0)//in case it goes below zero
   SCAR A 0 A_Jump(256,"See")      //4
   SCAR A 0                        //5 <--
   Loop  
He should act as a tracer, and, 99% of the cases it Works just fine, it's just these specific cases that I don't get why he doesn't kill the player :(

What should I do to make WhiteFace kills the player in the first try?

Also, here's a Picture about where were I
[spoiler]Image[/spoiler]
Projects
Cursed Maze: DONE, V2.0
Zombie Horde - ZM09 map update: [3/15/13]
Need help with English? Then you've come to the right place!

<this post is proof of "Decline">

Lollipop
Zandrone
Posts: 1124
Joined: Tue Jul 24, 2012 10:34 am
Location: Denmark

RE: White face acting weird in specific cases

#2

Post by Lollipop » Sun Jan 17, 2016 7:47 pm

How exactly do you kill the player? If it is with a damaging decorate function, the walls could potentially block some of it IDK...
Have you tried making it look at the play and call a script killing its linetarget? That should kill the player if whiteface can see him.
Combinebobnt wrote:i can see the forum league is taking off much better than the ctf ones
GalactusToday at 1:07 PM
are you getting uncomfortable jap
feeling something happen down there

User avatar
Ivan
Addicted to Zandronum
Posts: 2229
Joined: Mon Jun 04, 2012 5:38 pm
Location: Omnipresent

RE: White face acting weird in specific cases

#3

Post by Ivan » Sun Jan 17, 2016 9:53 pm

This is too scary.
=== RAGNAROK DM ON ... uh... dead forever? ===
=== ALWAYS BET ON ... uh... dead forever? ===
=== Who wanta sum wang? ===
=== Death and Decay - A new Monster/Weapon replacer ===

User avatar
Doomkid
Frequent Poster Miles card holder
Posts: 943
Joined: Sun Nov 25, 2012 2:04 am
Location: Aussie Land
Clan: UniDoom
Clan Tag: [UD]
Contact:

RE: White face acting weird in specific cases

#4

Post by Doomkid » Sun Jan 17, 2016 10:47 pm

I was not expecting ear rape, I got pwned
Image
Image

User avatar
Combinebobnt
Retired Staff / Community Team Member
Posts: 1905
Joined: Mon Jun 04, 2012 3:37 am
Location: Earth
Contact:

RE: White face acting weird in specific cases

#5

Post by Combinebobnt » Sun Jan 17, 2016 10:56 pm

Sorry this bug is probably too scary for torr samaho to fix

User avatar
ibm5155
Addicted to Zandronum
Posts: 1641
Joined: Tue Jun 05, 2012 9:32 pm
Location: Somewhere, over the rainbow

RE: White face acting weird in specific cases

#6

Post by ibm5155 » Mon Jan 18, 2016 12:31 am

Lollipop wrote: How exactly do you kill the player? If it is with a damaging decorate function, the walls could potentially block some of it IDK...
Have you tried making it look at the play and call a script killing its linetarget? That should kill the player if whiteface can see him.
The monster itself doesn't kill the play, it gives the player some decorate object, that object calls an acs script when given to the player, that acs called teleport the player to a instakill sector, shows that image on the screen and plays the death sound.


Also here's the full White face code

Code: Select all


actor IMSCAREDACTIVE : CustomInventory
{
  //$Category Ibm Stuff
  inventory.pickupmessage ""
  inventory.pickupsound ""
  states
  {
  Spawn:
    TNT1 A -1
    stop
  Pickup:
    TNT1 A 0 ACS_Execute(44, 0)
    stop
  }
}

actor IMSCARED2BETA 31199
{
  //$Category Ibm Stuff
  MONSTER
  //Radius 20
  Health 0x7fffffff
  Damage 0
  Speed 3
  scale 0.08
  +GHOST +NOCLIP +NOGRAVITY +FLOAT +LOOKALLAROUND -SOLID +NOBLOCKMONST +DROPOFF +DONTSPLASH +BRIGHT
  ActiveSound"" 
  meleedamage 9999
  meleerange 64
  Obituary "%o was dead by \cjwhite face"
  
  var int user_WFHunterTimer;//
  var int user_WFStatusRandomizer;
  States
  {
  Spawn:
    SCAR A 1 A_Look
	SCAR A 0 A_SetUserVar("user_WFHunterTimer",0)
	SCAR A 0 A_SetUserVar("user_WFStatusRandomizer",-1)
	SCAR A 0 A_SetTranslucent(0,0)
	SCAR A 1 A_SetTranslucent (0.0,0)
    Loop
  See:
    //RETURN TO THE PREVIOUS SEE STATE (IN CASE SOMETHING LIKE MELEE INTERRUPT IT)
	SCAR A 0 A_JumpIf(user_WFHunterTimer>0,"SeeHaunt")
	//SEE STATE TO BE SELECTED
	SCAR A 0 A_SetUserVar("user_WFStatusRandomizer",random(0,100)) 
	SCAR A 0 A_JumpIf(user_WFStatusRandomizer<=15,"SeeLaught") //OK
	TNT1 A 0 A_JumpIf(user_WFStatusRandomizer<=25,"WanderState") //OK
	SCAR A 0 A_JumpIf(user_WFStatusRandomizer<=89,"SeeNormal") //OK
	SCAR A 0 A_Jump(256,"SeeHaunt")//last case | OK
	TNT1 A 1//IT'LL NEVER GO HERE
	Loop
  SeeNormal:
	SCAR A 0 A_SetUserVar("user_WFStatusRandomizer",random(0,100)) 
	SCAR A 0 A_JumpIf(user_WFStatusRandomizer>=70,"SeeBlink")  //OK
    SCAR A 0 A_SetTranslucent(0.0,0)
	SCAR AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 Bright A_Chase
    Goto See
  SeeHaunt:
   SCAR A 0 A_JumpIf(user_WFHunterTimer>0,3)
   //START SETUP
   SCAR A 0 A_SetUserVar("user_WFHunterTimer",random(10,20))//Set the timer 
   SCAR A 0 ACS_Execute(46,0,1) //1
   //END START SETUP
   SCAR A 0 A_Playsound("KIDSND")//2 <-
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.1,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.2,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.3,0)
   SCAR A 0 A_FaceTarget
   SCAR AAA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.4,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.5,0)
   SCAR A 0 A_FaceTarget
   SCAR AAA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.6,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.7,0)
   SCAR A 0 A_FaceTarget
   SCAR AAA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.8,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.9,0)
   SCAR A 0 A_FaceTarget
   SCAR AAA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(1.0,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.9,0) 
   SCAR A 0 A_FaceTarget
   SCAR AAA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.8,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.7,0)
   SCAR A 0 A_FaceTarget
   SCAR AAA 1 Bright A_Chase
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.5,0)
   SCAR A 0 A_FaceTarget
   SCAR AAA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.4,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.3,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.2,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.1,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase
   SCAR A 0 A_SetTranslucent(0.0,0)
   SCAR A 0 A_FaceTarget
   SCAR AA 1 Bright A_Chase 
   SCAR A 0 A_SetUserVar("user_WFHunterTimer",user_WFHunterTimer-1)//in case it goes below zero
   SCAR A 0 A_JumpIf(user_WFHunterTimer>0,5)
   //RESET WHITE FACE TO NORMAL STATUS
   SCAR A 0 A_SetTranslucent (0.0,0)  //1
   SCAR A 0 ACS_Execute(46,0,0)         //2
   SCAR A 0 A_SetUserVar("user_WFHunterTimer",0)//in case it goes below zero
   SCAR A 0 A_Jump(256,"See")      //4
   SCAR A 0                        //5 <--
   Loop                            
  SeeBlink:  //OK
   SCAR A 0 A_SetTranslucent (0.3,0)
   SCAR A 0 A_Jump(127,2)//50% of chance to have heart sound
   SCAR A 0 A_Playsound("GDSEE")// visible active sound
   SCAR AAAAAAAAAAAA 2 A_Chase  
   SCAR A 0 A_SetTranslucent (0.0,0)
   SCAR AAAAAAAAAAAA 2 A_Chase
   Goto See
  SeeLaught: 
   SCAR A 0 A_Playsound("ELAUGHT")// Laught
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(0.1,0)
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(0.2,0)
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(0.3,0)
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(0.4,0)
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(0.5,0)
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(0.6,0)
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(0.7,0)
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(0.8,0)
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(0.9,0)
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(1.0,0)
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(0.9,0) 
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(0.8,0)
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(0.7,0)
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(0.6,0)
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(0.5,0)
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(0.4,0)
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(0.3,0)
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(0.2,0)
   SCAR A 2 Bright A_Chase  
   SCAR A 0 A_SetTranslucent(0.1,0)
   SCAR A 2 Bright A_Chase 
   SCAR A 0 A_SetTranslucent(0.0,0)
   SCAR A 2 Bright A_Chase  
   Goto See
  WanderState:
   SCAR A 0 ACS_Execute(46,0,1) //1
   SCAR A 1
   SCAR AAAAAAAAAAAAAAAAAA 0 A_Wander
   TNT1 A 0 A_Jump(10,2)
   SCAR AAAAAAAAAAAAAAAAAA 0 A_Wander
   TNT1 A 0  A_Jump(10,2)
   SCAR AAAAAAAAAAAAAAAAAA 0 A_Wander
   SCAR A 0 ACS_Execute(46,0,0) //1
   SCAR A 1 A_Chase
   Goto See
  Melee:
	SCAR A 0 A_GiveToTarget("IMSCAREDACTIVE", 1)
    SCAR A 0 A_FaceTarget
    SCAR A 2 A_MeleeAttack
	SCAR A 1
    Goto See
  Death:
    IBMA A 4 
    IBMA A 0 A_Scream
	IBMA A 4
    IBMA A 4
    IBMA A 4 A_SetTranslucent(1.0,0)
    IBMA A 4 A_Fall
    IBMA A -1 A_SetFloorClip
    Stop
  Raise:
    IBMA A 8 A_UnSetFloorClip
    IBMA A 8
    Goto See
  }
}
Maybe, it's something related to the A_chase function, because I replaced that function with "A_SkullAttack" and it "worked" (Well, it didn't entered into the melee state, but it at least touched the player on the first try)

And before
SCAR A 0 A_FaceTarget
SCAR AA 1 Bright A_Chase
I was using
SCAR A 0 A_RearrangePointers(AAPTR_DEFAULT,AAPTR_TARGET,AAPTR_DEFAULT)
SCAR AA 1 Bright A_Chase
But that didn't worked either (and it was worse, because on that position, the ghoul would never go back to kill the human)
Projects
Cursed Maze: DONE, V2.0
Zombie Horde - ZM09 map update: [3/15/13]
Need help with English? Then you've come to the right place!

<this post is proof of "Decline">

User avatar
CloudFlash
Zandrone
Posts: 1074
Joined: Mon Jun 04, 2012 5:35 pm
Location: Wonderland (except not really)

RE: White face acting weird in specific cases

#7

Post by CloudFlash » Mon Jan 18, 2016 2:56 pm

So why exactly does it need to give player an item that teleports him to a sector which spawns an actor that shoots him with another item that, once collected, activates a jumpif loop in player's spawn state that lowers his damage to the level adjacent to the number of custom ammo type that is then taken away?
Wouldn't it be easier to just kill the player without trying to be fancy about that?
https://i.imgflip.com/i5tpe.jpg
*Hey, who wants to hear my solution to the modern world's problems? ^Me! %Me! @Me! #Me! *WELL TOO BAD @Did he just stab himself with this butcher knife? %Looks like it ^Hey, the pizza guy arrived! %Pizza! Yey

Post Reply