Esto seria una version casi resumida de las entidades.
Lo que trataria es volver las cosas mas resumidas/cortas, por ejemplo al ves de hacer algo como:
Lo que trataria es volver las cosas mas resumidas/cortas, por ejemplo al ves de hacer algo como:
Código PHP:
public entity_test(id)
{
new target[33]
entity_get_string(iEntity, EV_SZ_classname, target, 32)
client_print(id, print_chat, "Classname = %s", target)
}
Pasaria a ser algo asi:
Código PHP:
public entity_test_inc(id)
{
client_print(id, print_chat, "Classname = %s", entity_get_classname(iEntity, 10))
}
O sino algo asi
Código PHP:
public entity_test_inc(id)
{
new classname = entity_get_classname(iEntity, 10)
client_print(id, print_chat, "Classname = %s", classname)
}
INC:
Plugin que viene con el inc:
Código:
#if defined _entityinc_included
#endinput
#endif
#define _entityinc_included
/* [By josue9243] */
/* *Obtiene classname de una entidad de hasta 32 caracteres* */
native entity_get_classname(iEntity)
/*------------------------------------*/
/* *Setea classname a una entidad* */
native entity_set_classname(iEntity, classname[])
/*--------------------------------------------------------*/
/* *Obtiene target de una entidad de hasta 32 caracteres* */
native entity_get_target(iEntity, iLen)
/*---------------------------------*/
/* *Setea target a una entidad* */
native entity_set_target(iEntity, target[])
/*------------------------------*/
/* *Obtiene la entidad observada por el player* */
native entity_get_aiming(index, iEntity)
/*----------------------------------------------*/
/* *Obtiene el Angulo girado de la entidad* */
native entity_get_vangles(iEntity)
/*------------------------------------------*/
/* *Setea un Angulo definido por el player a la entidad* */
native entity_set_vangles(iEntity, Float:vAngles[3])
/*-------------------------------------------------------*/
/* Obtiene iUser de una entidad */
native entity_get_iuser(iEntity, slot)
/*------------------------------*/
/* Setea iuser en un slot definido */
native entity_set_iuser(iEntity, slot, iNum)
/*---------------------------------*/
/* Borra/elimina la entidad */
native entity_remove(iEntity)
/*--------------------------*/
/* Setea SUBMODEL a una entidad */
native entity_set_submodel(iEntity, Submodel_Num)
/*--------------------------*/
/* Setea SKIN a una entidad */
native entity_set_skin(iEntity, Skin_Num)
/*--------------------------*/
/* Setea una Secuencia a una entidad */
native entity_set_secuence(iEntity, Secuence)
/*--------------------------*/
/* Busca classname de una entidad */
native entity_find_classname(classname[])
/*--------------------------*/
/* Setea RENDERMODE a una entidad */
native entity_set_rendermode(iEntity, rendermode)
/*--------------------------*/
Plugin que viene con el inc:
Código PHP:
#include <amxmodx>
#include <engine>
#include <fakemeta>
public plugin_init() {
register_plugin("core_entity", "v1.2", "Josue Alonso")
}
public plugin_natives(){
register_native("entity_get_classname", "native_entity_get_classname", 1)
register_native("entity_set_classname", "native_entity_set_classname", 1)
register_native("entity_get_target", "native_entity_get_target", 1)
register_native("entity_set_target", "native_entity_set_target", 1)
register_native("entity_get_origin", "native_entity_get_origin", 1)
register_native("entity_get_aiming", "native_entity_get_aiming", 1)
register_native("entity_get_vangles", "native_entity_get_vangles", 1)
register_native("entity_set_vangles", "native_entity_set_vangles", 1)
register_native("entity_get_iuser", "native_entity_get_iuser", 1)
register_native("entity_set_iuser", "native_entity_set_iuser", 1)
register_native("entity_remove", "native_entity_remove", 1)
register_native("entity_set_submodel", "native_entity_set_submodel", 1)
register_native("entity_set_skin", "native_entity_set_skin", 1)
register_native("entity_set_secuence", "native_entity_set_secuence", 1)
register_native("entity_find_classname", "native_entity_find_classname", 1)
register_native("entity_set_rendermode", "native_entity_set_rendermode", 1)
register_native("entity_set_glow", "native_entity_set_glow", 1)
}
public native_entity_get_classname(iEntity)
{
new classname[33];entity_get_string(iEntity, EV_SZ_classname, classname, 32)
return classname;
}
public native_entity_set_classname(iEntity, classname[])
{
entity_set_string(iEntity, EV_SZ_classname, classname)
}
public native_entity_get_target(iEntity)
{
new target[33];entity_get_string(iEntity, EV_SZ_target, target, 32)
return target;
}
public native_entity_set_target(iEntity, target[])
{
entity_set_string(iEntity, EV_SZ_target, target)
}
public native_entity_get_origin(iEntity)
{
new Float:iOriginF[3]
return entity_get_vector(iEntity, EV_VEC_origin, iOriginF);
}
public native_entity_get_aiming(index, iEntity)
{
new body;get_user_aiming(index, iEntity, body)
return iEntity;
}
public native_entity_get_vangles(iEntity){
new Float:vAngles[3];
return entity_get_vector(iEntity, EV_VEC_angles, vAngles);
}
public native_entity_set_vangles(iEntity, Float:vAngles[3])
{
entity_set_vector(iEntity, EV_VEC_angles, vAngles);
}
public native_entity_get_iuser(iEntity, slot)
{
switch(slot)
{
case 1: entity_get_int(iEntity, EV_INT_iuser1);
case 2: entity_get_int(iEntity, EV_INT_iuser2);
case 3: entity_get_int(iEntity, EV_INT_iuser3);
case 4: entity_get_int(iEntity, EV_INT_iuser4);
}
}
public native_entity_set_iuser(iEntity, slot, iNum)
{
switch(slot)
{
case 1: entity_set_int(iEntity, EV_INT_iuser1, iNum)
case 2: entity_set_int(iEntity, EV_INT_iuser2, iNum)
case 3: entity_set_int(iEntity, EV_INT_iuser3, iNum)
case 4: entity_set_int(iEntity, EV_INT_iuser4, iNum)
}
}
public native_entity_remove(iEntity)
{
remove_entity(iEntity)
}
public native_entity_set_submodel(iEntity, Submodel_Num)
{
set_pev(iEntity, pev_body, Submodel_Num)
}
public native_entity_set_skin(iEntity, Skin_Num)
{
set_pev(iEntity, pev_skin, Skin_Num)
}
public native_entity_set_secuence(iEntity, Secuence)
{
entity_set_int(iEntity, EV_INT_sequence, Secuence)
}
public native_entity_find_classname(classname[])
{
new iEntfinder = FM_NULLENT
if((iEntfinder = engfunc(EngFunc_FindEntityByString, iEntfinder, "classname", classname)))
{
return iEntfinder
}
return PLUGIN_CONTINUE;
}
public native_entity_set_rendermode(iEntity, rendermode)
{
entity_set_int(iEntity, EV_INT_rendermode, rendermode)
}
Cualquier duda o consulta o algo para agregar, ponganlo en los comentarios.
- v1.2 Se agregaron 5 funciones mas, y se arreglaron bugs.