mirror of
https://github.com/alliedmodders/amxmodx.git
synced 2025-01-12 06:48:04 +03:00
no message
This commit is contained in:
parent
6eb236f8b7
commit
21d870c57a
96
plugins/include/Vexd_Utilities.inc
Executable file
96
plugins/include/Vexd_Utilities.inc
Executable file
@ -0,0 +1,96 @@
|
||||
/* Vexd Utility backwards compatibility
|
||||
*
|
||||
* (c) 2004, the AMX Mod X Development Team
|
||||
*
|
||||
* This file is provided as is (no warranties).
|
||||
*/
|
||||
|
||||
#include <engine>
|
||||
|
||||
stock Entvars_Get_Int(iIndex, iVariable)
|
||||
return entity_get_int(iIndex, iVariable)
|
||||
|
||||
stock Entvars_Set_Int(iIndex, iVariable, iNewValue)
|
||||
return entity_set_int(iIndex, iVariable, iNewValue)
|
||||
|
||||
stock Float:Entvars_Get_Float(iIndex, iVariable)
|
||||
return entity_get_float(iIndex, iVariable)
|
||||
|
||||
stock Entvars_Set_Float(iIndex, iVariable, Float:fNewValue)
|
||||
return entity_set_float(iIndex, iVariable, fNewValue)
|
||||
|
||||
stock Entvars_Get_Vector(iIndex, iVariable, Float:vRetVector[3])
|
||||
return entity_get_vector(iIndex, iVariable, vRetVector)
|
||||
|
||||
stock Entvars_Set_Vector(iIndex, iVariable, Float:vNewVector[3])
|
||||
return entity_set_vector(iIndex, iVariable, vNewVector)
|
||||
|
||||
stock Entvars_Get_Edict(iIndex, iVariable)
|
||||
return entity_get_edict(iIndex, iVariable)
|
||||
|
||||
stock Entvars_Set_Edict(iIndex, iVariable, iNewIndex)
|
||||
return entity_set_edict(iIndex, iVariable, iNewIndex)
|
||||
|
||||
stock Entvars_Get_String(iIndex, iVariable, szReturnValue[], iReturnLen)
|
||||
return entity_get_string(iIndex, iVariable, szReturnValue, iReturnLen)
|
||||
|
||||
stock Entvars_Set_String(iIndex, iVariable, szNewValue[])
|
||||
return entity_set_string(iIndex, iVariable, szNewValue)
|
||||
|
||||
stock Entvars_Get_Byte(iIndex, iVariable)
|
||||
return entity_get_byte(iIndex, iVariable)
|
||||
|
||||
stock Entvars_Set_Byte(iIndex, iVariable, iNewValue)
|
||||
return entity_set_byte(iIndex, iVariable, iNewValue)
|
||||
|
||||
stock CreateEntity(szClassname[])
|
||||
return create_entity(szClassname[])
|
||||
|
||||
stock ENT_SetModel(iIndex, szModel[])
|
||||
return entity_set_model(iIndex, szModel)
|
||||
|
||||
stock ENT_SetOrigin(iIndex, Float:fNewOrigin[3])
|
||||
return entity_set_origin(iIndex, fNewOrigin)
|
||||
|
||||
stock FindEntity(iIndex, szValue[])
|
||||
return find_entity(iIndex, szValue)
|
||||
|
||||
stock RemoveEntity(iIndex)
|
||||
return remove_entity(iIndex)
|
||||
|
||||
stock TraceLn(iIgnoreEnt, Float:fStart[3], Float:fEnd[3], Float:vReturn[3])
|
||||
return trace_line(iIgnoreEnt, fStart, fEnd, vReturn)
|
||||
|
||||
stock TraceNormal(iIgnoreEnt, Float:fStart[3], Float:fEnd[3], Float:vReturn[3])
|
||||
return trace_normal(iIgnoreEnt, fStart, fEnd, vReturn)
|
||||
|
||||
stock VecToAngles(Float:fVector[3], Float:vReturn[3])
|
||||
return vector_to_angle(fVector, vReturn)
|
||||
|
||||
stock Float:VecLength(Float:vVector[3])
|
||||
return vector_length(vVector)
|
||||
|
||||
stock Float:VecDist(Float:vVector[3], Float:vVector2[3])
|
||||
return vector_distance(vVector, vVector2)
|
||||
|
||||
stock MessageBlock(iMessage, iMessageFlags)
|
||||
return set_msg_block(iMessage, iMessageFlags)
|
||||
|
||||
stock GetMessageBlock(iMessage)
|
||||
return get_msg_block(iMessage)
|
||||
|
||||
stock Float:HLTime()
|
||||
return halflife_time()
|
||||
|
||||
stock FakeTouch(iToucher, iTouched)
|
||||
return fake_touch(iToucher, iTouched)
|
||||
|
||||
stock AttachView(iIndex, iTargetIndex)
|
||||
return attach_view(iIndex, iTargetIndex)
|
||||
|
||||
stock SetView(iIndex, ViewType)
|
||||
return set_view(iIndex, ViewType)
|
||||
|
||||
forward vexd_pfntouch(pToucher, pTouched)
|
||||
|
||||
forward ServerFrame()
|
@ -1,12 +1,12 @@
|
||||
/* AMX Mod X
|
||||
*
|
||||
* (c) 2002-2004, OLO
|
||||
* modified by BAILOPAN, Manip, PM, SniperBeamer
|
||||
* modified by the AMX Mod X Development Team
|
||||
*
|
||||
* This file is provided as is (no warranties).
|
||||
*/
|
||||
|
||||
// Uncomment if you are not using Steam
|
||||
/* Uncomment if you are not using Steam */
|
||||
//#define NO_STEAM
|
||||
|
||||
#define ADMIN_IMMUNITY (1<<0) /* flag "a" */
|
||||
@ -161,7 +161,7 @@ enum {
|
||||
|
||||
/* Render for set_user_rendering() */
|
||||
enum {
|
||||
kRenderNormal, /* src */
|
||||
kRenderNormal = 0, /* src */
|
||||
kRenderTransColor, /* c*a+dest*(1-a) */
|
||||
kRenderTransTexture, /* src*a+dest*(1-a) */
|
||||
kRenderGlow, /* src*a+dest -- No Z buffer checks */
|
||||
@ -194,6 +194,7 @@ enum {
|
||||
kRenderFxClampMinScale, /* Keep this sprite from getting very small (SPRITES only!) */
|
||||
}
|
||||
|
||||
/* Type for force_unmodified() */
|
||||
enum {
|
||||
force_exactfile = 0, /* File on client must exactly match server's file */
|
||||
force_model_samebounds, /* For model files only, the geometry must fit in the same bbox */
|
||||
|
@ -1,23 +1,23 @@
|
||||
/* AMX Mod X misc.
|
||||
*
|
||||
* (c) 2002-2004, OLO
|
||||
* modified by BAILOPAN, Manip, PM, SniperBeamer
|
||||
* modified by the AMX Mod X Development Team
|
||||
*
|
||||
* This file is provided as is (no warranties).
|
||||
*/
|
||||
|
||||
stock bool:cmd_access(id,level,cid,num) {
|
||||
stock cmd_access(id,level,cid,num) {
|
||||
if ( ((get_user_flags(id)&level)!=level) && (id!=(is_dedicated_server()?0:1)) ) {
|
||||
console_print(id,"You have no access to that command")
|
||||
return false
|
||||
return 0
|
||||
}
|
||||
if (read_argc() < num) {
|
||||
new hcmd[32], hinfo[128], hflag
|
||||
get_concmd(cid,hcmd,31,hflag,hinfo,127,level)
|
||||
console_print(id,"Usage: %s %s",hcmd,hinfo)
|
||||
return false
|
||||
return 0
|
||||
}
|
||||
return true
|
||||
return 1
|
||||
}
|
||||
|
||||
stock access(id,level)
|
||||
@ -27,8 +27,7 @@ stock access(id,level)
|
||||
* 1 - obey immunity
|
||||
* 2 - allow yourself
|
||||
* 4 - must be alive
|
||||
* 8 - can't be bot
|
||||
*/
|
||||
* 8 - can't be bot */
|
||||
stock cmd_target(id,const arg[],flags = 1) {
|
||||
new player = find_player("bl",arg)
|
||||
if (player) {
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* AMX Mod X functions
|
||||
*
|
||||
* (c) 2002-2004, OLO
|
||||
* modified by BAILOPAN, Manip, PM, SniperBeamer
|
||||
* modified by the AMX Mod X Development Team
|
||||
*
|
||||
* This file is provided as is (no warranties).
|
||||
*/
|
||||
@ -115,8 +115,7 @@ native register_event(const event[],const function[],const flags[],cond[]="", ..
|
||||
* "1=say"
|
||||
* "3=Terrorists_Win"
|
||||
* "1=entered the game"
|
||||
* "0=Server cvar"
|
||||
*/
|
||||
* "0=Server cvar" */
|
||||
native register_logevent(const function[], argsnum, ... );
|
||||
|
||||
/* Sets format for hudmessage. */
|
||||
@ -446,8 +445,8 @@ native get_srvcmd(index,server_cmd[],len1,&flags, info[],len2, flag);
|
||||
native get_srvcmdsnum(flag);
|
||||
|
||||
/* Gets info about console command. If id is set to 0,
|
||||
then function returns only server cmds, if positive then
|
||||
returns only client cmds. in other case returns all console commands. */
|
||||
* then function returns only server cmds, if positive then
|
||||
* returns only client cmds. in other case returns all console commands. */
|
||||
native get_concmd(index,cmd[],len1,&flags, info[],len2, flag, id = -1);
|
||||
|
||||
/* Returns number of registered console commands. */
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* CS Stats functions
|
||||
*
|
||||
* (c) 2002-2004, OLO
|
||||
* modified by BAILOPAN, Manip, PM, SniperBeamer
|
||||
* modified by the AMX Mod X Development Team
|
||||
*
|
||||
* This file is provided as is (no warranties).
|
||||
*/
|
||||
|
163
plugins/include/engine.inc
Executable file
163
plugins/include/engine.inc
Executable file
@ -0,0 +1,163 @@
|
||||
/* Engine
|
||||
*
|
||||
* (c) 2004, the AMX Mod X Development Team
|
||||
* thanks to Vexd
|
||||
*
|
||||
* This file is provided as is (no warranties).
|
||||
*/
|
||||
|
||||
#include <engine_const>
|
||||
#include <engine_stocks>
|
||||
|
||||
/* This is a highly experimental command that will directly hook a message in the engine!
|
||||
* You can overwrite the message before anything happens and either let the message continue
|
||||
* or fully block it. Here is how it works:
|
||||
* If you hook a message, the message is stored but not sent. You have the opportunity to
|
||||
* not only execute code, but to get/set the contents of the message, before you choose to
|
||||
* either block it or let it go on its way. The hooked function will be passed a msg_id. */
|
||||
native register_message(iMsgId, szFunction[]);
|
||||
|
||||
/* The get/set _msg commands will utterly fail if used outside a hooked message scope.
|
||||
* They should never, NEVER, EVER be used unless inside a registered message function.
|
||||
* There are eight different ways of sending a message, five are ints, two are floats, and one is string.
|
||||
* These are denoted by iArgType. msg_tid is the message you are hooking. argn is the number
|
||||
* of the argument. Exceeding the bounds of 1 to get_msg_args() is a bad idea. */
|
||||
|
||||
/* Gets number of arguments that were passed to this message */
|
||||
native get_msg_args(msg_id);
|
||||
|
||||
/* Gets the argument type of argument argn */
|
||||
native get_msg_argtype(msg_id, argn);
|
||||
|
||||
/* Gets the value of argn. */
|
||||
native get_msg_arg_int(msg_id, argn);
|
||||
native Float:get_msg_arg_float(msg_id, argn);
|
||||
native get_msg_arg_string(msg_id, argn, szReturn[], iLength);
|
||||
|
||||
/* sets the value of argn. */
|
||||
native set_msg_arg_int(msg_id, argn, argtype, iValue);
|
||||
native set_msg_arg_float(msg_id, argn, argtype, Float:fValue);
|
||||
native set_msg_arg_string(msg_id, argn, szString[]);
|
||||
|
||||
/* Note, the offsets are passed as linux values, not windows values.
|
||||
* Although the engine module will automatically calculate the difference,
|
||||
* you must pass with the +5 linux offset (e.g. if 230 on windows, pass 235 no matter what) */
|
||||
|
||||
/* Gets pvPrivateData offset. */
|
||||
native get_offset(id, offset);
|
||||
native Float:get_offset_float(id, offset);
|
||||
native get_offset_short(id, offset);
|
||||
|
||||
/* sets pvPrivateData offset. */
|
||||
native set_offset(id, offset, value);
|
||||
native set_offset_float(id, offset, Float:value);
|
||||
native set_offset_short(id, offset);
|
||||
|
||||
/* Precaches any file. */
|
||||
native precache_generic(szFile[]);
|
||||
|
||||
/* Sets/gets things in an entities Entvars Struct. */
|
||||
native entity_get_int(iIndex, iKey);
|
||||
native entity_set_int(iIndex, iKey, iVal);
|
||||
native Float:entity_get_float(iIndex, iKey);
|
||||
native entity_set_float(iIndex, iKey, Float:iVal);
|
||||
native entity_get_vector(iIndex, iKey, Float:vRetVector[3]);
|
||||
native entity_set_vector(iIndex, iKey, Float:vNewVector[3]);
|
||||
native entity_get_edict(iIndex, iKey);
|
||||
native entity_set_edict(iIndex, iKey, iNewIndex);
|
||||
native entity_get_string(iIndex, iKey, szReturn[], iRetLen);
|
||||
native entity_set_string(iIndex, iKey, szNewVal[]);
|
||||
native entity_get_byte(iIndex, iKey);
|
||||
native entity_set_byte(iIndex, iKey, iVal);
|
||||
|
||||
/* Creates an entity, will return the index of the created entity. ClassName must be valid. */
|
||||
native create_entity(szClassname[]);
|
||||
|
||||
/* Finds an entity in the world, will return -1 if nothing is found */
|
||||
native find_entity(iIndex, szClass[]);
|
||||
native find_ent_by_owner(iIndex, szClass[], iOwner);
|
||||
native find_ent_by_target(iIndex, szClass[]);
|
||||
native find_ent_by_tname(iIndex, szClass[]);
|
||||
native find_ent_by_model(iIndex, szClass[], szModel[]);
|
||||
|
||||
/* Is entity valid? */
|
||||
native is_valid_ent(iIndex);
|
||||
|
||||
/* Proper origin setting, keeps updated with Half-Life engine. */
|
||||
native entity_set_origin(iIndex, Float:fNewOrigin[3]);
|
||||
|
||||
/* Sets the model of an Entity. */
|
||||
native entity_set_model(iIndex, szModel[]);
|
||||
|
||||
/* Remove an entity from the world. */
|
||||
native remove_entity(iIndex);
|
||||
|
||||
/* Return current number of entities in the map */
|
||||
native entity_count();
|
||||
|
||||
/* Simulate two entities colliding/touching. */
|
||||
native fake_touch(iToucher, iTouched);
|
||||
|
||||
/* Dispatch a KeyValuePair, used for initalizing entities when a map spawns them. */
|
||||
native DispatchKeyValue(iIndex, szKey[], szValue[]);
|
||||
|
||||
/* Runs the GameDLL's DispatchSpawn for an entity, I think it's used with DispatchKeyValue. */
|
||||
native DispatchSpawn(iIndex);
|
||||
|
||||
/* Hurts/Kills players in a sphere, like an explosion, Multiplier determines damage. */
|
||||
native RadiusDamage(Float:fExplodeAt[3], iDamageMultiplier, iRadiusMultiplier);
|
||||
|
||||
/* Gives you a velocity in the direction a player is looking, iVelocity is the multiplier. */
|
||||
native VelocityByAim(iIndex, iVelocity, Float:vRetValue[3]);
|
||||
|
||||
/* Will return the contents of a point (inside map? in sky? outside map? etc.). */
|
||||
native PointContents(Float:fCheckAt[3]);
|
||||
|
||||
/* Trace a line from Start(X, Y, Z) to End(X, Y, Z), will return the point hit in vReturn[3]
|
||||
* and an entity index if an entity is hit. */
|
||||
native trace_line(iIgnoreEnt, Float:fStart[3], Float:fEnd[3], Float:vReturn[3]);
|
||||
|
||||
/* Traces a line, and returns the normal to the plane hit in vReturn.
|
||||
* Returns 0 if theres no normal. */
|
||||
native trace_normal(iIgnoreEnt, Float:fStart[3], Float:fEnd[3], Float:vReturn[3]);
|
||||
|
||||
/* Changes a Vector to an Angle vector. */
|
||||
native vector_to_angle(Float:fVector[3], Float:vReturn[3]);
|
||||
|
||||
/* Gets the length of a vector (float[3]). */
|
||||
native Float:vector_length(Float:vVector[3]);
|
||||
|
||||
/* Gets the distance between 2 vectors (float[3]). */
|
||||
native Float:vector_distance(Float:vVector[3], Float:vVector2[3]);
|
||||
|
||||
/* Gets the ID of a grenade. */
|
||||
native get_grenade_id(id, model[], len, grenadeid = 0);
|
||||
|
||||
/* Gets gpGlobals->time from Half-Life */
|
||||
native Float:halflife_time();
|
||||
|
||||
/* Sets map lighting, #OFF to disable. */
|
||||
native set_lights(const Lighting[]);
|
||||
|
||||
// Sets/Gets what engine messages are blocked. */
|
||||
native set_msg_block(iMessage, iMessageFlags);
|
||||
native get_msg_block(iMessage);
|
||||
|
||||
/* Sets Player's View to entity iTargetIndex. */
|
||||
native attach_view(iIndex, iTargetIndex);
|
||||
|
||||
/* Sets Player's View Mode. */
|
||||
native set_view(iIndex, ViewType);
|
||||
|
||||
/* Called when 2 entities touch. */
|
||||
forward pfn_touch(ptr, ptd);
|
||||
|
||||
/* Called once every server frame. May cause lag. */
|
||||
forward server_frame();
|
||||
|
||||
/* Called when a client types kill in console. */
|
||||
forward client_kill(id);
|
||||
|
||||
/* Forward for PreThink()/PostThink() on a player. */
|
||||
forward client_PreThink(id);
|
||||
forward client_PostThink(id);
|
305
plugins/include/engine_const.inc
Executable file
305
plugins/include/engine_const.inc
Executable file
@ -0,0 +1,305 @@
|
||||
/* Engine Constants
|
||||
*
|
||||
* (c) 2004, by the AMX Mod X Development Team
|
||||
*
|
||||
* This file is provided as is (no warranties).
|
||||
*/
|
||||
|
||||
#define SPEAK_NORMAL 0
|
||||
#define SPEAK_MUTED 1
|
||||
#define SPEAK_ALL 2
|
||||
#define SPEAK_LISTENALL 4
|
||||
|
||||
#define CAMERA_NONE 0
|
||||
#define CAMERA_3RDPERSON 1
|
||||
#define CAMERA_UPLEFT 2
|
||||
#define CAMERA_TOPDOWN 3
|
||||
|
||||
#define BLOCK_NOT 0
|
||||
#define BLOCK_ONCE 1
|
||||
#define BLOCK_SET 2
|
||||
|
||||
enum {
|
||||
ARG_BYTE = 1, /* int */
|
||||
ARG_CHAR, /* int */
|
||||
ARG_SHORT, /* int */
|
||||
ARG_LONG, /* int */
|
||||
ARG_ANGLE, /* float */
|
||||
ARG_COORD, /* float */
|
||||
ARG_STRING, /* string */
|
||||
ARG_ENTITY, /* int */
|
||||
}
|
||||
|
||||
/* Int */
|
||||
enum {
|
||||
EV_INT_gamestate = 0,
|
||||
EV_INT_oldbuttons,
|
||||
EV_INT_groupinfo,
|
||||
EV_INT_iuser1,
|
||||
EV_INT_iuser2,
|
||||
EV_INT_iuser3,
|
||||
EV_INT_iuser4,
|
||||
EV_INT_weaponanim,
|
||||
EV_INT_pushmsec,
|
||||
EV_INT_bInDuck,
|
||||
EV_INT_flTimeStepSound,
|
||||
EV_INT_flSwimTime,
|
||||
EV_INT_flDuckTime,
|
||||
EV_INT_iStepLeft,
|
||||
EV_INT_movetype,
|
||||
EV_INT_solid,
|
||||
EV_INT_skin,
|
||||
EV_INT_body,
|
||||
EV_INT_effects,
|
||||
EV_INT_light_level,
|
||||
EV_INT_sequence,
|
||||
EV_INT_gaitsequence,
|
||||
EV_INT_modelindex,
|
||||
EV_INT_playerclass,
|
||||
EV_INT_waterlevel,
|
||||
EV_INT_watertype,
|
||||
EV_INT_spawnflags,
|
||||
EV_INT_flags,
|
||||
EV_INT_colormap,
|
||||
EV_INT_team,
|
||||
EV_INT_fixangle,
|
||||
EV_INT_weapons,
|
||||
EV_INT_rendermode,
|
||||
EV_INT_renderfx,
|
||||
EV_INT_button,
|
||||
EV_INT_impulse,
|
||||
EV_INT_deadflag,
|
||||
}
|
||||
|
||||
/* Float */
|
||||
enum {
|
||||
EV_FL_impacttime = 0,
|
||||
EV_FL_starttime,
|
||||
EV_FL_idealpitch,
|
||||
EV_FL_pitch_speed,
|
||||
EV_FL_ideal_yaw,
|
||||
EV_FL_yaw_speed,
|
||||
EV_FL_ltime,
|
||||
EV_FL_nextthink,
|
||||
EV_FL_gravity,
|
||||
EV_FL_friction,
|
||||
EV_FL_frame,
|
||||
EV_FL_animtime,
|
||||
EV_FL_framerate,
|
||||
EV_FL_health,
|
||||
EV_FL_frags,
|
||||
EV_FL_takedamage,
|
||||
EV_FL_max_health,
|
||||
EV_FL_teleport_time,
|
||||
EV_FL_armortype,
|
||||
EV_FL_armorvalue,
|
||||
EV_FL_dmg_take,
|
||||
EV_FL_dmg_save,
|
||||
EV_FL_dmg,
|
||||
EV_FL_dmgtime,
|
||||
EV_FL_speed,
|
||||
EV_FL_air_finished,
|
||||
EV_FL_pain_finished,
|
||||
EV_FL_radsuit_finished,
|
||||
EV_FL_scale,
|
||||
EV_FL_renderamt,
|
||||
EV_FL_maxspeed,
|
||||
EV_FL_fov,
|
||||
EV_FL_flFallVelocity,
|
||||
EV_FL_fuser1,
|
||||
EV_FL_fuser2,
|
||||
EV_FL_fuser3,
|
||||
EV_FL_fuser4,
|
||||
}
|
||||
|
||||
/* Vector */
|
||||
enum {
|
||||
EV_VEC_origin = 0,
|
||||
EV_VEC_oldorigin,
|
||||
EV_VEC_velocity,
|
||||
EV_VEC_basevelocity,
|
||||
EV_VEC_clbasevelocity,
|
||||
EV_VEC_movedir,
|
||||
EV_VEC_angles,
|
||||
EV_VEC_avelocity,
|
||||
EV_VEC_punchangle,
|
||||
EV_VEC_v_angle,
|
||||
EV_VEC_endpos,
|
||||
EV_VEC_startpos,
|
||||
EV_VEC_absmin,
|
||||
EV_VEC_absmax,
|
||||
EV_VEC_mins,
|
||||
EV_VEC_maxs,
|
||||
EV_VEC_size,
|
||||
EV_VEC_rendercolor,
|
||||
EV_VEC_view_ofs,
|
||||
EV_VEC_vuser1,
|
||||
EV_VEC_vuser2,
|
||||
EV_VEC_vuser3,
|
||||
EV_VEC_vuser4,
|
||||
}
|
||||
|
||||
/* Edict */
|
||||
enum {
|
||||
EV_ENT_chain = 0,
|
||||
EV_ENT_dmg_inflictor,
|
||||
EV_ENT_enemy,
|
||||
EV_ENT_aiment,
|
||||
EV_ENT_owner,
|
||||
EV_ENT_groundentity,
|
||||
EV_ENT_pContainingEntity,
|
||||
EV_ENT_euser1,
|
||||
EV_ENT_euser2,
|
||||
EV_ENT_euser3,
|
||||
EV_ENT_euser4,
|
||||
}
|
||||
|
||||
/* String */
|
||||
enum {
|
||||
EV_SZ_classname = 0,
|
||||
EV_SZ_globalname,
|
||||
EV_SZ_model,
|
||||
EV_SZ_target,
|
||||
EV_SZ_targetname,
|
||||
EV_SZ_netname,
|
||||
EV_SZ_message,
|
||||
EV_SZ_noise,
|
||||
EV_SZ_noise1,
|
||||
EV_SZ_noise2,
|
||||
EV_SZ_noise3,
|
||||
EV_SZ_viewmodel,
|
||||
EV_SZ_weaponmodel,
|
||||
}
|
||||
|
||||
/* Byte */
|
||||
enum {
|
||||
EV_BYTE_controller1 = 0,
|
||||
EV_BYTE_controller2,
|
||||
EV_BYTE_controller3,
|
||||
EV_BYTE_controller4,
|
||||
EV_BYTE_blending1,
|
||||
EV_BYTE_blending2,
|
||||
}
|
||||
|
||||
#define IN_ATTACK (1<<0)
|
||||
#define IN_JUMP (1<<1)
|
||||
#define IN_DUCK (1<<2)
|
||||
#define IN_FORWARD (1<<3)
|
||||
#define IN_BACK (1<<4)
|
||||
#define IN_USE (1<<5)
|
||||
#define IN_CANCEL (1<<6)
|
||||
#define IN_LEFT (1<<7)
|
||||
#define IN_RIGHT (1<<8)
|
||||
#define IN_MOVELEFT (1<<9)
|
||||
#define IN_MOVERIGHT (1<<10)
|
||||
#define IN_ATTACK2 (1<<11)
|
||||
#define IN_RUN (1<<12)
|
||||
#define IN_RELOAD (1<<13)
|
||||
#define IN_ALT1 (1<<14)
|
||||
#define IN_SCORE (1<<15)
|
||||
|
||||
#define FL_FLY (1<<0) /* Changes the SV_Movestep() behavior to not need to be on ground */
|
||||
#define FL_SWIM (1<<1) /* Changes the SV_Movestep() behavior to not need to be on ground (but stay in water) */
|
||||
#define FL_CONVEYOR (1<<2)
|
||||
#define FL_CLIENT (1<<3)
|
||||
#define FL_INWATER (1<<4)
|
||||
#define FL_MONSTER (1<<5)
|
||||
#define FL_GODMODE (1<<6)
|
||||
#define FL_NOTARGET (1<<7)
|
||||
#define FL_SKIPLOCALHOST (1<<8) /* Don't send entity to local host, it's predicting this entity itself */
|
||||
#define FL_ONGROUND (1<<9) /* At rest / on the ground */
|
||||
#define FL_PARTIALGROUND (1<<10) /* not all corners are valid */
|
||||
#define FL_WATERJUMP (1<<11) /* player jumping out of water */
|
||||
#define FL_FROZEN (1<<12) /* Player is frozen for 3rd person camera */
|
||||
#define FL_FAKECLIENT (1<<13) /* JAC: fake client, simulated server side; don't send network messages to them */
|
||||
#define FL_DUCKING (1<<14) /* Player flag -- Player is fully crouched */
|
||||
#define FL_FLOAT (1<<15) /* Apply floating force to this entity when in water */
|
||||
#define FL_GRAPHED (1<<16) /* worldgraph has this ent listed as something that blocks a connection */
|
||||
#define FL_IMMUNE_WATER (1<<17)
|
||||
#define FL_IMMUNE_SLIME (1<<18)
|
||||
#define FL_IMMUNE_LAVA (1<<19)
|
||||
#define FL_PROXY (1<<20) /* This is a spectator proxy */
|
||||
#define FL_ALWAYSTHINK (1<<21) /* Brush model flag -- call think every frame regardless of nextthink - ltime (for constantly changing velocity/path) */
|
||||
#define FL_BASEVELOCITY (1<<22) /* Base velocity has been applied this frame (used to convert base velocity into momentum) */
|
||||
#define FL_MONSTERCLIP (1<<23) /* Only collide in with monsters who have FL_MONSTERCLIP set */
|
||||
#define FL_ONTRAIN (1<<24) /* Player is _controlling_ a train, so movement commands should be ignored on client during prediction. */
|
||||
#define FL_WORLDBRUSH (1<<25) /* Not moveable/removeable brush entity (really part of the world, but represented as an entity for transparency or something) */
|
||||
#define FL_SPECTATOR (1<<26) /* This client is a spectator, don't run touch functions, etc. */
|
||||
#define FL_CUSTOMENTITY (1<<29) /* This is a custom entity */
|
||||
#define FL_KILLME (1<<30) /* This entity is marked for death -- This allows the engine to kill ents at the appropriate time */
|
||||
#define FL_DORMANT (1<<31) /* Entity is dormant, no updates to client */
|
||||
|
||||
#define SOLID_NOT 0 /* no interaction with other objects */
|
||||
#define SOLID_TRIGGER 1 /* touch on edge, but not blocking */
|
||||
#define SOLID_BBOX 2 /* touch on edge, block */
|
||||
#define SOLID_SLIDEBOX 3 /* touch on edge, but not an onground */
|
||||
#define SOLID_BSP 4 /* bsp clip, touch on edge, block */
|
||||
|
||||
#define MOVETYPE_NONE 0 /* never moves */
|
||||
#define MOVETYPE_ANGLENOCLIP 1
|
||||
#define MOVETYPE_ANGLECLIP 2
|
||||
#define MOVETYPE_WALK 3 /* Player only - moving on the ground */
|
||||
#define MOVETYPE_STEP 4 /* gravity, special edge handling -- monsters use this */
|
||||
#define MOVETYPE_FLY 5 /* No gravity, but still collides with stuff */
|
||||
#define MOVETYPE_TOSS 6 /* gravity/collisions */
|
||||
#define MOVETYPE_PUSH 7 /* no clip to world, push and crush */
|
||||
#define MOVETYPE_NOCLIP 8 /* No gravity, no collisions, still do velocity/avelocity */
|
||||
#define MOVETYPE_FLYMISSILE 9 /* extra size to monsters */
|
||||
#define MOVETYPE_BOUNCE 10 /* Just like Toss, but reflect velocity when contacting surfaces */
|
||||
#define MOVETYPE_BOUNCEMISSILE 11 /* bounce w/o gravity */
|
||||
#define MOVETYPE_FOLLOW 12 /* track movement of aiment */
|
||||
#define MOVETYPE_PUSHSTEP 13 /* BSP model that needs physics/world collisions (uses nearest hull for world collision) */
|
||||
|
||||
#define CONTENTS_EMPTY -1
|
||||
#define CONTENTS_SOLID -2
|
||||
#define CONTENTS_WATER -3
|
||||
#define CONTENTS_SLIME -4
|
||||
#define CONTENTS_LAVA -5
|
||||
#define CONTENTS_SKY -6
|
||||
#define CONTENTS_ORIGIN -7 /* removed at csg time */
|
||||
#define CONTENTS_CLIP -8 /* changed to contents_solid */
|
||||
#define CONTENTS_CURRENT_0 -9
|
||||
#define CONTENTS_CURRENT_90 -10
|
||||
#define CONTENTS_CURRENT_180 -11
|
||||
#define CONTENTS_CURRENT_270 -12
|
||||
#define CONTENTS_CURRENT_UP -13
|
||||
#define CONTENTS_CURRENT_DOWN -14
|
||||
#define CONTENTS_TRANSLUCENT -15
|
||||
#define CONTENTS_LADDER -16
|
||||
|
||||
#define DMG_GENERIC 0 /* generic damage was done */
|
||||
#define DMG_CRUSH (1<<0) /* crushed by falling or moving object */
|
||||
#define DMG_BULLET (1<<1) /* shot */
|
||||
#define DMG_SLASH (1<<2) /* cut, clawed, stabbed */
|
||||
#define DMG_BURN (1<<3) /* heat burned */
|
||||
#define DMG_FREEZE (1<<4) /* frozen */
|
||||
#define DMG_FALL (1<<5) /* fell too far */
|
||||
#define DMG_BLAST (1<<6) /* explosive blast damage */
|
||||
#define DMG_CLUB (1<<7) /* crowbar, punch, headbutt */
|
||||
#define DMG_SHOCK (1<<8) /* electric shock */
|
||||
#define DMG_SONIC (1<<9) /* sound pulse shockwave */
|
||||
#define DMG_ENERGYBEAM (1<<10) /* laser or other high energy beam */
|
||||
#define DMG_NEVERGIB (1<<12) /* with this bit OR'd in, no damage type will be able to gib victims upon death */
|
||||
#define DMG_ALWAYSGIB (1<<13) /* with this bit OR'd in, any damage type can be made to gib victims upon death */
|
||||
#define DMG_DROWN (1<<14) /* Drowning */
|
||||
/* time-based damage */
|
||||
#define DMG_TIMEBASED (~(0x3fff)) /* mask for time-based damage */
|
||||
/* TF Additions */
|
||||
#define DMG_PARALYZE (1<<15) /* slows affected creature down */
|
||||
#define DMG_NERVEGAS (1<<16) /* nerve toxins, very bad */
|
||||
#define DMG_POISON (1<<17) /* blood poisioning */
|
||||
#define DMG_RADIATION (1<<18) /* radiation exposure */
|
||||
#define DMG_DROWNRECOVER (1<<19) /* drowning recovery */
|
||||
#define DMG_ACID (1<<20) /* toxic chemicals or acid burns */
|
||||
#define DMG_SLOWBURN (1<<21) /* in an oven */
|
||||
#define DMG_SLOWFREEZE (1<<22) /* in a subzero freezer */
|
||||
#define DMG_MORTAR (1<<23) /* Hit by air raid (done to distinguish grenade from mortar) */
|
||||
|
||||
#define EF_BRIGHTFIELD 1 /* swirling cloud of particles */
|
||||
#define EF_MUZZLEFLASH 2 /* single frame ELIGHT on entity attachment 0 */
|
||||
#define EF_BRIGHTLIGHT 4 /* DLIGHT centered at entity origin */
|
||||
#define EF_DIMLIGHT 8 /* player flashlight */
|
||||
#define EF_INVLIGHT 16 /* get lighting from ceiling */
|
||||
#define EF_NOINTERP 32 /* don't interpolate the next frame */
|
||||
#define EF_LIGHT 64 /* rocket flare glow sprite */
|
||||
#define EF_NODRAW 128 /* don't draw entity */
|
182
plugins/include/engine_stocks.inc
Executable file
182
plugins/include/engine_stocks.inc
Executable file
@ -0,0 +1,182 @@
|
||||
/* Engine Stocks
|
||||
*
|
||||
* (c) 2004, AssKicR, Freecode & T(+)rget
|
||||
* modified by the AMX Mod X Development Team
|
||||
*
|
||||
* This file is provided as is (no warranties).
|
||||
*/
|
||||
|
||||
/* Changes an integer vec to a floating vec */
|
||||
stock IVecFVec(IVec[3], Float:FVec[3])
|
||||
{
|
||||
FVec[0] = float(IVec[0])
|
||||
FVec[1] = float(IVec[1])
|
||||
FVec[2] = float(IVec[2])
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
/* Changes a float vec to an integer vec */
|
||||
stock FVecIVec(Float:FVec[3], IVec[3])
|
||||
{
|
||||
IVec[0] = floatround(FVec[0])
|
||||
IVec[1] = floatround(FVec[1])
|
||||
IVec[2] = floatround(FVec[2])
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
/* Get the Button(s) user is pressing */
|
||||
stock get_user_button(id)
|
||||
return entity_get_int(id, EV_INT_button)
|
||||
|
||||
stock get_user_oldbutton(id)
|
||||
return entity_get_int(id, EV_INT_oldbuttons)
|
||||
|
||||
/* Get flags an entity is flagged with */
|
||||
stock get_entity_flags(ent)
|
||||
return entity_get_int(ent, EV_INT_flags)
|
||||
|
||||
/* Get the distance between two entities */
|
||||
stock get_entity_distance(ent1, ent2)
|
||||
{
|
||||
new Float:orig1[3], Float:orig2[3], origin1[3], origin2[3]
|
||||
entity_get_vector(ent1, EV_VEC_origin, orig1)
|
||||
for(new a = 0; a < 3; a++)
|
||||
origin1[a] = floatround(orig1[a])
|
||||
|
||||
entity_get_vector(ent2, EV_VEC_origin, orig2)
|
||||
for(new b = 0; b < 3; b++)
|
||||
origin2[b] = floatround(orig2[b])
|
||||
|
||||
return get_distance(origin1, origin2)
|
||||
}
|
||||
|
||||
/* Get grenade thrown by this user */
|
||||
stock get_grenade(id)
|
||||
{
|
||||
new iGrenade = find_entity(-1, "grenade")
|
||||
while(iGrenade > 0)
|
||||
{
|
||||
if(entity_get_edict(iGrenade, EV_ENT_owner) == id)
|
||||
return iGrenade
|
||||
|
||||
iGrenade = find_entity(iGrenade, "grenade")
|
||||
}
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
/* Get origin of a brush entity */
|
||||
stock get_brush_entity_origin(ent, Float:orig[3])
|
||||
{
|
||||
new Float:Min[3], Float:Max[3]
|
||||
entity_get_vector(ent, EV_VEC_mins, Min)
|
||||
entity_get_vector(ent, EV_VEC_maxs, Max)
|
||||
for(new a = 0; a < 3; a++)
|
||||
orig[a] = (Min[a] + Max[a]) / 2
|
||||
|
||||
return orig[0] && orig[1] && orig[2]
|
||||
}
|
||||
|
||||
/* Remove entity by name */
|
||||
stock remove_entity_name(eName[])
|
||||
{
|
||||
new iEntity = FindEntity(-1, eName)
|
||||
while (iEntity > 0)
|
||||
{
|
||||
remove_entity(iEntity)
|
||||
iEntity = find_entity(-1, eName)
|
||||
}
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
/* Get the contents of the point a user is aiming at */
|
||||
stock ViewContents(id)
|
||||
{
|
||||
new origin[3],Float:Orig[3]
|
||||
get_user_origin( id, origin, 3 )
|
||||
for(new a = 0; a < 3; a++)
|
||||
Orig[a] = float(origin[a])
|
||||
|
||||
return PointContents( Orig )
|
||||
}
|
||||
|
||||
stock get_speed(ent)
|
||||
{
|
||||
new Float:Vel[3], rVel[3]
|
||||
entity_get_vector(ent, EV_VEC_velocity, Vel)
|
||||
for(new i = 0; i < 3; i++)
|
||||
rVel[i] = floatround(Vel[i])
|
||||
|
||||
return sqroot(rVel[0] * rVel[0] + rVel[1] * rVel[1] + rVel[2] * rVel[2])
|
||||
}
|
||||
|
||||
/* Creates a death message. */
|
||||
stock make_deathmsg(killer,victim,headshot,weapon[])
|
||||
{
|
||||
message_begin(MSG_ALL,get_user_msgid("DeathMsg"),{0,0,0},0)
|
||||
write_byte( killer )
|
||||
write_byte( victim )
|
||||
write_byte( headshot )
|
||||
write_string( weapon[] )
|
||||
message_end()
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
/* Kills a user without a message. */
|
||||
stock user_silentkill(index)
|
||||
{
|
||||
set_msg_block(get_user_msgid("DeathMsg"),BLOCK_ONCE)
|
||||
user_kill(index,1)
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
/* Set endering of an entity */
|
||||
stock set_rendering(index,fx=kRenderFxNone, r=255,g=255,b=255, render=kRenderNormal,amount=16)
|
||||
{
|
||||
Entvars_Set_Int(index,EV_INT_renderfx,fx)
|
||||
new Float:RenderColor[3]
|
||||
RenderColor[0] = float(r)
|
||||
RenderColor[1] = float(g)
|
||||
RenderColor[2] = float(b)
|
||||
Entvars_Set_Vector(index,EV_VEC_rendercolor,RenderColor)
|
||||
Entvars_Set_Int(index,EV_INT_rendermode,render)
|
||||
Entvars_Set_Float(index,EV_FL_renderamt,float(amount))
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
/* Set flags on an entity */
|
||||
stock set_entity_flags(ent,flag,onoff)
|
||||
{
|
||||
if ((Entvars_Get_Int(ent,EV_INT_flags)&flag) > 0)
|
||||
{
|
||||
if (onoff == 1)
|
||||
{
|
||||
return 2
|
||||
}
|
||||
else
|
||||
{
|
||||
Entvars_Set_Int(ent,EV_INT_flags,Entvars_Get_Int(ent,EV_INT_flags)-flag)
|
||||
return 1
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (onoff == 0)
|
||||
{
|
||||
return 2
|
||||
}
|
||||
else
|
||||
{
|
||||
Entvars_Set_Int(ent,EV_INT_flags,Entvars_Get_Int(ent,EV_INT_flags)+flag)
|
||||
return 1
|
||||
}
|
||||
}
|
||||
|
||||
return 0
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
/* Files functions
|
||||
*
|
||||
* (c) 2002-2004, OLO
|
||||
* modified by BAILOPAN, Manip, PM, SniperBeamer
|
||||
* modified by the AMX Mod X Development Team
|
||||
*
|
||||
* This file is provided as is (no warranties).
|
||||
*/
|
||||
@ -24,7 +24,7 @@ native delete_file(const file[]);
|
||||
native file_exists(const file[]);
|
||||
|
||||
/* Returns a file size in bytes if flag is set to 0.
|
||||
When flag is set to 1 returns number of lines in the file,
|
||||
and when flags is 2, function returns 1 if the file ends
|
||||
with line feed. If file doesn't exist returns -1.*/
|
||||
* When flag is set to 1 returns number of lines in the file,
|
||||
* and when flags is 2, function returns 1 if the file ends
|
||||
* with line feed. If file doesn't exist returns -1. */
|
||||
native file_size(const file[], flag=0);
|
@ -1,31 +1,23 @@
|
||||
/* Fun functions
|
||||
*
|
||||
* (c) 2002-2004, OLO
|
||||
* modified by BAILOPAN, Manip, PM, SniperBeamer
|
||||
* (c) 2004, the AMX Mod X Development Team
|
||||
*
|
||||
* This file is provided as is (no warranties).
|
||||
*/
|
||||
|
||||
/* Sets who can listen who. Function returns 0
|
||||
* if for some reasons this setting can't be done. */
|
||||
native set_user_listening(receiver,sender,listen);
|
||||
/* (untested) Returns 1 if receiver hears sender via voice communication. */
|
||||
native get_client_listen(receiver, sender);
|
||||
|
||||
/* Returns 1 if receiver hears sender via voice communication. */
|
||||
native get_user_listening(receiver,sender);
|
||||
/* (untested) Sets who can listen who. Function returns 0 if for some reasons this setting can't be done. */
|
||||
native set_client_listen(receiver, sender, listen);
|
||||
|
||||
/* Sets player godmode. If you want to disable godmode set only first parameter. */
|
||||
native set_user_godmode(index, godmode = 0);
|
||||
|
||||
/* Returns 1 if godmode is set. */
|
||||
/* (untested) Returns 1 if godmode is set. */
|
||||
native get_user_godmode(index);
|
||||
|
||||
/* Sets player noclip. If you want to disable noclip set only first parameter. */
|
||||
native set_user_noclip(index,noclip = 0);
|
||||
|
||||
/* Returns 1 if noclip is set. */
|
||||
native get_user_noclip(index);
|
||||
|
||||
/* Sets player frags. */
|
||||
/* Sets player frags. Doesn't autoupdate scoreboard, as Olo's version didn't. Fix? */
|
||||
native set_user_frags(index, frags);
|
||||
|
||||
/* Sets player armor. */
|
||||
@ -45,7 +37,8 @@ native set_user_rendering(index,fx = kRenderFxNone, r=255,g=255,b=255, render =
|
||||
* is announced with proper message to all players. */
|
||||
native give_item(index, const item[]);
|
||||
|
||||
/* Sets hit zones for player. This event is announced
|
||||
/* (not yet implemented, don't know how to use native)
|
||||
* Sets hit zones for player. This event is announced
|
||||
* with proper message to all players.
|
||||
* Parts of body are as bits:
|
||||
* 2 - head
|
||||
@ -55,14 +48,18 @@ native give_item(index,const item[]);
|
||||
* 32 - right arm
|
||||
* 64 - left leg
|
||||
* 128 - right leg */
|
||||
native set_user_hitzones(index=0,target=0,body=255);
|
||||
native set_hitzones(body = 255);
|
||||
|
||||
/* Returns hit zones for player. */
|
||||
native get_user_hitzones(index,target);
|
||||
/* backwards compatibility */
|
||||
stock set_user_hitzones(index=0,target=0,body=255)
|
||||
return set_hitzones(body)
|
||||
|
||||
/* Makes that player spawns. This event is announced
|
||||
* with proper message to all players. */
|
||||
native user_spawn(index);
|
||||
/* Get current hitzones. */
|
||||
native get_hitzones();
|
||||
|
||||
/* backwards compatibility */
|
||||
stock get_user_hitzones(index,target)
|
||||
return get_hitzones()
|
||||
|
||||
/* Sets users max. speed. */
|
||||
native set_user_maxspeed(index, Float:speed = -1.0);
|
||||
@ -74,10 +71,20 @@ native Float:get_user_maxspeed(index);
|
||||
native set_user_gravity(index, Float:gravity = 1.0);
|
||||
|
||||
/* Returns users gravity. */
|
||||
native Float:get_user_gravity(index);
|
||||
native get_user_gravity(index);
|
||||
|
||||
/* Gives money to user. */
|
||||
native set_user_money(index, money, flash = 1);
|
||||
|
||||
/* Returns users money. */
|
||||
native get_user_money(index);
|
||||
|
||||
/* Spawns entity. */
|
||||
native spawn(index);
|
||||
|
||||
/* backwards compatibility */
|
||||
stock user_spawn(index)
|
||||
return spawn(index)
|
||||
|
||||
/* CS: Set deaths(should be removed to CS module later) (doesn't update info right away? fix later?) */
|
||||
native set_user_deaths_cs(index, newdeaths);
|
@ -1,7 +1,7 @@
|
||||
/* MySQL functions
|
||||
*
|
||||
* (c) Copyright 2002-2004, dJeyL
|
||||
* modified by BAILOPAN, Manip, PM, SniperBeamer
|
||||
* modified by the AMX Mod X Development Team
|
||||
*
|
||||
* This file is provided as is (no warranties).
|
||||
*/
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* Strings manipulation
|
||||
*
|
||||
* (c) 2002-2004, OLO
|
||||
* modified by BAILOPAN, Manip, PM, SniperBeamer
|
||||
* modified by the AMX Mod X Development Team
|
||||
*
|
||||
* This file is provided as is (no warranties).
|
||||
*/
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* Vault
|
||||
*
|
||||
* (c) 2002-2004, OLO
|
||||
* modified by BAILOPAN, Manip, PM, SniperBeamer
|
||||
* modified by the AMX Mod X Development Team
|
||||
*
|
||||
* This file is provided as is (no warranties).
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user