AMXX-BG.INFO ojos.inc Raw include

ojos.inc

Original include source with line numbers.

Back Download .inc
1
2 #if defined _engine_included
3
4 #define DISPATCH_KEYVALUE(%1,%2,%3) DispatchKeyValue(%1,%2,%3)
5
6 #define SET_INT(%1,%2,%3) entity_set_int(%1,EV_INT_%2,%3)
7 #define GET_INT(%1,%2) entity_get_int(%1, EV_INT_%2)
8 #define SET_FLOAT(%1,%2,%3) entity_set_float(%1,EV_FL_%2,%3)
9 #define GET_FLOAT(%1,%2) entity_get_float(%1,EV_FL_%2)
10 #define SET_VECTOR(%1,%2,%3) entity_set_vector(%1,EV_VEC_%2,%3)
11 #define GET_VECTOR(%1,%2,%3) entity_get_vector(%1,EV_VEC_%2,%3)
12 #define SET_EDICT(%1,%2,%3) entity_set_edict(%1,EV_ENT_%2,%3)
13 #define GET_EDICT(%1,%2,%3) entity_get_edict(%1,EV_ENT_%2,%3)
14 #define SET_STRING(%1,%2,%3) entity_set_string(%1,EV_SZ_%2,%3)
15 #define GET_STRING(%1,%2,%3,%4) entity_get_string(%1,EV_SZ_%2,%3,%4)
16
17 #define FIND_ENT_BY_CLASS(%1,%2) find_ent_by_class(%1,%2)
18
19 #define IS_VALID_ENT(%1) is_valid_ent(%1)
20 #define CREATE_ENTITY(%1) create_entity(%1)
21 #define REMOVE_ENTITY(%1) remove_entity(%1)
22 #define SET_MODEL(%1,%2) entity_set_model(%1,%2)
23 #define MDLL_SPAWN(%1) DispatchSpawn(%1)
24 #define THINK(%1,%2) register_think(%1,%2)
25 #define FAKE_TOUCH(%1,%2) fake_touch(%1,%2)
26 #define POINTCONTENTS(%1) point_contents(%1)
27 #define TRACE_LINE(%1,%2,%3,%4) trace_line(%1,%2,%3,%4)
28
29 #else
30 //Make sure its loaded
31 #if !defined _fakemeta_included
32 #include <fakemeta>
33 #endif
34
35 stock DISPATCH_KEYVALUE(idEntity,szKeyName[],szValue[]) {
36 set_kvd(0,KV_KeyName,szKeyName)
37 set_kvd(0,KV_Value,szValue)
38 set_kvd(0,KV_fHandled,0)
39 return dllfunc(DLLFunc_KeyValue,idEntity,0)
40 }
41
42 #define SET_INT(%1,%2,%3) set_pev(%1,pev_%2,%3)
43 #define GET_INT(%1,%2) pev(%1,pev_%2)
44 #define SET_FLOAT(%1,%2,%3) set_pev(%1,pev_%2,%3)
45 #define GET_FLOAT(%1,%2) pev(%1,pev_%2)
46 #define SET_VECTOR(%1,%2,%3) set_pev(%1,pev_%2,%3)
47 #define GET_VECTOR(%1,%2,%3) pev(%1,pev_%2,%3)
48 #define SET_EDICT(%1,%2,%3) set_pev(%1,pev_%2,%3)
49 #define GET_EDICT(%1,%2,%3) pev(%1,pev_%2,%3)
50 #define SET_STRING(%1,%2,%3) set_pev(%1,pev_%2,%3)
51 #define GET_STRING(%1,%2,%3,%4) pev(%1,pev_%2,%3,%4)
52
53 #define FIND_ENT_BY_CLASS(%1,%2) engfunc(EngFunc_FindEntityByString,%1,"classname",%2)
54
55 #define IS_VALID_ENT(%1) pev_valid(%1)
56 #define CREATE_ENTITY(%1) engfunc(EngFunc_CreateNamedEntity,engfunc(EngFunc_AllocString,%1))
57 #define REMOVE_ENTITY(%1) engfunc(EngFunc_RemoveEntity,%1)
58 #define SET_MODEL(%1,%2) engfunc(EngFunc_SetModel,%1,%2)
59 #define MDLL_SPAWN(%1) dllfunc(DLLFunc_Spawn,%1)
60 #define THINK(%1,%2) register_forward(FM_Think,%2)
61 #define FAKE_TOUCH(%1,%2) dllfunc(DLLFunc_Touch,%1,%2)
62 #define POINTCONTENTS(%1) engfunc(EngFunc_PointContents,%1)
63 #define TRACE_LINE(%1,%2,%3,%4) engfunc(EngFunc_TraceLine,%1,%2,%3,%4)
64 #endif
65
66 #define NEXTTHINK(%1,%2) SET_FLOAT(%1,nextthink,get_gametime()+%2)
67 #define GET_ORIGIN(%1,%2) GET_VECTOR(%1,origin,%2)
68 #define SET_VISIBILE(%1,%2) SET_INT(%1,effects,%2==1?GET_INT(%1,effects)&~EF_NODRAW:GET_INT(%1,effects)|EF_NODRAW)
69
70 stock FAKE_DAMAGE(idvictim,szClassname[],Float:takedmgdamage,damagetype)
71 {
72 new entity = CREATE_ENTITY("trigger_hurt")
73 if (entity)
74 {
75 new szDamage[16]
76 format(szDamage,15,"%f",takedmgdamage * 2)
77 DISPATCH_KEYVALUE(entity,"dmg",szDamage)
78 format(szDamage,15,"%i",damagetype)
79 DISPATCH_KEYVALUE(entity,"damagetype",szDamage)
80 MDLL_SPAWN(entity)
81 SET_STRING(entity,classname,szClassname)
82 FAKE_TOUCH(entity,idvictim)
83 REMOVE_ENTITY(entity)
84 return 1
85 }
86 return 0
87 }
88
89