char *ENGINE_EXTENSIONS =
"DP_CL_LOADSKY "
+"DP_CON_SET "
+"DP_CON_SETA "
"DP_EF_ADDITIVE "
"DP_EF_BLUE "
"DP_EF_FLAME "
"DP_QUAKE3_MODEL "
"DP_REGISTERCVAR "
"DP_SND_DIRECTIONLESSATTNNONE "
+"DP_SND_FAKETRACKS "
"DP_SND_OGGVORBIS "
"DP_SND_STEREOWAV "
"DP_SOLIDCORPSE "
"DP_SPRITE32 "
+"DP_SV_CLIENTCOLORS "
+"DP_SV_CLIENTNAME "
"DP_SV_DRAWONLYTOCLIENT "
+"DP_SV_DROPCLIENT "
"DP_SV_EFFECT "
-"DP_SV_EXTERIORMODELTOCLIENT "
"DP_SV_NODRAWTOCLIENT "
+"DP_SV_PING "
"DP_SV_PLAYERPHYSICS "
+"DP_SV_PUNCHVECTOR "
"DP_SV_ROTATINGBMODEL "
"DP_SV_SETCOLOR "
"DP_SV_SLOWMO "
client->old_colors = client->colors;
// send notification to all clients
MSG_WriteByte (&sv.reliable_datagram, svc_updatecolors);
- MSG_WriteByte (&sv.reliable_datagram, client->number);
+ MSG_WriteByte (&sv.reliable_datagram, client - svs.clients);
MSG_WriteByte (&sv.reliable_datagram, client->colors);
}
}
G_INT(OFS_RETURN) = PR_SetString(tmp);
}
+//void(entity clent) dropclient (DP_SV_DROPCLIENT)
+void PF_dropclient (void)
+{
+ int clientnum;
+ client_t *oldhostclient;
+ clientnum = G_EDICTNUM(OFS_PARM0) - 1;
+ if (clientnum < 0 || clientnum >= svs.maxclients)
+ PF_WARNING("dropclient: not a client\n");
+ if (!svs.clients[clientnum].active)
+ PF_WARNING("dropclient: that client slot is not connected\n");
+ oldhostclient = host_client;
+ host_client = svs.clients + clientnum;
+ SV_DropClient(false);
+ host_client = oldhostclient;
+}
builtin_t pr_builtin[] =
PF_tokenize, // #441 float(string s) tokenize (KRIMZON_SV_PARSECLIENTCOMMAND)
PF_argv, // #442 string(float n) argv (KRIMZON_SV_PARSECLIENTCOMMAND)
PF_setattachment, // #443 void(entity e, entity tagentity, string tagname) setattachment (DP_GFX_QUAKE3MODELTAGS)
-PF_search_begin, // #444
-PF_search_end, // #445
-PF_search_getsize, // #446
-PF_search_getfilename, // #447
+PF_search_begin, // #444 float(string pattern, float caseinsensitive, float quiet) search_begin (DP_FS_SEARCH)
+PF_search_end, // #445 void(float handle) search_end (DP_FS_SEARCH)
+PF_search_getsize, // #446 float(float handle) search_getsize (DP_FS_SEARCH)
+PF_search_getfilename, // #447 string(float handle, float num) search_getfilename (DP_FS_SEARCH)
PF_cvar_string, // #448 string(string s) cvar_string (DP_QC_CVAR_STRING)
PF_findflags, // #449 entity(entity start, .float fld, float match) findflags (DP_QC_FINDFLAGS)
PF_findchainflags, // #450 entity(.float fld, float match) findchainflags (DP_QC_FINDCHAINFLAGS)
PF_gettagindex, // #451 float(entity ent, string tagname) gettagindex (DP_QC_GETTAGINFO)
PF_gettaginfo, // #452 vector(entity ent, float tagindex) gettaginfo (DP_QC_GETTAGINFO)
-NULL, // #453
+PF_dropclient, // #453 void(entity clent) dropclient (DP_SV_DROPCLIENT)
NULL, // #454
NULL, // #455
NULL, // #456