Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. This forum is archived - please use this set of forums to ask new questions.
breadbagfly wrote:"Unable to find "DoomPlayer" class to replace, while parsing "DUDE"."
"Unable to find "Weapon" class to inherit from, while parsing "Flaregun:15001"."
been trying 2 get back to mapping after assembling the old mod as .pk3 and this kinda shit keeps happening. ive checked all paths and other things in the pk3 and editor and everything is ok, but still gzdoombuilder likes to pretend decorates, or hell even core game classes apparently never existed, which is so odd
interestingly i once tried loading troodon (the dumbass 'turok' mod) and it would give the exact same crap, and all decorates be missing. despite i have mapped it with the exact same version of editor just couple of months ago without problem. more interestingly i loaded UNI, and that worked flawlessly so wtf is going on lol.
im sort of thinking whenever i should just completely reinstall the doombuilder, or lose myself on figuring out "right" pk3 file structure. the latter is unlikely cus as mentioned UNI worked perfectly and its reckless in comparison of this new mod or even the "turok" mod. or if someone actually has similar experience of such to share info, im out of ideas thats for sure lol
I imagine you probably updated your GZDoom or something, which updated the gzdoom.pk3 file, which AFAIK GZDoom Builder uses to recognize actors.
All the DECORATE actors in gzdoom.pk3 were converted to ZScript, so you need a newer version of GZDoom Builder that supports ZScript to have it not show these errors. The latest version of GZDoom Builder from before MaxED quit doesn't have ZScript support, so you need GZDoomBuilder-Bugfix instead.
Just out of curiosity, what's the purpose for the "Null Texture" checkbox in the Textures lump editing interface in Slade? I just spent 40 minutes trying to figure out why one of my textures wouldn't show up in-game no matter now many times I re-imported the file, renamed the graphics, and looked thru the Textures lump to see if I've accidentally misspelled anything only to to realize I had that box checked.
Is it possible to have a polyobject that has an animated switch texture on it? I would like to have a sliding door with an animated switch texture so when I hit the use key, the switch animation plays and the polyobejct door moves.
Related: Is it possible to have an animated switch texture that plays one animation continuosly in it's on or off state? My switch texture has a blinking red button that turns green when used but I don't seee how I could implement that via ANIMDEFS, the syntax doesn't seem to support it.
I made an uppercut melee but it's lacking some oomph. I wanna send the enemy flying straight up in the air when I hit 'em, but I forgot how to do such a thing.
Cherno wrote:Is it possible to have a polyobject that has an animated switch texture on it? I would like to have a sliding door with an animated switch texture so when I hit the use key, the switch animation plays and the polyobejct door moves.
Related: Is it possible to have an animated switch texture that plays one animation continuosly in it's on or off state? My switch texture has a blinking red button that turns green when used but I don't seee how I could implement that via ANIMDEFS, the syntax doesn't seem to support it.
You should be able to give the polyobject line a tag, then use ACS to change the texture when its activated. Instead of using Polyobject_Move, have that line segment run a script that both moves the polyobject and change the texture for the line segment with you tag #.
Cherno wrote:Is it possible to have a polyobject that has an animated switch texture on it? I would like to have a sliding door with an animated switch texture so when I hit the use key, the switch animation plays and the polyobejct door moves.
Related: Is it possible to have an animated switch texture that plays one animation continuosly in it's on or off state? My switch texture has a blinking red button that turns green when used but I don't seee how I could implement that via ANIMDEFS, the syntax doesn't seem to support it.
You should be able to give the polyobject line a tag, then use ACS to change the texture when its activated. Instead of using Polyobject_Move, have that line segment run a script that both moves the polyobject and change the texture for the line segment with you tag #.
Thanks, I figured that would be the solution. I already call a script to move the polyobject so I can easily adapt that.
The weapon has a chance of spawning ammo, but it keeps spawning random-ish amounts (between 3 and 6 so for)
I only want it to spawn 1. Why is this happening?
EDIT: Nvm. Holding down fire or firing at monsters causes GZDoom to crash after a few shots.
And yes I took away the ammo spawning code completely to make sure that wasn't the cause.
Spoiler:
ACTOR SawThrower : Weapon 30156
{
Weapon.SelectionOrder 120
Inventory.PickupSound "weapons/slot7weapon2"
Inventory.PickupMessage "You got the Saw Thrower!"
Obituary "%o was gutted by %k's saw."
AttackSound "weapons/throwsawcut"
Weapon.AmmoType1 "Saws"
Weapon.AmmoType2 "Saws"
Weapon.AmmoGive 30
Weapon.AmmoUse1 1
Weapon.AmmoUse2 1
Scale 0.9
States
{
Spawn:
THRS A -1
Stop
Ready:
TSWG G 0 A_JumpIfInventory("Saws",1,2)
TSWG G 1 A_WeaponReady
Goto Ready+1
TSWG A 1 A_WeaponReady
Goto Ready+2
Deselect:
TSWG G 0 A_JumpIfInventory("Saws",1,2)
TSWG G 1 A_Lower
Goto Deselect+1
TSWG A 1 A_Lower
Goto Deselect+2
Select:
TSWG G 0 A_JumpIfInventory("Saws",1,2)
TSWG G 1 A_Raise
Goto Select+1
TSWG A 1 A_Raise
Goto Select+2
Fire:
TSWG BC 1
TSWG D 0 A_PlayWeaponSound("weapons/throwsawlaunch")
TSWG D 0 A_Recoil(1.5)
TSWG D 4 A_FireCustomMissile("SawShot",0,1,0,3)
TSWG D 5 A_Recoil(-1.5)
TSWG D 0 A_JumpIfNoAmmo(5)
TSWG E 2
TSWG F 1
TSWG A 1
TSWG A 0 A_ReFire
Goto Ready
TSWG G 7
TSWG G 0 A_CheckReload
Goto Ready+2
AltFire:
TSWG A 0 A_JumpIfNoAmmo(7)
TSWG A 8 A_PlayWeaponSound("weapons/throwsawup")
TSWG B 6
TSWG C 3
TSWG BB 1 A_CustomPunch(1,0,0,"BulletPuff",48)
TSWG C 0 A_ReFire
Goto AltHold+6
TSWG G 7
TSWG G 0 A_CheckReload
Goto Ready+2
AltHold:
TSWG B 0 A_PlayWeaponSound("weapons/throwsawready")
TSWG BB 1 A_CustomPunch(2,0,0,"BulletPuff",48)
TSWG CC 1 A_CustomPunch(2,0,0,"BulletPuff",48)
TSWG C 0 A_ReFire
TSWG B 0 A_PlayWeaponSound("weapons/throwsawready")
TSWG CBC 2
TSWG BCB 3
TSWG CB 4
TSWG C 6
TSWG A 9
Goto Ready
}
}
ACTOR Saws : Ammo 30664
{
Inventory.Amount 3
Inventory.MaxAmount 50
Ammo.BackpackAmount 3
Ammo.BackpackMaxAmount 100
Inventory.PickupMessage "Picked up some saws."
Inventory.PickupSound "weapons/ammo13"
Inventory.Icon SAWA
States
{
Spawn:
SAWA A -1
Stop
}
}
ACTOR SawBox : Saws
{
Inventory.Amount 15
Inventory.PickupMessage "Picked up a box of saws."
States
{
Spawn:
SAWB A -1
Stop
}
}
ACTOR Saw1 : Saws 30444
{
Inventory.Amount 1
Inventory.MaxAmount 50
Ammo.BackpackAmount 1
Ammo.BackpackMaxAmount 100
Inventory.PickupMessage "Picked up a Blade."
Inventory.PickupSound "weapons/ammo13"
Inventory.Icon SAWLA0
scale 0.3
States
{
Spawn:
SAWL A -1
Stop
}
}
I would like to know how to make custom intermission screens work. I have set everything up as the documentation requires but I always get an "Intermission XY not found" error.
phantombeta wrote:
I imagine you probably updated your GZDoom or something, which updated the gzdoom.pk3 file, which AFAIK GZDoom Builder uses to recognize actors.
All the DECORATE actors in gzdoom.pk3 were converted to ZScript, so you need a newer version of GZDoom Builder that supports ZScript to have it not show these errors. The latest version of GZDoom Builder from before MaxED quit doesn't have ZScript support, so you need GZDoomBuilder-Bugfix instead.
ohhh yea, didnt actually come in mind first. tried updating to latest one, but then still somehow it keeps shitting on any sort of progress aka same weirdass issue going on despite the updated stuff
#include "zcommon.acs"
script "calling_actor_speed" enter
{ int speed;
speed = GetActorProperty(0, APROP_Speed);
SetResultValue(speed);
}
Where error?
You're trying to use CallAcs to run a script. But that script is already running because for some reason it's an Enter script. (And Enter scripts run once per player per map, at the beginning of the map.) What you need is a script that will only run when it's called by CallAcs. So, to put it simply, your script should be (void) or better yet (int speed). Then CallACS will run it and return its result value.