This site is a testing version, but all data is shared with the live forum.


Raised This Month: $ Target: $400
 0% 

Entity outline box


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
jasonf20
Junior Member
Join Date: Mar 2008
Old 03-18-2008 , 10:53   Entity outline box
Reply With Quote #1

hello

i searched around alot before asking and i did find some things but i was not able to understand them..

so anyway im trying to make an entity throgh a menu.. i maneged to make the entity but now i have 1 problems left:
I need to be able to see the outline of the entity so that i can see how big it is and where it is while editing.


btw i tried looking throgh walkguard to understand it but i couldnt get it to work

thanks a lot for ur help
jasonf20 is offline
Vet
Veteran Member
Join Date: Jul 2006
Location: I|O wa
Old 03-19-2008 , 00:31   Re: Entity outline box
Reply With Quote #2

Not totally sure I understand the question. What kind (classname) of entity are you creating? Are you setting a model or sprite for it?
Entities you create are only a single point on the map unless you recreate an existing brush model. If you need to know the size of the model, you'll probably need to use a model viewer or creater.
__________________
=====================================
- My Plugins -
=====================================
Vet is offline
Send a message via MSN to Vet
jasonf20
Junior Member
Join Date: Mar 2008
Old 03-19-2008 , 01:25   Re: Entity outline box
Reply With Quote #3

hh habve u seen walkguard or pherhaps brush_edit plugins? im trying to make 1 like that it should be just an invisible squere so far i havent set a model. do i need to?
jasonf20 is offline
Vet
Veteran Member
Join Date: Jul 2006
Location: I|O wa
Old 03-19-2008 , 13:35   Re: Entity outline box
Reply With Quote #4

I believe those are for working on existing entities. If, like you said, you're going to MAKE an entity, it will only consist of a single point at the origin, unless you give it a size. In which case you already know what the size and origin are because you created it. (if I understand you right)

It might help if you were more specific about what you're trying to accomplish.
__________________
=====================================
- My Plugins -
=====================================

Last edited by Vet; 03-19-2008 at 13:37.
Vet is offline
Send a message via MSN to Vet
Orangutanz
Veteran Member
Join Date: Apr 2006
Old 03-29-2008 , 08:34   Re: Entity outline box
Reply With Quote #5

Might be a bit late but download SHP Tools in my sig, it does what you require.
You just need to supply an ID so it'll draw a pretty box around your entity.
__________________
|<-- Retired from everything Small/Pawn related -->|
You know when you've been Rango'd
Orangutanz is offline
Rosenstein
Senior Member
Join Date: Feb 2008
Location: Serbia
Old 06-13-2012 , 15:29   Re: Entity outline box
Reply With Quote #6

Quote:
Originally Posted by Orangutanz View Post
Might be a bit late but download SHP Tools in my sig, it does what you require.
You just need to supply an ID so it'll draw a pretty box around your entity.
^ And in case somebody comes to this thread by searching SHP Tools or Outlining an Entity, I shall paste the code of that plugin which I have found by searching on google.
Since Orangutanz does not have download link in his sig anymore, and his site is down.

PHP Code:
/*    Copyright © 2006, Space Headed Productions

    SHP Tools is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
    as published by the Free Software Foundation.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with SHP Tools; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
*/

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hlsdk_const>

new const PLUGIN[] = "SHP Tools"
new const VERSION[] = "1.0"
new const AUTHOR[] = "Space Headed"

#define HOOK_NONE                0
#define HOOK_SPAWN                (1<<0)
#define HOOK_THINK                (1<<1)
#define HOOK_USE                (1<<2)
#define HOOK_TOUCH                (1<<3)
#define HOOK_BLOCKED            (1<<4)
#define HOOK_KEYVALUE            (1<<5)
#define HOOK_SETABSBOX            (1<<6)
#define HOOK_ALERT                (1<<7)
#define HOOK_CREATENAMEDENTITY    (1<<8)
#define HOOK_CREATEENTITY        (1<<9)
#define HOOK_REMOVEENTITY        (1<<10)
#define HOOK_SETMODEL            (1<<11)
#define HOOK_SETKEYVALUE            (1<<12)
#define HOOK_SETCLIENTKEYVALUE    (1<<13)
#define HOOK_EMITSOUND            (1<<14)
#define HOOK_EMITAMBIENTSOUND        (1<<15)
#define HOOK_ALLOCSTRING            (1<<16)
#define HOOK_SETVIEW            (1<<17)

new cvar_api
new cvar_msg
new cvar_log

new bool:hook_this_message
new logfile[128]
new 
Tracer[33]
new 
Float:TracerTime[33]
new 
beam_texture

public plugin_precache()
{
    
cvar_api register_cvar("hook_api"""FCVAR_EXTDLL)
    
cvar_msg register_cvar("hook_msg"""FCVAR_EXTDLL)
    
cvar_log register_cvar("logfile""0"FCVAR_EXTDLL)
    
beam_texture precache_model("sprites/lgtning.spr")

    new 
mapname[32]
    
get_mapname(mapname31)
    
UTIL_ServerConsole_Printf("-------- %s Loaded --------"PLUGIN)

    
register_forward(FM_Spawn"Spawn")
    
register_forward(FM_Think"Think")
    
register_forward(FM_Use"Use"1)
    
register_forward(FM_Touch"Touch")
    
register_forward(FM_Blocked"Blocked")
    
register_forward(FM_KeyValue"KeyValue")
    
register_forward(FM_SetAbsBox"SetAbsBox")
    
    
register_forward(FM_AlertMessage"AlertMessage")
    
register_forward(FM_MessageBegin"MessageBegin")
    
register_forward(FM_MessageEnd"MessageEnd")
    
register_forward(FM_WriteByte"WriteByte")
    
register_forward(FM_WriteChar"WriteChar")
    
register_forward(FM_WriteShort"WriteShort")
    
register_forward(FM_WriteLong"WriteLong")
    
register_forward(FM_WriteAngle"WriteAngle")
    
register_forward(FM_WriteCoord"WriteCoord")
    
register_forward(FM_WriteString"WriteString")
    
register_forward(FM_WriteEntity"WriteEntity")

    
register_forward(FM_CreateNamedEntity"CreateNamedEntity"1)
    
register_forward(FM_CreateEntity"CreateEntity"1)
    
register_forward(FM_RemoveEntity"RemoveEntity")
    
register_forward(FM_SetModel"SetModel")
    
register_forward(FM_SetKeyValue"SetKeyValue")
    
register_forward(FM_SetClientKeyValue"SetClientKeyValue")

    
register_forward(FM_EmitSound"EmitSound")
    
register_forward(FM_EmitAmbientSound"EmitAmbientSound")

    
register_forward(FM_SetView"SetView")

    
register_forward(FM_AllocString"AllocString"1)

    
register_forward(FM_TraceLine"TraceLine_Post"1)
}

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_clcmd("drawent""ClientCommand_DrawEnt"ADMIN_RCON"- draws a box around an entity")
    
register_clcmd("traceent""ClientCommand_EntTracer"ADMIN_RCON"- traces what entity your viewing")
    
register_srvcmd("listapi""ServerCommand_ListApi")
    
register_srvcmd("printapi""ServerCommand_PrintApi")
    
register_srvcmd("listent""ServerCommand_ListEnt")
    
register_srvcmd("printent""ServerCommand_PrintEnt")
    
register_srvcmd("listmsg""ServerCommand_ListMsg")
    
register_srvcmd("printmsg""ServerCommand_PrintMsg")
    
register_srvcmd("printlog""ServerCommand_PrintLog")
}

public 
plugin_pause()
{
    
UTIL_ServerConsole_Printf("-------- %s Paused --------"PLUGIN)
}

public 
plugin_unpause()
{
    
UTIL_ServerConsole_Printf("-------- %s Unpaused --------"PLUGIN)
}

// Api Hooks
public TraceLine_Post(Float:v1[3], Float:v2[3], noMonsterspEnt)
{
    if(
is_user_connected(pEnt))
    {
        static 
Float:g_time
        global_get
(glb_timeg_time)
        if(
Tracer[pEnt] && g_time TracerTime[pEnt])
        {
            
TracerTime[pEnt] = g_time 1.0

            
static entity
            entity 
get_tr(TR_pHit)
            if(
pev_valid(entity))
            {
                static 
classname[32]
                
pev(entitypev_classnameclassname31)
                
client_print(pEntprint_chat"Entity Index: %i"entity)
                
client_print(pEntprint_chat"Classname: %s"classname)
                
client_print(pEntprint_chat" ")    
            }
        }
    }
}

public 
Spawn(id)
{
    if(
pev_valid(id))
    {
        if(
UTIL_ReadCvar(cvar_apiHOOK_SPAWN))
        {
            static 
classname[32]
            
pev(idpev_classnameclassname31)

            static 
netname[32]
            
pev(idpev_netnamenetname31)
            
UTIL_ServerConsole_Printf("Entity %d (^"%s^") SPAWNS"id, (netname[0] != 0) ? netname classname)
        }
    }
}

public 
Think(id)
{
    if(
pev_valid(id))
    {
        if(
UTIL_ReadCvar(cvar_apiHOOK_THINK))
        {
            static 
classname[32]
            
pev(idpev_classnameclassname31)

            static 
netname[32]
            
pev(idpev_netnamenetname31)
            
UTIL_ServerConsole_Printf("Entity %d (^"%s^") THINKS"id, (netname[0] != 0) ? netname classname)
        }
    }
}

public Use(
pUsedpOther)
{
    if(
pev_valid(pUsed) && pev_valid(pOther))
    {
        if(
UTIL_ReadCvar(cvar_apiHOOK_USE))
        {
            static 
classname1[32], classname2[32]
            
pev(pUsedpev_classnameclassname131)
            
pev(pOtherpev_classnameclassname231)

            static 
netname1[32], netname2[32]
            
pev(pUsedpev_netnamenetname131)
            
pev(pOtherpev_netnamenetname231)
            
UTIL_ServerConsole_Printf("Entity %d (^"%s^") USES Entity %d (^"%s^")"pUsed, (netname1[0] != 0) ? netname1 classname1pOther, (netname2[0] != 0) ? netname2 classname2)
        }
    }
}

public 
Touch(pTouchedpOther)
{
    if(
pev_valid(pTouched) && pev_valid(pOther))
    {
        if(
UTIL_ReadCvar(cvar_apiHOOK_TOUCH))
        {
            static 
classname1[32], classname2[32]
            
pev(pTouchedpev_classnameclassname131)
            
pev(pOtherpev_classnameclassname231)

            static 
netname1[32], netname2[32]
            
pev(pTouchedpev_netnamenetname131)
            
pev(pOtherpev_netnamenetname231)
            
UTIL_ServerConsole_Printf("Entity %d (^"%s^") TOUCHES Entity %d (^"%s^")"pTouched, (netname1[0] != 0) ? netname1 classname1pOther, (netname2[0] != 0) ? netname2 classname2)
        }
    }
}

public 
Blocked(pBlockedpOther)
{
    if(
pev_valid(pBlocked) && pev_valid(pOther))
    {
        if(
UTIL_ReadCvar(cvar_apiHOOK_BLOCKED))
        {
            static 
classname1[32], classname2[32]
            
pev(pBlockedpev_classnameclassname131)
            
pev(pOtherpev_classnameclassname231)

            static 
netname1[32], netname2[32]
            
pev(pBlockedpev_netnamenetname131)
            
pev(pOtherpev_netnamenetname231)
            
UTIL_ServerConsole_Printf("Entity %d (^"%s^") BLOCKS Entity %d (^"%s^")"pBlocked, (netname1[0] != 0) ? netname1 classname1pOther, (netname2[0] != 0) ? netname2 classname2)
        }
    }
}

public 
KeyValue(pKeyvaluekvd_handle)
{
    if(
pev_valid(pKeyvalue))
    {
        if(
UTIL_ReadCvar(cvar_apiHOOK_KEYVALUE))
        {
            static 
classname[32]
            
pev(pKeyvaluepev_classnameclassname31)

            static 
netname[32]
            
pev(pKeyvaluepev_netnamenetname31)

            static 
szClassName[32], szKeyName[32], szValue[32]
            
get_kvd(kvd_handleKV_ClassNameszClassName31)
            
get_kvd(kvd_handleKV_KeyNameszKeyName31)
            
get_kvd(kvd_handleKV_ValueszValue31)
        
            
UTIL_ServerConsole_Printf("Entity %d (^"%s^") SETS KEY ^"%s^" TO VALUE ^"%s^" FOR Classname ^"%s^""pKeyvalue, (netname[0] != 0) ? netname classnameszKeyNameszValueszClassName)
        }
    }
}

public 
SetAbsBox(id)
{
    if(
pev_valid(id))
    {
        if(
UTIL_ReadCvar(cvar_apiHOOK_SETABSBOX))
        {
            static 
classname[32]
            
pev(idpev_classnameclassname31)

            static 
netname[32]
            
pev(idpev_netnamenetname31)
            
UTIL_ServerConsole_Printf("Entity %d (^"%s^") SETS OBJECT COLLISION BOX"id, (netname[0] != 0) ? netname classname)
        }
    }
}

// Engine Hooks
public AlertMessage(atype, const fmt[])
{
    if(
UTIL_ReadCvar(cvar_apiHOOK_ALERT))
    {
        static 
buffer[1024]
        
formatex(buffer1023fmt)
        
buffer[strlen(buffer)-1] = 0
        UTIL_ServerConsole_Printf
("ALERT MESSAGE (%s): %s"UTIL_atype(atype), buffer)
    }
}

public 
CreateNamedEntityiClassname )
{
    if(
UTIL_ReadCvar(cvar_apiHOOK_CREATENAMEDENTITY))
    {
        
UTIL_ServerConsole_Printf("CreateNamedEntity %d (%s)"get_orig_retval(), UTIL_getclassname(iClassname))
    }
}

public 
EmitAmbientSound(iEntFloat:flPos[3], const szSample[], Float:flVolumeFloat:flAttniFlagsiPitch)
{
    if(
UTIL_ReadCvar(cvar_apiHOOK_EMITAMBIENTSOUND))
    {
        new 
szClassName[32]
        if( 
iEnt )
        {
            
pev(iEntpev_classnameszClassNamecharsmax(szClassName))
        }
        
UTIL_ServerConsole_Printf("EmitAmbientSound, %d (%s), {%.2f,%.2f,%.2f}, %s, %.2f, %.2f, %d, %d"
            
iEntszClassNameflPos[0], flPos[1], flPos[2], szSampleflVolumeflAttniFlagsiPitch)
    }
}

public 
EmitSound(iEntiChannel, const szSample[], Float:flVolumeFloat:flAttniFlagsiPitch)
{
    if(
UTIL_ReadCvar(cvar_apiHOOK_EMITSOUND))
    {
        new 
szClassName[32]
        
pev(iEntpev_classnameszClassNamecharsmax(szClassName))

        
UTIL_ServerConsole_Printf("EmitSound, %d (%s), %d, %s, %.2f, %.2f, %d, %d"
            
iEntszClassNameiChannelszSampleflVolumeflAttniFlagsiPitch)
    }
}

//    EngFunc_SetView,                    // void )            (const edict_t *pClient, const edict_t *pViewent);

public SetView(idiViewEnt)
{
    if(
UTIL_ReadCvar(cvar_apiHOOK_SETVIEW))
    {
        
UTIL_ServerConsole_Printf("SetView, %d, %d"idiViewEnt)
    }
}

public 
CreateEntity( )
{
    if(
UTIL_ReadCvar(cvar_apiHOOK_CREATEENTITY))
    {
        
UTIL_ServerConsole_Printf("CreateEntity %d"get_orig_retval())
    }
}

public 
RemoveEntityiEnt )
{
    if(
UTIL_ReadCvar(cvar_apiHOOK_REMOVEENTITY))
    {
        static 
szClassname[32]
        
pev(iEntpev_classnameszClassnamecharsmax(szClassname))
        
UTIL_ServerConsole_Printf("RemoveEntity %d (%s)"iEntszClassname)
    }
}

public 
SetModeliEnt, const szModel[] )
{
    if(
UTIL_ReadCvar(cvar_apiHOOK_SETMODEL))
    {
        static 
szClassname[32]
        
pev(iEntpev_classnameszClassnamecharsmax(szClassname))
        
UTIL_ServerConsole_Printf("SetModel ^"%s^" on entity %d (%s)"szModeliEntszClassname)
    }
}

public 
SetKeyValue(const szInfoBuffer[], const szKey[], const szValue[])
{
    if(
UTIL_ReadCvar(cvar_apiHOOK_SETKEYVALUE))
    {
        
UTIL_ServerConsole_Printf("SetKeyValue ^"%s^" ^"%s^" ^"%s^""szInfoBufferszKeyszValue)
    }
}

public 
SetClientKeyValue(const id, const szInfoBuffer[], const szKey[], const szValue[])
{
    if(
UTIL_ReadCvar(cvar_apiHOOK_SETCLIENTKEYVALUE))
    {
        
UTIL_ServerConsole_Printf("SetClientKeyValue PlayerID:%d ^"%s^" ^"%s^" ^"%s^""idszKeyszValueszInfoBuffer)
    }
}

public 
MessageBegin(msg_destmsg_typeFloat:pOrigin[3], ed)
{
    static 
cmessage[128]
    
get_pcvar_string(cvar_msgcmessage127)

    if(
cmessage[0] != 0)
    {
        static 
msg1[16], msg2[16], msg3[16], msg4[16], msg5[16]
        
parse(cmessagemsg115msg215msg315msg415msg515)

        static 
bmessage[16]
        
get_user_msgname(msg_typebmessage15)

        if(
equali(msg1"All") || equali(msg1bmessage) || equali(msg2bmessage) || equali(msg3bmessage) || equali(msg4bmessage) || equali(msg5bmessage))
        {
            static 
msgdest[32]
            if(
msg_dest == MSG_BROADCASTmsgdest "MSG_BROADCAST"
            
else if(msg_dest == MSG_ONEmsgdest "MSG_ONE"
            
else if(msg_dest == MSG_ALLmsgdest "MSG_ALL"
            
else if(msg_dest == MSG_INITmsgdest "MSG_INIT"
            
else if(msg_dest == MSG_PVSmsgdest "MSG_PVS"
            
else if(msg_dest == MSG_PASmsgdest "MSG_PAS"
            
else if(msg_dest == MSG_PVS_Rmsgdest "MSG_PVS_R"
            
else if(msg_dest == MSG_PAS_Rmsgdest "MSG_PAS_R"
            
else if(msg_dest == MSG_ONE_UNRELIABLEmsgdest "MSG_ONE_UNRELIABLE"
            
else if(msg_dest == MSG_SPECmsgdest "MSG_SPEC"
            
else msgdest "UNKNOWN"
            
            
UTIL_ServerConsole_Printf("message_begin(%s, get_user_msgid(^"%s^"), {%i,%i,%i}, %i)"msgdestbmessagefloatround(pOrigin[0]), floatround(pOrigin[1]), floatround(pOrigin[2]), ed)
            
hook_this_message true
        
}
    }
}

public 
MessageEnd()
{
    if(
hook_this_messageUTIL_ServerConsole_Printf("message_end()")
    
hook_this_message false
}

public 
WriteByte(iValue)
{
    if(
hook_this_messageUTIL_ServerConsole_Printf("write_byte(%d)"iValue)
}

public 
WriteChar(iValue)
{
    if(
hook_this_messageUTIL_ServerConsole_Printf("write_char(%d)"iValue)
}

public 
WriteShort(iValue)
{
    if(
hook_this_messageUTIL_ServerConsole_Printf("write_short(%d)"iValue)
}

public 
WriteLong(iValue)
{
    if(
hook_this_messageUTIL_ServerConsole_Printf("write_long(%d)"iValue)
}

public 
WriteAngle(Float:flValue)
{
    if(
hook_this_messageUTIL_ServerConsole_Printf("write_angle(%.2f)"flValue)
}

public 
WriteCoord(Float:flValue)
{
    if(
hook_this_messageUTIL_ServerConsole_Printf("write_coord(%.2f)"flValue)
}

public 
WriteString(szValue[])
{
    if(
hook_this_messageUTIL_ServerConsole_Printf("write_string(^"%s^")"szValue)
}

public 
WriteEntity(iValue)
{
    if(
hook_this_messageUTIL_ServerConsole_Printf("write_entity(%d)"iValue)
}

public 
AllocString(const szString[])
{
    if(
UTIL_ReadCvar(cvar_apiHOOK_ALLOCSTRING))
    {
        
UTIL_ServerConsole_Printf("AllocString ^"%s^" -> %d"szStringget_orig_retval())
    }
}


// Commands
public ClientCommand_EntTracer(idlevelcid)
{
    if(!
cmd_access(idlevelcid2)) return PLUGIN_CONTINUE
    
    
new temp[8]
    
read_argv(1temp7)
    new 
cmd str_to_num(temp)
    
    if(
cmd == && Tracer[id] == 0)
    {
        
Tracer[id] = 1
        client_print
(idprint_chat"Entity Tracer Enabled: Go look at something")
    }
    else if(
cmd == && Tracer[id] == 1)
    {
        
Tracer[id] = 0
        client_print
(idprint_chat"Entity Tracer Disabled")
    }
    return 
PLUGIN_HANDLED
}

public 
ClientCommand_DrawEnt(idlevelcid)
{
    if(!
cmd_access(idlevelcid2)) return PLUGIN_CONTINUE
    
    
new temp[8]
    
read_argv(1temp7)
    new 
ent str_to_num(temp)

    if(
pev_valid(ent))
    {
        new 
Float:absmin[3], Float:absmax[3], Float:size[3]
        
pev(entpev_absminabsmin)
        
pev(entpev_absmaxabsmax)
        
size[0] = absmax[0] - absmin[0]
        
size[1] = absmax[1] - absmin[1]
        
size[2] = absmax[2] - absmin[2]
    
        
UTIL_DrawBeam(idabsmin[0], absmin[1], absmin[2], absmin[0] + size[0], absmin[1], absmin[2], 2000100025502550)
        
UTIL_DrawBeam(idabsmin[0], absmin[1], absmin[2], absmin[0], absmin[1] + size[1], absmin[2], 2000100025502550)
        
UTIL_DrawBeam(idabsmin[0], absmin[1], absmin[2], absmin[0], absmin[1], absmin[2] + size[2], 2000100025502550)
        
UTIL_DrawBeam(idabsmin[0] + size[0], absmin[1] + size[1], absmin[2] + size[2], absmin[0], absmin[1] + size[1], absmin[2] + size[2], 2000100025502550)
        
UTIL_DrawBeam(idabsmin[0] + size[0], absmin[1] + size[1], absmin[2] + size[2], absmin[0] + size[0], absmin[1], absmin[2] + size[2], 2000100025502550)
        
UTIL_DrawBeam(idabsmin[0] + size[0], absmin[1] + size[1], absmin[2] + size[2], absmin[0] + size[0], absmin[1] + size[1], absmin[2], 2000100025502550)
        
UTIL_DrawBeam(idabsmin[0] + size[0], absmin[1], absmin[2], absmin[0] + size[0], absmin[1] + size[1], absmin[2], 2000100025502550)
        
UTIL_DrawBeam(idabsmin[0] + size[0], absmin[1], absmin[2], absmin[0] + size[0], absmin[1], absmin[2] + size[2], 2000100025502550)
        
UTIL_DrawBeam(idabsmin[0], absmin[1] + size[1], absmin[2], absmin[0] + size[0], absmin[1] + size[1], absmin[2], 2000100025502550)
        
UTIL_DrawBeam(idabsmin[0], absmin[1] + size[1], absmin[2], absmin[0], absmin[1] + size[1], absmin[2] + size[2], 2000100025502550)
        
UTIL_DrawBeam(idabsmin[0], absmin[1], absmin[2] + size[2], absmin[0] + size[0], absmin[1], absmin[2] + size[2], 2000100025502550)
        
UTIL_DrawBeam(idabsmin[0], absmin[1], absmin[2] + size[2], absmin[0], absmin[1] + size[1], absmin[2] + size[2], 2000100025502550)
    }
    return 
PLUGIN_HANDLED
}

public 
ServerCommand_ListApi()
{
    
server_print("Available APIs...")
    
server_print("none (Flag: ^"^")")
    
server_print("pfnSpawn (Flag: ^"a^")")
    
server_print("pfnThink (Flag: ^"b^")")
    
server_print("pfnUse (Flag: ^"c^")")
    
server_print("pfnTouch (Flag: ^"d^")")
    
server_print("pfnBlocked (Flag: ^"e^")")
    
server_print("pfnKeyValue (Flag: ^"f^")")
    
server_print("pfnSetAbsBox (Flag: ^"g^")")
    
server_print("pfnAlertMessage (Flag: ^"h^")")
    
server_print("pfnCreateNamedEntity (Flag: ^"i^")")
    
server_print("pfnCreateEntity (Flag: ^"j^")")
    
server_print("pfnRemoveEntity (Flag: ^"k^")")
    
server_print("pfnSetModel (Flag: ^"l^")")
    
server_print("pfnSetKeyValue (Flag: ^"m^")")
    
server_print("pfnSetClientKeyValue (Flag: ^"n^")")
    
server_print("pfnEmitSound (Flag: ^"o^")")
    
server_print("pfnEmitAmbientSound (Flag: ^"p^")")
    
server_print("pfnAllocString (Flag: ^"q^")")
    
server_print("pfnSetView (Flag: ^"r^")")
    
server_print("^nUsage: hook_api ^"afh^"")
}

public 
ServerCommand_PrintApi()
{
    new 
flags[31]
    
get_pcvar_string(cvar_apiflags31)

    new 
hooks[128], len
    
if(read_flags(flags) == HOOK_NONElen += formatex(hooks[len], 128-len"HOOK_NONE | ")
    if(
read_flags(flags) & HOOK_SPAWNlen += formatex(hooks[len], 128-len"HOOK_SPAWN | ")
    if(
read_flags(flags) & HOOK_THINKlen += formatex(hooks[len], 128-len"HOOK_THINK | ")
    if(
read_flags(flags) & HOOK_USElen += formatex(hooks[len], 128-len"HOOK_USE | ")
    if(
read_flags(flags) & HOOK_TOUCHlen += formatex(hooks[len], 128-len"HOOK_TOUCH | ")
    if(
read_flags(flags) & HOOK_BLOCKEDlen += formatex(hooks[len], 128-len"HOOK_BLOCKED | ")
    if(
read_flags(flags) & HOOK_KEYVALUElen += formatex(hooks[len], 128-len"HOOK_KEYVALUE | ")
    if(
read_flags(flags) & HOOK_SETABSBOXlen += formatex(hooks[len], 128-len"HOOK_SETABSBOX | ")
    if(
read_flags(flags) & HOOK_ALERTlen += formatex(hooks[len], 128-len"HOOK_ALERT | ")
    
hooks[strlen(hooks)-3] = 0
    server_print
("Currently Hooking: ^"%s^" (%s)"flagshooks)
}

public 
ServerCommand_ListEnt()
{
    
UTIL_ServerConsole_Printf("Printing out ALL entities in game...")
    
UTIL_ServerConsole_Printf("index CLASSNAME [^"netname^"] (model): absmin (x, y, z); size (x, y, z);")
    
    new 
maxentities global_get(glb_maxEntities)
    new 
bool:is_playerclassname[32], index
    
for(index 0index maxentities; ++index)
    {
        if(!
pev_valid(index)) continue
        
is_player false
        pev
(indexpev_classnameclassname31)
        
        new 
netname[32], model[64], Float:absmin[3], Float:size[3]
        
pev(indexpev_netnamenetname31)
        
pev(indexpev_modelmodel63)
        
pev(indexpev_absminabsmin)
        
pev(indexpev_sizesize)
        if(
equal(classname"player")) is_player true

        
if(is_playerserver_print("%d %s ^"%s^" (%s): min (%.0f, %.0f, %.0f); siz (%.0f, %.0f, %.0f);"indexclassnamenetnamemodelabsmin[0], absmin[1], absmin[2], size[0], size[1], size[2])
        else 
server_print("%d %s (%s): min (%.0f, %.0f, %.0f); siz (%.0f, %.0f, %.0f);"indexclassnamemodelabsmin[0], absmin[1], absmin[2], size[0], size[1], size[2])
    }
    
server_print("End of list - %d entities found."maxentities)
}

public 
ServerCommand_PrintEnt()
{
    new 
arg0[128], arg1[128]
    
read_argv(0arg0127)
    
read_argv(1arg1127)
    if(
arg1[0] == 0)
    {
        
server_print("Usage: ^"%s INDEX_OF_ENTITY^""arg0)
        return
    }
    new 
index str_to_num(arg1)
    if(
index != && !pev_valid(index))
    {
        
server_print("%s: entity #%d is unregistered"arg0index)
        return    
    }
    new 
temp[128], temp2[128], temp3Float:fValueFloat:vValue[3], Float:vValue2[3]
    
server_print("Printing out entity #%d variable information..."index)
    
server_print("(variable name = value (meaning))")
    
pev(indexpev_classnametemp3temp127)
    
server_print("pev_classname = %d (^"%s^")"temp3temp)
    
pev(indexpev_globalname,  temp3temp127)
    
server_print("pev_globalname = %d (^"%s^")"temp3temp)
    
pev(indexpev_originvValue)
    
server_print("pev_origin = Vector (%.1f, %.1f, %.1f)"vValue[0], vValue[1], vValue[2])
    
pev(indexpev_oldoriginvValue)
    
server_print("pev_oldorigin = Vector (%.1f, %.1f, %.1f)"vValue[0], vValue[1], vValue[2])
    
pev(indexpev_velocity vValue)
    
vValue2 vValuevValue2[2] = 0.0
    server_print
("pev_velocity = Vector (%.1f, %.1f, %.1f) - Length %.3f - Length2D %.3f"vValue[0], vValue[1], vValue[2], vector_length(vValue), vector_length(vValue2))
    
pev(indexpev_basevelocityvValue)
    
vValue2 vValuevValue2[2] = 0.0
    server_print
("pev_basevelocity = Vector (%.1f, %.1f, %.1f) - Length %.3f - Length2D %.3f"vValue[0], vValue[1], vValue[2], vector_length(vValue), vector_length(vValue2))
    
pev(indexpev_clbasevelocityvValue)
    
vValue2 vValuevValue2[2] = 0.0
    server_print
("pev_clbasevelocity = Vector (%.1f, %.1f, %.1f) - Length %.3f - Length2D %.3f"vValue[0], vValue[1], vValue[2], vector_length(vValue), vector_length(vValue2))
    
pev(indexpev_movedirvValue)
    
server_print("pev_movedir = Vector (%.1f, %.1f, %.1f)"vValue[0], vValue[1], vValue[2])
    
pev(indexpev_anglesvValue)
    
server_print("pev_angles = Vector (%.1f, %.1f, %.1f)"vValue[0], vValue[1], vValue[2])
    
pev(indexpev_avelocityvValue)
    
vValue2 vValuevValue2[2] = 0.0
    server_print
("pev_avelocity = Vector (%.1f, %.1f, %.1f) - Length %.3f - Length2D %.3f"vValue[0], vValue[1], vValue[2], vector_length(vValue), vector_length(vValue2))
    
pev(indexpev_punchanglevValue)
    
server_print("pev_punchangle = Vector (%.1f, %.1f, %.1f)"vValue[0], vValue[1], vValue[2])
    
pev(indexpev_v_anglevValue)
    
server_print("pev_v_angle = Vector (%.1f, %.1f, %.1f)"vValue[0], vValue[1], vValue[2])
    
pev(indexpev_endposvValue)
    
server_print("pev_endpos = Vector (%.1f, %.1f, %.1f)"vValue[0], vValue[1], vValue[2])
    
pev(indexpev_startposvValue)
    
server_print("pev_startpos = Vector (%.1f, %.1f, %.1f)"vValue[0], vValue[1], vValue[2])
    
pev(indexpev_impacttimefValue)
    
server_print("pev_impacttime = %.3f"fValue)
    
pev(indexpev_starttimefValue)
    
server_print("pev_starttime = %.3f"fValue)
    
server_print("pev_fixangle = %d (%s)"pev(indexpev_fixangle), UTIL_fixangle(pev(indexpev_fixangle)))
    
pev(indexpev_idealpitchfValue)
    
server_print("pev_idealpitch = %.3f"fValue)
    
pev(indexpev_pitch_speedfValue)
    
server_print("pev_pitch_speed = %.3f"fValue)
    
pev(indexpev_ideal_yawfValue)
    
server_print("pev_ideal_yaw = %.3f"fValue)
    
pev(indexpev_yaw_speedfValue)
    
server_print("pev_yaw_speed = %.3f"fValue)
    
server_print("pev_modelindex = %d"pev(indexpev_modelindex))
    
pev(indexpev_modeltemp3temp127)
    
server_print("pev_model = %d (^"%s^")"temp3temp)
    
temp3 pev(indexpev_viewmodel)
    
global_get(glb_pStringBasetemp3temp127)
    
server_print("pev_viewmodel = %d (^"%s^")"temp3temp)
    
temp3 pev(indexpev_weaponmodel)
    
global_get(glb_pStringBasetemp3temp127)
    
server_print("pev_weaponmodel = %d (^"%s^")"temp3temp)
    
pev(indexpev_absminvValue)
    
server_print("pev_absmin = Vector (%.1f, %.1f, %.1f)"vValue[0], vValue[1], vValue[2])
    
pev(indexpev_absmaxvValue)
    
server_print("pev_absmax = Vector (%.1f, %.1f, %.1f)"vValue[0], vValue[1], vValue[2])
    
pev(indexpev_minsvValue)
    
server_print("pev_mins = Vector (%.1f, %.1f, %.1f)"vValue[0], vValue[1], vValue[2])
    
pev(indexpev_maxsvValue)
    
server_print("pev_maxs = Vector (%.1f, %.1f, %.1f)"vValue[0], vValue[1], vValue[2])
    
pev(indexpev_sizevValue)
    
server_print("pev_size = Vector (%.1f, %.1f, %.1f)"vValue[0], vValue[1], vValue[2])
    
pev(indexpev_ltimefValue)
    
server_print("pev_ltime = %.3f (current time is %.3f)"fValueget_gametime())
    
pev(indexpev_nextthinkfValue)
    
server_print("pev_nextthink = %.3f (current time is %.3f)"fValueget_gametime())
    
server_print("pev_movetype = %d (%s)"pev(indexpev_movetype), UTIL_movetype(pev(indexpev_movetype)))
    
server_print("pev_solid = %d (%s)"pev(indexpev_solid), UTIL_solid(pev(indexpev_solid)))
    
temp3 pev(indexpev_skin)
    
global_get(glb_pStringBasetemp3temp127)
    
server_print("pev_skin = %d (^"%s^")"pev(indexpev_skin), temp)
    
temp3 pev(indexpev_body)
    
global_get(glb_pStringBasetemp3temp127)
    
server_print("pev_body = %d (^"%s^")"pev(indexpev_body), temp)
    
server_print("pev_effects = %d (%s)"pev(indexpev_effects), UTIL_effects(pev(indexpev_effects)))
    
pev(indexpev_gravityfValue)
    
server_print("pev_gravity = %.3f (fraction /1 of normal)"fValue)
    
pev(indexpev_frictionfValue)
    
server_print("pev_friction = %.3f"fValue)
    
server_print("pev_light_level = %d"pev(indexpev_light_level))
    
temp3 pev(indexpev_sequence)
    
global_get(glb_pStringBasetemp3temp127)
    
server_print("pev_sequence = %d (^"%s^")"temp3temp)
    
temp3 pev(indexpev_gaitsequencetemp127)
    
global_get(glb_pStringBasetemp3temp127)
    
server_print("pev_gaitsequence = %d (^"%s^")"temp3temp)
    
pev(indexpev_framefValue)
    
server_print("pev_frame = %.3f (position /255 of total in sequence)"fValue)
    
pev(indexpev_animtimefValue)
    
server_print("pev_animtime = %.3f (current time is %.3f)"fValueget_gametime())
    
pev(indexpev_frameratefValue)
    
server_print("pev_framerate = %.3f (times normal speed)"fValue)
    
server_print("pev_controller = {%d, %d, %d, %d}"pev(indexpev_controller_0), pev(indexpev_controller_1), pev(indexpev_controller_2), pev(indexpev_controller_3))
    
server_print("pev_blending = {%d, %d}"pev(indexpev_blending_0), pev(indexpev_blending_1))
    
pev(indexpev_scalefValue)
    
server_print("pev_scale = %.3f"fValue)
    
server_print("pev_rendermode = %d (%s)"pev(indexpev_rendermode), UTIL_rendermode(pev(indexpev_rendermode)))
    
pev(indexpev_renderamtfValue)
    
server_print("pev_renderamt = %.3f"fValue)
    
pev(indexpev_rendercolorvValue)
    
server_print("pev_rendercolor = Vector (%.1f, %.1f, %.1f) (RGB)"vValue[0], vValue[1], vValue[2])
    
server_print("pev_renderfx = %d (%s)"pev(indexpev_renderfx), UTIL_renderfx(pev(indexpev_renderfx)))
    
pev(indexpev_healthfValue)
    
server_print("pev_health = %.3f"fValue)
    
pev(indexpev_fragsfValue)
    
server_print("pev_frags = %.3f"fValue)
    
temp "00000000000000000000000000000000"
    
temp3 pev(indexpev_weapons)
    for(new 
1<= 32i++) if(temp3 & (1<<i)) temp[i-1] = '1'
    
server_print("pev_weapons = %u (%s)"temp3temp)
    
pev(indexpev_takedamagefValue)
    
server_print("pev_takedamage = %.1f (%s)"fValueUTIL_takedamage(floatround(fValue)))
    
server_print("pev_deadflag = %d (%s)"pev(indexpev_deadflag), UTIL_deadflag(pev(indexpev_deadflag)))
    
pev(indexpev_view_ofsvValue)
    
server_print("pev_view_ofs = Vector (%.1f, %.1f, %.1f)"vValue[0], vValue[1], vValue[2])
    
server_print("pev_button = %d (%s)"pev(indexpev_button), UTIL_buttons(pev(indexpev_button)))
    
server_print("pev_impulse = %d"pev(indexpev_impulse))
    if(
pev_valid(pev(indexpev_chain)))
    {
        
pev(pev(indexpev_chain), pev_classnametemp2127)
        
formatex(temp127"Entity #%d (^"%s^")"pev(indexpev_chain), temp2)
    }
    else 
temp "NULL"
    
server_print("pev_chain = %s"temp)
    if(
pev_valid(pev(indexpev_dmg_inflictor)))
    {
        
pev(pev(indexpev_dmg_inflictor), pev_classnametemp2127)
        
formatex(temp127"Entity #%d (^"%s^")"pev(indexpev_dmg_inflictor), temp2)
    }
    else 
temp "NULL"
    
server_print("pev_dmg_inflictor = %s"temp)
    if(
pev_valid(pev(indexpev_enemy)))
    {
        
pev(pev(indexpev_enemy), pev_classnametemp2127)
        
formatex(temp127"Entity #%d (^"%s^")"pev(indexpev_enemy), temp2)
    }
    else 
temp "NULL"
    
server_print("pev_enemy = %s"temp)
    if(
pev_valid(pev(indexpev_aiment)))
    {
        
pev(pev(indexpev_aiment), pev_classnametemp2127)
        
formatex(temp127"Entity #%d (^"%s^")"pev(indexpev_aiment), temp2)
    }
    else 
temp "NULL"
    
server_print("pev_aiment = %s"temp)
    if(
pev_valid(pev(indexpev_owner)))
    {
        
pev(pev(indexpev_owner), pev_classnametemp2127)
        
formatex(temp127"Entity #%d (^"%s^")"pev(indexpev_owner), temp2)
    }
    else 
temp "NULL"
    
server_print("pev_owner = %s"temp)
    if(
pev_valid(pev(indexpev_owner)))
    {
        
pev(pev(indexpev_groundentity), pev_classnametemp2127)
        
formatex(temp127"Entity #%d (^"%s^")"pev(indexpev_groundentity), temp2)
    }
    else 
temp "NULL"
    
server_print("pev_groundentity = %s"temp)
    
temp "00000000000000000000000000000000"
    
temp3 pev(indexpev_spawnflags)
    for(new 
032i++) if(temp3 & (1<<i)) temp[i] = '1'
    
server_print("pev_spawnflags = %u (%s)"temp3temp)
    
server_print("pev_flags = %d (%s)"pev(indexpev_flags), UTIL_flags(pev(indexpev_flags)))
    
server_print("pev_colormap = %d (0x%d)"pev(indexpev_colormap), pev(indexpev_colormap))
    
server_print("pev_team = %d"pev(indexpev_team))
    
pev(indexpev_max_healthfValue)
    
server_print("pev_max_health = %.3f"fValue)
    
pev(indexpev_teleport_timefValue)
    
server_print("pev_teleport_time = %.3f"fValue)
    
pev(indexpev_armortypefValue)
    
server_print("pev_armortype = %.3f"fValue)
    
pev(indexpev_armorvaluefValue)
    
server_print("pev_armorvalue = %.3f"fValue)
    
server_print("pev_waterlevel = %d (%s)"pev(indexpev_waterlevel), UTIL_waterlevel(pev(indexpev_waterlevel)))
    
server_print("pev_watertype = %d"pev(indexpev_watertype))
    
pev(indexpev_targettemp3temp127)
    
server_print("pev_target = %d (^"%s^")"temp3temp)
    
pev(indexpev_targetnametemp3temp127)
    
server_print("pev_targetname = %d (^"%s^")"temp3temp)
    
pev(indexpev_netnametemp3temp127)
    
server_print("pev_netname = %d (^"%s^")"temp3temp)
    
pev(indexpev_messagetemp3temp127)
    
server_print("pev_message = %d (^"%s^")"temp3temp)
    
pev(indexpev_dmg_takefValue)
    
server_print("pev_dmg_take = %.3f"fValue)
    
pev(indexpev_dmg_savefValue)
    
server_print("pev_dmg_save = %.3f"fValue)
    
pev(indexpev_dmgfValue)
    
server_print("pev_dmg = %.3f"fValue)
    
pev(indexpev_dmgtimefValue)
    
server_print("pev_dmgtime = %.3f (current time is %.3f)"fValueget_gametime())
    
pev(indexpev_noisetemp3temp127)
    
server_print("pev_noise = %d (^"%s^")"temp3temp)
    
pev(indexpev_noise1temp3temp127)
    
server_print("pev_noise1 = %d (^"%s^")"temp3temp)
    
pev(indexpev_noise2temp3temp127)
    
server_print("pev_noise2 = %d (^"%s^")"temp3temp)
    
pev(indexpev_noise3temp3temp127)
    
server_print("pev_noise3 = %d (^"%s^")"temp3temp)
    
pev(indexpev_speedfValue)
    
server_print("pev_speed = %.3f"fValue)
    
pev(indexpev_air_finishedfValue)
    
server_print("pev_air_finished = %.3f"fValue)
    
pev(indexpev_pain_finishedfValue)
    
server_print("pev_pain_finished = %.3f"fValue)
    
pev(indexpev_radsuit_finishedfValue)
    
server_print("pev_radsuit_finished = %.3f"fValue)
    if(
pev_valid(pev(indexpev_pContainingEntity)))
    {
        
pev(pev(indexpev_pContainingEntity), pev_classnametemp2127)
        
formatex(temp127"Entity #%d (^"%s^")"pev(indexpev_pContainingEntity), temp2)
    }
    else 
temp "NULL"
    
server_print("pev_pContainingEntity = %s"temp)
    
server_print("pev_playerclass = %d"pev(indexpev_playerclass))
    
pev(indexpev_maxspeedfValue)
    
server_print("pev_maxspeed = %.3f"fValue)
    
pev(indexpev_fovfValue)
    
server_print("pev_fov = %.3f"fValue)
    
server_print("pev_weaponanim = %d"pev(indexpev_weaponanim))
    
server_print("pev_pushmsec = %d"pev(indexpev_pushmsec))
    
server_print("pev_bInDuck = %d (%s)"pev(indexpev_bInDuck), (pev(indexpev_bInDuck) > "TRUE" "FALSE"))
    
server_print("pev_flTimeStepSound = %d (current time is %.3f)"pev(indexpev_flTimeStepSound), get_gametime())
    
server_print("pev_flSwimTime = %d (current time is %.3f)"pev(indexpev_flSwimTime), get_gametime())
    
server_print("pev_flDuckTime = %d (current time is %.3f)"pev(indexpev_flDuckTime), get_gametime())
    
server_print("pev_iStepLeft = %d"pev(indexpev_iStepLeft))
    
pev(indexpev_flFallVelocityfValue)
    
server_print("pev_flFallVelocity = %.3f"fValue)
    
server_print("pev_gamestate = %d"pev(indexpev_gamestate))
    
server_print("pev_oldbuttons = %d (%s)"pev(indexpev_oldbuttons), UTIL_buttons(pev(indexpev_oldbuttons)))
    
server_print("pev_groupinfo = %d"pev(indexpev_groupinfo))
    
server_print("pev_iuser1 = %d"pev(indexpev_iuser1))
    
server_print("pev_iuser2 = %d"pev(indexpev_iuser2))
    
server_print("pev_iuser3 = %d"pev(indexpev_iuser3))
    
server_print("pev_iuser4 = %d"pev(indexpev_iuser4))
    
pev(indexpev_fuser1fValue)
    
server_print("pev_fuser1 = %.3f"fValue)
    
pev(indexpev_fuser2fValue)
    
server_print("pev_fuser2 = %.3f"fValue)
    
pev(indexpev_fuser3fValue)
    
server_print("pev_fuser3 = %.3f"fValue)
    
pev(indexpev_fuser4fValue)
    
server_print("pev_fuser4 = %.3f"fValue)
    
pev(indexpev_vuser1vValue)
    
server_print("pev_vuser1 = Vector (%.1f, %.1f, %.1f)"vValue[0], vValue[1], vValue[2])
    
pev(indexpev_vuser2vValue)
    
server_print("pev_vuser2 = Vector (%.1f, %.1f, %.1f)"vValue[0], vValue[1], vValue[2])
    
pev(indexpev_vuser3vValue)
    
server_print("pev_vuser3 = Vector (%.1f, %.1f, %.1f)"vValue[0], vValue[1], vValue[2])
    
pev(indexpev_vuser4vValue)
    
server_print("pev_vuser4 = Vector (%.1f, %.1f, %.1f)"vValue[0], vValue[1], vValue[2])
    if(
pev_valid(pev(indexpev_euser1)))
    {
        
pev(pev(indexpev_euser1), pev_classnametemp2127)
        
formatex(temp127"Entity #%d (^"%s^")"pev(indexpev_euser1), temp2)
    }
    else 
temp "NULL"
    
server_print("pev_euser1 = %s"temp)
    if(
pev_valid(pev(indexpev_euser2)))
    {
        
pev(pev(indexpev_euser2), pev_classnametemp2127)
        
formatex(temp127"Entity #%d (^"%s^")"pev(indexpev_euser2), temp2)
    }
    else 
temp "NULL"
    
server_print("pev_euser2 = %s"temp)
    if(
pev_valid(pev(indexpev_euser3)))
    {
           
pev(pev(indexpev_euser3), pev_classnametemp2127)
        
formatex(temp127"Entity #%d (^"%s^")"pev(indexpev_euser3), temp2)
    }
    else 
temp "NULL"
    
server_print("pev_euser3 = %s"temp)
    if(
pev_valid(pev(indexpev_euser4)))
    {
           
pev(pev(indexpev_euser4), pev_classnametemp2127)
        
formatex(temp127"Entity #%d (^"%s^")"pev(indexpev_euser4), temp2)
    }
    else 
temp "NULL"
    
server_print("pev_euser4 = %s"temp)
    
server_print("End of dump.")
}

public 
ServerCommand_ListMsg()
{
    
server_print("Available Messages...")
    new 
msg[64]
    for(new 
0256; ++i)
    {
        
msg[0] = 0
        get_user_msgname
(imsg63)
        if(
msg[0] != 0server_print(msg)
    }
    
server_print("^nUsage: hook_msg ^"tempentityResetHUD SendAudio^"")
}

public 
ServerCommand_PrintMsg()
{
    new 
string[128]
    
get_pcvar_string(cvar_msgstring127)
    new 
msg1[16], msg2[16], msg3[16], msg4[16], msg5[16], i
    parse
(stringmsg115msg215msg315msg415msg515)
    if(
msg1[0] != 0)
    {
        
i++
        
formatex(msg1[strlen(msg1)], 16-strlen(msg1), " | ")
    }
    if(
msg2[0] != 0)
    {
        
i++
        
formatex(msg2[strlen(msg2)], 16-strlen(msg2), " | ")
    }
    if(
msg3[0] != 0)
    {
        
i++
        
formatex(msg3[strlen(msg3)], 16-strlen(msg3), " | ")
    }
    if(
msg4[0] != 0)
    {
        
i++
        
formatex(msg4[strlen(msg4)], 16-strlen(msg4), " | ")
    }
    if(
msg5[0] != 0)
    {
        
i++
        
formatex(msg5[strlen(msg5)], 16-strlen(msg5), " | ")
    }
    if(
== 0formatex(string127"Currently Hooking: NO MESSAGES")
    else
    {
        
formatex(string127"Currently Hooking: %i/5 MESSAGES (%s%s%s%s%s)"imsg1msg2msg3msg4msg5)
        
string[strlen(string)-3] = 0
        string
[strlen(string)-1] = ')'
    
}
    
server_print(string)
}

public 
ServerCommand_PrintLog()
{
    
server_print("Currently Logging: %s (^"%s^")", (get_pcvar_num(cvar_log) != 0) ? "ENABLED" "DISABLED", (logfile[0] != 0) ? logfile "NONE")
}

// Utils
UTIL_ReadCvar(pCvarflag)
{
    new 
flags[31]
    
get_pcvar_string(pCvarflags31)

    if(
read_flags(flags) & flag) return 1
    
return 0
}

UTIL_ServerConsole_Printf(const fmt[], {Float,_}:...)
{
    static 
string[512]
    
vformat(string511fmt2)
    
server_print(string)

    if(
get_pcvar_num(cvar_log))
    {
        static 
basedir[64], date[16], time[16], fp
        get_basedir
(basedir63)
        
get_time("%H:%M:%S"time15)

        if(
logfile[0] == 0)
        {
            
get_time("%m%d"date15)
            
formatex(logfile127"%s/logs/shptools_%s.log"basedirdate)
        }

        
get_time("%m/%d/%Y"date15)
        
fp fopen(logfile"a")
        
fprintf(fp"L %s - %s: %s^n"datetimestring)
        
fclose(fp)
    }
}

UTIL_getclassnameiClass )
{
    new 
szClassName[33]
    
global_get(glb_pStringBaseiClassszClassNamecharsmax(szClassName))
    return 
szClassName
}

UTIL_atype(atype)
{
    static 
str[16]
    switch(
atype)
    {
        case 
0str "at_notice"
        
case 1str "at_console"
        
case 2str "at_aiconsole"
        
case 3str "at_warning"
        
case 4str "at_error"
        
case 5str "at_logged"
        
default: str "???"
    
}
    return 
str
}

UTIL_fixangle(fixangle)
{
    new 
str[32]
    switch(
fixangle)
    {
        case 
0str "nothing"
        
case 1str "force view angles"
        
case 2str "add velocity"
        
default: str "???"
    
}
    return 
str
}

UTIL_movetype(movetype)
{
    new 
str[32]
    switch(
movetype)
    {
        case 
0str "MOVETYPE_NONE"
        
case 3str "MOVETYPE_WALK"
        
case 4str "MOVETYPE_STEP"
        
case 5str "MOVETYPE_FLY"
        
case 6str "MOVETYPE_TOSS"
        
case 7str "MOVETYPE_PUSH"
        
case 8str "MOVETYPE_NOCLIP"
        
case 9str "MOVETYPE_FLYMISSILE"
        
case 10str "MOVETYPE_BOUNCE"
        
case 11str "MOVETYPE_BOUNCEMISSILE"
        
case 12str "MOVETYPE_FOLLOW"
        
case 13str "MOVETYPE_PUSHSTEP"
        
default: str "???"
    
}
    return 
str
}

UTIL_solid(solid)
{
    new 
str[16]
    switch(
solid)
    {
        case 
0str "SOLID_NOT"
        
case 1str "SOLID_TRIGGER"
        
case 2str "SOLID_BBOX"
        
case 3str "SOLID_SLIDEBOX"
        
case 4str "SOLID_BSP" 
        
default: str "???"
    
}
    return 
str
}

UTIL_effects(effects)
{
    new 
str[128], len
    
if(effects EF_BRIGHTFIELDlen += formatex(str[len], 128-len"EF_BRIGHTFIELD | ")
    if(
effects EF_MUZZLEFLASHlen += formatex(str[len], 128-len"EF_MUZZLEFLASH | ")
    if(
effects EF_BRIGHTLIGHTlen += formatex(str[len], 128-len"EF_BRIGHTLIGHT | ")
    if(
effects EF_DIMLIGHTlen += formatex(str[len], 128-len"EF_DIMLIGHT | ")
    if(
effects EF_INVLIGHTlen += formatex(str[len], 128-len"EF_INVLIGHT | ")
    if(
effects EF_NOINTERPlen += formatex(str[len], 128-len"EF_NOINTERP | ")
    if(
effects EF_LIGHTlen += formatex(str[len], 128-len"EF_LIGHT | ")
    if(
effects EF_NODRAWlen += formatex(str[len], 128-len"EF_NODRAW | ")
    if(
strlen(str) > 2str[strlen(str)-3] = 0
    
return str
}

UTIL_rendermode(rendermode)
{
    new 
str[32]
    switch(
rendermode)
    {
        case 
0str "kRenderNormal"
        
case 1str "kRenderTransColor"
        
case 2str "kRenderTransTexture"
        
case 3str "kRenderGlow"
        
case 4str "kRenderTransAlpha"
        
case 5str "kRenderTransAdd"
        
default: str "???"
    
}
    return 
str
}

UTIL_renderfx(renderfx)
{
    new 
str[32]
    switch(
renderfx)
    {
        case 
0str "kRenderFxNone"
        
case 1str "kRenderFxPulseSlow"
        
case 2str "kRenderFxPulseFast"
        
case 3str "kRenderFxPulseSlowWide"
        
case 4str "kRenderFxPulseFastWide"
        
case 5str "kRenderFxFadeSlow"
        
case 6str "kRenderFxFadeFast"
        
case 7str "kRenderFxSolidSlow"
        
case 8str "kRenderFxSolidFast"
        
case 9str "kRenderFxStrobeSlow"
        
case 10str "kRenderFxStrobeFast"
        
case 11str "kRenderFxStrobeFaster"
        
case 12str "kRenderFxFlickerSlow"
        
case 13str "kRenderFxFlickerFast"
        
case 14str "kRenderFxNoDissipation"
        
case 15str "kRenderFxDistort"
        
case 16str "kRenderFxHologram"
        
case 17str "kRenderFxDeadPlayer"
        
case 18str "kRenderFxExplode"
        
case 19str "kRenderFxGlowShell"
        
case 20str "kRenderFxClampMinScale"
        
default: str "???"
    
}
    return 
str
}

UTIL_takedamage(takedamage)
{
    new 
str[16]
    switch(
takedamage)
    {
        case 
0str "DAMAGE_NO"
        
case 1str "DAMAGE_YES"
        
case 2str "DAMAGE_AIM"
        
default: str "???"
    
}
    return 
str
}

UTIL_deadflag(deadflag)
{
    new 
str[32]
    switch(
deadflag)
    {
        case 
0str "DEAD_NO"
        
case 1str "DEAD_DYING"
        
case 2str "DEAD_DEAD"
        
case 3str "DEAD_RESPAWNABLE"
        
case 4str "DEAD_DISCARDBODY"
        
case 5str "???"
    
}
    return 
str
}

UTIL_flags(flags)
{
    new 
str[128], len
    
if(flags FL_FLYlen += formatex(str[len], 128-len"FL_FLY | ")
    if(
flags FL_SWIMlen += formatex(str[len], 128-len"FL_SWIM | ")
    if(
flags FL_CONVEYORlen += formatex(str[len], 128-len"FL_CONVEYOR | ")
    if(
flags FL_CLIENTlen += formatex(str[len], 128-len"FL_CLIENT | ")
    if(
flags FL_INWATERlen += formatex(str[len], 128-len"FL_INWATER | ")
    if(
flags FL_MONSTERlen += formatex(str[len], 128-len"FL_MONSTER | ")
    if(
flags FL_GODMODElen += formatex(str[len], 128-len"FL_GODMODE | ")
    if(
flags FL_NOTARGETlen += formatex(str[len], 128-len"FL_NOTARGET | ")
    if(
flags FL_SKIPLOCALHOSTlen += formatex(str[len], 128-len"FL_SKIPLOCALHOST | ")
    if(
flags FL_ONGROUNDlen += formatex(str[len], 128-len"FL_ONGROUND | ")
    if(
flags FL_PARTIALGROUNDlen += formatex(str[len], 128-len"FL_PARTIALGROUND | ")
    if(
flags FL_WATERJUMPlen += formatex(str[len], 128-len"FL_WATERJUMP | ")
    if(
flags FL_FROZENlen += formatex(str[len], 128-len"FL_FROZEN | ")
    if(
flags FL_FAKECLIENTlen += formatex(str[len], 128-len"FL_FAKECLIENT | ")
    if(
flags FL_DUCKINGlen += formatex(str[len], 128-len"FL_DUCKING | ")
    if(
flags FL_FLOATlen += formatex(str[len], 128-len"FL_FLOAT | ")
    if(
flags FL_GRAPHEDlen += formatex(str[len], 128-len"FL_GRAPHED | ")
    if(
flags FL_IMMUNE_WATERlen += formatex(str[len], 128-len"FL_IMMUNE_WATER | ")
    if(
flags FL_IMMUNE_SLIMElen += formatex(str[len], 128-len"FL_IMMUNE_SLIME | ")
    if(
flags FL_IMMUNE_LAVAlen += formatex(str[len], 128-len"FL_IMMUNE_LAVA | ")
    if(
flags FL_PROXYlen += formatex(str[len], 128-len"FL_PROXY | ")
    if(
flags FL_ALWAYSTHINKlen += formatex(str[len], 128-len"FL_ALWAYSTHINK | ")
    if(
flags FL_BASEVELOCITYlen += formatex(str[len], 128-len"FL_BASEVELOCITY | ")
    if(
flags FL_MONSTERCLIPlen += formatex(str[len], 128-len"FL_MONSTERCLIP | ")
    if(
flags FL_ONTRAINlen += formatex(str[len], 128-len"FL_ONTRAIN | ")
    if(
flags FL_WORLDBRUSHlen += formatex(str[len], 128-len"FL_WORLDBRUSH | ")
    if(
flags FL_SPECTATORlen += formatex(str[len], 128-len"FL_SPECTATOR | ")
    if(
flags & (1<<27)) len += formatex(str[len], 128-len"UNKNOWN (1<<27) | ")
    if(
flags & (1<<28)) len += formatex(str[len], 128-len"UNKNOWN (1<<28) | ")
    if(
flags FL_CUSTOMENTITYlen += formatex(str[len], 128-len"FL_CUSTOMENTITY | ")
    if(
flags FL_KILLMElen += formatex(str[len], 128-len"FL_KILLME | ")
    if(
flags FL_DORMANTlen += formatex(str[len], 128-len"FL_DORMANT | ")
    if(
strlen(str) > 2str[strlen(str)-3] = 0
    
return str
}

UTIL_waterlevel(waterlevel)
{
    new 
str[32]
    switch(
waterlevel)
    {
        case 
0str "not in water"
        
case 2str "walking in water"
        
case 3str "swimming in water"
        
default: str "???"
    
}
    return 
str
}

UTIL_buttons(button)
{
    new 
str[128], len
    
if(button IN_ATTACKlen += formatex(str[len], 128-len"IN_ATTACK | ")
    if(
button IN_JUMPlen += formatex(str[len], 128-len"IN_JUMP | ")
    if(
button IN_DUCKlen += formatex(str[len], 128-len"IN_DUCK | ")
    if(
button IN_FORWARDlen += formatex(str[len], 128-len"IN_FORWARD | ")
    if(
button IN_BACKlen += formatex(str[len], 128-len"IN_BACK | ")
    if(
button IN_USElen += formatex(str[len], 128-len"IN_USE | ")
    if(
button IN_CANCELlen += formatex(str[len], 128-len"IN_CANCEL | ")
    if(
button IN_LEFTlen += formatex(str[len], 128-len"IN_LEFT | ")
    if(
button IN_RIGHTlen += formatex(str[len], 128-len"IN_RIGHT | ")
    if(
button IN_MOVELEFTlen += formatex(str[len], 128-len"IN_MOVELEFT | ")
    if(
button IN_MOVERIGHTlen += formatex(str[len], 128-len"IN_MOVERIGHT | ")
    if(
button IN_ATTACK2len += formatex(str[len], 128-len"IN_ATTACK2 | ")
    if(
button IN_RUNlen += formatex(str[len], 128-len"IN_RUN | ")
    if(
button IN_RELOADlen += formatex(str[len], 128-len"IN_RELOAD | ")
    if(
button IN_ALT1len += formatex(str[len], 128-len"IN_ALT1 | ")
    if(
button IN_SCORElen += formatex(str[len], 128-len"IN_SCORE | ")
    if(
strlen(str) > 2str[strlen(str)-3] = 0
    
return str
}

UTIL_DrawBeam(idFloat:start0Float:start1Float:start2Float:end0Float:end1Float:end2lifewidthnoiseredgreenbluebrightnessspeed)
{
    
message_begin(MSG_ONE_UNRELIABLESVC_TEMPENTITY, {0,0,0}, id)
    
write_byte(TE_BEAMPOINTS)
    
write_coord(floatround(start0))
    
write_coord(floatround(start1))
    
write_coord(floatround(start2))
    
write_coord(floatround(end0))
    
write_coord(floatround(end1))
    
write_coord(floatround(end2))
    
write_short(beam_texture)
    
write_byte(1// framestart
    
write_byte(10// framerate
    
write_byte(life// life in 0.1's
    
write_byte(width// width
    
write_byte(noise// noise
    
write_byte(red// r, g, b
    
write_byte(green// r, g, b
    
write_byte(blue// r, g, b
    
write_byte(brightness// brightness
    
write_byte(speed// speed
    
message_end()

Also, a PasteBin link.
And Internet Archive link
__________________
+1

Last edited by Rosenstein; 06-13-2012 at 15:39.
Rosenstein is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 11:47.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode