Jump to content

Boothand

Members
  • Posts

    935
  • Joined

  • Last visited

Everything posted by Boothand

  1. How long is it until we can expect a JK2 version, more or less?
  2. It's not in 1.02. I know there's an option for first person sabering in Nerevar and Scharp's modbuilder, but it's totally unusable since you can't see the hands and you lose all control that you have in third person. So how does cg_fpls 1 look in the other versions?
  3. Wow. Completely stunning. Really can't wait to try this out, hopefully! Very impressive
  4. Oooh! That's definitely interesting. If you do, make sure it's compatible with 1.02 I'm currently using a demo camera mod made by Nerevar, which is really good actually, but it has some bugs that makes it very hard to use unless you have a lot of patience. It has most of the features I could ever ask for and more, but bugs like the camera suddenly spinning 360 degrees around between key points (70-80% chance of happening to 1-2 of your keypoints if you have around 10-15 points), and 60-70 % chance that the image gets frozen like a "leak" but the audio continues. No games crashes though. Would love to have something like PugMod, although this camera has most of its features I think, it's just that it's buggy. Here's a movie I made last year with that mod. Could have made it a lot better, but felt restricted by the bugs. Some cool scenes are at 1:45, 3:06, 3:54, 7:04. I feel a lot more ambitious now, and with functioning tools, I have the patience to make quite neat stuff. http://www.youtube.com/watch?v=7uqBZUhk00c If your mod is what you used here, I'd be very excited!
  5. I think I would point the shader to a custom folder, rather than to a default assets folder. Also if you're making a map, I would personally have all shaders in one common .shader file (but it depends on the size of your project too I guess). For example textures/CustomMapName/Narsh_final skyParms textures/CustomMapName/narsh 1024 - But what's really important is what you name the .shader file itself in which you store the sky shader. If you call it "RavensCustomSky.shader" you have to add RavensCustomSky to the shaderlist. The "skies" entry doesn't matter here, because it refers to the shader file called "skies.shader".
  6. It would be possible in icarus, you can do math on floating point numbers (haven't tried using other than whole numbers yet though. I tried doing it on vectors yesterday for hours, but didn't manage to get past floats!), but unfortunately this is for demos, and icarus scripts don't work with JK2's multiplayer either So I can't use mods that aren't for JK2 either. For now I'm doing fine by writing it out in the cfg files.
  7. I'm almost 99% sure that there is nothing like this in JK. But I have to ask anyway. Is there an equivalent way in .cfg files to say for example: while timescale < 0.1 wait 10; subtract 0.05 from timescale or handy things like... wait 10; timescale - 0.05; wait 10; timescale - 0.05; etc wait 10; timescale + 0.05; wait 10; timescale + 0.05; etc What I'm doing here below isn't quite as smooth as I want it, and instead of making huge scripts to make it smoother, I was just wondering if there was another way
  8. Will it be possible to adjust the amount, as opposed to QFX?
  9. I set up a test as simple as possible. Still get the error. assertTest.bsp, .map, and script found here: https://dl.dropboxusercontent.com/u/58757568/z_assertTest.pk3 What can be done otherwise? It works in-game and the script is properly set up. That's why I think it's rather a bug than a mistake. Anyone correct me if I'm wrong though. //Generated by BehavEd rem ( "comment" ); if ( $get( FLOAT, "SET_PARM1")$, $=$, $0$ ) { sound ( /*@CHANNELS*/ CHAN_ANNOUNCER, $get( STRING, "SET_PARM2")$ ); }
  10. When we're on this topic, what is the max entity limit, and is it for the whole level, or only for entities visible at the same time? (SP & MP) If I'm not mistaken, misc_model is baked into the geometry at compile, and thus not counting as an entity, whereas misc_model_static stays an entity?
  11. This is the latest one from http://builds.openjk.org/ Edit:@@eezstreet You sound so surprised The bug happens on the regular jamp.exe too. I'm assuming this error belongs in code somewhere. Is it something that could be fixed in OpenJK?
  12. Skin files point to image files (.tga), in every case I've investigated at least. Any of those images could be a shader, but that shouldn't affect whether it shows up in-game. You say they the icons don't show up in-game, but what do you see instead of the icons? Or did you mean that they were missing from the character menu? Could you post your skin file here?
  13. (Yeah, cancel, try again or ignore) If I press cancel, it just closes. It doesn't give me the option to debug, which I've seen in other crashes before, if this is what you meant. If you wanted me to do something with Visual Studio and code, I would need very specific instructions, heh. However! I have a bit mixed feelings now. Clicking ignore actually takes me in-game, and it works perfectly. It gets the parm properly with no console errors. But it's a must-fix of course even though it works.
  14. Progress update: Confirmed that affecting more than one entity with same script_targetname doesn't work. It picks one of them, in this case the most recently added ones. Any workaround for this is greatly appreciated! I'm kind of stuck before I solve the "Assertion failed!" error. I get this error everytime I try to *get* the path to a soundfile through one of the parms. If this worked properly, it would resolve a whole lot of things. Eezstreet said I was passing a blank parm somewhere, but I've narrowed it down and found that this happens even when I add only instance of "sound *get parmX". The alternative seems to be to add each sound in the script, which is very inefficient! I think I'm gonna summon some more people for this one! @@eezstreet, @@Raz0r, @@Xycaleth. Tag anyone who might know. Here's the pictures again: And the code snippet regarding this error:
  15. Nice! I was hoping someone would explain the sabering system in Jedi Academy in depth, and thoroughly. Looking forward to that. I think that's the only thing that can possibly make me like it, although the chances are small I've been playing with the thought of making an in-depth video about Jedi Outcast's 1.02 multiplayer sabering system, actually, on several occasions. I might be inspired to go through with that because of your video(s)!
  16. Ahh! Of course. Will try this at once, it makes very much sense. Thanks! Yep, works! Now I gotta find out how to get the sound-file through parms without getting that assertion error thing...
  17. Hmm. It seems that *getting* the sounds through the parms is causing it at least. Replacing it with the path of the sounds fixes the issue, although a disadvantage. A temporary solution. I'm having a different problem now. Using only *if*, it will execute all the if statements in one go, because they become true immediately, instead of waiting until next time the script is run. Using *else if* the way @@MoonDog set it up gives me an "invalid else found!" error in-game, and doesn't execute the script any further. //Generated by BehavEd rem ( "0 = none, 1 = whole, 2 = half, 3 = quarter, 4 = eight" ); if ( $get( FLOAT, "SET_PARM1")$, $=$, $0$ ) { set ( /*@SET_TYPES*/ "SET_PARM1", "1" ); sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/bootland_mp/sequencer/C3_whole.wav" ); } else ( ) { if ( $get( FLOAT, "SET_PARM1")$, $=$, $1$ ) { set ( /*@SET_TYPES*/ "SET_PARM1", "2" ); sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/bootland_mp/sequencer/C3_half.wav" ); } } else ( ) { if ( $get( FLOAT, "SET_PARM1")$, $=$, $2$ ) { set ( /*@SET_TYPES*/ "SET_PARM1", "3" ); sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/bootland_mp/sequencer/C3_quarter.wav" ); } } else ( ) { if ( $get( FLOAT, "SET_PARM1")$, $=$, $3$ ) { set ( /*@SET_TYPES*/ "SET_PARM1", "4" ); sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/bootland_mp/sequencer/C3_eight.wav" ); } } else ( ) { set ( /*@SET_TYPES*/ "SET_PARM1", "0" ); }
  18. Ok, ran into a little bump here. This would be a problem no matter what method I use, I think. I'm in the process of setting up my first script, according to how I planned it in this post. Just when I add the usescript to any of my usables, I get a crash when starting up the map. I've tested the sounds themselves, and they run in-game. Here is the script: And here is the error: And here is what g_utils.c says: Entity window:
  19. Thanks! Ok, so basically passing on states to global variables, during sequencing, and then during playback you check the states in each block and play the corresponding sound. Hmm. The disadvantage I (think I) see, is that you'd need such a script for every available tone. Say 24 scripts. It could work. But hmm. I would probably want to re-use this script for the horizontal notes, and that kind of leaves me wondering. How would it know that it should execute a whole row of blocks at a time, not horizontally, but vertically? I'm worried that it would play at once the sounds of all the instances of "block1_note", which would be all the notes from left to right of that particular tone. I don't know how to go around it without doing what I feared, which is to make a script for every block, which would never be worth it. I really hope I could get away with using 9 or 10 parms on each entity. BehavEd has 16 available parms though. The reason why I used parms 10-14 was that it corresponded visually with parm1 = 0-4. Any coders who could clarify on this? @@mrwonko, @@eezstreet? Would be fantastic if that worked, or something similar worked. I'll see if I can do something with global variables if my plans above are foiled. EDIT: But I'm not using more than 8 parms am I? I just realized, I'm only using parm1 for setting 0-4. Then I'm using 5 (maybe 4 actually) other parms to hold paths to sounds.
  20. This would be the best illustration I can give for now: http://onlinesequencer.net/ Throw some notes in there, and then click on the play button in the lower left. I don't think I will need relays nor delays. I've thought of it a bit, and will keep it in mind though. Currently I'm setting it up like this - one script being used when you shoot and set up your sequence, and another script for playing the sequence when it's done: The first script checks this: If entity gets shot/used AND parm1 = 0 set parm1 to 1 play sound (get parm11) (so in this entity, I would set parm11 to the path of the whole-note wave file) If entity gets shot AND parm1 = 1 set parm1 to 2 play sound (get parm12) etc until If entity gets shot AND parm1 = 4 set parm1 to 0 [play no sound] This should correspond with the "endframe" key I've set up which changes the texture every time you shoot it. The next script will play it when you press a trigger, and does this: Affect ROW1 (all the blocks in the first vertical row would have the same script_targetname and thus be executed together. I've had an experience where the game picks only one of the entities regardless of identical targetnames though.) MoonDog, help! If parm1 = 0 do nothing (how do I tell it to do nothing actually? Flush...?) If parm1 = 1 play sound (get parm11) If parm1 = 2 play sound (get parm12) etc with 3 and 4 as well... then wait (get amount of time to wait from some other entity in the map that the player can affect, so that they can change the tempo of songs) Challenge (?): Then I would have to let the script run on every entity without *using* them, because using them has the same effect as when you shoot them and set up the sequencer in the first script. @@MoonDog, could you confirm if I'm onto it here, or if there's something, for example the last part I mentioned, which renders this totally undoable?
  21. Update on progress: I've managed to switch texture on the blocks every time they are shot. Done by using the "endframe" key. So this way I don't need to deal with hidden entities.
  22. Yeah, sorry for being a bit vague there. The word value corresponds to a mathematical value, representing the length or duration of a note. Whole notes (the greatest value) last for 4 "beats" or "counts". Then half, quarter notes, eight-notes are just halves of the durations before. 1, 0,5, 0.25, 0,125 could be a way to represent it in for example seconds. Hope that clears up the word "value" in this context. So if you imagine that a script starts on the first row of vertical blocks, the entire chunk from the bottom-most left block to the upper-most left block, (1 of 16 horizontal rows) and plays the sound corresponding to the value those notes are set to (via parms and a script, I suppose). Maybe 3 blocks in that first row would be set to a note value, and the rest would just be blank and play no sound. Say the notes G, B and D were set to quarter notes. The script would then play those at the same time, then after a wait time, it would move on to the second row of vertical blocks and do the same thing for whatever there might be. So the reason for changing the note values is really just to make the tones last longer or shorter. It won't change the time before the script plays the next row of blocks. Granted, most apps/mods etc don't take into account how long the notes should last. For example Minecraft note blocks, or playable piano-mods in games like... Garry's Mod. The end result of this would be that the players shoot blocks to make tunes, then execute the sequence by pressing a button where it then plays it from left to right, and possibly as a bonus can choose whether it should loop or not.
  23. Parms can be set on anything. But part of the issue is that every time the note value changes, so does the entity. Maybe it's possible I could discard the idea of having a new entity for each note block, and rather have only the texture be swapped and parms set up to play new wav files. It would simplify things...
  24. That would the progression in the song, or sequence or what to call that. It would basically work like any music program where you input MIDI. You have a grid, and the pitch is determined vertically, the notelength and timing is determined horizontally. DAW example: http://www.jamorigin.com/jo/images/daw-setup/midi-out-fl-studio.png For now, it would be a very short sequence but I suspect that might be the best case scenario. So if this was one note: http://www.twitch.tv/boothand/b/503588956 consisting of 8 possible repetitions, and 6 (+1) possible lengths, blocks over and under it would be other pitches. For now there's just one row.
  25. How about triggers that trigger multiple entities with different targetnames? I can't make them have the same targetname, otherwise the note value function wouldn't work.
×
×
  • Create New...