Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - bitterman

Pages: [1] 2 3 ... 20
There is a room with mirror.

That's going on:

- open in BFG. Mirror is fine.
- copy map's files into D3 mod folder. Don't change anything.
- in D3 type in console: editor -> open map -> bsp.
- copy map's files into BFG mod folder.
- remove 'generated' from BFG mod folder and load the map. The mirror is black.

'Dmap' does same thing.

What can I do?


Well, the lost anims in ai_player.script can generate an unexpected loops in "while (!animDone)" expression.

It can be checked via "listThreads" console command.


id Tech 4 Scripting / The AI_FORWARD don't handled by custom script
« on: March 13, 2018, 01:01:36 AM »
This is ai_player.script with some additions.

The string "sys.println( "^3 idle loop" );" does get control.
But looks like string "sys.println( "^3 ai_forward" );" does not.

Code: [Select]
void player::Torso_Idle() {

playCycle( ANIMCHANNEL_TORSO, "idle" );

eachFrame {

// added by me ************************
        sys.println( "^3 idle loop" );

if ( AI_FORWARD ) {
//                      animState( ANIMCHANNEL_TORSO, "Torso_Walk", 4 );
//                      Torso_Walk();
                        sys.println( "^3 ai_forward" );
// end of modification ************************

if ( AI_TELEPORT ) {
animState( ANIMCHANNEL_TORSO, "Torso_Teleport", 0 );
animState( ANIMCHANNEL_TORSO, "Torso_Fire", 2 );
if ( AI_ATTACK_HELD && start_fire ) {
animState( ANIMCHANNEL_TORSO, "Torso_Fire_StartFire", 2 );
if ( AI_PAIN ) {
animState( ANIMCHANNEL_TORSO, "Torso_Pain", 0 );

Same native block on legs channel is works with AI_FORWARD fine.
I trying to acheive playng walk anim not only for legs but for torso too.

Why this is happens?


A new player model.

It depends on "channel torso"/"channel legs" decls in player.def.

Only specified (for current channel) bones will be animated on this channels.

Sounds pretty obvious ))

Too many states (anims) for player's third person model.

Perhaps it should be one Blender's action layer per each D3's channel.

E.g. LEGS action which contained CROUCH which contained all nessesary stages for crouch (crouch up, crouch down, crouch walk etc).

Or it must be one .blend file per channel.

When we make anims for LEGS channel then torso anim's keys doesn't matter?

Is only legs anim keys will be played on LEGS channel?

Now works with 2nd method. Is the 1st has any advantages?


id Tech 4 Level Editing / Re: What for this isolated box on the alphalabs3?
« on: February 23, 2018, 05:43:31 AM »
Yes, that's right.

This is a trigger_relay with set of targets (items) which will be gived to the player when map will be loaded.

All targets will be activated by Code. This trigger must have a "devmap" name.

Perhaps items must be sealed from the Void to prevent some warnings.

Code: [Select]
1830         // trigger playtesting item gives, if we didn't get here from a previous level
 1831         // the devmap key will be set on the first devmap, but cleared on any level
 1832         // transitions

 1833         if ( !gameLocal.isMultiplayer && gameLocal.serverInfo.FindKey( "devmap" ) ) {
 1834                 // fire a trigger with the name "devmap"
 1835                 idEntity *ent = gameLocal.FindEntity( "devmap" );
 1836                 if ( ent ) {
 1837                         ent->ActivateTargets( this );
 1838                 }
 1839         }

id Tech 4 Level Editing / What for this isolated box on the alphalabs3?
« on: February 21, 2018, 11:01:55 AM »
This box with no entry/exit have an trigger_relay and some weapons and ammo.

What for it is?

Is it possible?

I mean all anim states controlled by ai script. But what if I want to send playAnim outside of ai script?


id Tech 4 Scripting / Re: Multiple running script
« on: February 07, 2018, 06:51:27 AM »
Then it should be like:
Code: [Select]
alreadyShown = label.getKey("alreadyShown");
if (!alreadyShown) {; }

Looks nice.

************** upd

There is a native flag:
Code: [Select]
if ( isHidden ) { ); }

id Tech 4 Scripting / Re: Multiple running script
« on: February 06, 2018, 09:19:46 PM »
This is what I trying to achieve:

When the player step into trigger zone around an interactive object this trigger shows a label on the top of this object (

This part works fine for me.

Then player goes out of trigger zone (ent.hide()). This is works too.

But then player back into trigger zone. Here is the problem: if it trigger_once then it already removed after fired.
If it trigger_multiple then label will blink when player stay still into zone.

In fact I trying to get inactivate triggger and retrigger it at the end of script (if player leave trigger zone then retrigger for next case).

Sorry for wall of text )

id Tech 4 Scripting / Re: Multiple running script
« on: February 05, 2018, 09:15:09 PM »
Good naming, thanks ;)

********* upd

I'm look at Trigger.cpp and looks like trigger just removed if 'wait' <= 0 or reset after waiting if 'wait' > 0 (0.5 by default).

I don't see any other way to control trigger's reset. It works like 'pew-pew-pew' ))

id Tech 4 Scripting / Re: Multiple running script
« on: February 05, 2018, 08:16:00 AM »

Now I'm going deeper and trying to use trigger_multiple which running once and then retriggered via script.

Related question - can I set any custom spawnArgs in entity on the map (and use it in script via 'getKey') or they are predefined? Is there any restrictions?


id Tech 4 Scripting / Re: Multiple running script
« on: January 28, 2018, 08:56:01 AM »
It's works fine with trigger_once but only one time.

Don't know how to reset trigger_once.

Pages: [1] 2 3 ... 20