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