User talk:^Ben: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
 
m (Reverted edit of last, changed back to last version by cur)
 
(33 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Bug tracking software ==
http://www.student.kun.nl/rvanhoorn/Optimization.htm


Using bug tracking software.
[[Valve Developer TidBits]]


As mentioned in the previous article, email is an insufficent way too manage bugs. That's why it's recommended to use specialised bug tracking software.
modevents.res


I will show you how to setup and use mantis bug tracker.
Here be good stuff


Step 1:
Game Event System


Download mantis from (site) and upload too your website.
Creating Events
IGameEvent *event = gameeventmanager->CreateEvent( "player_death" );
if( event )
{
event->SetInt("userid", pVictim->GetUserID() );
event->SetInt("attacker", killer_ID );
event->SetString("weapon", killer_weapon_name );
gameeventmanager->FireEvent( event );
}


Step 2:
Listening for Events
gameeventmanager->AddListener( this, "player_death", false );


Create a database ahead of time.
Capturing Events
void CMapOverview::FireGameEvent( IGameEvent *event )
{
const char * type = event->GetName();
if ( Q_strcmp(type, "player_death") == 0 )
{
}
}


Step 3:
== My Notes ==


You need to populate the database, this is very easy if you have access to phpmyadmin, first select the mantis database, then either find the populate_sql.sql file in the /sql folder or just copy and paste all of what's contained in that file into the execute sql queries field.
r_cleardecals - by the way Ben, there are no engine hooks for this so it cannot be called by code...but if <code>r_cleardecals 1</code> is called, it will also remove permanent decals projected by infodecal.&mdash;'''[[User:Ts2do|ts2do]]'''
:Hrmmm - this was going to be for my round reset code, what I was thinking of doing was this -


Step 4:
for ( int i = 1; i <= gpGlobals->maxClients; i++ )
{
CBasePlayer *pPlayer = UTIL_PlayerByIndex( i );
        EHANDLE pPlayerHandle = pPlayer;
        engine->ClientCommand(gEntList.GetEdict(pPlayerHandle), "r_cleardecals");
        }


Find the config_defaults_inc.php file and edit theese sections
Here's my source:&mdash;'''[[User:Ts2do|ts2do]]''' 23:00, 19 Jun 2006 (PDT)
 
:game_shared: [http://www.plastic-warfare.com/files/pwround_gamerules.cpp] [http://www.plastic-warfare.com/files/pwround_gamerules.h] [http://www.plastic-warfare.com/files/gameeventdefs.h]<br>dlls: [http://www.plastic-warfare.com/files/mapentityfilter.cpp] [http://www.plastic-warfare.com/files/mapentityfilter.h]
# --- database variables ---------
 
# set these values to match your setup
 
# hostname should be either a hostname or connection string to supply to adodb.
# For example, if you would like to connect to a mysql server on the local machine,
# set hostname to 'localhost', and db_type to 'mysql'.
# If you need to supply a port to connect to, set hostname as 'localhost:3306'.
$g_hostname = 'localhost';
$g_db_username = 'username';
$g_db_password = 'password';
$g_database_name = 'databasename';
$g_db_type = 'mysql';
 
To match your prior created databse.
 
Step 5:
 
Navigate your webbrowser to the mantis directory and login with the default provided username and password that is supplied with the installation.
 
Username: administrator
Password: root
 
Step 6:
 
Learn how to use the bug tracking software, it's fairly straight forward. You need to create a project first before you can do anything with it.

Latest revision as of 06:01, 5 January 2009

http://www.student.kun.nl/rvanhoorn/Optimization.htm

Valve Developer TidBits

modevents.res

Here be good stuff

Game Event System

Creating Events

IGameEvent *event = gameeventmanager->CreateEvent( "player_death" );
if( event )
{
	event->SetInt("userid", pVictim->GetUserID() );
	event->SetInt("attacker", killer_ID );
	event->SetString("weapon", killer_weapon_name );
	gameeventmanager->FireEvent( event );
}

Listening for Events

gameeventmanager->AddListener( this, "player_death", false );

Capturing Events

void CMapOverview::FireGameEvent( IGameEvent *event )
{
	const char * type = event->GetName();
	if ( Q_strcmp(type, "player_death") == 0 )
	{
	}
}

My Notes

r_cleardecals - by the way Ben, there are no engine hooks for this so it cannot be called by code...but if r_cleardecals 1 is called, it will also remove permanent decals projected by infodecal.—ts2do

Hrmmm - this was going to be for my round reset code, what I was thinking of doing was this -


	for ( int i = 1; i <= gpGlobals->maxClients; i++ )
	{
		CBasePlayer *pPlayer = UTIL_PlayerByIndex( i );

	        EHANDLE pPlayerHandle = pPlayer;
	        engine->ClientCommand(gEntList.GetEdict(pPlayerHandle), "r_cleardecals");
        }

Here's my source:—ts2do 23:00, 19 Jun 2006 (PDT)

game_shared: [1] [2] [3]
dlls: [4] [5]