Jump to content

MagSul

JKHub Staff
  • Posts

    1,084
  • Joined

Posts posted by MagSul

  1. I can confirm the same problem. I modified the ui/character.menu, ui/jamp/player2.menu/ingame_player.menu files to show BOTH_STAND4 instead of BOTH_WALK1 and the player model keeps walking instead of standing still. I'm going to simply assume that it's just simply neither of those 2 files that needed tweaking and there's another one we've overlooked. But it's strange!

  2. Hi! As the title suggests, I'd like to have a model in my map continuously rotate, but I'm unclear on how to achieve this and I haven't yet found a suitable tutorial. I did try creating a func_rotate and giving it a key "model" or "model2" and setting it to my desired map_object, but this didn't do the job.

     

    If anyone could chime in with some advice, I'd be very appreciative.

  3. No, the info_player_start is actually a grid unit behind the fake player NPC shown in the cinematic. I spawned two different custom NPCs earlier though with interesting results:

     

     

    So I'm currently doing a cross-comparison to see if I can fix this by playing with the NPC files specifically.

     

    EDIT #1: I changed the weapon line in the NPC files of the students from "WP_NONE" to "WP_SABER" and gave them a random hilt and colour configuration and the player no longer does an animation when they spawn. I'm assuming that means that there's some kind of rule about having "CLASS_JEDI" without a lightsaber (unless the lightsaber is later removed in a script as in Base game cinematics.)

     

    EDIT #2: The NPC_spawner entities (i.e. my custom NPCs) are now spawned as a part of a script, set off when the player spawns and the end of that script triggers a second one which sets their behaviour. The second map now successfully loads after the first one (the cinematic) finishes. The player does no silly animations upon entering the level either.

     

    In theory, that's it!  :winkthumb:

     

    I shall not mark this thread as resolved until I'm 100% certain I don't have any more issues relating to this, though.  :P

  4. Okay! There're two maps: yavin_temple_cin1 and yavin_temple. yavin_temple_cin1 is just a straight up cinematic (like the academy maps in the base game.) When the cinematic ends, the script loads the next level. The next level (yavin_temple) begins to load, but doesn't finish. What happens is what you see in the video at the top. I can open the console, but besides that I can't do anything else but tap ESC to return to the main menu. HOWEVER: If I use /map or /devmap to load yavin_temple from the main menu (bypassing the yavin_temple_cin1 map/cinematic) then everything loads fine.

     

    I had a think about what could be causing this and I figured that my yavin_temple map and swapped it out with another map I'd made which was basically just a box. That map loaded completely fine, so I took a look at yavin_temple and figured I'd try using it with no NPCs. When I did this, the map loaded perfectly after the cinematic. At this point, I knew the NPCs in my map were causing the problem. So what I did was tie the spawning of all NPCs to a trigger in the map which the player touches upon spawning. What happened next is the map loaded, but the player would perform a random animation when she spawned, which I didn't want.

     

    So as a wild guess, I decided to remove all NPC_spawners specifically (i.e. keep the NPC_luke and NPC_kyle entities and so on) and tested the map that way. The map again loaded completely fine and the player stopped doing a silly animation upon spawning. I then wondered if it was a specific NPC and briefly, I thought it was but I turned out to be wrong.

     

    What I'm going to do this weekend is set up the map a bit more efficiently so that NPCs are only spawned when appropriate rather than all at once with the map loading. If during this process I run into more errors, I plan to share it on here with more specific details of what's happening so that I can get help dealing with it.

     

    The current status of the map is I've put everything back to how it was before I started tinkering with it at the start of this thread. The second map doesn't load following the cinematic. I'll remove all NPCs over the next 2 days and re-add them so that they load into the level more efficiently and highlight issues I come across in the process.

    RebelChum likes this
  5. Hm, if I had to guess I'd say it's something off with a script. I can't explain it in any other way - the player just doesn't do that kind of stuff on its own.

    You're right, the player shouldn't be doing it on it's own. I removed everything surrounding the NPC temporarily and tried triggering it again. The player runs a random animation when he spawns. Why is a mystery. Considering he's only there for ambience, I think this particular guy is just going to burn in hell and get deleted. :P

     

    9IH5y6e.png

  6. The good news is that they're all spawning and doing what they should be doing. The bad news is, well...

     

    Here's what's happening now:

     

     

    Here's how I feel about it: https://youtu.be/rIzrkKAX9e0?t=55s

     

    EDIT #1: It appears to be caused by NPC_spawners. Regular entities like npc_kyle, npc_luke do not seem to cause the player animation spasm. Removing the NPC_spawners from the script spawn list resolved the issue. They spawn as a part of the map now and all is well.

     

    So: the NPC_spawners can't be done with a script without screwing the player. The level won't load following on from the cutscene level if the NPC_spawners are loaded as a part of the map.

     

    Tl;dnr: Stressful afternoon.  :lol: 

  7. @the_raven The textures are just images. The model.glm (as far as I know) contains the data of how those textures are laid out on the model, the shape of the model itself and the information on the skeleton used for animation (all the stuff you'd find from looking at the model.glm in ModView, basically).

     

    Replacing the .glm basically means he's not using the model he'd like to. Even if DT's Kyle textures perfectly aligned with the JO Kyle's, the shape of the model is different, so it'd be all for naught. DT Kyle's skeleton is designed for JAs animation, not JOs. This requires a tinker with the skeleton itself in Blender, which is what WhitePhoenix was suggesting earlier on. :)

    TheWhitePhoenix likes this
  8. I think I might know what's going on - I think that it's still got the camera enabled from the previous cutscene - try doing that again; when the glitch happens, type cam_disable into the console.

    If it goes back to normal, then it confirms that's what the problem is.

    Good suggestion! I double-checked my script for yavin_temple_cin1 and it doesn't disable the camera before triggering the next level. I added a brief wait in there to see if it would help but nothing has changed. I attempted the command you mentioned in the console, but sadly this didn't resolve the problem either. :(

     

    EDIT: A fun fact is that changing the level to something other than yavin_temple does not replicate the issue. I changed the mapname key in the level_change to another test SP map and it loads without issue.

     

    EDIT 2: If I try to devmap from the point of the error, I get MAX_PACKET_USERCMDS. Devmapping from the main menu after tapping ESC works perfectly.

     

    EDIT 3: Just as a random thing - I quickly highlighted all the NPCs from the entity menu, deleted them and tried it. The map loads fine following on from the cutscene map no issues.  :huh:

    I'm going to try making more of the NPCs spawn via a script following player spawn, rather than loaded from the map itself straight away and see if that allows all of this to work.

     

    EDIT 4: That worked! The map loads, the NPCs spawn from one script then set about their tasks via one triggered after. However: Now the player does a stupid animation saber animation (without holding one) upon spawning in and I've no idea why.

  9. Hi!

     

    I'm having a problem when moving from my first map to my second map in my single player mod. The first one is a condensed version of the second purely to run a cinematic. When the script/cinematic is complete, the next level begins to load successfully. What happens next is best described with this video, the loading doesn't finish, I get this:

     

     

    I can tap ESC to return to the main menu and then use /map or /devmap yavin_temple to load the map without issue. Does anyone have any suggestions as to why this is happening? I didn't run into this issue last time. :(

  10. Hello!

     

    I'm nearing completion of a level for my single player campaign but would like to add a little more for the player to do before moving on. In order to achieve this, I need someone who isn't shy to record their own voice for a few pieces of dialog. One additional character has already been created and supplied with a brand new voice and the results are excellent! I'm now feeling optimistic about inviting others along as well.

     

    If you have a superb-quality microphone and lots of confidence, please record a few takes of yourself speaking the following sentences:

     

    1. "You're really making yourself known down there!"
    2. "If you're interested in trying something that's a bit more challenging, come and find me in the courtyard when you've got some time."

     

    Slight variations on the text are okay, but as close to what is written would be more ideal. Both female and male submissions are welcome! The successful applicant will be asked to supply a small handful of additional lines which will be packaged with the first release of my mod.* The character is a reasonably experienced Jedi Knight, so keep this in mind when reciting the dialog. If I decide to alter the species of the character during the creative process, your recording may be modified slightly to accommodate appropriately (such as an increase in pitch and a slight reverb if the character were to be made into a rodian.)

     

    As sharing recordings of your voice on a public forum can be quite daunting, I would ask that any submissions be sent to my private messaging inbox here on JKHub.

     

    Finally, please do not feel offended if I do not choose to go ahead with your voice, even if you turn out to be the only submission.** I will still really appreciate you giving it a shot.  :winkthumb:

     

    Thank you,

     

    *Credits will be given to your desired alias in the manual included with the file download, in the game itself and of course on the downloads page on this site.

    **I will announce when the applications are closed by responding to this thread and marking this request as fulfilled.

    Noodle, the_raven, Smoo and 2 others like this
  11. Moving the outrocam2 commands into NPC_Jaden bracket allowed everything to function. When it played all the way through I also noticed a few dialog errors which've now been fixed. x_x

     

    The current problem is trying to work out how they manage to perfectly time animations. Example scenario:

     

    Jaden stands still in BOTH_STAND10.

     

    I then place //(BHVD) set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_STAND10_TALK1" ); in with the same task, it winds up with the animation finishing before the dialog is over and Jaden reverts to standing upright for a split second before the script tells him to go back to STAND_10. If anyone has any tips on getting animations to flow smoothly, that'd be great. Would allow more variety in stances!

     

    Anyway, I then tried it a different way on Kyle:

    //(BHVD)
    
    task ( "kylespeak" )
    {
    	set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_STAND1_TALK3" );
    }
    
    
    task ( "kyleline1" )
    {
    	print ( "It's not exactly a vacation spot." );
    	sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/33kyk003.mp3" );
    }
    
    do ( "kylespeak" );
    dowait ( "kyleline1" );
    
    

     

    This doesn't quite cut it either. So looking at T1_Inter as a working example:
     
    //(BHVD)
    
    task ( "talk1" )
    {
    	set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_STAND10_TALK1" );
    }
    
    
    task ( "talk2" )
    {
    	set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_STAND10_TALK2" );
    }
    
    
    task ( "training" )
    {
    	sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/rosh/03rop001.mp3" );
    }
    
    do ( "training" );
    wait ( 1800.000 );
    dowait ( "talk1" );
    set ( /*@SET_TYPES*/ "SET_ANIM_BOTH", /*@ANIM_NAMES*/ "BOTH_STAND10" );
    set ( /*@SET_TYPES*/ "SET_ANIM_HOLDTIME_BOTH", -1 );
    
    

    I notice that they have a wait key timed to 1800.000. How are they measuring these things and how can I do it? >_

     

  12. I gave both suggestions a go, but the result is still the same. Both changes are still implemented: outro_fakeplayer is now inside npc_jaden and npc_outro_kyle is inside of outro_fakeplayer as suggested by @@Noodle and the names have been shortened to take out some of the spaces as mentioned by @@Langerd. The game console is not being very helpful with noting anything either. It's still just Jaden's first line of dialog and then nothing. :(

     

     

     

    //(BHVD)
    remove ( "player" );
    camera ( /*@CAMERA_COMMANDS*/ ENABLE );
    camera ( /*@CAMERA_COMMANDS*/ MOVE, $tag( "outrocam1", ORIGIN)$, 0 );
    camera ( /*@CAMERA_COMMANDS*/ PAN, $tag( "outrocam1", ANGLES)$, < 0.000 0.000 0.000 >, 0 );
    camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 1, < 0.000 0.000 0.000 >, 0, 1000 );
    camera ( /*@CAMERA_COMMANDS*/ MOVE, $tag( "outrocam2", ORIGIN)$, 10000 );
    camera ( /*@CAMERA_COMMANDS*/ PAN, $tag( "outrocam2", ANGLES)$, < 0.000 0.000 0.000 >, 10000 );
    
    affect ( "npc_jaden", FLUSH )
    {
    
    	task ( "jadenline1" )
    	{
    		print ( "Never heard of it." );
    		sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/knight/32kni004.mp3" );
    	}
    
    	dowait ( "jadenline1" );
    	signal ( "kyleline1 follow jadenline1" );
    	waitsignal ( "jadenline2 follow kyleline1" );
    
    	task ( "jadenline2" )
    	{
    		print ( "Hm!" );
    		sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/knight/32kni005.mp3" );
    	}
    
    	dowait ( "jadenline2" );
    	signal ( "kyleline2 follow jadenline2" );
    	waitsignal ( "jadenline3 follow padawanline1" );
    
    	task ( "jadenline3" )
    	{
    		print ( "I've been waiting here forever." );
    		sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/knight/32kni002.mp3" );
    	}
    
    	dowait ( "jadenline3" );
    	signal ( "kyleline3 follow jadenline3" );
    	waitsignal ( "jadenline4 follow kyleline4" );
    
    	task ( "jadenline4" )
    	{
    		print ( "You seem really nervous." );
    		sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/jaden_male/01jak010.mp3" );
    	}
    
    	dowait ( "jadenline4" );
    	signal ( "padawanline3 follow jadenline4" );
    
    	affect ( "outro_fakeplayer", FLUSH )
    	{
    		waitsignal ( "padawanline1 follow kyleline2" );
    
    		task ( "padawanline1" )
    		{
    			print ( "Sir?" );
    			sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/jaden_fmle/19jak001.mp3" );
    		}
    
    		dowait ( "padawanline1" );
    		signal ( "jadenline3 follow padawanline1" );
    		waitsignal ( "padawanline2 follow kyleline3" );
    
    		task ( "padawanline2" )
    		{
    			print ( "Well, I-" );
    			sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/jaden_fmle/03jak001.mp3" );
    		}
    
    		dowait ( "padawanline2" );
    		signal ( "kyleline4 follow padawanline2" );
    		waitsignal ( "padawanline3 follow jadenline4" );
    
    		task ( "padawanline3" )
    		{
    			print ( "Yeah, I'm okay." );
    			sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/jaden_fmle/01jak010.mp3" );
    		}
    
    		dowait ( "padawanline3" );
    		signal ( "kyleline5 follow padawanline3" );
    		waitsignal ( "padawanline4 follow kyleline6" );
    
    		task ( "padawanline4" )
    		{
    			print ( "Ready as I'll ever be!" );
    			sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/jaden_fmle/21jak002.mp3" );
    		}
    
    		dowait ( "padawanline4" );
    
    		affect ( "npc_kyle_outro", FLUSH )
    		{
    			waitsignal ( "kyleline1 follow jadenline1" );
    
    			task ( "kyleline1" )
    			{
    				print ( "It's not exactly a vacation spot." );
    				sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/33kyk003.mp3" );
    			}
    
    			dowait ( "kyleline1" );
    			signal ( "jadenline2 follow kyleline1" );
    			waitsignal ( "kyleline2 follow jadenline2" );
    
    			task ( "kyleline2" )
    			{
    				print ( "I was starting to get worried." );
    				sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/33kyk004.mp3" );
    			}
    
    			dowait ( "kyleline2" );
    			signal ( "padawanline1 follow kyleline2" );
    			waitsignal ( "kyleline3 follow jadenline3" );
    
    			task ( "kyleline3" )
    			{
    				print ( "Yeah." );
    				sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/33kyk008.mp3" );
    			}
    
    			dowait ( "kyleline3" );
    			signal ( "padawanline2 follow kyleline3" );
    			waitsignal ( "kyleline4 follow padawanline2" );
    
    			task ( "kyleline4" )
    			{
    				print ( "Don't worry!" );
    				sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/33kyk005.mp3" );
    			}
    
    			dowait ( "kyleline4" );
    			signal ( "jadenline4 follow kyleline4" );
    			waitsignal ( "kyleline5 follow padawanline3" );
    
    			task ( "kyleline5" )
    			{
    				print ( "All right. Let's get started." );
    				sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/33kyk006.mp3" );
    			}
    
    			dowait ( "kyleline5" );
    			wait ( 1000.000 );
    
    			task ( "kyleline6" )
    			{
    				print ( "Ready?" );
    				sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/33kyk007.mp3" );
    			}
    
    			dowait ( "kyleline6" );
    			signal ( "padawanline4 follow kyleline6" );
    		}
    
    	}
    
    }
    
     

     

     

  13. Problem: I put together a short cutscene for the end of a level. This is purely dialog at this point aside from the opening camera movement, no look_targets or animations or anything. I thought I'd sorted out the sequence, but apparently not. After Jaden's first line of dialog everything stops.

     

    I've checked the npc_targetnames and all 3 are correct; they're also checked as "cinematic" in GTKRadiant. After a minor scare, all dialog files are accounted for and filepathed correctly. I'm really unsure what's preventing this from working. Hopefully, this will all make sense to me when I wake up fresh-faced! But in case it doesn't, I would really appreciate some support.

     

    Thanks. :)

     

     

     

    //(BHVD)
    remove ( "player" );
    camera ( /*@CAMERA_COMMANDS*/ ENABLE );
    camera ( /*@CAMERA_COMMANDS*/ MOVE, $tag( "outrocam1", ORIGIN)$, 0 );
    camera ( /*@CAMERA_COMMANDS*/ PAN, $tag( "outrocam1", ANGLES)$, < 0.000 0.000 0.000 >, 0 );
    camera ( /*@CAMERA_COMMANDS*/ FADE, < 0.000 0.000 0.000 >, 1, < 0.000 0.000 0.000 >, 0, 1000 );
    camera ( /*@CAMERA_COMMANDS*/ MOVE, $tag( "outrocam2", ORIGIN)$, 10000 );
    camera ( /*@CAMERA_COMMANDS*/ PAN, $tag( "outrocam2", ANGLES)$, < 0.000 0.000 0.000 >, 10000 );
    
    affect ( "npc_jaden", FLUSH )
    {
    
    	task ( "jadenline 1" )
    	{
    		print ( "Never heard of it." );
    		sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/knight/32kni004.mp3" );
    	}
    
    	dowait ( "jadenline 1" );
    	signal ( "kyleline 1 follow jadenline 1" );
    	waitsignal ( "jadenline 2 follow kyleline 1" );
    
    	task ( "jadenline 2" )
    	{
    		print ( "Hm!" );
    		sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/knight/32kni005.mp3" );
    	}
    
    	dowait ( "jadenline 2" );
    	signal ( "kyleline 2 follow jadenline 2" );
    	waitsignal ( "jadenline 3 follow padawanline 1" );
    
    	task ( "jadenline 3" )
    	{
    		print ( "I've been waiting here forever." );
    		sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/knight/32kni002.mp3" );
    	}
    
    	dowait ( "jadenline 3" );
    	signal ( "kyleline 3 follow jadenline 3" );
    	waitsignal ( "jadenline 4 follow kyleline 4" );
    
    	task ( "jadenline 4" )
    	{
    		print ( "You seem really nervous." );
    		sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/jaden_male/01jak010.mp3" );
    	}
    
    	dowait ( "jadenline 4" );
    	signal ( "padawanline 3 follow jadenline 4" );
    }
    
    
    affect ( "outro_fakeplayer", FLUSH )
    {
    	waitsignal ( "padawanline 1 follow kyleline 2" );
    
    	task ( "padawanline 1" )
    	{
    		print ( "Sir?" );
    		sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/jaden_fmle/19jak001.mp3" );
    	}
    
    	dowait ( "padawanline 1" );
    	signal ( "jadenline 3 follow padawanline 1" );
    	waitsignal ( "padawanline 2 follow kyleline 3" );
    
    	task ( "padawanline 2" )
    	{
    		print ( "Well, I-" );
    		sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/jaden_fmle/03jak001.mp3" );
    	}
    
    	dowait ( "padawanline 2" );
    	signal ( "kyleline 4 follow padawanline 2" );
    	waitsignal ( "padawanline 3 follow jadenline 4" );
    
    	task ( "padawanline 3" )
    	{
    		print ( "Yeah, I'm okay." );
    		sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/jaden_fmle/01jak010.mp3" );
    	}
    
    	dowait ( "padawanline 3" );
    	signal ( "kyleline 5 follow padawanline 3" );
    	waitsignal ( "padawanline 4 follow kyleline 6" );
    
    	task ( "padawanline 4" )
    	{
    		print ( "Ready as I'll ever be!" );
    		sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/jaden_fmle/21jak002.mp3" );
    	}
    
    	dowait ( "padawanline 4" );
    }
    
    
    affect ( "npc_kyle_outro", FLUSH )
    {
    	waitsignal ( "kyleline 1 follow jadenline 1" );
    
    	task ( "kyleline 1" )
    	{
    		print ( "It's not exactly a vacation spot." );
    		sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/33kyk003.mp3" );
    	}
    
    	dowait ( "kyleline 1" );
    	signal ( "jadenline 2 follow kyleline 1" );
    	waitsignal ( "kyleline 2 follow jadenline 2" );
    
    	task ( "kyleline 2" )
    	{
    		print ( "I was starting to get worried." );
    		sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/33kyk004.mp3" );
    	}
    
    	dowait ( "kyleline 2" );
    	signal ( "padawanline 1 follow kyleline 2" );
    	waitsignal ( "kyleline 3 follow jadenline 3" );
    
    	task ( "kyleline 3" )
    	{
    		print ( "Yeah." );
    		sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/33kyk008.mp3" );
    	}
    
    	dowait ( "kyleline 3" );
    	signal ( "padawanline 2 follow kyleline 3" );
    	waitsignal ( "kyleline 4 follow padawanline 2" );
    
    	task ( "kyleline 4" )
    	{
    		print ( "Don't worry!" );
    		sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/33kyk005.mp3" );
    	}
    
    	dowait ( "kyleline 4" );
    	signal ( "jadenline 4 follow kyleline 4" );
    	waitsignal ( "kyleline 5 follow padawanline 3" );
    
    	task ( "kyleline 5" )
    	{
    		print ( "All right. Let's get started." );
    		sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/33kyk006.mp3" );
    	}
    
    	dowait ( "kyleline 5" );
    	wait ( 1000.000 );
    
    	task ( "kyleline 6" )
    	{
    		print ( "Ready?" );
    		sound ( /*@CHANNELS*/ CHAN_VOICE_GLOBAL, "sound/chars/kyle/33kyk007.mp3" );
    	}
    
    	dowait ( "kyleline 6" );
    	signal ( "padawanline 4 follow kyleline 6" );
    }
    

     

     

×
×
  • Create New...