QuakeCマニュアル

6.グローバル変数
 これらの変数はどの関数内からでも参照可能。
 QuakeCの関数からはこれらの値を直接変更することはできないようである。

変数:world

 サーバーのworldオブジェクト、デスマッチのフラッグ数等のサーバー側に必要な情報を全て
持っている。

変数:time

	float	time;		//単位は秒

 浮動小数点型で表されたゲーム上の時間、単位は秒である。しかし実際のところ各entity間の
時間の流れは厳密には同じではない。あるentityAの処理関数実行時と、次のentityBのthink
関数実行時の時間差は最大0.1秒である。

変数:frametime

	float	frametime;	//単位は秒

 使用目的はよくわからない。水の中で浮き上がる時にしか使用されていない。

変数:self

	entity	self;

 現在の関数実行を行っている主entity。

変数:other

	entity	other;

 selfに関連するentity、主にtouch関数でselfに接触したentityとして扱う。think関数等で
は使用しない。

変数:force_retouch;		//カウンタ

	float	force_retouch;

 entity全員にtouchトリガを与える(touch関数の呼び出しを行なわせる)。このカウンタは毎
フレームごとにカウントダウンされ、たいていは初期値を2にセットしているようだ。

変数:mapname

	string mapname;

 現在プレイ中のマップ名。例えば"start"等。

変数:deathmatch

	float	deathmatch;	//boolean形式(TRUE = 1、FALSE = 0)

 デスマッチをプレイ中か否か。

変数:coop

	float	coop;		//boolean形式(TRUE = 1、FALSE = 0)

 協力プレイモードか否か。

変数:teamplay

	float	teamplay;	//boolean形式(TRUE = 1、FALSE = 0)

 チームプレイモードか否か。

変数:serverflags

	float	serverflags;	//ビットフィールド

 level間の情報伝達、及び既に終了してしまっているエピソードを持続させる時に使用され
る。serverflag & (1 << e) の結果がTRUEならば("<<"はビットシフト)エピソードeは既に終
了している。一般に player.spawnflags & 15 の値と同じである。

変数:total_secrets

	float	total_secrets;	//カウンタ

 シークレットの総数。trigger_secretによってのみ影響を受ける。

変数:found_secrets

	float	found_serets;	//カウンタ

 発見されたシークレット数。

変数:total_monsters

	float	total_monsters;	//カウンタ

 モンスターの総数;

変数:killed_monsters

	float	killed_monsters;	//カウンタ

 殺されたモンスター数。

変数:parm1〜parm16

	float	parm1;	//アイテムビットフラグ(例:IT_SHOTGUN | IT_AXE)
	float	parm2;	//残り体力
	float	pqrm3;	//残りアーマー値
	float	parm4,parm5,parm6,parm7;	//弾薬
	float	parm8;	//武器
	float	parm9;	//armortype * 100 の値
	float	parm10,parm11,parm12,parm13,parm14,parm15,parm16;

 これらのパラメータはクライアントが接続する際に使用され、spawnパラメータlevelが変わ
る際クライアントの情報をコード化するために使用する。


QuakeC側へ処理が任されている関数

 これらの関数はQuakeC中で定義され、確かな状態でQuakeが動作していれば呼び出されるは
ずである。

多目的関数

void	main();

 テストプログラミング時にしか使用されない。

void	StartFrame();

 スタート時に毎回呼び出される。


プレイヤーの行動

void	PlayerPreThink();

 selfがプレイヤーの時、実際のthinkを呼び出す前に呼び出される。

void	PlayerPostThink();

 selfがプレイヤーの時、実際のthinkを呼び出した後に呼び出される。


ネットワークプレイ時のクライアント用

void	ClientKill();

 プレイヤーが自殺した際に呼び出される。

void	ClientConnect();

 クライアントがサーバーへ接続した際に呼び出され、新しいlevelがスタートした際には
プレイヤー全員から呼び出される。これは新しいプレイヤーが参加わった時に他のプレイ
ヤーへメッセージを送信する目的で使用される。

void	PutClientInServer();

 parm1〜parm16を設定してから呼び出す。

void	ClientDisconnect();

 プレイヤーがサーバーとの接続を切断した際に呼び出される。プレイヤーがゲームを抜け
たことを他のプレイヤーへ知らせる目的で使用。

void	SetNewParms();

 プレイヤーが最初にサーバーへ接続した際に呼び出される。このため、再スタート時には
パラメータが初期化されることはないのである。

e-mail:ponpoko@axcx.com