|
|
October 20 jpeglib 下载地址
quake3 使用的是这个lib的上一个版本,jpeg_stdio_src 函数略有变化。可以直接传递文件指针了。 quake3 有些奇怪,读取得是垂直翻转的jpeg图片. 可能在画图时通过顶点顺序进行了纠正。 正常读取jpeg 数据需要从底部向上读取(这段是错的,还是被一个老外代码忽悠的,郁闷) .不需要从底部读取。 quake3 jpeg 库读取的是RGBA像素格式。新的库是 RGB 格式。 有了库读取的代码很固定。基本没什么大的变化: cinfo.output_components 对于上面的库是3,即返回的*pic 是RGB格式。但 quake3 用的alpha版lib返回的是4.*pic 是RGBA格式。 static void LoadJPG( const char *filename, unsigned char **pic, int *width, int *height ) { struct jpeg_decompress_struct cinfo; struct jpeg_error_mgr jerr; JSAMPARRAY buffer; /* Output row buffer */ int row_stride; /* physical row width in output buffer */ unsigned char *out; byte *bbuf;
FILE* pFile = NULL;
if((pFile = fopen(filename, "rb")) == NULL) { MessageBox(hWnd, "Error loading jpg file.", "ERROR", MB_OK); return; }
cinfo.err = jpeg_std_error(&jerr); jpeg_create_decompress(&cinfo); jpeg_stdio_src(&cinfo, pFile); (void) jpeg_read_header(&cinfo, TRUE); (void) jpeg_start_decompress(&cinfo); row_stride = cinfo.output_width * cinfo.output_components; out = (unsigned char*)malloc(cinfo.output_width*cinfo.output_height*cinfo.output_components);
*pic = out; *width = cinfo.output_width; *height = cinfo.output_height; while (cinfo.output_scanline < cinfo.output_height) { bbuf = ((out+(row_stride*cinfo.output_scanline))); buffer = &bbuf; (void) jpeg_read_scanlines(&cinfo, buffer, 1); }
October 17 关于纹理压缩 r_ext_compressed_textures 开启纹理压缩,可以提高速度。和图像大小压缩不是一个概念 typedef enum { TC_NONE, TC_S3TC } textureCompression_t; 现在 directx9c 已经支持到了3dc技术 运行中显示控制台窗口 在运行时打开(按tab上面的~键),输入: viewlog 2 去掉CD-KEY菜单 去掉启动时CD 界面 修改 cl_ui.c 中函数 int CL_UISystemCalls( int *args ) { 。。。。。。。。 case UI_VERIFY_CDKEY: //return CL_CDKeyValidate(VMA(1), VMA(2)); return qtrue; 。。。。。。。。 } 获得投影坐标系 奇怪使用了正交投影而不是游戏常用的透视投影 ? quake3 的透视投影是自己实现的,没有调用opengl的函数 glFrustum 或 gluPerspective。而是自己实现了一个函数来设置投影矩阵 R_SetupFrustum
投影原点为左上点(如魔兽世界) (0,0)-----------------------(width, 0 ) | | | | (0, height)--------------------- (width,height) 获得2d投影坐标: qglViewport( 0, 0, glConfig.vidWidth, glConfig.vidHeight ); //规一化设备坐标到窗口坐标 qglScissor( 0, 0, glConfig.vidWidth, glConfig.vidHeight ); //设置裁切范围 qglMatrixMode(GL_PROJECTION); qglLoadIdentity (); //glOrtho(left,right,bottom,top,near,far) qglOrtho (0, glConfig.vidWidth, glConfig.vidHeight, 0, 0, 1); qglMatrixMode(GL_MODELVIEW); qglLoadIdentity (); GL_State( GLS_DEPTHTEST_DISABLE | GLS_SRCBLEND_SRC_ALPHA | GLS_DSTBLEND_ONE_MINUS_SRC_ALPHA ); qglDisable( GL_CULL_FACE ); qglDisable( GL_CLIP_PLANE0 ); 设置之后就可以当成平面坐标系使用了:如下在(0,0,640,480) 区域画一张图片 glBindTexture(GL_TEXTURE_2D, 0); //假定纹理 Num 为0 glBegin(GL_TRIANGLES); glTexCoord2f(0.0f, 1.0f); glVertex3f(0, 480, 0); glTexCoord2f(0.0f, 0.0f); glVertex3f(0, 0, 0); glTexCoord2f(1.0f, 1.0f); glVertex3f(640, 480, 0); glTexCoord2f(1.0f, 1.0f); glVertex3f(640, 480, 0); glTexCoord2f(0.0f, 0.0f); glVertex3f(0, 0, 0); glTexCoord2f(1.0f, 0.0f); glVertex3f(640, 0, 0); glEnd(); 对于 directx 设置2d坐标画纹理,只需要 SetFvF 的 FVF 包含 D3DFVF_XYZRHW 就可以(w 值为1.0即可)然后画顶点流
Huffman 压缩 使用动态huffman 网络压缩算法,但网络传输中不再修改编码。还是相当于静态huffman压缩
Mipmap
自定义的 mipmap 算法函数进行 mipmap 计算 混合
OpenGL 通过glColorPointer 设置顶点颜色color,相当与 directx 顶点的 diffuse color。 对于带alpha通道的图片。如果alpha值大于0像素为纯颜色图像(RGB值只有1个分量不为0,如红色) ,而diffuse color中不包含该颜色分量的话,将不会显示图像。对于白色将能反射所有颜色。 所以一个带alpha通道的白色文字图像,只要指定不同的顶点color 。就能变成不同颜色的字 去掉 alpha 为 0 的像素办法。画该纹理时 glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); 这样源文件中alpha为0的像素,完全取目标图像得像素值
使用GL_CONSTANT_ALPHA 时可以通过 glBlendColor(r,g,b,a) 来指定一个常量颜色 对于半透明特效,如火、水。可以使用不用 alpha 的 jpg 纹理,图片火之外的颜色设为黑色,如下使用混合参数: glBlendFunc(GL_ONE,GL_ONE); 因为源中黑色值RGB均为0,所以取的目标RGB值。而火颜色部分则和目标背景相加混合.这比使用alpha测试速度要好。如果火颜色的alpha值要动态变化(这样效果才好),则无法用alpha测试 如果原图片颜色不够明亮,如蓝色过多。GL_ONE,GL_ONE 让源图片有位于目标图片背后的感觉,但黄色火焰则感觉较小 蓝色图是后画的采用 glBlendFunc(GL_ONE,GL_ONE)混合,感觉跑到目标图后面去了。但如果是明亮的黄色则不会有这种感觉。
蒙版效果: 而 glBlendFunc(GL_DST_COLOR,GL_ZERO) 可以形成蒙版效果。源图像为黑白图,所以白色部分,为目标图像中的部分。而黑色部分,则目标图颜色被去掉成为黑色。然后黑白图相同位置,用glBlendFunc(GL_ONE,GL_ONE)再渲染需要真正叠加到上面的图。类似于 alpha 效果,但画图可以更精确一些。 
对应 directx SetRenderState 函数 static qboolean ParseStage( shaderStage_t *stage, char **text ) 屏蔽的地方影响火的特效,有多个图片形成动画 // parse up to MAX_IMAGE_ANIMATIONS animations while ( 1 ) { int num; token = COM_ParseExt( text, qfalse ); if ( !token[0] ) { break; } num = stage->bundle[0].numImageAnimations; if ( num < MAX_IMAGE_ANIMATIONS ) { stage->bundle[0].image[num] = R_FindImageFile( token, !shader.noMipMaps, !shader.noPicMip, GL_REPEAT ); /*if ( !stage->bundle[0].image[num] ) { ri.Printf( PRINT_WARNING, "WARNING: R_FindImageFile could not find '%s' in shader '%s'\n", token, shader.name ); return qfalse; } stage->bundle[0].numImageAnimations++;*/ } } 下面的是火特效的脚本。 如果不是放到3d游戏场景中,surfaceparm nomarks ,surfaceparm nolightmap ,cull none 三个可以不需要. 如放到 UI 某个界面。 注意 animMap 后面的参数中不能有回车。 shader 一条命令中的字符串是不允许回车存在的 animMap <播放频率> <依次要播放的图片,最多8个> blendFunc <参数1> <参数2> 混合方式 glBlendFunc(GL_ONE,GL_ONE) rgbGen 顶点rgb 操作命令。 wave 是指调整顶点RGB颜色,形成波动效果。 inverseSawtooth wave调整函数
textures/sfx/testfire { // ************************************************* // * ameng designed to test fire effect * // ************************************************* surfaceparm nomarks surfaceparm nolightmap cull none { animMap 10 textures/sfx/flame1.tga textures/sfx/flame2.tga textures/sfx/flame3.tga textures/sfx/flame4.tga textures/sfx/flame5.tga textures/sfx/flame6.tga textures/sfx/flame7.tga textures/sfx/flame8.tga blendFunc GL_ONE GL_ONE rgbGen wave inverseSawtooth 0 1 0 10 } { animMap 10 textures/sfx/flame2.tga textures/sfx/flame3.tga textures/sfx/flame4.tga textures/sfx/flame5.tga textures/sfx/flame6.tga textures/sfx/flame7.tga textures/sfx/flame8.tga textures/sfx/flame1.tga blendFunc GL_ONE GL_ONE rgbGen wave sawtooth 0 1 0 10 } { map textures/sfx/flameball.tga blendFunc GL_ONE GL_ONE rgbGen wave sin .6 .2 0 .6 } } 一次消息循环调用了2次 Com_EventLoop 。一次在开头处理消息(大部分为键盘鼠标消息)。第二个为网络通讯后处理消息使网络消息能在当前帧内处理。 Com_EventLoop() -> Com_GetEvent() 首先查看 com_pushedEvents[] 中是否有消息。没有才通过 Com_GetRealEvent() 获得消息。 com_pushEvents 中的事件是 Com_Milliseconds()函数写入的。通过此函数即可获得当前时间,也可压入当前事件。防止当前函数调用时间过长影响事件相应速度 glTexImage2D 生成纹理函数,如果不支持自动 mipmap, 指定纹理滤波的参数必须是 GL_LINEAR. 否则没有图片。为白色图像 qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR ); qglTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); 4506版q3参数. 红色字为修改过的说明,参照英文或者 q3.1.32b 源代码 activeaction "" 定义一个命令,这个命令可以在下一张地图载入前执行 arch "win98" 标明操作系统 bot_aasoptimize "0" 优化.aas文件 bot_challenge "0" 加强bot的挑战性 bot_debug "0" 启动/关闭bot代码debug工具 bot_developer "0" 启动/关闭bot开发模式 bot_enable "0" 使地图中和游戏中所带的BOT可以出现或者不能出现r bot_fastchat "0" 切换bot说话的频率,如果设置成1的话,bot的话会特别多 bot_forceclustering "0" 强迫重新计算aas群集 bot_forcereachability "0" 强迫重新计算aas的可涉及能力 bot_forcewrite "0" 强迫写出一个.ass文件 bot_grapple "0" 决定bot是否使用抓钩 bot_groundonly "1" 这是个debug变量,可以显示零售版本中没有的区域 bot_interbreedbots "10" 将电脑bot的性格和逻辑思维的进行综合所应用到几个bot身上 bot_interbreedchar "" 将电脑bot的性格和逻辑思维的进行综合 bot_interbreedcycle "20" 综合过程中相似点的数目 bot_interbreedwrite "" 综合思维写进文件 bot_maxdebugpolys "128" debug时用到的最多的多边形数目 bot_memorydump "0" 可能是debug时用来显示bot所分配和占用的内存 bot_minplayers "0" 这个是用来确保游戏服务器上最少在线人数所用的命令,bot的数目会根据玩家的人数自动增加或者减少 bot_nochat "0" 决定bot是否说话,设置为0的时候bot可以说话 bot_pause "0" debug时用到一个参数用来暂停bot bot_reachability "0" 这是个debug变量,不能在零售版本中使用 bot_reloadcharacters "0" 当这个变量设置为1的时候,bot角色文件不能被缓存,一般用于边运行Q3A边开发bot的时候 bot_report "0" debug中的命令用于电脑bot能在CTF时进行报告 bot_rocketjump "1" 决定bot是否使用火箭跳技术 bot_testichat "0" 用来看bot的初始的话,如果设置成1,然后加入一个bot,这个bot会滔滔不把Id为他做的话全说出来。 bot_testrchat "0" 用来测试bot的回答功能。如果设置成1,只要你说一些他可以懂的话他就会说一大堆话来回答你 bot_testsolid "0" 测试.ass文件中的"固体区域" bot_thinktime "100" 设置bot的两个AI帧之间的时间,单位是毫秒 bot_usehook "0" 设定bot是否使用抓钩 bot_visualizejumppads "0" capturelimit "8" 设定夺棋比赛获胜所需要夺旗子的次数 cf_AmmoStatusbar "8*8" ch_statusbarFormat 2或3时,显示子弹的字体大小 cf_CrosshairNames "16*16" 准星指向名称字体大小 cf_Following "12*12" "Following"信息字体大小 cf_Fragmsg "16*16" HUD顶端"you fragged"字体大小 cf_Scores "16*16" HUD右下角分数字体大小 cf_Pickupstring "16*16" 拾取信息字体大小 cf_Statusbar "48*48" 当ch_statusbarFormat为1时,状态栏字体的大小 cf_Teamchat "16*16" teamchat字体大小 cf_TeamCrosshairHealth "12*12" 准星指向显示的健康程度信息字体的大小 cf_Teamoverlay "7*17" teamoverlay字体大小 cf_Vote "12*12" vote信息字体大小 cf_WeaponName "12*12" ch_weaponswitch为1时,武器名称字体大小 cf_WeaponSwitch "32*32" 武器开关图象大小 cg_altGrenades "0" 使用可选的手雷skin/model(默认0 - 使用baseq3的手雷skin) cg_altLightning "0" 使用1.29以前的电枪skin(默认0 - 使用新的1.29/promode skin) cg_altPlasma "0" 使用可选的离子枪skin(默认0 - baseq3的skin) cg_ammoCheck "9" 取消切换到没有子弹的武器的功能(默认为0) cg_animspeed "1" 使玩家更有活力 (详见 cg_noplayeranims 命令) cg_autoAction "0" 在游戏特定点自动执行一个动作.(默认为0) 1 - 在比赛结束时在本地自动保存一个文本文件 文件被保存在/stats//.txt 2 - 自动保存一比赛结束时的画面 4 - 自动录demo(需要一个full warmup的服务器-g_warmup = 0) cg_autoswitch "1" 设定在拾到武器后会自动切换武器。 cg_bobpitch "0.002" 在移动过程中玩家视角的前/后移动 cg_bobroll "0.002" 在移动过程中玩家视角的左/右移动 cg_bobup "0.005" set 在移动过程中玩家视角的上/下移动 cg_brassTime "1250" 设定游戏启动时载入外壳所需要时间,设定为0不载入外壳。 cg_centertime "3" 设定在屏幕中央讯息显示时间(设定0不显示) cg_clientLog "0" 打开客户端log记录。一个非0的数值"X"(这里"X"为1或更高的数字)会记录下游戏中的所有可得的信息。表示颜色的字符被去掉了,时间标记被保留。所有信息被记录在osp/client_logs/clientX.txt中(这里的clientX.txt中的X就是你前面输入的那个非0的数字)。 cg_crosshairHealth "1" 通过准星的颜色变化大致知道自己现在的Health。 cg_crosshairSize "24" 调整准星大小 cg_crosshairX "0" 如果cg_crosshairSize 不为0,此参数设定准星的X坐标 cg_crosshairY "0" 如果cg_crosshairSize 不为0,此参数设定准星的Y坐标 cg_Customloc "0" 使用locs/.cfg的自定义位置.现在只支持teamoverly的自定义位置. 以后会支持teamchat位置.要在地图加入一个位置,移动到特定点,然后输入 \addpos 你可以在文件中使用所有的颜色和字体特性.这些位置会被记在locs\.cfg 中.当地图被调入或客户端使用vid_restart后,这些位置会被一起调入 cg_deadBodyFilter "0" 打开/关闭地图中对尸体的显示 cg_debuganim "0" 开启 model 活跃程度 debug 模式 cg_debugevents "0" 开启事件debug 模式 cg_debugposition "0" 开启玩家位置debug模式 cg_deferPlayers "1" 如果有玩家用新的Model或者Skin在你之后加入游戏,在换地图之前服务器不会让你马上去D/L这个新的Model或者Skin。 cg_demoLook "0" 可能是改变看demo的方式 cg_draw2D "1" 切换状态栏显示的物品是2D图标还是文字模式 cg_draw3dIcons "1" 切换HUD中弹药等显示方式是3D图标还是2D图标 cg_drawAmmoWarning "1" 是否显示弹药缺少警告 cg_drawAttacker "1" 是否显示最后一个攻击你的人是谁 cg_drawCrosshair "1" 选择准星的形状,如果你对自己的水平有信心的话,可以设定为“0”——没有准星 ;) cg_drawCrosshairNames "1" 是否显示你瞄准的人的名字 cg_drawDecals "1" 打开/关闭in-game的decals的绘制(默认1 - 打开) cg_drawFPS "0" toggle设置每秒显示帧数,“0”是默认值 cg_drawGun "1" 是否显示你拿的武器 cg_drawIcons "1" 是否显示在HUB和积分牌上显示物品和角色的图标 cg_drawRewards "1" 是否显示奖励的图标 cg_drawKiller "1" 是否显示上次把你杀了的那个人的名字和图象 cg_drawSnapshot "0" 是否从游戏开始的显示射击次数 cg_drawStatus "1" 是否显示个人得分和健康状态 cg_drawTeamOverlay "0" 是否在屏幕右上方显示己方队伍的当前状态,如果是的话,可以显示己方队伍的队员名称,位置,武器类型,弹药数量以及各人得分情况 cg_drawTimer "1" 在HUD上显示时间,如果有时间限制,会显示还有多少时间剩下 cg_enableOSPHUD "1" 使用OSP的HUD(默认为1) cg_enemyColors <RHSL> 如果使用q3 model的默认的“pm”skin,则定义敌人的颜色,R - rg的颜色(要cg_teamrails 2),H - 头颜色 ,S - 身体颜色 ,L - 腿颜色 -----> 注意:RHSL参数可以使用0-9,a-z cg_enemyModel <modelname> 设置敌人为这种model,队友仍然为各自的model,除非你使用g_forcemodel 1 这样队友将和你使用同一种model(默认为""即关闭) cg_errordecay "100" 可能是用于设置终止错误扩散的间隔 cg_extrapolate "1" cg_float "0" 允许使用飘动的记分板效果(默认为0) cg_followkiller "0" 自动跟踪到杀死现在被跟踪者的玩家 cg_followpowerup "0" 允许客户端自动跟踪吃到宝物的玩家。在自动跟踪宝物携带者的设置下,携带旗帜的玩家处于被跟踪的最高级别。当你跟踪的正是携带旗帜的玩家时,你不能自动进行视角的切换,除非他被击毙或夺旗成功。当然如果你跟踪的携带宝物的玩家被击毙后,如果还存在携带宝物的玩家,那你的视角会自动切换到另外一个携带报务玩家身上。 cg_followviewcam "1" 定义使用动态的、特殊的玩家跟踪视角(默认为1,跟踪特定玩家) cg_footsteps "1" 是否在游戏中开启脚步声 cg_forceColors "0" 如果使用“pm”skin,强制所有队友都为你的颜色设置 cg_forceModel "0" 强制Model的选择,强制特定声音 cg_fov "90" 设置视野角度,默认是90,如果数字更大的话,视野也更大,不过不要太大了。 cg_gibs "1" toggle the display of animated gibs (explosions flying body parts!) cg_gun "1" toggle是否显示你手中拿的武器 cg_gunX "0" 如果cg_drawGun 设置为1,此参数用来设置可见武器的X轴 cg_gunY "0" 如果cg_drawGun 设置为1,此参数用来设置可见武器的Y轴 cg_gunZ "0" 如果cg_drawGun 设置为1,此参数用来设置可见武器的Z轴,确定武器和Model的前后位置关系 cg_ignore "0" 可能是允许或者不允许自己设置硬件的驱动参数 cg_lagometer "1" 如果设置为1时在HUD上显示lag显示表为网络图形,如果设置为0就显示为得分计数器,它会变换颜色来显示你当前的情况,3Test_Instructions_Readme.txt第6章中已经详细介绍过这个工具。在屏幕顶端会有一个蓝黄色图形:一条线描绘出每一帧的情况。如果一条蓝线在基本线下运行,说明帧与帧之间的连贯性很好,如果一条黄线超过基本线在其上面运行,就说明帧与帧之间不是那么连贯了。(怎么看着象KDJ指数图形啊),在底端的绿黄红图表上:一条线用于描绘接受到的每一个snapshot ,如果线是绿的,说明可能收到了,线的高度Ping的大小是成比例的,如果线是黄的,说明snapshot被退回,如果线是红的,说明snapshot在网络中丢失了。 cg_markoffset "1" 设置贴图的偏移量,许多显示卡的贴图会产生错误的偏移,所以有时候会在墙壁上看见很明显的方块贴图,改变偏移量贴图就会恢复正常。 cg_marks "1" 是否显示弹孔 cg_MaxlocationWidth "16" 设置teamoverly和teamchat时的本地最大显示长度 cg_muzzleFlash "1" 设置当cg_drawGun为1时,是否显示开火时枪口处的溅火效果 cg_nochatbeep "0" 允许客户端在接到正常交谈消息时听到提示音 cg_nomip "0" 不管现在的r_picmip设置为什么,允许图象变换到picmip 0的设置. (默认为0,所有gfx设置与r_picmip相同) 1-LightningGun shaft电枪 2-PlasmaGun bolt等离子枪 4 - Rocket Launcher explosions火箭炮的爆炸效果 8-Grenade Launcher explosions手雷的爆炸效果 16-Bullets (machinegun and shotgun)子弹(机枪和霰弹枪) 32-Railgun涡轮枪 64-BFG 128-Blood marks 血迹 cg_noplayeranims "0" 设置Model活跃性 cg_nopredict "0" 是否对客户端玩家预报 cg_oldCTFSounds "0" 允许使用1.27以前的CTF音效(默认不使用) cg_oldPlasma "1" 定义使用老的或新的离子枪子弹效果 cg_oldRail "1" 定义使用老的或新的RG子弹效果 cg_oversampleMouse "0" 如果pmove_fixed在服务器被强制为0,允许客户端使用pmove增强鼠标采样率(默认0 - 普通鼠标采样) cg_predictItems "1" 是否对客户端物品进行预报 cg_q3compScoreboard "0" 0 - id默认的记分板 1 - q3comp记分板(TDM、CTF和CA模式下) cg_railTrailTime "400" 设置RG的轨迹持续显示时间 cg_runpitch "0.002" 设置玩家在跑动时上下振动的次数 cg_runroll "0.005" 设置玩家在跑动是左右晃动的次数 cg_scoreTransparency "1.0" 调整记分板字体的alpha通道.数越小,字体约透明 (默认为1.0) cg_shadows "0" 设置阴影细节描绘的级别(0 = 关闭, 1 = 最基本, 2 = 模板缓冲 3 = 简单模板缓冲(如果 r_stencilebits不为=0)) cg_showcrosshair "1" cg_showmiss "0" 是否在HUD上显示或者预示在传输中丢失的包 cg_showPlayerLean " 允许关闭1.27中的model倾斜问题 cg_simpleItems "0" 使一些物品以简单的模式显示,这样可以加快游戏速度。 cg_stats "0" 是否按顺序显示客户的帧,丢失的帧不显示 cg_statscrolltime "0.15" 设置stat窗口卷入卷出的时间.设置为0则强制直接显示 cg_stereoSeparation "0.4" 设置立体声分离,不过基本上好没什么用,不同的设置得到的效果好象没什么不同 cg_swapSkins "0" 允许你使用与当前相反的皮肤颜色.但是announcements, overlays,记分板 仍然显示你真正的颜色 cg_swingSpeed "0.3" 设置Model在对战时的旋转(1 为不停顿, 0 为不转) cg_teamChatHeight "8" 在团队作战时设置在屏幕上显示的文字的大小 cg_teamChatTime "3000" 设定队友的交谈在屏幕上保留多长时间 cg_teamRails "0" 设置玩家rg轨迹的颜色,但只在组队模式下有效 0-rg轨迹为玩家各自设置的颜色 1-rg轨迹为队伍的颜色(比如红队所有队员的rg轨迹都是红色的) 2-队友rg轨迹颜色由color1中的R参数决定,敌人rg轨迹颜色由cg_enemyColors的R参数决定 cg_temp "0" cg_testentities "0" cg_thirdPerson "0" 将游戏视野切换为第三人称角度 cg_thirdPersonAngle "0" 改变你观看你所控制的角色的视角(设置为180是从前面看) cg_thirdPersonRange "40" 改变你对你自己的后视距离 cg_tracerchance "0.4" 设定跟踪弹药的频率 cg_tracerlength "100" 设定跟踪弹药的长度 cg_tracerwidth "1" 设定跟踪弹药的宽度 cg_truelightning "0" 0-在baseq3下看到的默认的电枪反馈 1-pure客户端渲染的电枪 2-综合服务器和客户端渲染的电枪 cg_useScreenShotJPEG "0" 允许玩家使用jpg的截图来实现自动截图 0-使用tga截图 1-使用jpg截图 cg_viewsize "100" 改变视野大小 cg_zoomfov "22.5" 设置阻击模式的视角放大倍数,可以超过30 cg_waveamplitude "1" cg_wavefrequency1 "0.4" ch_ColorLocations "0" 如果位置的文本颜色为红或蓝,改变teamoverly中位置的颜色到红或蓝 ch_CrosshairColor "white" 改变准星的颜色。用法: ch_crosshaircolor 0xRRGGBB|<color> <color>:white, black, red, green, blue, yellow, magenta,cyan, 和 grey.用RGB的数值,例子ch_crosshaircolor 0xFF3377会产生一种奇妙的颜色。特别要注意:cg_crosshairHealth必须关闭掉(cg_crosshairHealth要为0),ch_CrosshairColor才能起作用 ch_CrosshairNamesLeft "0" 如果打开,则在teamchat顶端HUD的左边显示名字 ch_drawFlagNames "0" 0-id默认 1-显示夺旗手名字(没有icon) 2-显示夺旗手名字和icon 3-在右下脚显示夺旗手名字(没有icon)(只在q3comp状态栏下有效) 4-在右下脚显示夺旗手名字和icon(只在q3comp状态栏下有效) ch_FilterLocationsTeamchat "0" 从teamchat中过滤掉位置信息 ch_InverseTeamChat "0" 反转teamchat窗口.如果打开,则先到的信息显示在顶端 ch_Obituaries "1" 在控制台是否显示玩家被杀信息 ch_Pickupitem "1" 当物品被吃时,显示他们的icon和字符 ch_StatusbarFormat "0" 0-使用id默认的状态条 1-使用osp默认的状态条.显示子弹图标、武器图标、健康状况、旗子(ctf下) 和盔甲.使用cf_statusbar来scale状态条字体大小 2-和1一样,但在边上显示每种武器子弹的图象 3-和1一样,但武器子弹以数字显示 4-CPM 风格0 hud (象 vq3) 5-CPM 血/甲 条 6-CPM 风格 3 7-CPM 风格 4 8-CPM 风格 5 9-Q3Comp 风格 1 10-Q3Comp 风格 2 11-Q3Comp 风格 3 12-Q3Comp 风格 4 ch_TeamBackground "0" 在状态条,teamchat中关闭组队背景颜色 ch_TeamchatOnly "0" 如果打开,则在HUD的左下只显示teamchat ch_TeamCrosshairHealth "0" 如果打开,则当准星对准队友时,显示其血、甲,只有在teamoverlay打开时有效 h_Teamoverlay "p12n h/aw" 定义显示teamoverlay中的信息的大小. p-宝物图标,在左 12n-名字宽度(名字是必须的) h-玩家血 a-玩家甲 w-武器图标 l-玩家位置 所有其他不能分列的物品将被插入到玩家fields中(比如` ` 和 `/`) ch_Weaponswitch "0" 0-老的id风格,在teamchat的顶端 1-和0相同,但是为数字 2-垂直的,表现在HUD的右边 3-和2相同,但是为数字 4-垂直的,表现在HUD的左边 5-和4相同,但是为数字并且显示每个相邻武器的子弹 6-CPM左边风格 7-CPM右边风格 8-CPM底端风格 9-不显示武器开关 cheats "0" 允许作弊命令,比如(give all) (仅在服务器端可执行) cl_anglespeedkey "1.5" 设置方向键改变视角的时间 cl_avidemo "0" 是否把抓图以幻灯片形式存入snapshot文件夹。 cl_allowDownload "0" 是否从服务器更新地图等文件。客户端参数 cl_cdkey "123456789" 设置CDKEY cl_debugMove "0" cl_freelook "1" 是否用鼠标来让你可以自由的上下左右看 cl_freezeDemo "0" 中止Demo的播放,停在某以帧上 cl_guid "" punkbuster自带的一个参数,用来唯一标识客户端的 cl_maxpackets "30" 设置1秒内客户端传输多少包给服务器 范围 15-125 cl_maxPing "800" 控制哪个服务器出现在 in-game server 浏览器里 cl_motd "1" toggle 当Q3A服务器开始运行的时候,他会发一道短消息(Motd--Message of theday)给ID的Motd服务器,然后会有个回应包,如果你设置为0,就可以关掉这个功能 cl_mouseAccel "0" 给鼠标加速,转身等等速度会得到提高。 cl_nodelta "0" disable取消delta压缩 (会降低网络性能, 只有当网络出错时才用否则不推荐使用) cl_noprint "0" 是否在你的屏幕上或者控制台上显示交谈内容 cl_packetdup "1" 当丢包时是否重传,设置范围1到5,默认为1,即出现丢包时,自动重传1次丢失包的备份 cl_paused "0" variable这个变量可以在客户端保持暂停状态 cl_pitchspeed "140" 设置向上看和向下看的倾斜速度 cl_punkbuster "0" 允许在服务器列表中允许punkbuster客户端 cl_run "1" 总是跑 cl_running "1" 可能是服务器端控制跑的命令,大概要优先于客户端的 cl_run 命令 cl_showmouserate "0" 用鼠标测试帧来显示鼠标速率 cl_shownet "0" 显示网络质量信息 cl_showSend "0" 网络debug工具 cl_showTimeDelta "0" display time delta between server updates cl_timeNudge "0" 有效改善lag情况,实际上是用于调整客户端预测量的一个参数.这个命令有两个作用: Offline时,可以设置为正数(设置为85试试 ),用来模拟一定的ping值,免得人家说你0 ping欺负bot:P,同时正数也起到一定的稳定fps值的作用(偶没感觉到。。。)。 另一个作用是online时,设置为负数,也就是调整客户端的预测提前量。一般用于较高ping时,补偿ping值的影响时使用。这个负数的大小,应该是你平均ping值的25%到50%,平均ping值指的是你按Tab看到的,不是drawping看到的值。比如,ping为100,那么cl_timenudge应该设置在-25到-50之间。不要忘了,设置为负值时,要把smoothclients设置为0! Online时尽量不要使用这个参数,应该设置为默认值0,毕竟它是用预测算法来工作的,预测。。。除非你要减少ping值对你的影响。 cl_timeout "125" 当你由于过度lag导致服务器把你断线这中间等待的时间 cl_updateInfoString "" "challenge\14985\motd\用于ID的新版本出来的时候" cl_yawspeed "140" 设定左右移动的偏移速度 cm_curveClipHack "0" 这无疑是个作弊参数!已经被移除 cm_noAreas "0" cm_noCurves "0" 是否有能力穿越弯曲表面 cm_playerCurveClip "1" color "1" RG轨迹的颜色blue/green/cyan/red/magenta/yellow/white 对应为 1/2/3/4/5/6/7 color2 "1" 定义rg轨迹涡轮颜色---> 注意:color1/color2 "char"可从0-9,a-z com_blood "1" 是否在被攻击时眼前出现血光,建议关掉 com_buildScript "0" 可能是允许为通信事件建立脚本语言 com_dropsim "0" 测试通信停止时丢失的模拟信息包. 设置一个值,当随机值小于次数时扔掉网络包,来模拟网络丢失 com_hunkMegs "20" 用于服务器内存优化。 例如: com_hunkMegs "4" sv_maxclients bot_enable 0 com_introplayed "1" 是否放片头动画 com_maxfps "100" 设置每秒你可以从服务器接受的最大帧数 com_showtrace "0" 是否显示信息包的踪迹. 0=取消,1=开启 com_speeds "0" 可能是选择是否显示连接速度 con_notifytime "3" 限制来自玩家或者服务器信息显示在屏幕上的行数还是时间?? conback "" 选择控制台背景文件"gfx/2d/conback.tga" crosshairhealth "1" 在准星上显示血的多少 crosshairsize "24" 准星的大小 d_bot "" 所有d_ 命令已经被取消 d_botai "0" 所有d_ 命令已经被取消 d_botaiming "0" 所有d_ 命令已经被取消 d_botfreeze "0" 所有d_ 命令已经被取消 d_break "0" 所有d_ 命令已经被取消 d_noroam "0" 所有d_ 命令已经被取消 debuggraph "0" dedicated "0" 设置服务器十使用,如果设置为1的话就不载入整个3D引擎和游戏,可以节省资源,比如 C:\Q3TEST\quake3.exe +set dedicated 1 developer "0" 启动开发者模式 dmflags "0" 设置DM模式的胜利得分数 fixedtime "0" 是否一定要等到上一帧已经完全回馈才发送下一帧 fov "90" 设置视角宽度 fraglimit "20" 在服务器上设置胜利要求的得分(0是无限) freelook "1" 用鼠标控制瞄准和头的转动 fs_basepath "" 设置一个文件自动下载的基本路径,比如C:\quake3 fs_cdpath "" 大概是设置CD-ROM的盘符 fs_copyfiles "0" 大概是设置文件可否从服务器拷贝,客户端是否可以下载.更正:是否从CD逐步拷贝文件到硬盘 fs_debug "0" 大概是启动文件服务器的Debug功能 fs_game "" 设置游戏模式? fs_restrict "" 受限制模式,demo 版本不允许从服务器下载文件。只能加载 pk3 文件中的*.qvm,而不是对应的dll. g_aimTest "0" 此命令取消,大概因为是个作弊命令,类似机器人自动瞄准 g_allowVote "1" 是否可以在服务器上进行vote(投票,一般用于决定使用地图) g_arenaName "0" 大概是决定是否显示当前区域的名字 g_arenaRank "" 大概是一个进行归类的参数 g_arenaScores "" 大概是一个保持上一系列得分级数的参数 g_arenasFile "" 大概是Q3的一个log文件 g_banIPs "" 设置哪些IP禁止连上服务器 g_botsFile "" 设置一个用与设置bot配置和角色的文件名 g_debugAlloc "0" 大概是一个内存分配debug工具,在1.11版本中存在 g_debugDamage "0" 大概是伤害力的debug工具? g_debugMove "0" 大概是角色移动的debug工具 g_doWarmup "0" 是否在团队比赛和CTF开始前有一段警告时间,类似倒计时之类的 g_filterBan "1" 是否使用特定的过滤模式来拒绝某些玩家的连入 g_forcerespawn "10" 设置重生的最大时间间隔,设置为 0 就是不强制重生 g_friendlyFire "0" 设置是否会被队友误伤,设置为 1 为可以被队友所杀或者伤害 g_gametype "0" 0 - Free For All 1 - Tournament 2 - Single Player 3 - Team Deathmatch 4 - Capture the Flag 用于设置服务器的游戏模式,如果你想开一个 tournament 模式的服务器,你打这样一个命令: quake3.exe +set dedicated 2 +set sv_zone tournaments +set g_gametype 1 +map q3tourney2 g_gravity "800" 设置重力 g_inactivity "0" 设置一个玩家长时间在服务器上没有行动直到被服务器踢掉的时间间隔 g_knockback "1000" 武器的反作用力,数字越大,反作用力越大 g_log "1" 是否记录游戏的数据和状态 g_logSync "0" 可能是同步记录游戏的log和控制台log g_maxGameClients "0" 设置服务器可以接纳的最多连接人数 g_motd "" 设置当日短信息(详见 "cl_motd" 命令) g_needpass "0" 设置连入你的服务器是否需要密码 g_password "" 设置服务器连入密码 g_podiumDist "80" 在比赛结束后排名次时设置领奖台上Model之间距离 g_podiumDrop "70" 在比赛结束后排名次时设置领奖台上Model的高度 g_quadfactor "3" 允许管理员设置加倍伤害宝物的伤害倍数 g_restarted "0" 可能是是否显示游戏重新启动的一个标志 g_singlePlayer "0" 可能是允许第三方加入原本是单人的游戏? g_spAwards "" 是否在单人游戏中显示得奖的标志 g_speed "320" Q3Test中设置移动速度的参数 g_spScores1 "" 为你在单人游戏的第一难度级别打分 g_spScores2 "" 为你在单人游戏的第二难度级别打分 g_spScores3 "" 为你在单人游戏的第三难度级别打分 g_spScores4 "" 为你在单人游戏的第四难度级别打分 g_spScores5 "" 为你在单人游戏的第五难度级别打分 g_spSkill "2" 显示你当前所在的难度级别 g_spVideos "" 显示过关电影片段的名称 g_syncronousClients "0" 同步记录所有客户端的移动(1是用于录制demo) g_teamAutoJoin "0" 自动加入人数少或者落后的一方 g_teamForceBalance "0" 是否强制队伍双方人数相等 g_teamForceBalance "0" 是否强制队伍双方人数相等 g_warmup "" 是否在单挑模式中显示时间告警 g_weaponrespawn "5" 设置武器重生时间 gamedate "" gamename "baseq3" 设置游戏目录 GL_EXT_cull_vertex GL_EXT_packed_pixels GL_EXT_point_parameters GL_EXT_texture_object GL_EXT_vertex_array GL_WIN_swap_hint gl_extensions "GL_EXT_abgr GL_EXT_bgra GL_EXT_compiled_vertex_array GL_KTX_buffer_region " gl_pixelformat "" 设置每一像素上的色数,是8bit.16it还是32bit gl_renderer "" 设置显示卡GL驱动信息,比如:"RIVA 128/RIVA 128 ZX (PCI)" gl_vendor "" 设置显示卡制造商,比如 "NVIDIA Corporation" gl_version "" v设置显示卡驱动程序版本,比如:"1.1.0" graphheight "32" 是用于设置像素的高?用于图形显示 graphscale "1" 设置图形显示的增加范围 graphshift "0" 设置图形显示偏移量 gun_frame "0" 关闭武器的动画,在武器动画序列中连续显示 gun_x "0" 设置枪的模型的X坐标位置 gun_y "0" 设置枪的模型的Y坐标位置 gun_z "0" 设置枪的模型的Z坐标位置 handicap "100" 设置最大生命指 参数范围0 - 100 host_speeds "0" 显示时间信息 sv=服务器 cl=客户端 gm=游戏时间 rf=加时 all=全部时间 in_debugjoystick "0" 可能是设置操纵杆的Debug工具 in_joyBallScale "0.02" 设置玩家model的旋转刻度表? in_joyBall "0" 可能支持轨迹球之类的操纵杆 in_joystick "0" 初始化操纵杆 in_logitechbug "0" 打开游戏中追踪logitech鼠标程序错误地址的功能 in_midi "0" 使用一个midi端口作为输入设备tr-d-x in_midichannel "1" 使用一个midi通道作为输入设备tr-d-x in_mididevice "0" 使用一个midi设备作为输入设备tr-d-x in_midiport "1" 使用一个midi端口作为输入设备tr-d-x in_mouse "1" 初始化一个鼠标作为输入设备 journal "0" 记录在一个demo录制过程中的所有操作事件 joy_advanced "0" 游戏控制键位映射 joy_advaxisr "0" 绑定一个动作到操纵杆的 r 轴 joy_advaxisu "0" 绑定一个动作到操纵杆的 u 轴 joy_advaxisv "0" 绑定一个动作到操纵杆的 v 轴 joy_advaxisx "0" 绑定一个动作到操纵杆的 x 轴 joy_advaxisy "0" 绑定一个动作到操纵杆的 y 轴 joy_advaxisz "0" 绑定一个动作到操纵杆的 z 轴 joy_forwardsensitivity "-1" 设置操纵杆前进后退的灵敏度(负数为相反) joy_forwardthreshold "0.15" 设置操纵杆前进后退的极限点 joy_name "joystick" 设置操纵杆的名字 joy_pitchsensitivity "1" 设置操纵杆倾斜的灵敏度(负数为相反) joy_pitchthreshold "0.15" 设置操纵杆倾斜的极限点 joy_sidesensitivity "-1" 设置操纵杆左右移动的灵敏度(负数为相反) joy_sidethreshold "0.15" 设置操纵杆左右移动的极限点 joy_threshold "0.15" joy_upsensitivity "-1" 设置操纵杆上下的灵敏度(负数为相反) joy_upthreshold "0.15" 设置操纵杆上下的极限点 joy_yawsensitivity "-1" 设置操纵杆偏转的灵敏度(负数为相反) joy_yawthreshold "0.15" 设置操纵杆偏转的极限点 logfile "0" 运行进行操作的记录 0=不记录 1=磁盘缓存 2=继续 3=在原有的log文件上继续记录 m_filter "1" 开启鼠标使用的平滑设置 m_forward "0.25" 设置鼠标移动的幅度与游戏中前后移动距离的比例 m_pitch "0.022" 设置鼠标移动的幅度与游戏中上下移动距离的比例 m_side "0.25" 设置鼠标移动的幅度与游戏强力移动距离的比例 m_yaw "0.022" 设置鼠标移动的幅度于游戏中左右转动的速度的比例 mapname "" 显示当前使用地图的名字 memorydump "0" 可能是用来debug当前内存分配的 maxfps "0" 设置每秒最大帧数 model "visor/blue" 设置你使用哪个model和颜色 name "Commander Keen" 设置你自己的名字 net_ip "localhost" 设置本地机器的ip或者是机器的名字 net_noipx "0" 是否使用IPX/SPX 网络协议 net_noudp "0" 是否使用TCP/IP 网络协议 net_port "27960" 如果你想在一台机器上开几个服务器,你就必须设置不同的端口 net_qport "16392" 设置内部网络端口,这样可以使处于网关后面使用同一个IP的几个玩家同时连上服务器 net_socksEnabled "0" 允许通过防火墙的sock5端口连接服务器 net_socksPassword "" 如果sock5端口需要密码验证,在这里设置 net_socksPort "1080" 设置防火墙的端口 net_socksServer "" 设置防火墙的IP地址 net_socksUsername "" 如果sock5端口需要用户名验证,在这里设置 nextmap "" 在载入下一张地图之前执行一个命令 nohealth "0" 决定在下一张地图是否有补血物品 password "" 设置登陆服务器的密码(需要输入密码才能进入的服务器) port "27960" 如果你想在一台机器上开几个服务器,你就必须设置不同的端口 paused "0" 在单人游戏中是否允许暂停 pmove_fixed "0" 允许客户端使用客户端取样.但必须是服务器支持 protocol "36" 设置网络协议版本 qport "59337" 设置内部网络端口,这样可以使处于网关后面使用同一个IP的几个玩家同时连上服务器 r_allowExtensions "1" 是否使用你的显示卡的OpenGL扩展功能 r_allowSoftwareGL "0" 是否使用系统默认的软加速 r_ambientScale "0.5" 设置亮度,主光源亮度比例 r_clear "0" 是否在帧与争之间清除屏幕 r_colorbits "16" 设置颜色的bit数8, 16, 还是32 bit? r_colorMipLevels "0" 材质细节工具 r_customaspect "1.33334" 定制的屏幕宽高比,常见的为 4/3和16/9 r_customheight "768" 定制分辨率的高 r_customwidth "1024" 定制分辨率的宽 r_debuglight "0" 可能是开启光线的debug工具 r_debugSort "0 r_debugSurface "0" 可能是用于曲面贴图的debug工具,多用于地图调试 r_debugSurfaceUpdate "1" 可能是用于曲面贴图的debug工具,多用于地图调试 r_depthbits "16" 设置z-buffer 8, 16, 或者32 bit r_detailtextures "1" 是否开启材质的细节 r_directedScale "1" 可能是另一个调试直接光源的亮度和范围的参数,直射光 r_displayRefresh "0" 设置显示器的刷新率,桌面设置也会随之改变 r_dlightBacks "1" "brighter areas are changed more by dlights than dark areas. I don't feel TOO bad about that, because its not like the dlight is much of a proper lighting simulation even in the best case..."John Carmack r_drawBuffer "GL_BACK" 设置哪一帧的缓存绘入 r_drawentities "1" 是否完整绘出实体 r_drawstrips "1" 设置三角形填充方法 r_drawSun "1" 如果不想把阳光加入光源,设置为0 r_drawworld "1" 开启地图构建描绘 r_dynamiclight "0" 开启动态光影效果 r_ext_compiled_vertex_array "1" 开启硬件三角形排列顶角填充方法 r_ext_compressed_textures "1" 开启材质压缩 (1.27版 changed to past tense compressed) r_ext_gamma_control "1" 开启外部伽玛设置 r_ext_multitexture "1" 开启硬件多重材质 r_ext_swapinterval "1" 开启硬件帧交换 r_ext_texenv_add "1" 可能是个扩展参数.toggle additive blending in multitexturing. If not present, OpenGL limits you to multiplicative blending only, so additive will require an extra pass. 切换是否使用additive多纹理混合,如果没有设置,OpenGL 限制你只能使用multiplicative 混合,所以additive混合需要附加的 pass r_ext_texture_env_add "1" 开启附加混合多重材质 r_facePlaneCull "1" toggle culling of brush faces not in view (0 will slow FPS) .是否裁切不在摄像机内的平面 r_fastsky "1" 开启天空快速贴图,设置为o会降低FPS r_finish "1" 是否开启同步帧填充 toggle synchronization of rendered frames (engine will wait for GL calls to finish) r_fixtjunctions "1" toggle开启model三角形顶点组合问题修正功能,这个问题会导致多边形之间出现缝隙 r_flareFade "7" 设置闪光的暗淡下来的时间长度 r_flares "0" 开启发射闪光和光线效果,会产生半透明和光环效果 r_flaresSize "40" 设置闪光的大小 r_fullbright "0" 开启材质最高的亮度级别 r_fullscreen "1" 开启全屏模式 r_gamma "1" 伽玛修正 r_glDriver "opengl32" 设置OpenGL驱动(标准的 OpenGL32 或者 3dfxvgl) r_ignore "0" 可能是取消硬件驱动,代之以自己喜欢的参数设置 r_ignoreFastPath "0" 是否忽略渲染捷径. r_ignoreGLErrors "1" 禁止OpenGL出现错误 r_ignorehwgamma "0" 可能是开启DirectX伽玛纠错或者是显示驱动伽玛纠错 r_ignoreOffset "0" 完全取消偏移量 r_intensity "1" 增加材质颜色亮度 r_lastValidRenderer "" 给出显示卡信息(比如:RIVA 128/RIVA 128 ZX (PCI)) r_lightmap "0" 地图全亮,不再根据光源控制亮暗(古墓丽影1代和2代的照明效果差别就是如此) r_lightningSegmentLength "32" 可能是设置闪电枪发出的闪电的宽度 r_lockpvs "0" 在游戏者穿过地图后禁止升级PVS表 r_lockview "0" r_lodbias "0" 设置几何体显示细节级别 (0 - 2) r_lodCurveError "250" 另一个显示细节级别设置参数 r_lodscale "5" 设置显示细节级别调整范围 r_logFile "0" 设置log文件名 r_mapOverBrightBits "2" 设置材质光线反射强度级别 r_maskMinidriver "0" 把当前的OpenGL32 驱动当做ICD, 即使实际上是MCD r_measureOverdraw "0" 用于软件填充,特别是同一像素多次填充 r_mode "3" 设置显示分辨率,当 r_mode = -1 的时候, r_customwidth,r_customheightr,r_customaspect 才起作用 { "Mode 0: 320x240"}, { "Mode 1: 400x300"}, { "Mode 2: 512x384"}, { "Mode 3: 640x480"}, { "Mode 4: 800x600"}, { "Mode 5: 960x720"}, { "Mode 6: 1024x768"}, { "Mode 7: 1152x864"}, { "Mode 8: 1280x1024"}, { "Mode 9: 1600x1200"}, { "Mode 10: 2048x1536"}, { "Mode 11: 856x480 (wide)"} r_nobind "0" 开启三角形绑定材质 r_nocull "0" 开启隐藏物体的填充 (1=暂缓执行) r_nocurves "0" 开启曲线几何 ( 因为可能用于作弊,所以关闭为好 ) r_nolightcalc "0" 关闭光阴计算 r_noportals "0" 通过玩家的视角开启入口 r_norefresh "0" 是否开启填充刷新显示 r_novis "0" 切换是否使用bsp树vis表进行裁切,设为1不使用,将会慢很多cheat 命令 r_offsetfactor "-1" 控制OpenGL多边形偏移量,如果你看见有贴图错误,这个参数可以帮助修正 r_offsetunits "-2" 功能见上 r_offsetfactor r_overBrightBits "1" 可能类似于 r_mapOverBrightBits 参数 r_picmip "0" 设置最大材质的大小 (数字越小画质越好,数字越大速度越快,但不是绝对的,好像影响不大) 范围0 - 16. r_portalOnly "0" 设置 "1" 关闭入口缓冲模板 r_preloadTextures "0" 开启显示芯片处理以前缓存的材质功能 r_primitives "0" r_primitives 3 通道无顶点序列测试 r_printShaders "0" 开启打印正在使用的shader名称 r_railCoreWidth "16" 设置RG轨迹中心宽度 r_railSegmentLength "64" 设置RG的脉冲长度 r_railWidth "128" 设置RG轨迹宽度 r_roundImagesDown "1" set rounding down amount (larger = faster, lower quality) - Randy When textures need to be resized they are rounded up or down based on the value of the r_roundImagesDown cvar setting. A setting of 1 or 2 results in less detailed textures as they are being rounded down when they need to be resized, this means less chance of speed problems and running out of local texture memory on the card. A setting of 0 means more detailed textures as they are rounded up when they need to be resized but can result in texture thrashing and slowdowns. Bad drivers or AGP texturing problems can cause the machine to lockup when local texture memory is full. Note that round_down is not the same as picmip. Picmip is texture mipmap size of the original texture, round_down determines how that texture is resized. r_showcluster "0" toggle the display of clusters by number as the player enters them on the currently loaded map。当前地图玩家进入一个簇(切割出来的小房间)时是否显示其号码,调试 bsp 树用。cheat 命令 r_showImages "0" 显示所有图象文件的拼图,材质调试工具 r_shownormals "0" 绘出短线和完整的多边形顶点;在调试Model的光线时很有用.绘制法线 r_showsky "0" 在其它物体之前填充天空 r_showSmp "0" 在HUD上显示多处理器信息 r_showtris "0" 显示三角形 r_simpleMipMaps "1" 开启简单指令映射,用于比较慢的机器 r_singleShader "0" 可能是用一个阴影来代替物体上的多个阴影 r_skipBackEnd "0" 可能是用来跳过后端视频,不再画后表面,用于调试,使客户端不显示任何图形 r_smp "0" 起用多处理器加速代码 r_speeds "0" 显示填充信息. r_stencilbits "8" 模板缓冲大小 (0, 8bit, 和16bit) r_stereo "0" 用于3D眼镜? r_subdivisions "4" 设置最大细节级别,1为最大 r_swapInterval "0" 开启帧交换 是否开启垂直同步功能。如果开启,游戏最大刷新率和桌面的刷新率相同 水平同步信号,显示设备(显示器)接收到这个信号后,就开始画下一行。 垂直同步信号,显示设备(显示器)接收到这个信号后,就开始画下一帧。 关闭能够提示游戏FPS r_texturebits "0" 设置材质色数,set number of bits used for each texture from 0 to 32 bit r_textureMode "GL_LINEAR_MIPMAP_NEAREST" 选择材质模式 r_verbose "0" 在控制台上显示填充命令 r_vertexLight "1" 开启顶点光源(比lightmap快但是细节效果差) (建议dynamiclight 设置1这个参数设置为1) r_znear "4" 设置物体和玩家最贴近的距离 rate "" 设置传输速率, 简单的说,是用于控制客户端每秒种最多能收到多少字节来自服务器端的数据。大部分服务器设置为sv_maxrate 10000或25000,即只允许最高25000的传输速率,对应客户端的rate 25000,这个值也是你在q3菜单选择LAN/Xdsl时的值。另外:我们在LAN建server的时候,服务器端有一个参数,可以强迫所有客户端使用最大的rate值,即sv_lanForceRate 1。 rcon_password "" 已经取消 rconAddress "" 为rcon命令保存服务器的IP地址的变量 rconPassword "" 设置远程控制服务器的密码 s_2dvolume "0.7" 设置声音级别 --2D s_bloat "2.0" s_compression "1" 开启声音压缩 s_distance "100.0" s_doppler "1.0" s_fogeq "0.8" s_geometry "1" s_initsound "1" 决定是否初始化下一场游戏的声音 s_khz "11" 设置声音频率取样,单位HZ s_leafnum "0" s_loadas8bit "1" 以8bit模式载入声音 s_max_distance "1000.0" 可能是设置在地图中可以听到声音的最大距离范围 s_min_distance "3.0" 可能是设置在地图中可以听到声音的最小距离范围 s_mixahead "0.2" 设置混合声音前的延迟 s_mixPreStep "0.05" 设置声音的逼真程度如果你的声卡够棒的话! s_musicvolume "1" 设置音乐的音量 s_numpolys "400" s_occ_eq "0.75" s_occfactor "0.5" s_occlude "0" s_polykeep "1000000000" s_polyreflectsize "10000000" s_polysize "10000000" s_refdelay "2.0" s_refgain "0.45" s_reflect "1" s_rolloff "1.0" s_separation "0.5" 设置左右声道分离的距离 s_show "0" 显示所有在播放的声音文件的路径 s_testsound "0" 开启一个音质测试来测试声音系统 s_usingA3D "0" 开启A3D支持 s_volume "0.7" 设置声音FX的音量 s_watereq "0.2" scr_conspeed "3" 设置控制台下拉、上去的速度 sensitivity "9" 设置鼠标灵敏度(非常重要!) server1 "" 保存你最喜爱的服务器的地址 server2 "" 保存你最喜爱的服务器的地址 server3 "" 保存你最喜爱的服务器的地址 server4 "" 保存你最喜爱的服务器的地址 server5 "" 保存你最喜爱的服务器的地址 server6 "" 保存你最喜爱的服务器的地址 server7 "" 保存你最喜爱的服务器的地址 server8 "" 保存你最喜爱的服务器的地址 server9 "" 保存你最喜爱的服务器的地址 server10 "" 保存你最喜爱的服务器的地址 server11 "" 保存你最喜爱的服务器的地址 server12 "" 保存你最喜爱的服务器的地址 server13 "" 保存你最喜爱的服务器的地址 server14 "" 保存你最喜爱的服务器的地址 server15 "" 保存你最喜爱的服务器的地址 server16 "" 保存你最喜爱的服务器的地址 session "2" 可能是当在一台机器上上运行多个服务时要保存一个当前值 session0 ""0 300 1 0 0 0" 可能是为了要在一台机器上上运行多个服务而设置多个地址和socket session1 "0 300 1 0 0 0" 可能是为了要在一台机器上上运行多个服务而设置多个地址和socket session2 "0 300 1 0 0 0" 可能是为了要在一台机器上上运行多个服务而设置多个地址和socket session3 "0 300 1 0 0 0" 可能是为了要在一台机器上上运行多个服务而设置多个地址和socket session4 "0 300 1 0 0 0" 可能是为了要在一台机器上上运行多个服务而设置多个地址和socket sex "male" 设置角色性别 showdrop "0" 显示丢失的数据包 . 0=disables,1=enable. showpackets "0" 显示所有发送和接受的数据包 0=disables,1=enable. showtrace "0" 显示数据包的踪迹 0=disables,1=enable. snaps "20" 服务器将向客户端发送的快照的数目(server run at 40Hz, so use 40, 20, or 10) snd "visor" 选择使用哪个model的专有声音 sv_allowdownload "1" 允许客户端从服务器下载文件比如地图等,服务器参数 sv_cheats "1" 允许使用作弊命令 (give all) (服务器端使用) sv_floodProtect "1" 开启服务器的溢出保护 sv_fps "20" 设置服务器每秒向客户端发送帧的最大值 sv_hostname "" 设置服务器的名字 sv_keywords "" 在网络连接菜单里输入的搜索字符串 sv_killserver "0" 输入后服务器关闭 sv_lanForceRate "1" 迫使LAN里面的客户机使用最大rate值 sv_mapChecksum "" 开启地图检查功能,确认客户端和服务器的地图相同 sv_mapname "" 显示服务器当前使用地图名称 sv_master1 "" 设置ID的主服务器的地址 "master3.idsoftware.com" sv_master2 "" 主服务器地址 2 sv_master3 "" 主服务器地址 3 sv_master4 "" 主服务器地址 4 sv_master5 "" 主服务器地址 5 sv_maxclients "8" 设置服务器以允许连入最多人数 sv_maxPing "0" 设置服务器允许的最大ping值 sv_maxRate "" 这个命令用来强迫所有的客户端具有相同的连接速度。这样可以限制一些ping特别低的人的优势,还可以有效配置服务器的带宽。对于lan同样有效 sv_minPing "0" 设置服务器允许的最小ping值 sv_nopredict "0" 大概是使服务器具有对客户端位置的预处理能里 sv_pad "0" sv_padPackets "0" sv_paks "182784856 " sv_paused "0" 允许服务器端暂停游戏 sv_privateClients "0" 设置特别客户端人数(在一个比较热闹的服务器上很有用,保证有空位给你玩) sv_privatePassword "" 设置特别客户端密码 sv_punkbuster "0" 允许建立服务器的时候打开防作弊功能 sv_pure "1" 禁止本地DLL载入,客户端只能根据服务器端使用的数据而从PAK文件中读取qvm数据 sv_reconnectlimit "3" 允许断线的客户端重新连接的时间长度 sv_running "1" 这个参数告诉控制台是否一个本地服务器运行着 sv_serverid "" hmm?配额;8021204" sv_showloss "0" 开启服务器数据包丢失显示 sv_strictAuth "1" 服务器端用于验证CDKEY的认证,这个命令使得服务器可以得到合法cl_guid值的客户端 sv_timeout "120" 设置服务器 在确认客户端断开之前等待的时间 sv_zombietime "2" 设置服务器在移除一个没有反应的客户端之前等待的时间 sv_zone "default" 设置客户端可能搜索的关键字,管理者最好是设置运行的服务器类型FFAl, tournament, T-DM或者其他 sys_cpuid "33" sys_cpustring "" 设置一个字符串来识别你的CPU,如 "x86 (P5/PPro, non-MMX)" teamoverlay "0" 开启在HUD上显示队伍的颜色 teamflags "0" 设置团队比赛的标志 timedemo "0" 在播放 demo 时是否快速播放 timegraph "0" 开启显示时间图 timelimit "0" 设置每个地图的运行时间 timescale "1" 设置游戏时间和真实时间之间的比率 ui_browserGameType "0" 设置在浏览列表中搜索服务器类型 ui_browserMaster "0" 设置服务器搜索类型 0=LAN 1=Mplayer 2=Internet 3=Favorites ui_browserShowEmpty "1" 把没有人的服务器也列出来 ui_browserShowFull "1" 把满人的服务器列出来 ui_browserSortKey "4" 设置服务器列表的排列依据 0=服务器名字 1=地图名字 2=连接人数 3=游戏类型 4=ping 的时间 ui_cdkeychecked "1" 可能是在cdkey验证后设置一个标志 ui_ctf_capturelimit "8" 可能是在单人与BOT的CTF游戏中设置夺旗限制 ui_ctf_friendly "0" 可能是在单人与BOT的CTF游戏中开启队友伤害 ui_ctf_timelimit "30" 可能是在单人与BOT的CTF游戏中设置时间限制 ui_ffa_fraglimit "20" 可能是在单人与BOT的FFA游戏中设置得分限制 ui_ffa_timelimit "0" 可能是在单人与BOT的FFA游戏中设置时间限制 ui_master "0" 设置服务器搜索 0=LAN 1=Mplayer 2=Internet 3=Favorites ui_spSelection "2" 可能是在单人游戏中设置游戏类型? 16 = CTF 2 = FFA DM ui_team_fraglimit "0" 可能是在单人与BOT的Team游戏中设置得分限制 ui_team_friendly "1" 可能是在单人与BOT的Team游戏中开启队友伤害 ui_team_timelimit "20" 可能是在单人与BOT的Team游戏中设置时间限制 ui_tourney_fraglimit "0" 可能是在单人与BOT的Team游戏设置得分限制 ui_tourney_timelimit "15" 可能是在单人与BOT的Tourney游戏中设置时间限制 username "vern" 设置你的连接代号 %username% 环境参数? version "" 设置版本 versionNumber "" 设置版本号 vid_xpos "30" 当使用窗口模式时的X轴位置 vid_ypos "30" 当使用窗口模式时的Y轴位置 viewlog "0" 在启动时显示控制台窗口 viewsize "100" 改变显示窗口尺寸(最好别小于100) vm_cgame "0" 虚拟机解释器部份参数 vm_game "0" 开启虚拟机解释器,这个参数可以在载入DLL库和qvm解释文件之间切换 vm_ui "0" 虚拟机解释器部份参数,0 表示加载 dll 链接库。2 表示加载 qvm 虚拟码 win_hinstance "" 在Window下Q3的实例句柄 win_wndproc "" Q3 的消息处理函数 zoomfov "22.5" 阻击模式视角宽度,不要大于30 Red Font 红色字体 Green Font 绿色字 cl_conXOffset offset the console message display 0 - top left 999 - extreme top right (off the page) r_inGameVideo "1" toggle the display of in game animations on bigscreen map objects that display a camera view of the current game cl_serverStatusResendTime g_redTeam "" set the team icon for the red team (example Stroggs) g_blueTeam set the team icon for the red team (example Pagans) r_uiFullScreen "0" 设置UI cg_shadows set shadow detail level (0 = OFF, 1 = basic discs, 2 = stencil buffered 3 = simple stencil buffered(if r_stencilebits is not=0)) - Andre Lucas
|