Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Scruffy86

17
Posts
9
Topics
1
Following
A member registered Feb 16, 2023

Recent community posts

Is it possible to spawn an explosion at a specified grid coordinate, so that when a player steps on a certain trigger script, the explosion will spawn and play each frame at the designated coordinate?

I do see a section in the manual for FSM that mentions explosions: 

.................

Enemies and Decorations

EXPLOSION name radius - creates an explosion with a name and radius where name is name of explosion sprites. Sprites must be place in Data/Sprites/Effects.

....................

But I'm not sure that's what I'm looking for. 

Thanks, this might be the way to do it for now since it seems the "official" trigger method is broken.

Its almost as if the map quickreturn + keepsounds1/2/3 has a bug in the latest version but I'm not sure. After experimenting with keepsounds 1/2/3, the sounds still only play if I put a short timeout in the game, which really breaks the immersion. This happens even with fairly short sounds. 

I seem to be close to getting a working ZOOM function for a sniper rifle. Here is my FSM script for it, with the ZOOM Alt Attack: 

___________________________________________________________

BattleRifle.STATES

image BattleRifle 0 23

sound BattleRifleFire

sound BattleRifleReload


state IDLE NONE 0

frame 1 0.25 0 0 0 NONE

frame 1 0.25 0 0 0 ZOOM 0

frame 1 0.25 0 0 0 READY


state ATTACK IDLE 0

frame 2 .25 0 0 0 NONE

frame 3 .18 0 0 0 SOUNDANDATTACK 0

frame 4 .18 0 0 0 MUZZLEFLASH

frame 5 .15 0 0 0 NONE

frame 6 .15 0 0 0 NONE

frame 7 .18 0 0 0 NONE

frame 1 .2 0 0 0 NONE

frame 1 .1 0 0 0 NONE


state ALTATTACK IDLE 0

frame 23 0.01 0 0 0 NONE

frame 23 0.01 0 0 0 ZOOM 60

frame 23 0.01 0 0 0 READY


state RELOAD IDLE 0

frame 8 0.1 0 0 0 NONE

frame 9 0.1 0 0 0 SOUND 1

frame 10 0.1 0 0 0 NONE

frame 11 0.1 0 0 0 NONE

frame 12 .9 0 0 0 NONE

frameset 13 22 0.1 0 0 0 NONE

frame 1 .1 0 0 0 NONE

frame 1 .25 0 0 0 RELOAD

______________________________________________________________

Frame 23 is an invisible .png, I was hoping to be able to replace it with a scope image, a simple 1920x1080 black screen with a circle cut out and crosshair. But that didn't work. For now, I'm okay with just zooming in with no HUD graphics. 

The first problem is, when I hold the mouse right button, and fire with mouse left, when it fires, the weapon HUD sprite become visible again and shows the firing animation. I don't want it to show the weapon HUD. How do I do this?

Also, another issue, is when right mouse is held and the weapon is fired, afterwards, the zoom level resets instead of maintaining the zoom state. This creates an awkward loop of zooming, firing, zooming out, zooming in, firing, etc.

I use Resource Hacker for this.

Thank you so much! It worked, the terminal no longer works after I press it once, and I got rid of the map variable. I better understand it now, thanks. And now I have a cool pushable button panel mechanic that can open locked doors and spawn ambushes. This is going to create some really fun gameplay. 

Thanks for the reply. I took a look at the variable section of the manual, but it is confusing without a complete example. If you could help me figure this out at your convenience I'd really appreciate it. I'm about to make a really neat gameplay mechanic which is a pushable button panel that can open doors but also spawn enemies. The last bug in this mechanic is getting it to only work once or at least only spawn enemies once, when used. 

So far, the way it works is I created a 3d model of a wall which is half the width of a standard EFPSE Cube, and put a raised "button" on it with red color. With my terminal script, I have it swap the model with a "pushed in button" version of this wall, with the button now green. The script will also unlock a door and also spawn 2 turret enemies behind the player at specific grid coordinates. I want it to be so that the terminal script will no longer open the door and spawn the turrets once it has already been activated. I tried to take your advice, and also read about variables in the manual. 

So far I have this: 

______________________________________________________________

MedBaySwitch1.script

map.SpawnedTurrets=0

if $SpawnedTurrets == 1 {

map return 

}

entity delete 14 12 1

entity spawnat SwitchWall1OnNorth 14 12 1

sound PullLeverFast.wav Sounds/PullLeverFast.wav

play sound PullLeverFast.wav

entity spawnat PortableTurret 17 9 1 

entity spawnat PortableTurret 13 9 1

$SpawnedTurrets=1

timeout .2

door unlock 14 17 2

door open 14 17 2 1

map quickreturn

____________________________________________________________

With the above script, the game does not crash, but the turrets still spawn when I use the terminal again

Thanks. Still can't get it to work quite right. Two questions: 1. In your script below, do you not need to add "Play sound X after loading/setting the name?

2. Here is my script that won't work: 

SoundComputerPanel1.script

sound RetroComputerPanel Sounds/RetroComputerPanel.wav

play sound RetroComputerPanel

timeout 2

keeptrigger

map quickreturn keepsounds3

In my script, the only way the sound plays is if I have a timeout, which pauses the game. If I don't have a timeout, its true that the gameplay mostly returns immediately, but there is no sound. I want the game to play the sound when I walk on the square, with no interruption or at most a millisecond of interruption while still playing the sound.

is there a way to delete terminals after they have been pressed once? I have a computer panel that when activated by  a script, spawns some enemies. If the player keeps pressing it, it will keep spawning enemies each time. I'd like for this to only occur once. 

is there a way to delete terminals after they have been pressed once? I have a computer panel that when activated by  a script, spawns some enemies. If the player keeps pressing it, it will keep spawning enemies each time. I'd like for this to only occur once. 

Is there a way to play a sound when walking over a trigger without pausing the game? I have an animated computer panel wall texture and I would like to create a trigger square in front of it, so that whenever the player steps onto this trigger, it will play a computer beeping sound, but not pausing or interrupting the game. 

I have been experimenting with the older version of EFPSE for a while, and I had the idea, it would be cool to have destructible blocks. I *almost* achieved this, by creating a cube model in Blender which was the exact size of the EFPSE blocks, importing it into EFPSE, and replacing a decoration with this block and setting its health to a set value. But when the decoration is a 3d model, once it is damaged and health reaches 0, it still remains.

I think some interesting gameplay mechanics could be allowed if decorations could be deleted after death. 

I see there is a new weapon zoom feature in the new version. I might have missed something, but I don't see anything in the manual about how to implement it. At your convenience, could you provide a brief explanation of how to allow a zoom of a particular weapon when right mouse button is clicked? 


And, does this mean there is now a way to replace the HUD weapon sprite with an iron sight sprite or a crosshair sprite when the right mouse button is clicked? I'm very familiar with FSM and all the weapons in my game use FSM for custom detailed reload animations, so I'm sure with a little guidance, I can figure it out. 

Thanks!

That's okay, I'm doing a workaround by having the crossbow be a low firing rate weapon with unlimited ammo, therefore no need to have the "emtpy bow" sprite/state. Thanks anyways!

I'm trying to create a simple, 10 shot crossbow weapon. One that does not use reloads, only max 10 ammo, and mag ammo of 10, and that shows an "empty" bow, without an arrow resting on it once it is out of ammo. 


I have ALMOST achieved this via FSM.

This is the script: 

image Crossbow 0 7

sound CrossbowFire

sound CrossbowReload


state IDLE NONE 0

frame 1 .25 0 0 0 NONE

frame 1 .25 0 0 0 READY


state ATTACK IDLE 0

frame 2 .25 0 0 0 NONE
frame 3 .18 0 0 0 SOUNDANDATTACK 0

frame 4 .18 0 0 0 NONE

frame 5 .15 0 0 0 NONE

frame 6 .15 0 0 0 NONE

frame 7 .15 0 0 0 JUMPIFNOAMMO EMPTYBOW


state EMPTYBOW NONE 0

frame 7 .25 0 0 0 READY

Frame 1 is the crossbow at idle, with the arrow resting on the bow. Frame 7 is the empty bow. 

I successfully got it to jump to the "empty" bow sprite, once it is out of ammo. However, the problem is, after it does this, it will not let me switch to another weapon. The game WILL let me switch to weapons automatically, once I pick them up, but once my crossbow reaches this frame 7 "no ammo" graphic state, it will not let me switch weapons by any means, either mouse wheel or keyboard keys work to change weapons. What am I doing wrong? This thing almost works, after a few hours of tinkering with FSM.

I got this problem too on my new laptop. I think I finally fixed it by downloading both the 32 bit AND the 64 bit (x64) version of the visual studio c++ redistributable. I think the error occurs when only 1 version is on your computer, you need both versions. 

Is there a way to get a door to stay open with scripting? Such as, walking onto a tile, causing a door at X Y coordinates to open, but stay open? To simulate like a pressure plate switch or something that permanently opens a door.