News | Forum | People | FAQ | Links | Search | Register | Log in
Coding Help
This is a counterpart to the "Mapping Help" thread. If you need help with QuakeC coding, or questions about how to do some engine modification, this is the place for you! We've got a few coders here on the forum and hopefully someone knows the answer.
First | Previous | Next | Last
How Can I Run A Command On Player Spawn? 
for example,i want to run "impulse 50" whenever i go to a new map. how can i do this? im using FTEQCC version 6202 and the ironwail 0.8.0. i've tried to use stuffcmd() in PutClientInServer() but it doesnt seem to have any real use since it cant run any command! do you guys know if it is even possible? 
Workarounds 
Guessing it's just sending the command before the client is ready to receive it. But what you've got going on is quite a complicated game of telephone. The server is sending a command to the client, which causes the client to send an impulse back to the server. Why don't we cut out the middleman by simulating the impulse without all the back and forth?

self.impulse = 9;
ImpulseCommands();
 
Compiling Alkaline W/ FTEQCC 
Has anyone tried to compile Alkaline? I'm new to quake coding, but I've had success with copper compiling but sadly not Alkaline, the weird thing too is that it doesn't spit out any errors?? it just refuses to make a progs.dat file. Here are the screenshots

PS C:\Users\Lex> & "C:\Quake\FTEQCC\fteqcc64.exe" -src "C:/ak/src" -o progs.dat -Tfte

Successful compile:
https://i.imgur.com/MsUMjZM.png

All Alkaline .QC files plus devkit stuff
https://i.imgur.com/PhRVJEr.png

No output?? shouldn't there be a progs.dat like it said? I've even moved it to C:/ak for testing.
https://i.imgur.com/WvdStGt.png

Does anyone know? what the heckers... 
Speculation 
Is there any chance it's generating it at
C:\Users\Lex\progs.dat? 
 
I guess it doesn't matter now, I found the GUI somewhere and that "fixed" it 🤔 sadly not at C:\Users\Lex\progs.dat Thanks though! 
 
Does anyone know how the movement code is delt with? There's nothing obvious where "forward moves the player" anywhere in the Alkaline mod code base 🤔 I've heard it's supposed to be in pmove.qc but there isn't one. Is that somewhere else in the engine or something? I feel like I'm missing something 
Correct Suspicions 
Your guess is correct. There really is a file called pmove.c in the QuakeWorld source:
https://github.com/id-Software/Quake/blob/master/QW/client/pmove.c

The equivalent in the regular Quake engine is here:
https://github.com/id-Software/Quake/blob/master/WinQuake/sv_phys.c

This means that if you want to change how the player moves from within QuakeC, you have to work around what the engine is automatically doing on the player's behalf. 
Hooking Up To Run Key 
what exactly do i need to do to make the game execute an action when cl_movespeedkey/+speed is pressed? 
 
for example, while running it will spawn particles behind the player for 5sec 
See Above 
The previous post about player movement physics is immediately relevant again. The engine does nearly all the work of turning the player inputs into movement. The only part that's delegated to the QuakeC is how to respond to a jump command. And like the directional keys, +speed is not communicated to the QuakeC because it isn't necessary to make the movement work.

The same advice applies, you need to try and work around what the engine does on your behalf. Consider whether you can infer whether the player is running based on things that QuakeC can observe e.g. velocity, on-ground status, position. The PlayerPostThink function is the earliest opportunity as it runs right after engine physics.

You might find in practice checking the velocity is preferable. If the player is holding the run key but their attempted movement is blocked by a wall, should the particles spawn? Probably not! 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2025 John Fitzgibbons. All posts are copyright their respective authors.