There are currently 48 players online.
 
Warsow


 
 

backdetermine a brushes dimensions

Forum index
Modifications / Coding
determine a brushes dimensions
Posted by
Post Scroll to bottom
VectorVanDoom
(updated Today 13:37)
(1991 posts)

is there a way to copy the dimensions of a clipped brush with gameype script? i mean, when i have a not boxshaped trigger brush, i can find it by its classname and create a new entity, which i want to have the same shape as the original trigger. i couldnt find a function to use for this. are entities spawned from gametype script bound have a cuboid collision box to trigger the touch funtion?

jal

master of the universe
(10599 posts)

I'm not sure to understand the question.

This is how you set a brush model:

// set up the trigger
void trigger_capture_area( cEntity @ent )
{
ent.setupModel( ent.getModelString() ); // set up the brush model
ent.solid = SOLID_TRIGGER;
ent.linkEntity();
ent.wait = 0;

// add a check to free the trigger if it isn't targeting a capture area
ent.nextThink = levelTime + 1;
}

VectorVanDoom
(updated Today 13:37)
(1991 posts)

right, basically that was it.
still the other part of the question remains unsolved. and for the fun of it lets make it a whole new problem

i try to get an entity by name like this
void WswJpsToPkJp()
{
cEntity @ent=G_GetEntity( 0 );
while((G_FindEntityWithClassname( ent, "trigger_push" )) != null)
WswJpToPkJp(ent);
}
but it crashed, with an error in G_Render, said, couldnt create any more edict_t and deletet my cfg.

taken another approach i find what i want.
void Pk_Jumppad_think( cEntity @ent )
{
ent.nextThink = levelTime + 1;
G_Print("PkPad think");
}

void Pk_Jumppad( cEntity @ent )
{
G_Print("PkPad spawned");
cPkJumppad thisPkJumppad( ent ); // spawn a local holder
}

void WswJpToPkJp(cEntity @ent)
{
cEntity @ePkJp;
cVec3 a, b;

@ePkJp = @G_SpawnEntity( "Pk_Jumppad" );

ent.freeEntity();
ePkJp.linkEntity();

}

//call this from GT_SpawnGametype() to turn normal jumppads into painkiller jumppads
void WswJpsToPkJp()
{
int maxEs;
cEntity @ent;
cString name;
for ( maxEs = 1; maxEs < numEntities; maxEs++)
G_Print(G_GetEntity(maxEs).getClassName( ) + "");

for ( maxEs = 1; maxEs < numEntities; maxEs++)
{
name = G_GetEntity(maxEs).getClassName( );
if( name == "trigger_push" )
{
@ent = G_GetEntity(maxEs);
printit(ent);
WswJpToPkJp(ent);
}
}
}

u see where i am going ;)

the factory funtion of Pk_Jumppad (or w/e it is called) is never reached, neither is the think function :(
how do i spawn it correctly? i should just ditch it and introduce a new map entity, i know.

MikeJS

Member
(172 posts)

cEntity @ent;

while(true) {
@ent = @G_FindEntityWithClassname(@ent, "fdsa");
if(@ent == null) {
break;
}

// stuff
}


and I guess

cEntity @ent;

while((@ent = @G_FindEntityWithClassname(@ent, "fdsa")) != null) {
// stuff
}


would work too

edit: missed a brace

jal

master of the universe
(10599 posts)

The second one doesn't work in angelscript. Or it didn't work, don't remember if it was fixed afterwards.


Scroll to top



RSSRSSRSSRSS

Copyright © 2013 Chasseur De Bots

Warsow in social media



Warsow is an indie game developed by group of hobbyists. Please consider giving us a small donation: