BlackMagic Posted July 25, 2023 Report Posted July 25, 2023 In my mission, there is a script that is supposed to display a message if a player is damaged by an explosion. It didn't work because health stays at 100 even when the light gem shows damage was taken. at the start of script I did this; PlayerHealth = $player1.getHealth(); sys.print("Start health = " + PlayerHealth + "\n"); and it reports 100 (or less if player is damaged already) after the explosion (more) damage is taken per light gem, but this; PlayerHealth = $player1.getHealth(); sys.print("health now = " + PlayerHealth + "\n"); Still shows the value recorded before damage was taken. So how do I test for actual health? Quote
HMart Posted July 26, 2023 Report Posted July 26, 2023 Can you show the actual script code? Is better to know what is really happening, at lest to me, because at first glance it should work. But you should know that I'm not a TDM mission maker, even thou I do know a fair bit about idTech 4 scripting and c++ coding, but because of the changes done to TDM engine and scripting, what i know may not apply in TDM. But in any case are you really sure you are calling PlayerHealth = $player1.getHealth(); sys.print("health now = " + PlayerHealth + "\n"); after doing the damage? I know you say the light gem shows new damage, so this is indeed strange. Btw just to debug, try to manually set the player health with $player1.setHealth(value) and see if it prints the new value. If it still prints the wrong thing then there's something wrong, with how you are calling the code or some bug on how the explosion damage handles the player. Also I would use sys.println instead, it does the same but includes the newline automatically less typing imo. Quote
BlackMagic Posted July 26, 2023 Author Report Posted July 26, 2023 yes IO tried doing the following. after first gethealth, setting variable Player Health to to, then doing another sysprint of the variable and console showed that is had changed to 2, but still showed same health after damage was taken that it showed before . Tried with full health at start as well as with pre existing damage of about 40% health (by using noclip to sky and dropping). As far as my script, it is quite large, having force fields, explosions, smoke,dust, flying rocks, etc. but i will make a short test script and try that - and post here in a little bit. Right now I have moved on to trying to figure out how to change player head in a script since it is not available in DR, at least as far as I can find. My cowboy + cowgirl hats on heads look good on AI but how can the Marshall walk around in thief guard? Quote
BlackMagic Posted July 26, 2023 Author Report Posted July 26, 2023 Here is the MUCH shortened script, and screen grabs (portion anyway) showing the before and after damage bar and console output. escape.script Quote
thebigh Posted July 27, 2023 Report Posted July 27, 2023 I'm not 100% sure how your script works, but I suspect it might just be too short a time interval between running sys.trigger($dynomite_hurts); and checking your health. 1 Quote My missions: Stand-alone Duncan Lynch series Down and Out on Newford Road the Factory Heist The Wizard's Treasure A House Call The House of deLisle
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.