# OpenJK General Topic

## Recommended Posts

Icarus works for MP too (in JKA).

Nope nope.

It's more limited in MP, however you can still use it heavily.

For instance, this is the two way door script I made for the map I made for jkhub secret santa.

//Generated by BehavEd

rem ( "comment" );

if ( $get( FLOAT, "SET_PARM8")$, $=$, $1$ )
{

affect ( $get( STRING, "SET_PARM1")$, /*@AFFECT_TYPE*/ FLUSH )
{
rotate ( $get( VECTOR, "SET_PARM3")$, $get( FLOAT, "SET_PARM4")$ );
sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/secretsanta/dooropen.wav" );

affect ( $get( STRING, "SET_PARM7")$, /*@AFFECT_TYPE*/ FLUSH )
{
set ( /*@SET_TYPES*/ "SET_INACTIVE", "true" );
}

affect ( $get( STRING, "SET_PARM6")$, /*@AFFECT_TYPE*/ FLUSH )
{
set ( /*@SET_TYPES*/ "SET_INACTIVE", "true" );

affect ( $get( STRING, "SET_PARM1")$, /*@AFFECT_TYPE*/ FLUSH )
{
wait ( $get( FLOAT, "SET_PARM5")$ );
rotate ( < 0.000 0.000 0.000 >, $get( FLOAT, "SET_PARM4")$ );
sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/secretsanta/doorclose.wav" );
wait ( $get( FLOAT, "SET_PARM4")$ );

affect ( $get( STRING, "SET_PARM6")$, /*@AFFECT_TYPE*/ FLUSH )
{
set ( /*@SET_TYPES*/ "SET_INACTIVE", "false" );
}

affect ( $get( STRING, "SET_PARM7")$, /*@AFFECT_TYPE*/ FLUSH )
{
set ( /*@SET_TYPES*/ "SET_INACTIVE", "false" );
}

}

}

}

}

else (  )
{

affect ( $get( STRING, "SET_PARM1")$, /*@AFFECT_TYPE*/ FLUSH )
{
rotate ( $get( VECTOR, "SET_PARM2")$, $get( FLOAT, "SET_PARM4")$ );
sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/secretsanta/dooropen.wav" );

affect ( $get( STRING, "SET_PARM7")$, /*@AFFECT_TYPE*/ FLUSH )
{
set ( /*@SET_TYPES*/ "SET_INACTIVE", "true" );
}

affect ( $get( STRING, "SET_PARM6")$, /*@AFFECT_TYPE*/ FLUSH )
{
set ( /*@SET_TYPES*/ "SET_INACTIVE", "true" );

affect ( $get( STRING, "SET_PARM1")$, /*@AFFECT_TYPE*/ FLUSH )
{
wait ( $get( FLOAT, "SET_PARM5")$ );
rotate ( < 0.000 0.000 0.000 >, $get( FLOAT, "SET_PARM4")$ );
sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/secretsanta/doorclose.wav" );
wait ( $get( FLOAT, "SET_PARM4")$ );

affect ( $get( STRING, "SET_PARM7")$, /*@AFFECT_TYPE*/ FLUSH )
{
set ( /*@SET_TYPES*/ "SET_INACTIVE", "false" );
}

affect ( $get( STRING, "SET_PARM6")$, /*@AFFECT_TYPE*/ FLUSH )
{
set ( /*@SET_TYPES*/ "SET_INACTIVE", "false" );
}

}

}

}

}



My hat is off to you, my good sir.

Can we have a i-want-other-people-to-write-a-raytraced-jka-renderer-because-I-am-2-lazy-2-work?

On a more serious note: Great work guys, keep it up :-)

Rotating door, just provide an origin brush and two trigger_multiples to serve as zones where the door is usable.

Sounds like it's missing or loading some assets incorrectly. Is this on Linux by chance?

Windows 7.

If no one have suggested it yet; I am sure some would appreciate an option to disable DFA in a server. (disable_DFA 1 ! )

Rotating door, just provide an origin brush and two trigger_multiples to serve as zones where the door is usable.

Link doesn't work . . .  :/

Nope nope.

It's more limited in MP, however you can still use it heavily.

For instance, this is the two way door script I made for the map I made for jkhub secret santa.

//Generated by BehavEd

rem ( "comment" );

if ( $get( FLOAT, "SET_PARM8")$, $=$, $1$ )
{

affect ( $get( STRING, "SET_PARM1")$, /*@AFFECT_TYPE*/ FLUSH )
{
rotate ( $get( VECTOR, "SET_PARM3")$, $get( FLOAT, "SET_PARM4")$ );
sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/secretsanta/dooropen.wav" );

affect ( $get( STRING, "SET_PARM7")$, /*@AFFECT_TYPE*/ FLUSH )
{
set ( /*@SET_TYPES*/ "SET_INACTIVE", "true" );
}

affect ( $get( STRING, "SET_PARM6")$, /*@AFFECT_TYPE*/ FLUSH )
{
set ( /*@SET_TYPES*/ "SET_INACTIVE", "true" );

affect ( $get( STRING, "SET_PARM1")$, /*@AFFECT_TYPE*/ FLUSH )
{
wait ( $get( FLOAT, "SET_PARM5")$ );
rotate ( < 0.000 0.000 0.000 >, $get( FLOAT, "SET_PARM4")$ );
sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/secretsanta/doorclose.wav" );
wait ( $get( FLOAT, "SET_PARM4")$ );

affect ( $get( STRING, "SET_PARM6")$, /*@AFFECT_TYPE*/ FLUSH )
{
set ( /*@SET_TYPES*/ "SET_INACTIVE", "false" );
}

affect ( $get( STRING, "SET_PARM7")$, /*@AFFECT_TYPE*/ FLUSH )
{
set ( /*@SET_TYPES*/ "SET_INACTIVE", "false" );
}

}

}

}

}

else (  )
{

affect ( $get( STRING, "SET_PARM1")$, /*@AFFECT_TYPE*/ FLUSH )
{
rotate ( $get( VECTOR, "SET_PARM2")$, $get( FLOAT, "SET_PARM4")$ );
sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/secretsanta/dooropen.wav" );

affect ( $get( STRING, "SET_PARM7")$, /*@AFFECT_TYPE*/ FLUSH )
{
set ( /*@SET_TYPES*/ "SET_INACTIVE", "true" );
}

affect ( $get( STRING, "SET_PARM6")$, /*@AFFECT_TYPE*/ FLUSH )
{
set ( /*@SET_TYPES*/ "SET_INACTIVE", "true" );

affect ( $get( STRING, "SET_PARM1")$, /*@AFFECT_TYPE*/ FLUSH )
{
wait ( $get( FLOAT, "SET_PARM5")$ );
rotate ( < 0.000 0.000 0.000 >, $get( FLOAT, "SET_PARM4")$ );
sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/secretsanta/doorclose.wav" );
wait ( $get( FLOAT, "SET_PARM4")$ );

affect ( $get( STRING, "SET_PARM7")$, /*@AFFECT_TYPE*/ FLUSH )
{
set ( /*@SET_TYPES*/ "SET_INACTIVE", "false" );
}

affect ( $get( STRING, "SET_PARM6")$, /*@AFFECT_TYPE*/ FLUSH )
{
set ( /*@SET_TYPES*/ "SET_INACTIVE", "false" );
}

}

}

}

}



If you can make a tutorial with an example map, I may be able to use Icarus scripting otherwise I'm not having the faintest idea what you are talking about. I'm a mapper, not a programmer . . .

Though, since portions of rotatable doors were present in the Elite Force source. Since Raven developed both EF and JA, isn't there something of it present in the JA source ??

Link doesn't work . . .  :/

Strange, the repository seems to have vanished...

@@Apprentice - Check out some of the ICARUS tutorials we have here on JKHub. They are under the 'Mapping' section. It's really not as tough as it looks, you'll catch on quick!

Just a question, will the problem with too big server names be fixed? You can't see the full name of most servers on the server list.

How does one filter out a "stupid name" so to speak?

Who votes we lock this topic? Otherwise new topics are never going to be made in the rest of this forum.

DT85 likes this

Well either lock it, prune it or make some parts of it that don't belong into new thread.

People need to quit posting their questions here.

How does one filter out a "stupid name" so to speak?

Filter any name with the same character (or string 2x in a row) 5x in a row or more, remove any servers listed on a black list, and create an advanced AI capable of filtering the server list.  I dunno...but it'd be a nice feature.

Er... make the easy ass Icarus script like the rest of us?

i am a bad engine scripter, but i know something of mapping and icarus script.

Rotaint doors: yu need to create a brush for the door and another brush on middle left\right edge of the door brush textured, in gtk radiant with system \ origin shader. after, yu select the 2 brushes and make it like "func_door" entity. also, set for the door a "script_targetname" rotatedoor as value. build the map. do a script that start with some trigger or force push func button or anyone kind of target_scripturnner issue or Usescript ... and in the script tell:

affect "rotatedoor" <- the script targetname of the door, NPC_targetname is for chars, script_targetname for the

interactive entitiy ojects.

and yu set to move 0 -90 0 degrees.  or 0 90 0 degrees

thiscreate a door that when is triggered rotate on the origine edge

changing script value at 90 0  0 or -90 0 0 or 0 0 90 or 0 0 -90 and yu can get a door that, when triggered, rotate itself on the six different direction by 90 degrees.

yu need to do 2 scripts and 2 trigger multiple, if yu want a door open \ close. this is a little complicated work. also because yu need to deactivate the triugger multiple that open the door at the end of the script, or every time player \ npc touch the trigger the door continue to rotate to innatural angles XD.

when the scripter for close the door, is end,yu need to deactivate the trigger or func button that close the door and acrivate the script \ button that open, this cycle the door function. is little hard. good luck.

Awesome Project!

Will OpenJK add Normalmap support? Or- even better - Parallax mapping/displacement mapping?

Awesome Project!

Will OpenJK add Normalmap support? Or- even better - Parallax mapping/displacement mapping?

Renderer-related stuff, we're well aware that the renderer is crap
Gameplay-related "suggestions". OpenJK isn't a gameplay enhancer.
What's possible with the engine - because <em>anything</em> is possible with the engine source.

Right, about time this topic was locked I think... *waits*

Oops. Sorry missed that part! Anyway great project!

I'm sorry you feel that way, and I understand that not everyone working on OpenJK is exactly "graceful" in their responses, let's say. Personally, I want to see people making suggestions, and I welcome them with open arms. This is probably why you see the divide between discouragement and encouragement of suggestions I requested these forums to be set up for the purpose of making suggestions easier, and I also want to make it clearer to people the progress we're making without them having to trawl through our GitHub page which they might not be familiar with. So basically, I'm currently running these sub-forums, but not having moderator privileges here (solely for these sub forums) is making things a little tricky.

I'm saying that people shouldn't ask if something is possible, or ask if X unimportant/irrelevant/cant be properly implemented without bombing existing assets rendering feature can be implemented. Now I can understand if someone were to ask "Is it possible that you guys could implement Amiga support?", but to me anyway, there's a big difference between that and "Is Amiga support possible?".

I would in general appreciate it if people were to ask legitimate questions or ask for legitimate features (read: not renderer-related ones outside of bug reports about broken renderer stuff), instead of, as Xycaleth mentioned with the GitHub issues, slog through a ton of junk issues which pertain to renderer crap like bumpmaps. We get enough questions like "Is X possible?" or "Can you guys add Bloom/normal maps/realistic physics/cloth physics/HDR/water physics/mesh collision/motion blur?" to allow me to simply say "No, read the OP next time please." Saves everyone a lot of time and effort.