Boktor's Project


(Violator) #161

Shift-O will do it


(Donnovan) #162

Oh yes! Entities that use brushs need a full map recompile after the change of the brush shape and/or location!


(Boktor) #163

Voila
http://dl.dropbox.com/u/74541921/techbuster_a001.zip

It’s not a gameplay release. This is a .zip of SDK files and “pre-release” files. Pretty much everything is in there, so feel free to poke around in editworld.

There’s techbuster and techbuster_obj. I have scripts and worlds for both, and they are almost identical.
They both contain objectives: techbuster has 2, techbuster_obj has 1 (I want 2 for tests, but I thought 1 would be easier to make. Apparently not)

I really need some advice on the script. It seems like nothing I do has any effect. Spawns and objectives are still my main concern.


(Boktor) #164

did anyone download the .zip? I think I’ll just put the script up instead. If anyone can give me some tips that would be great, because right now nothing works.

Some stuff I sort of understand, some stuff I just copy because most map scripts use it…

#define OBJECTIVE_TECHBUSTER_OBJ_DESTROY_BOX	0

object mapObject_techbuster_obj : mapObject_Default {
       	void		preinit();
	void		InitObjectives();
	void		StartFirstObjective();
	void		CompleteObjective( float index, entity p );
	void		OnBoxDestroyed();
	void		EndGameThread();
	void		OnTimeLimitHit();

	handle	        GetObjectiveMessage( float index );

	float		mainObjectiveIndex;

	entity	        boxDestruction;
        entity                barrel_a
	entity		noplant_barrel_a;

}

mapObject_Base techbuster_obj_MapScript() {
	return new mapObject_techbuster_obj;
}

void mapObject_techbuster_obj::preinit() {
}

void mapObject_techbuster_obj::InitObjectives() {
        sys.print( "*****LOADED ETQW MAP SCRIPT*****
" );

        // Setup initial match settings

	gameRules.setWinningTeam( gdfTeam );
	gdfTeam.SetRespawnWait( 20 );
	stroggTeam.SetRespawnWait( 20 );
	CreateRespawnTimeThread( stroggTeam );

	//===spawn points===
	


        gdfSpawnBase = worldspawn.getEntityKey( "script_gdf_base_spawn" ); //GDF First Spawn
        
        stroggSpawnBase = worldspawn.getEntityKey( "script_strogg_base_spawn" );
        

        //===objectives===
        boxDestruction = worldspawn.getEntityKey( "script_destroy_entity" );

	mainObjectiveIndex = OBJECTIVE_TECHBUSTER_OBJ_DESTROY_BOX;

	thread	StartFirstObjective();

	objManager.setNextObjective( gdfTeam, mainObjectiveIndex );
	objManager.setNextObjective( stroggTeam, mainObjectiveIndex );
}

void mapObject_techbuster_obj::StartFirstObjective() {
	sys.wait( 5.f );

	objManager.SetObjectiveEntity( boxDestruction, mainObjectiveIndex );

	CreateInitialTimedMission( boxDestruction );
	boxDestruction.vCreateMission();
	boxDestruction.vStartObjective();
}

void mapObject_techbuster_obj::CompleteObjective( float index, entity p ) {
	if ( index == OBJECTIVE_TECHBUSTER_OBJ_DESTROY_BOX ) {
		OnBoxDestroyed();
	}
}

handle mapObject_techbuster_obj::GetObjectiveMessage( float index ) {
	if ( index == OBJECTIVE_TECHBUSTER_OBJ_DESTROY_BOX ) {
		return sys.localizeString( "maps/valley/obj_bridge" );
	}

	return g_locStr_BadObjective;
}

void mapObject_techbuster_obj::OnBoxDestroyed() {
	StopTimedMission();
	boxDestruction.vCompleteMission();

	boxDestruction.vFinishObjective();

	gameRules.setWinningTeam( StroggTeam );
	gameRules.endGame();

	boxDestruction.vCompleteMission();

}

void mapObject_techbuster_obj::OnTimeLimitHit() {
	FinishTimedMission();
	objManager.SetObjectiveEntity( $null_entity, -1 );
	
	objManager.PlaySound( worldspawn.getKey( "snd_gdfwin_strogg" ), stroggTeam );
        objManager.PlaySound( worldspawn.getKey( "snd_gdfwin_gdf" ), gdfTeam );
}

}

(Boktor) #165

Here’s some shots of the Strogg spawn. It’s almost fully detailed.

Ceiling 1 or ceiling 2? Number 1 is the same concrete tiles as the main tunnel.


(Boktor) #166

Here’s another area of the Strogg spawn that isn’t shown in those screenies.


Notice the blank ceiling…

I’ve shown these areas before, but they have been widened.

heh… as I make these screenshots I notice textures and lighting that I need to tweak


(Donnovan) #167

Boktor,

May be you would like to read this post on Brinstar topic. You just need 3 key/values on the destructible/gameplay entity to make it destroyable by the enemy team weapons:

http://forums.warchestgames.com/showthread.php/22848-Brinstar-Alpha-1?p=399194&viewfull=1#post399194


(Boktor) #168

Hey guys, I was wondering

So you need a “yourmapname.def” file for the map. The wiki says it goes as /def/yourmapname.def, but I see in some custom maps (Maridia, Brinstar older Consite) it is def/maps/yourmapname.def

Does it matter? Any difference?


(.Chris.) #169

Doesn’t matter, all .defs are read within /def.


(Assassin4004) #170

Does anyone have the Techbuster pk4, I’d like to play it and see it!


(Boktor) #171

Hi assassin,

You can download the pk4 here:
https://dl.dropboxusercontent.com/u/74541921/techbuster_a0_pre3.pk4

It’s not perfect but it plays! Take a screenie if you get in :smiley:


(taw_m0nsta) #172

Status poke! Whats up…?


(Assassin4004) #173

Hey Boktor, I finally found the picture I took of Techbuster a while back. Thanks for helping us obtain the pk4 and well done, it’s fun to play! You should join us some time!

Techbuster Picture