Help for monster
-
manuelspark
- Posts: 66
- Joined: Mon Aug 13, 2012 1:36 am
- Location: Viva Chile Mierda!!!
Help for monster
How do I make a monster disappears and appears in faraway places?
RE: Help for monster
A bit more descriptive please...
RE: Help for monster
teleporters without fog?
[][][][][][][][][][][][][][][]
Nothing to see here
[][][][][][][][][][][][][][][]
Nothing to see here
[][][][][][][][][][][][][][][]
- Lord_of_D:
- Posts a lot
- Posts: 691
- Joined: Sun Aug 26, 2012 5:31 am
- Location: Mexico
- Contact:
RE: Help for monster
i think he means something alike Sjas in Ghoul Forest 3, but by the monsters will, not being damaged. as far as i know, you need scripts for do this shit.
- ibm5155
- Addicted to Zandronum
- Posts: 1641
- Joined: Tue Jun 05, 2012 9:32 pm
- Location: Somewhere, over the rainbow
RE: Help for monster
I did this on my monster called ravishing, it use a counter, when he pass some time, he enter on a flag that do it disapear and set noclip and fly actived, and passing sometime he go back to the normal states
Here´s the actual code, it´s not the best because it was adapted from a workin monster for gzdoom, and i didn´t knew the inventory system to replace var...
[spoiler]decorate part
ACS part
[/spoiler]
If it helps here´s the original code
Or other way would be, when the monster enter in pain state or other counter, it call an acs that teleport he to otherplace...
Here´s the actual code, it´s not the best because it was adapted from a workin monster for gzdoom, and i didn´t knew the inventory system to replace var...
[spoiler]decorate part
Code: Select all
actor ravishing 31198
{
MONSTER
Radius 20//31
Height 66
Health 5000000
Mass 10000
Speed 16
Vspeed 16
scale 0.065
PainChance 180
+FLOORCLIP +DONTHURTSPECIES +NOTARGET +BOSS +INVULNERABLE
SeeSound "EFF6"
PainSound "EFF9"
DeathSound "EFF7"
ActiveSound ""
AttackSound ""
MeleeSound ""
MeleeDamage 15
Obituary "%o was killed by the ravishing"
states
{
Spawn:
ghou A 1 A_Look
Loop
See:
ghou A 2 A_Chase
ghou B 2 A_FaceTarget
ghou C 2 A_Chase
ghou D 2 A_FaceTarget
ghou E 2 A_Chase
ghou F 2 A_FaceTarget
ghou G 2 A_Chase
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(9,0)==1,"GHOULALPHAIN")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(10,0)==2,"GHOULALPHAOUT")
Loop
Melee:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(8,0)==1,"WAITGHOUL")
ghou A 1 A_SetTranslucent (1.0,0)
ghou G 0 A_Playsound("EFF8")
ghou G 1 A_FaceTarget
ghou G 1 A_MeleeAttack
ghou HIJKJIH 1
ghou A 0 A_ChangeFlag("NOCLIP",0)
ghou A 0 A_ChangeFlag("NOGRAVITY",0)
ghou A 0 A_UnsetFloat
Goto See
Pain:
ghou a 2 A_Pain
Goto See
WAITGHOUL:
TNT1 A 1
Goto See
GHOULALPHAIN:
ghou A 0 A_ChangeFlag("NOCLIP",1)
ghou A 0 A_ChangeFlag("NOGRAVITY",1)
ghou A 0 A_SetFloat
ghou A 1 A_SetTranslucent (1.0,0)
ghou A 1 A_SetTranslucent (0.9,0)
ghou A 1 A_SetTranslucent (0.8,0)
ghou A 1 A_SetTranslucent (0.7,0)
ghou A 1 A_SetTranslucent (0.6,0)
ghou A 1 A_SetTranslucent (0.5,0)
ghou A 1 A_SetTranslucent (0.4,0)
ghou A 1 A_SetTranslucent (0.3,0)
ghou A 1 A_SetTranslucent (0.2,0)
ghou A 1 A_SetTranslucent (0.1,0)
ghou A 1 A_SetTranslucent (0.0,0)
Goto see
GHOULALPHAOUT:
ghou A 1 A_SetTranslucent (0.0,0)
ghou A 1 A_SetTranslucent (0.1,0)
ghou A 1 A_SetTranslucent (0.2,0)
ghou A 1 A_SetTranslucent (0.3,0)
ghou A 1 A_SetTranslucent (0.4,0)
ghou A 1 A_SetTranslucent (0.5,0)
ghou A 1 A_SetTranslucent (0.6,0)
ghou A 1 A_SetTranslucent (0.7,0)
ghou A 1 A_SetTranslucent (0.8,0)
ghou A 1 A_SetTranslucent (0.9,0)
ghou A 1 A_SetTranslucent (1.0,0)
ghou A 0 A_ChangeFlag("NOCLIP",0)
ghou A 0 A_ChangeFlag("NOGRAVITY",0)
ghou A 0 A_UnsetFloat
Goto see
Death:
ghou A 8
ghou B 8 A_Scream
ghou C 8
ghou D 8 A_SetTranslucent(1.0,0)
ghou E 8 A_Fall
ghou D 8
ghou E 8
tnt1 A -1 A_SetFloorClip
Stop
Raise:
SCPG A 8 A_UnSetFloorClip
SCPG A 8
Goto See
}
}Code: Select all
script 11 (void)//SCRIPT THAT GIVIE RAVISHING LIFE, REPLACING DECORATE FUNCTIONs BY ACS
{
//ravishing tag:24
ACS_EXECUTE(12,0,0,0,0);//RAVISHING SOUND CODE
while(true)
{
// print(s:"\nuser_ghoulactivesound:",d:user_ghoulactivesound,s:"\nuser_ghoulinvisible:",d:user_ghoulinvisible,s:"\nsound_toplay:",d:sound_toplay,s:"\nuser_ghoulinvisiblecount:",d:user_ghoulinvisiblecount,s:"\ntimer_GHOUL:",d:timer_GHOUL,s:"\nuser_invisible:",d:user_invisible,s:"\nscript_test:",d:script_test,s:"\nout_invisible:",d:out_invisible);
/*SIMPLE TIMER TO COUNT IF THE RAVISHING IS NOT TOO MUCH TIME INVISIBLE*/
if(timer_GHOUL>=12 && user_invisible==1)
{
user_ghoulinvisible=2;
while(script_test!=1)//WHILE THE DECORATE DIDN´T SHECK THE SCRIPT DO...
{
// print(s:"loop1");
user_ghoulinvisible=2;
delay(1);
}
delay(35);
user_invisible=0;
timer_GHOUL=0;
user_ghoulinvisible=0;
sound_toplay=0;
SetActorProperty(59,APROP_Speed,16.0);
}
/*SIMPLE TIMER TO COUNT IF THE RAVISHING IS NOT TOO MUCH TIME VISIBLE*/
else if(timer_GHOUL>=7 && user_invisible==0)
{
user_ghoulinvisible=1;
while(script_test!=1)//WHILE THE DECORATE DIDN´T SHECK THE SCRIPT DO...
{
// print(s:"loop2");
user_ghoulinvisible=1;
delay(1);
}
delay(35);
user_ghoulinvisible=0;
timer_GHOUL=0;
user_invisible=1;
SetActorProperty(59,APROP_Speed,20.0);
}
//----------------------------------------------------
/*FILTER IF THE MONSTER IS NEAR TO ATTACK A MARINE OR ZOMBIE AND PUT HE TO GO BACK TO FIGHT*/
if(out_invisible==1 && user_invisible==1)
{
timer_GHOUL=0;
user_invisible=0;
user_ghoulinvisible=2;
while(script_test!=1)//WHILE THE DECORATE DIDN´T SHECK THE SCRIPT DO...
{
// print(s:"loop3");
user_ghoulinvisible=2;
delay(1);
}
delay(35);
timer_GHOUL=0;
user_ghoulinvisible=0;
out_invisible=0;
SetActorProperty(59,APROP_Speed,16.0);
}
else
{
out_invisible=0;
}
//----------------------------------------------------
/*START SIMPLE FILTER TO SELECT WHAT SOUND TO PLAY*/
if(user_invisible==1)
{
sound_toplay=1;
}
else if(user_invisible==0)
{
sound_toplay=0;
}
//----------------------------------------------------
script_test=0;
delay(1);
}
}
script 12(void)//RAVISHING SOUND SCRIPT
{
while(true)
{
/*TWO LOOPS TO PLAY THE SOUNDS*/
if(sound_toplay==0)
{
while(user_ghoulactivesound<4 && user_invisible==0)
{
user_ghoulactivesound++;
delay(35);
}
timer_GHOUL++;
user_ghoulactivesound=0;
if(user_invisible==1)
{
ThingSound(59,"EFF5",127);
}
else if(user_ghoulinvisible==0)
{
ThingSound(59,"EFF10",127);
}
}
else
{
while(user_ghoulactivesound<2 && user_invisible==1)
{
user_ghoulactivesound++;
delay(35);
}
timer_GHOUL++;
user_ghoulactivesound=0;
if(user_invisible==1)
{
ThingSound(59,"EFF5",127);
}
else if(user_ghoulinvisible==0)
{
ThingSound(59,"EFF10",127);
}
}
//----------------------------------------------------
Thing_Activate(23);
delay(1);
}
}
script 13 (void)//active ravishing
{
// SetFont("BIGFONT");
// HudMessageBold(s:"the ravishing is alive, run!!!"; HUDMSG_FADEOUT, 998, CR_RED, 0.5, 0.4, 5.5, 0.5);
SetMusic("ibmsnd2");
SpawnSpot ("ravishing",25,59,24);
delay(35);
acs_execute(11,0,0,0,0);
}
/* END OF RAVISHING CODE*/
If it helps here´s the original code
Code: Select all
actor ravishing 31198
{
MONSTER
Radius 16//31
Height 66
Health 500
Mass 100
scale 0.065
Speed 12
PainChance 100
+DONTHURTSPECIES +NOTARGET +FULLVOLDEATH
SeeSound "EFF6"
PainSound "EFF9"
DeathSound "EFF7"
ActiveSound ""
AttackSound ""
MeleeSound ""
MeleeDamage 1
Obituary "You was killed by the ravishing"
var int user_ghoulactivesound;
var int user_ghoulactivesound2;
var int user_ghoulinvisible;//variavel fala se esta invisivel ou nao
var int user_ghoulinvisiblecount;//conta tempo que esta invisivel
var int user_ghoulfirsttime;
States
{
Spawn:
ghou A 0 A_SetUserVar ("user_ghoulfirsttime",1)
ghou A 0 A_SetUserVar ("user_ghoulactivesound",0)
ghou A 0 A_SetUserVar ("user_ghoulactivesound2",0)
ghou A 0 A_SetUserVar ("user_ghoulinvisible",1)
ghou A 1 A_Look
Loop
See:
ghou A 0 A_JumpIf(user_ghoulfirsttime==1,"GHOULALPHAIN")
ghou A 0 A_SetUserVar("user_ghoulinvisiblecount",user_ghoulinvisiblecount+1)//0 1 2 3 4 5 6 7 - 8 9 0 1
ghou A 0 A_JumpIf(user_ghoulactivesound>=7,"GHOULSND")//0 1 2 3 4 5 6 7 0 1 2 - -
ghou A 0 A_JumpIf(user_ghoulactivesound2>=7,"GHOULSND2")
ghou A 0 A_JumpIf(user_ghoulinvisible==1,"GHOULNSEE")// 1 1 1 1 1 1 1 - 1 1 1 0 0
ghou A 0 A_JumpIf(user_ghoulinvisible==0,"GHOULSEE")// - - - - - - - - - - - 1 1
Loop
GHOULNSEE://ghoul invisivel
ghou A 0 A_ChangeFlag("INVULNERABLE",1)
ghou A 0 A_SetUserVar("user_ghoulinvisiblecount",user_ghoulinvisiblecount+1)//1 2 3 4 5 6 7 0 1 2 3
ghou A 0 A_ChangeFlag("NOCLIP",1)
ghou A 0 A_SetUserVar ("user_ghoulactivesound",user_ghoulactivesound+1)//contador som 1 2 3 4 5 6 7 8 9 10
ghou G 0 A_JumpIf(user_ghoulinvisiblecount>=60,"GHOULALPHAOUT")//0 0 0 0 0 0 0 0 0 1
ghou ABCDEFG 2 A_Chase
Goto see
GHOULSEE://GHOUL VISIVEL
ghou A 0 A_ChangeFlag("INVULNERABLE",0)
ghou A 0 A_ChangeFlag("NOCLIP",0)
ghou A 0 A_SetUserVar ("user_ghoulactivesound2",user_ghoulactivesound2+1)
ghou G 0 A_JumpIf(user_ghoulinvisiblecount>=30,"GHOULALPHAIN")
ghou ABCDEFG 2 A_Chase
Goto see
GHOULSND://toca som ativo invisivel
ghou A 0 A_SetUserVar ("user_ghoulactivesound",0)
ghou A 0 A_Playsound("EFF5")
Goto see
GHOULSND2://toca som ativo visivel
ghou A 0 A_SetUserVar ("user_ghoulactivesound2",0)
ghou A 0 A_Playsound("EFF10")
Goto see
GHOULALPHAIN://ghoul entrando invisibilidade
ghou A 0 A_SetUserVar("user_ghoulfirsttime",0)
ghou A 1 A_SetTranslucent (1.0,0)
ghou A 1 A_SetTranslucent (0.9,0)
ghou A 1 A_SetTranslucent (0.8,0)
ghou A 1 A_SetTranslucent (0.7,0)
ghou A 1 A_SetTranslucent (0.6,0)
ghou A 1 A_SetTranslucent (0.5,0)
ghou A 1 A_SetTranslucent (0.4,0)
ghou A 1 A_SetTranslucent (0.3,0)
ghou A 1 A_SetTranslucent (0.2,0)
ghou A 1 A_SetTranslucent (0.1,0)
ghou A 1 A_SetTranslucent (0.0,0)
ghou A 0 A_SetUserVar("user_ghoulinvisiblecount",0)
ghou A 0 A_SetUserVar("user_ghoulinvisible",1)
Goto see
GHOULALPHAOUT://ghoul saindo invisibilidade
ghou A 0 A_SetUserVar("user_ghoulfirsttime",0)
ghou A 1 A_SetTranslucent (0.0,0)
ghou A 1 A_SetTranslucent (0.1,0)
ghou A 1 A_SetTranslucent (0.2,0)
ghou A 1 A_SetTranslucent (0.3,0)
ghou A 1 A_SetTranslucent (0.4,0)
ghou A 1 A_SetTranslucent (0.5,0)
ghou A 1 A_SetTranslucent (0.6,0)
ghou A 1 A_SetTranslucent (0.7,0)
ghou A 1 A_SetTranslucent (0.8,0)
ghou A 1 A_SetTranslucent (0.9,0)
ghou A 1 A_SetTranslucent (1.0,0)
ghou A 0 A_SetUserVar("user_ghoulinvisiblecount",0)
ghou A 0 A_SetUserVar("user_ghoulinvisible",0)
Goto see
Pain:
ghou a 0 A_Pain
Goto See
Melee:
ghou G 0 A_JumpIf(user_ghoulinvisible==1,"GHOULNSEE")
ghou G 0 A_Playsound("EFF8")
ghou G 1 A_FaceTarget
ghou G 0 A_MeleeAttack
ghou HIJKJIH 1
Goto See
Death:
ghou A 8
ghou B 8 A_Scream
ghou C 8
ghou D 8 A_SetTranslucent(1.0,0)
ghou E 8 A_Fall
ghou D 8
ghou E 8
tnt1 A -1 A_SetFloorClip
Stop
Raise:
pair L 8 A_UnSetFloorClip
pair KJIHG 8
Goto See
}
}
Last edited by ibm5155 on Wed Feb 06, 2013 12:10 am, edited 1 time in total.
-
manuelspark
- Posts: 66
- Joined: Mon Aug 13, 2012 1:36 am
- Location: Viva Chile Mierda!!!
RE: Help for monster
Yeah i want something like SJAS but appears elsewhere anytime
- ibm5155
- Addicted to Zandronum
- Posts: 1641
- Joined: Tue Jun 05, 2012 9:32 pm
- Location: Somewhere, over the rainbow
RE: Help for monster
whe it enter in pain it just use ACS_Execute(script number) on decorate
and teleport it to another place using random function on acs
and teleport it to another place using random function on acs
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">
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">
RE: Help for monster
http://realm667.com/index.php/component ... 9-overlord
Study.
It's not exactly Sjas but it doesn't require ACS.
Study.
It's not exactly Sjas but it doesn't require ACS.
