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)
 
(31 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Bug tracking software ==
http://www.student.kun.nl/rvanhoorn/Optimization.htm


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.
[[Valve Developer TidBits]]


I will show you how to setup and use mantis bug tracker.
modevents.res


Step 1:
Here be good stuff


Download mantis from (site) and upload too your website.
Game Event System


Step 2:
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 );
}


Create a database ahead of time.
Listening for Events
gameeventmanager->AddListener( this, "player_death", false );


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


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.
== My Notes ==


Step 4:
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 -


Find the config_defaults_inc.php file and edit theese sections
for ( int i = 1; i <= gpGlobals->maxClients; i++ )
{
CBasePlayer *pPlayer = UTIL_PlayerByIndex( i );
        EHANDLE pPlayerHandle = pPlayer;
        engine->ClientCommand(gEntList.GetEdict(pPlayerHandle), "r_cleardecals");
        }


:: # --- database variables ---------
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]
:: # 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';
 
Make sure the settings presented here match your chosen database.
 
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.
 
==Test==

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]