Elección por Niveles
#1
Hola Este plugin lo vi en el apartado de aportes el plugin funciona muy bien pero mi pedido es si es que en vez de poder elegir los Hat's con dinero, poder elegirlos por niveles, osea cuando se llegue algún nivel poder seleccionar un Hat cuando se alcance otro se pueda seleccionar otro hat

Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <API_OldMenu>

new const PLUGIN_INFO[][] = { "Hats + Camera Rotative""1.0""Chamo. & Mario AR." }
new const 
CAMERA_ROTATIVE_CLASSNAME[] = "Camera_Rotative"
new const CAMERA_ROTATIVE_MODEL[] = "models/arcticorangeT.mdl"
const Float:CAMERA_RADIUS 100.0
const Float:CAMERA_ELEVATION 50.0
const Float:CAMERA_ANGLES_ELEVATION 30.0
const Float:CAMERA_TWIRL_ANGLES 180.0
const Float:CAMERA_ROTATION_SPEED 1.5
const Float:ROTATION_TIME 7.0
#define CAMERA_ROTATIVE_MINS Float: { -10.0, -10.0, 0.0 }
#define CAMERA_ROTATIVE_MAXS Float: { 10.0, 10.0, 25.0 }
new const PREFIX[] = "!g[AMXX]"

enum _:HATS_STRUCT
{
    
HAT_NAME[30],
    
HAT_COST,
    
HAT_ADMIN,
    
HAT_MODEL[35]
}

new const 
STRUCT_HATS[][HATS_STRUCT] =
{
    { 
"Peinado Afro"800false"models/Hats/afro.mdl" },
    { 
"Alas de Angel"950false"models/Hats/angel2.mdl" },
    { 
"Flecha"650false"models/Hats/arrow.mdl" },
    { 
"Carita Feliz"0false"models/Hats/awesome.mdl" },
    { 
"Sombrero de Cerveza"750true"models/Hats/beerhat.mdl" },
    { 
"Escudo del Capitan America"1230false"models/Hats/cashield.mdl" },
    { 
"Cabeza de Queso"600false"models/Hats/cheesehead.mdl" },
    { 
"Cuernos y Cola Diabolicos"900true"models/Hats/devil2.mdl" },
    { 
"Traje de Elfo"1500false"models/Hats/elf.mdl" },
    { 
"Cabeza de Darth Vader"1300true"models/Hats/darth2_big.mdl" },
    { 
"Auriculares"800true"models/Hats/headphones.mdl" },
    { 
"Sombrero de Duende"850false"models/Hats/leprechaun.mdl" },
    { 
"Sombrero de Merlin"500false"models/Hats/merlin.mdl" },
    { 
"Casco de Vikingo"1150true"models/Hats/viking.mdl" },
    { 
"Casco Espartano"1200true"models/Hats/Spartan.mdl" },
    { 
"Sombrero de Robin Hood"1110false"models/Hats/robinhood.mdl" }
    
    
// Para agregar hats, es sumamente sencillo, solo tienen que agregar otra linea con los siguientes parametros
    // Ejemplo
    
    // Nombre del Sombrero        Costo ($$)    Es para todos/admines (false = todos | true = admines)            ubicacion del sombrero (por defecto es models/Hats)
    
"Sombrerito :3",        500,            false,                                "models/Hats/modelo_del_sombrerito.mdl" // Este es solo de ejemplo
}

new 
Camera_Rotative_Entity[33], Hat_Entity[33], Current_Page[33], Float:Camera_Rotative_Time[33]

public 
plugin_init()
{
    
register_plugin(PLUGIN_INFO[0], PLUGIN_INFO[1], PLUGIN_INFO[2])
    
    
register_clcmd("say /hats""SM_HATS")
    
register_clcmd("say hats""SM_HATS")
    
register_think(CAMERA_ROTATIVE_CLASSNAME"Camera_Rotative_Think")
    
register_event("DeathMsg""Event_DeathMsg""a")
    
oldmenu_register()
}

public 
plugin_precache()
{
    
precache_model(CAMERA_ROTATIVE_MODEL)
    
    for (new 
0sizeof (STRUCT_HATS); i++)
        
precache_model(STRUCT_HATS[i][HAT_MODEL])
}

public 
SM_HATS(const Player)
{
    static 
iMenuTemp[3], Len[350];
    
    
Menu menu_create("\wMenu de \yHats \r(Sombreros)\y^nElige el Sombrero^nque mas te agrade.""HM_HATS")
    
    for (
0sizeof (STRUCT_HATS); i++)
    {
        if (
STRUCT_HATS[i][HAT_COST])
        {
            if (
STRUCT_HATS[i][HAT_ADMIN])
                
formatex(Lencharsmax(Len), "\%s%s \y[%d$$] %s"cs_get_user_money(Player) >= STRUCT_HATS[i][HAT_COST] ? "w" "d"STRUCT_HATS[i][HAT_NAME], STRUCT_HATS[i][HAT_COST], is_user_admin(Player) ? "\w(Disponible)" "\r(Solo para Admines)")
            else
                
formatex(Lencharsmax(Len), "\%s%s \y[%d$$] \%s(Disponible)"cs_get_user_money(Player) >= STRUCT_HATS[i][HAT_COST] ? "w" "d"STRUCT_HATS[i][HAT_NAME], STRUCT_HATS[i][HAT_COST], cs_get_user_money(Player) >= STRUCT_HATS[i][HAT_COST] ? "w" "d")
        }
        else
        {
            if (
STRUCT_HATS[i][HAT_ADMIN])
                
formatex(Lencharsmax(Len), "\w%s \y[Gratis] %s"STRUCT_HATS[i][HAT_NAME], STRUCT_HATS[i][HAT_COST], is_user_admin(Player) ? "\w(Disponible)" "\r(Solo para Admines)")
            else
                
formatex(Lencharsmax(Len), "\w%s \y[Gratis] \w(Disponible)"STRUCT_HATS[i][HAT_NAME], STRUCT_HATS[i][HAT_COST])
        }
        
num_to_str(iTempcharsmax(Temp))
        
menu_additem(MenuLenTemp)
    }
    
menu_setprop(MenuMPROP_BACKNAME"\yAnterior")
    
menu_setprop(MenuMPROP_NEXTNAME"\ySiguiente")
    
menu_setprop(MenuMPROP_EXITNAME"\ySalir")
    
Current_Page[Player] = min(Current_Page[Player], (menu_pages(Menu)-1))
    
menu_display(PlayerMenuCurrent_Page[Player])
}

public 
HM_HATS(const Player, const Menu, const Item)
{
    if (
Item == MENU_EXIT || !is_user_alive(Player))
    {
        
menu_destroy(Menu)
        return;
    }
    
    static 
Page
    player_menu_info
(PlayerPagePageCurrent_Page[Player])
    
    if (
STRUCT_HATS[Item][HAT_ADMIN])
    {
        if (
is_user_admin(Player))
            
SM_CHOOSE_HAT(PlayerItem)
        else
        {
            
Chat_Color(Player"%s !yNecesitas ser !teamAdministrador !ypara comprar este sombrero"PREFIX)
            
SM_HATS(Player)
            return;
        }
    }
    else
        
SM_CHOOSE_HAT(PlayerItem)
}

public 
SM_CHOOSE_HAT(const Player, const Item)
{
    if (
STRUCT_HATS[Item][HAT_COST])
        
oldmenu_create("HM_CHOOSE_HAT""\wSombrero Elegido: \y%s^n\wCosto: \r%d$$"STRUCT_HATS[Item][HAT_NAME], STRUCT_HATS[Item][HAT_COST])
    else    
        
oldmenu_create("HM_CHOOSE_HAT""\wSombrero Elegido: \y%s^n\wCosto: \rGratis"STRUCT_HATS[Item][HAT_NAME])
    
    
oldmenu_additem(1Item"\r[1]. \wElegir \ySombrero")
    
oldmenu_additem(2Item"\r[2]. \wProbar \ySombrero")
    
oldmenu_additem(3Item"\r[3]. \wRemover \ySombrero Actual^n^n^n")
    
oldmenu_additem(0MENU_EXIT"\r[0]. \wElegir otro \ySombrero.")
    
oldmenu_display(Player)
}

public 
HM_CHOOSE_HAT(const Player, const Item, const Value, const Page)
{
    if (!
is_user_alive(Player))
        return;
        
    switch (
Item)
    {
        case 
0SM_HATS(Player)
        case 
1:
        {
            if (!
is_valid_ent(Camera_Rotative_Entity[Player]))
            {
                if (
cs_get_user_money(Player) >= STRUCT_HATS[Value][HAT_COST])
                {
                    if (
is_valid_ent(Hat_Entity[Player]))
                    {
                        
remove_entity(Hat_Entity[Player])
                        
Hat_Entity[Player] = 0
                    
}
                        
                    
Hat_Entity[Player] = create_entity("info_target")
                
                    if (!
is_valid_ent(Hat_Entity[Player]))
                        return;
                                
                    
entity_set_int(Hat_Entity[Player], EV_INT_movetypeMOVETYPE_FOLLOW)
                    
entity_set_edict(Hat_Entity[Player], EV_ENT_aimentPlayer)
                    
entity_set_int(Hat_Entity[Player], EV_INT_rendermodekRenderNormal)
                    
entity_set_model(Hat_Entity[Player], STRUCT_HATS[Value][HAT_MODEL])
                    
cs_set_user_money(Player, (cs_get_user_money(Player)-STRUCT_HATS[Value][HAT_COST]), 1)
                    
Chat_Color(Player"%s !ySombrero !team%s !yelegido con exito."PREFIXSTRUCT_HATS[Value][HAT_NAME])
                }
                else
                {
                    
Chat_Color(Player"%s !yNecesitas !g%d$$ !ypara elegir este Sombrero"PREFIXSTRUCT_HATS[Value][HAT_COST])
                    
SM_CHOOSE_HAT(PlayerValue)
                    return;
                }
            }
            else
                
SM_CHOOSE_HAT(PlayerValue)
        }
        case 
2:
        {
            if (!
is_valid_ent(Camera_Rotative_Entity[Player]))
            {
                if (!
is_valid_ent(Hat_Entity[Player]))
                {
                    
Hat_Entity[Player] = create_entity("info_target")
                    
                    if (!
is_valid_ent(Hat_Entity[Player]))
                        return;
                                    
                    
entity_set_int(Hat_Entity[Player], EV_INT_movetypeMOVETYPE_FOLLOW)
                    
entity_set_edict(Hat_Entity[Player], EV_ENT_aimentPlayer)
                    
entity_set_int(Hat_Entity[Player], EV_INT_rendermodekRenderNormal)
                    
entity_set_model(Hat_Entity[Player], STRUCT_HATS[Value][HAT_MODEL])
                    
                    static 
Float:Origin[3], Float:Angles[3];
                    
entity_get_vector(PlayerEV_VEC_originOrigin)
                    
entity_get_vector(PlayerEV_VEC_anglesAngles)
                    
                    
Origin[0] += CAMERA_RADIUS
                    Origin
[2] += CAMERA_ELEVATION
                    Angles
[1] = CAMERA_TWIRL_ANGLES
                    Angles
[0] = CAMERA_ANGLES_ELEVATION
                    
                    Create_Camera
(PlayerOriginAngles)
                    
SM_CHOOSE_HAT(PlayerValue)
                }
                else
                {
                    
Chat_Color(Player"%s !yYa tienes un Sombrero puesto. Debes removerlo para probar un Sombrero"PREFIX)
                    
SM_CHOOSE_HAT(PlayerValue)
                    return;
                }
            }
            else
                
SM_CHOOSE_HAT(PlayerValue)
        }
        case 
3:
        {
            if (!
is_valid_ent(Camera_Rotative_Entity[Player]))
            {
                if (!
is_valid_ent(Hat_Entity[Player]))
                {
                    
Chat_Color(Player"%s !yNo puedes remover un sombrero por que no tienes ninguno"PREFIX)
                    
SM_CHOOSE_HAT(PlayerValue)
                    return;
                }
                
remove_entity(Hat_Entity[Player])
                
Chat_Color(Player"%s !ySombrero removido con exito."PREFIX)
                
SM_CHOOSE_HAT(PlayerValue)
            }
            else
                
SM_CHOOSE_HAT(PlayerValue)
        }
    }
}

public 
Camera_Rotative_Think(const Entity)
{
    if (!
is_valid_ent(Entity))
        return;
        
    static 
Float:Origin[3], Float:RadiusFloat:Rotation_AngleFloat:Vision_Angle[3], OwnerFloat:Game_Time;
    
    
Owner entity_get_edict(EntityEV_ENT_owner)
    
entity_get_vector(OwnerEV_VEC_originOrigin)
    
Radius entity_get_float(EntityEV_FL_fuser1)
    
Rotation_Angle entity_get_float(EntityEV_FL_fuser2)
    
entity_get_vector(EntityEV_VEC_anglesVision_Angle)
    
Game_Time get_gametime()
    
    
CALCULATE_NEXT_POSITION(OriginRadiusRotation_Angle)
    
    
Origin[2] += CAMERA_ELEVATION
    entity_set_origin
(EntityOrigin)
    
    if (
Rotation_Angle >= 359.9)
        
Rotation_Angle 0.0
    
else
        
Rotation_Angle += CAMERA_ROTATION_SPEED
        
    entity_set_float
(EntityEV_FL_fuser2Rotation_Angle)
    
Vision_Angle[1] += CAMERA_ROTATION_SPEED
    entity_set_vector
(EntityEV_VEC_anglesVision_Angle)
    
entity_set_int(EntityEV_INT_fixangle1)
    
entity_set_float(EntityEV_FL_nextthink, (halflife_time() + 0.001))
    
    if (
Camera_Rotative_Time[Owner] < Game_Time)
        
Remove_Camera_Rotative(Owner)
}

public 
Remove_Camera_Rotative(const Player)
{
    if (
is_valid_ent(Camera_Rotative_Entity[Player]))
    {
        
remove_entity(Camera_Rotative_Entity[Player])
        
Camera_Rotative_Entity[Player] = 0
    
}
        
    if (
is_valid_ent(Hat_Entity[Player]))
    {
        
remove_entity(Hat_Entity[Player])
        
Hat_Entity[Player] = 0
    
}
        
    
attach_view(PlayerPlayer)
}

public 
Event_DeathMsg()
{
    static 
Victim;
    
Victim read_data(2)
    
    if (
is_valid_ent(Hat_Entity[Victim]))
    {
        
remove_entity(Hat_Entity[Victim])
        
Hat_Entity[Victim] = 0
    
}
}

public 
client_disconnect(Player)
{
    if (
is_valid_ent(Camera_Rotative_Entity[Player]))
    {
        
remove_entity(Camera_Rotative_Entity[Player])
        
Camera_Rotative_Entity[Player] = 0
    
}
        
    if (
is_valid_ent(Hat_Entity[Player]))
    {
        
remove_entity(Hat_Entity[Player])
        
Hat_Entity[Player] = 0
    
}
}

stock Create_Camera(const Player, const Float:Origin[3], const Float:Angles[3])
{
    
Camera_Rotative_Entity[Player] = create_entity("info_target")
    
    if (!
is_valid_ent(Camera_Rotative_Entity[Player]))
        return;
        
    
entity_set_string(Camera_Rotative_Entity[Player], EV_SZ_classnameCAMERA_ROTATIVE_CLASSNAME)
    
entity_set_model(Camera_Rotative_Entity[Player], CAMERA_ROTATIVE_MODEL)
    
entity_set_int(Camera_Rotative_Entity[Player], EV_INT_solidSOLID_BBOX)
    
entity_set_int(Camera_Rotative_Entity[Player], EV_INT_movetypeMOVETYPE_FLY)
    
entity_set_size(Camera_Rotative_Entity[Player], CAMERA_ROTATIVE_MINSCAMERA_ROTATIVE_MAXS)
    
entity_set_origin(Camera_Rotative_Entity[Player], Origin)
    
entity_set_vector(Camera_Rotative_Entity[Player], EV_VEC_anglesAngles)
    
entity_set_int(Camera_Rotative_Entity[Player], EV_INT_fixangle1)
    
entity_set_edict(Camera_Rotative_Entity[Player], EV_ENT_ownerPlayer)
    
entity_set_float(Camera_Rotative_Entity[Player], EV_FL_fuser1CAMERA_RADIUS)
    
entity_set_float(Camera_Rotative_Entity[Player], EV_FL_fuser20.0)
    
attach_view(PlayerCamera_Rotative_Entity[Player])
    
entity_set_float(Camera_Rotative_Entity[Player], EV_FL_nextthink, (halflife_time() + 0.01))
    
Camera_Rotative_Time[Player] = (get_gametime() + ROTATION_TIME)
}

stock CALCULATE_NEXT_POSITION(Float:Origin[3], const Float:Radius, const Float:Rotation_Angle)
{
    if (
<= Rotation_Angle <= 90.0)
    {
        
Origin[0] += (Radius floatcos(Rotation_Angledegrees))
        
Origin[1] += (Radius floatsin(Rotation_Angledegrees))
    }
    else if (
90.0 <= Rotation_Angle <= 179.99)
    {
        
Origin[0] -= (Radius floatsin((Rotation_Angle-90.0), degrees))
        
Origin[1] += (Radius floatcos((Rotation_Angle-90.0), degrees))
    }
    else if (
180.0 <= Rotation_Angle <= 269.99)
    {
        
Origin[0] -= (Radius floatcos((Rotation_Angle-180.0), degrees))
        
Origin[1] -= (Radius floatsin((Rotation_Angle-180.0), degrees))
    }
    else if (
270.0 <= Rotation_Angle <= 359.99)
    {
        
Origin[0] += (Radius floatsin((Rotation_Angle-270.0), degrees))
        
Origin[1] -= (Radius floatcos((Rotation_Angle-270.0), degrees))
    }
}

stock Chat_Color(Player, const Input[], const any:...)
{
    static 
Message[191], MSG_SayText;
    
    if (!
MSG_SayText)
        
MSG_SayText get_user_msgid("SayText")
        
    
vformat(Message190Input3)
    
    
replace_all(Message190"!g""^4")
    
replace_all(Message190"!y""^1")
    
replace_all(Message190"!team""^3")
    
    
message_begin(Player MSG_ONE_UNRELIABLE MSG_BROADCASTMSG_SayText, .player Player)
    
write_byte(Player Player 33)
    
write_string(Message)
    
message_end()

Responder
#2
Prueba
Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <API_OldMenu>

new const PLUGIN_INFO[][] = { "Hats + Camera Rotative""1.0""Chamo. & Mario AR." }
new const 
CAMERA_ROTATIVE_CLASSNAME[] = "Camera_Rotative"
new const CAMERA_ROTATIVE_MODEL[] = "models/arcticorangeT.mdl"
const Float:CAMERA_RADIUS 100.0
const Float:CAMERA_ELEVATION 50.0
const Float:CAMERA_ANGLES_ELEVATION 30.0
const Float:CAMERA_TWIRL_ANGLES 180.0
const Float:CAMERA_ROTATION_SPEED 1.5
const Float:ROTATION_TIME 7.0
#define CAMERA_ROTATIVE_MINS Float: { -10.0, -10.0, 0.0 }
#define CAMERA_ROTATIVE_MAXS Float: { 10.0, 10.0, 25.0 }
new const PREFIX[] = "!g[AMXX]"
new g_level[33]

enum _:HATS_STRUCT
{
    
HAT_NAME[30],
    
HAT_NVL,
    
HAT_ADMIN,
    
HAT_MODEL[35]
}

new const 
STRUCT_HATS[][HATS_STRUCT] =
{
    { 
"Peinado Afro",                 1,     false,    "models/Hats/afro.mdl" },
    { 
"Alas de Angel",                 2,     false,     "models/Hats/angel2.mdl" },
    { 
"Flecha",                     3,     false,     "models/Hats/arrow.mdl" },
    { 
"Carita Feliz",                 4,     false,     "models/Hats/awesome.mdl" },
    { 
"Sombrero de Cerveza",         5,     true,     "models/Hats/beerhat.mdl" },
    { 
"Escudo del Capitan America"6,     false,     "models/Hats/cashield.mdl" },
    { 
"Cabeza de Queso",             7,     false,     "models/Hats/cheesehead.mdl" },
    { 
"Cuernos y Cola Diabolicos",     8,     true,     "models/Hats/devil2.mdl" },
    { 
"Traje de Elfo",                 9,     false,     "models/Hats/elf.mdl" },
    { 
"Cabeza de Darth Vader",         10true,     "models/Hats/darth2_big.mdl" },
    { 
"Auriculares",                 11true,    "models/Hats/headphones.mdl" },
    { 
"Sombrero de Duende",         12false,     "models/Hats/leprechaun.mdl" },
    { 
"Sombrero de Merlin",         13false,     "models/Hats/merlin.mdl" },
    { 
"Casco de Vikingo",             14true,     "models/Hats/viking.mdl" },
    { 
"Casco Espartano",             15true,     "models/Hats/Spartan.mdl" },
    { 
"Sombrero de Robin Hood",     16false,     "models/Hats/robinhood.mdl" }
    
    
// Para agregar hats, es sumamente sencillo, solo tienen que agregar otra linea con los siguientes parametros
    // Ejemplo
    
    // Nombre del Sombrero        Nivel    Es para todos/admines (false = todos | true = admines)            ubicacion del sombrero (por defecto es models/Hats)
    
"Sombrerito :3",        17,            false,                                "models/Hats/modelo_del_sombrerito.mdl" // Este es solo de ejemplo
}

new 
Camera_Rotative_Entity[33], Hat_Entity[33], Current_Page[33], Float:Camera_Rotative_Time[33]

public 
plugin_init()
{
    
register_plugin(PLUGIN_INFO[0], PLUGIN_INFO[1], PLUGIN_INFO[2])
    
    
register_clcmd("say /hats""SM_HATS")
    
register_clcmd("say hats""SM_HATS")
    
register_think(CAMERA_ROTATIVE_CLASSNAME"Camera_Rotative_Think")
    
register_event("DeathMsg""Event_DeathMsg""a")
    
oldmenu_register()
}

public 
plugin_precache()
{
    
precache_model(CAMERA_ROTATIVE_MODEL)
    
    for (new 
0sizeof (STRUCT_HATS); i++)
        
precache_model(STRUCT_HATS[i][HAT_MODEL])
}

public 
SM_HATS(const Player)
{
    static 
iMenuTemp[3], Len[350];
    
    
Menu menu_create("\wMenu de \yHats \r(Sombreros)\y^nElige el Sombrero^nque mas te agrade.""HM_HATS")
    
    for (
0sizeof (STRUCT_HATS); i++)
    {
        if (
STRUCT_HATS[i][HAT_ADMIN])
        {
                
formatex(Lencharsmax(Len), "\%s%s \y[Nvl: %d] %s"g_level[id] >= STRUCT_HATS[i][HAT_NVL] ? "w" "d"STRUCT_HATS[i][HAT_NAME], STRUCT_HATS[i][HAT_NVL], is_user_admin(Player) ? "\w(Disponible)" "\r(Solo para Admines)")
            else
                
formatex(Lencharsmax(Len), "\%s%s \y[Nvl: %d] \%s(Disponible)"g_level[Player] >= STRUCT_HATS[i][HAT_NVL] ? "w" "d"STRUCT_HATS[i][HAT_NAME], STRUCT_HATS[i][HAT_NVL], g_level[Player] >= STRUCT_HATS[i][HAT_NVL] ? "w" "d")
        }
        
num_to_str(iTempcharsmax(Temp))
        
menu_additem(MenuLenTemp)
    }
    
menu_setprop(MenuMPROP_BACKNAME"\yAnterior")
    
menu_setprop(MenuMPROP_NEXTNAME"\ySiguiente")
    
menu_setprop(MenuMPROP_EXITNAME"\ySalir")
    
Current_Page[Player] = min(Current_Page[Player], (menu_pages(Menu)-1))
    
menu_display(PlayerMenuCurrent_Page[Player])
}

public 
HM_HATS(const Player, const Menu, const Item)
{
    if (
Item == MENU_EXIT || !is_user_alive(Player))
    {
        
menu_destroy(Menu)
        return;
    }
    
    static 
Page
    player_menu_info
(PlayerPagePageCurrent_Page[Player])
    
    if (
STRUCT_HATS[Item][HAT_ADMIN])
    {
        if (
is_user_admin(Player))
            
SM_CHOOSE_HAT(PlayerItem)
        else
        {
            
Chat_Color(Player"%s !yNecesitas ser !teamAdministrador !ypara obtener este sombrero"PREFIX)
            
SM_HATS(Player)
            return;
        }
    }
    else
        
SM_CHOOSE_HAT(PlayerItem)
}

public 
SM_CHOOSE_HAT(const Player, const Item)
{
    
oldmenu_create("HM_CHOOSE_HAT""\wSombrero Elegido: \y%s^n\wNivel: \r%d (Minimo)"STRUCT_HATS[Item][HAT_NAME], STRUCT_HATS[Item][HAT_NVL])
    
    
oldmenu_additem(1Item"\r[1]. \wElegir \ySombrero")
    
oldmenu_additem(2Item"\r[2]. \wProbar \ySombrero")
    
oldmenu_additem(3Item"\r[3]. \wRemover \ySombrero Actual^n^n^n")
    
oldmenu_additem(0MENU_EXIT"\r[0]. \wElegir otro \ySombrero.")
    
oldmenu_display(Player)
}

public 
HM_CHOOSE_HAT(const Player, const Item, const Value, const Page)
{
    if (!
is_user_alive(Player))
        return;
        
    switch (
Item)
    {
        case 
0SM_HATS(Player)
        case 
1:
        {
            if (!
is_valid_ent(Camera_Rotative_Entity[Player]))
            {
                if (
g_level[Player] >= STRUCT_HATS[Value][HAT_NVL])
                {
                    if (
is_valid_ent(Hat_Entity[Player]))
                    {
                        
remove_entity(Hat_Entity[Player])
                        
Hat_Entity[Player] = 0
                    
}
                        
                    
Hat_Entity[Player] = create_entity("info_target")
                
                    if (!
is_valid_ent(Hat_Entity[Player]))
                        return;
                                
                    
entity_set_int(Hat_Entity[Player], EV_INT_movetypeMOVETYPE_FOLLOW)
                    
entity_set_edict(Hat_Entity[Player], EV_ENT_aimentPlayer)
                    
entity_set_int(Hat_Entity[Player], EV_INT_rendermodekRenderNormal)
                    
entity_set_model(Hat_Entity[Player], STRUCT_HATS[Value][HAT_MODEL])
                    
Chat_Color(Player"%s !ySombrero !team%s !yelegido con exito."PREFIXSTRUCT_HATS[Value][HAT_NAME])
                }
                else
                {
                    
Chat_Color(Player"%s !yNecesitas ser Nivel !g%d !ypara elegir este Sombrero"PREFIXSTRUCT_HATS[Value][HAT_NVL])
                    
SM_CHOOSE_HAT(PlayerValue)
                    return;
                }
            }
            else
                
SM_CHOOSE_HAT(PlayerValue)
        }
        case 
2:
        {
            if (!
is_valid_ent(Camera_Rotative_Entity[Player]))
            {
                if (!
is_valid_ent(Hat_Entity[Player]))
                {
                    
Hat_Entity[Player] = create_entity("info_target")
                    
                    if (!
is_valid_ent(Hat_Entity[Player]))
                        return;
                                    
                    
entity_set_int(Hat_Entity[Player], EV_INT_movetypeMOVETYPE_FOLLOW)
                    
entity_set_edict(Hat_Entity[Player], EV_ENT_aimentPlayer)
                    
entity_set_int(Hat_Entity[Player], EV_INT_rendermodekRenderNormal)
                    
entity_set_model(Hat_Entity[Player], STRUCT_HATS[Value][HAT_MODEL])
                    
                    static 
Float:Origin[3], Float:Angles[3];
                    
entity_get_vector(PlayerEV_VEC_originOrigin)
                    
entity_get_vector(PlayerEV_VEC_anglesAngles)
                    
                    
Origin[0] += CAMERA_RADIUS
                    Origin
[2] += CAMERA_ELEVATION
                    Angles
[1] = CAMERA_TWIRL_ANGLES
                    Angles
[0] = CAMERA_ANGLES_ELEVATION
                    
                    Create_Camera
(PlayerOriginAngles)
                    
SM_CHOOSE_HAT(PlayerValue)
                }
                else
                {
                    
Chat_Color(Player"%s !yYa tienes un Sombrero puesto. Debes removerlo para probar un Sombrero"PREFIX)
                    
SM_CHOOSE_HAT(PlayerValue)
                    return;
                }
            }
            else
                
SM_CHOOSE_HAT(PlayerValue)
        }
        case 
3:
        {
            if (!
is_valid_ent(Camera_Rotative_Entity[Player]))
            {
                if (!
is_valid_ent(Hat_Entity[Player]))
                {
                    
Chat_Color(Player"%s !yNo puedes remover un sombrero por que no tienes ninguno"PREFIX)
                    
SM_CHOOSE_HAT(PlayerValue)
                    return;
                }
                
remove_entity(Hat_Entity[Player])
                
Chat_Color(Player"%s !ySombrero removido con exito."PREFIX)
                
SM_CHOOSE_HAT(PlayerValue)
            }
            else
                
SM_CHOOSE_HAT(PlayerValue)
        }
    }
}

public 
Camera_Rotative_Think(const Entity)
{
    if (!
is_valid_ent(Entity))
        return;
        
    static 
Float:Origin[3], Float:RadiusFloat:Rotation_AngleFloat:Vision_Angle[3], OwnerFloat:Game_Time;
    
    
Owner entity_get_edict(EntityEV_ENT_owner)
    
entity_get_vector(OwnerEV_VEC_originOrigin)
    
Radius entity_get_float(EntityEV_FL_fuser1)
    
Rotation_Angle entity_get_float(EntityEV_FL_fuser2)
    
entity_get_vector(EntityEV_VEC_anglesVision_Angle)
    
Game_Time get_gametime()
    
    
CALCULATE_NEXT_POSITION(OriginRadiusRotation_Angle)
    
    
Origin[2] += CAMERA_ELEVATION
    entity_set_origin
(EntityOrigin)
    
    if (
Rotation_Angle >= 359.9)
        
Rotation_Angle 0.0
    
else
        
Rotation_Angle += CAMERA_ROTATION_SPEED
        
    entity_set_float
(EntityEV_FL_fuser2Rotation_Angle)
    
Vision_Angle[1] += CAMERA_ROTATION_SPEED
    entity_set_vector
(EntityEV_VEC_anglesVision_Angle)
    
entity_set_int(EntityEV_INT_fixangle1)
    
entity_set_float(EntityEV_FL_nextthink, (halflife_time() + 0.001))
    
    if (
Camera_Rotative_Time[Owner] < Game_Time)
        
Remove_Camera_Rotative(Owner)
}

public 
Remove_Camera_Rotative(const Player)
{
    if (
is_valid_ent(Camera_Rotative_Entity[Player]))
    {
        
remove_entity(Camera_Rotative_Entity[Player])
        
Camera_Rotative_Entity[Player] = 0
    
}
        
    if (
is_valid_ent(Hat_Entity[Player]))
    {
        
remove_entity(Hat_Entity[Player])
        
Hat_Entity[Player] = 0
    
}
        
    
attach_view(PlayerPlayer)
}

public 
Event_DeathMsg()
{
    static 
Victim;
    
Victim read_data(2)
    
    if (
is_valid_ent(Hat_Entity[Victim]))
    {
        
remove_entity(Hat_Entity[Victim])
        
Hat_Entity[Victim] = 0
    
}
}

public 
client_disconnect(Player)
{
    if (
is_valid_ent(Camera_Rotative_Entity[Player]))
    {
        
remove_entity(Camera_Rotative_Entity[Player])
        
Camera_Rotative_Entity[Player] = 0
    
}
        
    if (
is_valid_ent(Hat_Entity[Player]))
    {
        
remove_entity(Hat_Entity[Player])
        
Hat_Entity[Player] = 0
    
}
}

stock Create_Camera(const Player, const Float:Origin[3], const Float:Angles[3])
{
    
Camera_Rotative_Entity[Player] = create_entity("info_target")
    
    if (!
is_valid_ent(Camera_Rotative_Entity[Player]))
        return;
        
    
entity_set_string(Camera_Rotative_Entity[Player], EV_SZ_classnameCAMERA_ROTATIVE_CLASSNAME)
    
entity_set_model(Camera_Rotative_Entity[Player], CAMERA_ROTATIVE_MODEL)
    
entity_set_int(Camera_Rotative_Entity[Player], EV_INT_solidSOLID_BBOX)
    
entity_set_int(Camera_Rotative_Entity[Player], EV_INT_movetypeMOVETYPE_FLY)
    
entity_set_size(Camera_Rotative_Entity[Player], CAMERA_ROTATIVE_MINSCAMERA_ROTATIVE_MAXS)
    
entity_set_origin(Camera_Rotative_Entity[Player], Origin)
    
entity_set_vector(Camera_Rotative_Entity[Player], EV_VEC_anglesAngles)
    
entity_set_int(Camera_Rotative_Entity[Player], EV_INT_fixangle1)
    
entity_set_edict(Camera_Rotative_Entity[Player], EV_ENT_ownerPlayer)
    
entity_set_float(Camera_Rotative_Entity[Player], EV_FL_fuser1CAMERA_RADIUS)
    
entity_set_float(Camera_Rotative_Entity[Player], EV_FL_fuser20.0)
    
attach_view(PlayerCamera_Rotative_Entity[Player])
    
entity_set_float(Camera_Rotative_Entity[Player], EV_FL_nextthink, (halflife_time() + 0.01))
    
Camera_Rotative_Time[Player] = (get_gametime() + ROTATION_TIME)
}

stock CALCULATE_NEXT_POSITION(Float:Origin[3], const Float:Radius, const Float:Rotation_Angle)
{
    if (
<= Rotation_Angle <= 90.0)
    {
        
Origin[0] += (Radius floatcos(Rotation_Angledegrees))
        
Origin[1] += (Radius floatsin(Rotation_Angledegrees))
    }
    else if (
90.0 <= Rotation_Angle <= 179.99)
    {
        
Origin[0] -= (Radius floatsin((Rotation_Angle-90.0), degrees))
        
Origin[1] += (Radius floatcos((Rotation_Angle-90.0), degrees))
    }
    else if (
180.0 <= Rotation_Angle <= 269.99)
    {
        
Origin[0] -= (Radius floatcos((Rotation_Angle-180.0), degrees))
        
Origin[1] -= (Radius floatsin((Rotation_Angle-180.0), degrees))
    }
    else if (
270.0 <= Rotation_Angle <= 359.99)
    {
        
Origin[0] += (Radius floatsin((Rotation_Angle-270.0), degrees))
        
Origin[1] -= (Radius floatcos((Rotation_Angle-270.0), degrees))
    }
}

stock Chat_Color(Player, const Input[], const any:...)
{
    static 
Message[191], MSG_SayText;
    
    if (!
MSG_SayText)
        
MSG_SayText get_user_msgid("SayText")
        
    
vformat(Message190Input3)
    
    
replace_all(Message190"!g""^4")
    
replace_all(Message190"!y""^1")
    
replace_all(Message190"!team""^3")
    
    
message_begin(Player MSG_ONE_UNRELIABLE MSG_BROADCASTMSG_SayText, .player Player)
    
write_byte(Player Player 33)
    
write_string(Message)
    
message_end()

“Quien te quiere en su vida, volverá a buscarte”
Qué frase más estúpida
Porque quien te quiere en su vida, jamás se iría.
Responder
#3
hola desde ya gracias cuando lo intento compliar tira esto

Hat+Nivel.sma(83) : error 029: invalid expression, assumed zero

creo q en la linea 83 hay algo mal estado intentando arreglar pero no puedo :/
Responder
#4
Prueba ahora
Código PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <engine>
#include <API_OldMenu>

new const PLUGIN_INFO[][] = { "Hats + Camera Rotative""1.0""Chamo. & Mario AR." }
new const 
CAMERA_ROTATIVE_CLASSNAME[] = "Camera_Rotative"
new const CAMERA_ROTATIVE_MODEL[] = "models/arcticorangeT.mdl"
const Float:CAMERA_RADIUS 100.0
const Float:CAMERA_ELEVATION 50.0
const Float:CAMERA_ANGLES_ELEVATION 30.0
const Float:CAMERA_TWIRL_ANGLES 180.0
const Float:CAMERA_ROTATION_SPEED 1.5
const Float:ROTATION_TIME 7.0
#define CAMERA_ROTATIVE_MINS Float: { -10.0, -10.0, 0.0 }
#define CAMERA_ROTATIVE_MAXS Float: { 10.0, 10.0, 25.0 }
new const PREFIX[] = "!g[AMXX]"
new g_level[33]

enum _:HATS_STRUCT
{
    
HAT_NAME[30],
    
HAT_NVL,
    
HAT_ADMIN,
    
HAT_MODEL[35]
}

new const 
STRUCT_HATS[][HATS_STRUCT] =
{
    { 
"Peinado Afro",                 1,     false,    "models/Hats/afro.mdl" },
    { 
"Alas de Angel",                 2,     false,     "models/Hats/angel2.mdl" },
    { 
"Flecha",                     3,     false,     "models/Hats/arrow.mdl" },
    { 
"Carita Feliz",                 4,     false,     "models/Hats/awesome.mdl" },
    { 
"Sombrero de Cerveza",         5,     true,     "models/Hats/beerhat.mdl" },
    { 
"Escudo del Capitan America"6,     false,     "models/Hats/cashield.mdl" },
    { 
"Cabeza de Queso",             7,     false,     "models/Hats/cheesehead.mdl" },
    { 
"Cuernos y Cola Diabolicos",     8,     true,     "models/Hats/devil2.mdl" },
    { 
"Traje de Elfo",                 9,     false,     "models/Hats/elf.mdl" },
    { 
"Cabeza de Darth Vader",         10true,     "models/Hats/darth2_big.mdl" },
    { 
"Auriculares",                 11true,    "models/Hats/headphones.mdl" },
    { 
"Sombrero de Duende",         12false,     "models/Hats/leprechaun.mdl" },
    { 
"Sombrero de Merlin",         13false,     "models/Hats/merlin.mdl" },
    { 
"Casco de Vikingo",             14true,     "models/Hats/viking.mdl" },
    { 
"Casco Espartano",             15true,     "models/Hats/Spartan.mdl" },
    { 
"Sombrero de Robin Hood",     16false,     "models/Hats/robinhood.mdl" }
    
    
// Para agregar hats, es sumamente sencillo, solo tienen que agregar otra linea con los siguientes parametros
    // Ejemplo
    
    // Nombre del Sombrero        Nivel    Es para todos/admines (false = todos | true = admines)            ubicacion del sombrero (por defecto es models/Hats)
    
"Sombrerito :3",        17,            false,                                "models/Hats/modelo_del_sombrerito.mdl" // Este es solo de ejemplo
}

new 
Camera_Rotative_Entity[33], Hat_Entity[33], Current_Page[33], Float:Camera_Rotative_Time[33]

public 
plugin_init()
{
    
register_plugin(PLUGIN_INFO[0], PLUGIN_INFO[1], PLUGIN_INFO[2])
    
    
register_clcmd("say /hats""SM_HATS")
    
register_clcmd("say hats""SM_HATS")
    
register_think(CAMERA_ROTATIVE_CLASSNAME"Camera_Rotative_Think")
    
register_event("DeathMsg""Event_DeathMsg""a")
    
oldmenu_register()
}

public 
plugin_precache()
{
    
precache_model(CAMERA_ROTATIVE_MODEL)
    
    for (new 
0sizeof (STRUCT_HATS); i++)
        
precache_model(STRUCT_HATS[i][HAT_MODEL])
}

public 
SM_HATS(const Player)
{
    static 
iMenuTemp[3], Len[350];
    
    
Menu menu_create("\wMenu de \yHats \r(Sombreros)\y^nElige el Sombrero^nque mas te agrade.""HM_HATS")
    
    for (
0sizeof (STRUCT_HATS); i++)
    {
        if (
STRUCT_HATS[i][HAT_ADMIN])
        {
                
formatex(Lencharsmax(Len), "\%s%s \y[Nvl: %d] %s"g_level[Player] >= STRUCT_HATS[i][HAT_NVL] ? "w" "d"STRUCT_HATS[i][HAT_NAME], STRUCT_HATS[i][HAT_NVL], is_user_admin(Player) ? "\w(Disponible)" "\r(Solo para Admines)")
            else
                
formatex(Lencharsmax(Len), "\%s%s \y[Nvl: %d] \%s(Disponible)"g_level[Player] >= STRUCT_HATS[i][HAT_NVL] ? "w" "d"STRUCT_HATS[i][HAT_NAME], STRUCT_HATS[i][HAT_NVL], g_level[Player] >= STRUCT_HATS[i][HAT_NVL] ? "w" "d")
        }
        
num_to_str(iTempcharsmax(Temp))
        
menu_additem(MenuLenTemp)
    }
    
menu_setprop(MenuMPROP_BACKNAME"\yAnterior")
    
menu_setprop(MenuMPROP_NEXTNAME"\ySiguiente")
    
menu_setprop(MenuMPROP_EXITNAME"\ySalir")
    
Current_Page[Player] = min(Current_Page[Player], (menu_pages(Menu)-1))
    
menu_display(PlayerMenuCurrent_Page[Player])
}

public 
HM_HATS(const Player, const Menu, const Item)
{
    if (
Item == MENU_EXIT || !is_user_alive(Player))
    {
        
menu_destroy(Menu)
        return;
    }
    
    static 
Page
    player_menu_info
(PlayerPagePageCurrent_Page[Player])
    
    if (
STRUCT_HATS[Item][HAT_ADMIN])
    {
        if (
is_user_admin(Player))
            
SM_CHOOSE_HAT(PlayerItem)
        else
        {
            
Chat_Color(Player"%s !yNecesitas ser !teamAdministrador !ypara obtener este sombrero"PREFIX)
            
SM_HATS(Player)
            return;
        }
    }
    else
        
SM_CHOOSE_HAT(PlayerItem)
}

public 
SM_CHOOSE_HAT(const Player, const Item)
{
    
oldmenu_create("HM_CHOOSE_HAT""\wSombrero Elegido: \y%s^n\wNivel: \r%d (Minimo)"STRUCT_HATS[Item][HAT_NAME], STRUCT_HATS[Item][HAT_NVL])
    
    
oldmenu_additem(1Item"\r[1]. \wElegir \ySombrero")
    
oldmenu_additem(2Item"\r[2]. \wProbar \ySombrero")
    
oldmenu_additem(3Item"\r[3]. \wRemover \ySombrero Actual^n^n^n")
    
oldmenu_additem(0MENU_EXIT"\r[0]. \wElegir otro \ySombrero.")
    
oldmenu_display(Player)
}

public 
HM_CHOOSE_HAT(const Player, const Item, const Value, const Page)
{
    if (!
is_user_alive(Player))
        return;
        
    switch (
Item)
    {
        case 
0SM_HATS(Player)
        case 
1:
        {
            if (!
is_valid_ent(Camera_Rotative_Entity[Player]))
            {
                if (
g_level[Player] >= STRUCT_HATS[Value][HAT_NVL])
                {
                    if (
is_valid_ent(Hat_Entity[Player]))
                    {
                        
remove_entity(Hat_Entity[Player])
                        
Hat_Entity[Player] = 0
                    
}
                        
                    
Hat_Entity[Player] = create_entity("info_target")
                
                    if (!
is_valid_ent(Hat_Entity[Player]))
                        return;
                                
                    
entity_set_int(Hat_Entity[Player], EV_INT_movetypeMOVETYPE_FOLLOW)
                    
entity_set_edict(Hat_Entity[Player], EV_ENT_aimentPlayer)
                    
entity_set_int(Hat_Entity[Player], EV_INT_rendermodekRenderNormal)
                    
entity_set_model(Hat_Entity[Player], STRUCT_HATS[Value][HAT_MODEL])
                    
Chat_Color(Player"%s !ySombrero !team%s !yelegido con exito."PREFIXSTRUCT_HATS[Value][HAT_NAME])
                }
                else
                {
                    
Chat_Color(Player"%s !yNecesitas ser Nivel !g%d !ypara elegir este Sombrero"PREFIXSTRUCT_HATS[Value][HAT_NVL])
                    
SM_CHOOSE_HAT(PlayerValue)
                    return;
                }
            }
            else
                
SM_CHOOSE_HAT(PlayerValue)
        }
        case 
2:
        {
            if (!
is_valid_ent(Camera_Rotative_Entity[Player]))
            {
                if (!
is_valid_ent(Hat_Entity[Player]))
                {
                    
Hat_Entity[Player] = create_entity("info_target")
                    
                    if (!
is_valid_ent(Hat_Entity[Player]))
                        return;
                                    
                    
entity_set_int(Hat_Entity[Player], EV_INT_movetypeMOVETYPE_FOLLOW)
                    
entity_set_edict(Hat_Entity[Player], EV_ENT_aimentPlayer)
                    
entity_set_int(Hat_Entity[Player], EV_INT_rendermodekRenderNormal)
                    
entity_set_model(Hat_Entity[Player], STRUCT_HATS[Value][HAT_MODEL])
                    
                    static 
Float:Origin[3], Float:Angles[3];
                    
entity_get_vector(PlayerEV_VEC_originOrigin)
                    
entity_get_vector(PlayerEV_VEC_anglesAngles)
                    
                    
Origin[0] += CAMERA_RADIUS
                    Origin
[2] += CAMERA_ELEVATION
                    Angles
[1] = CAMERA_TWIRL_ANGLES
                    Angles
[0] = CAMERA_ANGLES_ELEVATION
                    
                    Create_Camera
(PlayerOriginAngles)
                    
SM_CHOOSE_HAT(PlayerValue)
                }
                else
                {
                    
Chat_Color(Player"%s !yYa tienes un Sombrero puesto. Debes removerlo para probar un Sombrero"PREFIX)
                    
SM_CHOOSE_HAT(PlayerValue)
                    return;
                }
            }
            else
                
SM_CHOOSE_HAT(PlayerValue)
        }
        case 
3:
        {
            if (!
is_valid_ent(Camera_Rotative_Entity[Player]))
            {
                if (!
is_valid_ent(Hat_Entity[Player]))
                {
                    
Chat_Color(Player"%s !yNo puedes remover un sombrero por que no tienes ninguno"PREFIX)
                    
SM_CHOOSE_HAT(PlayerValue)
                    return;
                }
                
remove_entity(Hat_Entity[Player])
                
Chat_Color(Player"%s !ySombrero removido con exito."PREFIX)
                
SM_CHOOSE_HAT(PlayerValue)
            }
            else
                
SM_CHOOSE_HAT(PlayerValue)
        }
    }
}

public 
Camera_Rotative_Think(const Entity)
{
    if (!
is_valid_ent(Entity))
        return;
        
    static 
Float:Origin[3], Float:RadiusFloat:Rotation_AngleFloat:Vision_Angle[3], OwnerFloat:Game_Time;
    
    
Owner entity_get_edict(EntityEV_ENT_owner)
    
entity_get_vector(OwnerEV_VEC_originOrigin)
    
Radius entity_get_float(EntityEV_FL_fuser1)
    
Rotation_Angle entity_get_float(EntityEV_FL_fuser2)
    
entity_get_vector(EntityEV_VEC_anglesVision_Angle)
    
Game_Time get_gametime()
    
    
CALCULATE_NEXT_POSITION(OriginRadiusRotation_Angle)
    
    
Origin[2] += CAMERA_ELEVATION
    entity_set_origin
(EntityOrigin)
    
    if (
Rotation_Angle >= 359.9)
        
Rotation_Angle 0.0
    
else
        
Rotation_Angle += CAMERA_ROTATION_SPEED
        
    entity_set_float
(EntityEV_FL_fuser2Rotation_Angle)
    
Vision_Angle[1] += CAMERA_ROTATION_SPEED
    entity_set_vector
(EntityEV_VEC_anglesVision_Angle)
    
entity_set_int(EntityEV_INT_fixangle1)
    
entity_set_float(EntityEV_FL_nextthink, (halflife_time() + 0.001))
    
    if (
Camera_Rotative_Time[Owner] < Game_Time)
        
Remove_Camera_Rotative(Owner)
}

public 
Remove_Camera_Rotative(const Player)
{
    if (
is_valid_ent(Camera_Rotative_Entity[Player]))
    {
        
remove_entity(Camera_Rotative_Entity[Player])
        
Camera_Rotative_Entity[Player] = 0
    
}
        
    if (
is_valid_ent(Hat_Entity[Player]))
    {
        
remove_entity(Hat_Entity[Player])
        
Hat_Entity[Player] = 0
    
}
        
    
attach_view(PlayerPlayer)
}

public 
Event_DeathMsg()
{
    static 
Victim;
    
Victim read_data(2)
    
    if (
is_valid_ent(Hat_Entity[Victim]))
    {
        
remove_entity(Hat_Entity[Victim])
        
Hat_Entity[Victim] = 0
    
}
}

public 
client_disconnect(Player)
{
    if (
is_valid_ent(Camera_Rotative_Entity[Player]))
    {
        
remove_entity(Camera_Rotative_Entity[Player])
        
Camera_Rotative_Entity[Player] = 0
    
}
        
    if (
is_valid_ent(Hat_Entity[Player]))
    {
        
remove_entity(Hat_Entity[Player])
        
Hat_Entity[Player] = 0
    
}
}

stock Create_Camera(const Player, const Float:Origin[3], const Float:Angles[3])
{
    
Camera_Rotative_Entity[Player] = create_entity("info_target")
    
    if (!
is_valid_ent(Camera_Rotative_Entity[Player]))
        return;
        
    
entity_set_string(Camera_Rotative_Entity[Player], EV_SZ_classnameCAMERA_ROTATIVE_CLASSNAME)
    
entity_set_model(Camera_Rotative_Entity[Player], CAMERA_ROTATIVE_MODEL)
    
entity_set_int(Camera_Rotative_Entity[Player], EV_INT_solidSOLID_BBOX)
    
entity_set_int(Camera_Rotative_Entity[Player], EV_INT_movetypeMOVETYPE_FLY)
    
entity_set_size(Camera_Rotative_Entity[Player], CAMERA_ROTATIVE_MINSCAMERA_ROTATIVE_MAXS)
    
entity_set_origin(Camera_Rotative_Entity[Player], Origin)
    
entity_set_vector(Camera_Rotative_Entity[Player], EV_VEC_anglesAngles)
    
entity_set_int(Camera_Rotative_Entity[Player], EV_INT_fixangle1)
    
entity_set_edict(Camera_Rotative_Entity[Player], EV_ENT_ownerPlayer)
    
entity_set_float(Camera_Rotative_Entity[Player], EV_FL_fuser1CAMERA_RADIUS)
    
entity_set_float(Camera_Rotative_Entity[Player], EV_FL_fuser20.0)
    
attach_view(PlayerCamera_Rotative_Entity[Player])
    
entity_set_float(Camera_Rotative_Entity[Player], EV_FL_nextthink, (halflife_time() + 0.01))
    
Camera_Rotative_Time[Player] = (get_gametime() + ROTATION_TIME)
}

stock CALCULATE_NEXT_POSITION(Float:Origin[3], const Float:Radius, const Float:Rotation_Angle)
{
    if (
<= Rotation_Angle <= 90.0)
    {
        
Origin[0] += (Radius floatcos(Rotation_Angledegrees))
        
Origin[1] += (Radius floatsin(Rotation_Angledegrees))
    }
    else if (
90.0 <= Rotation_Angle <= 179.99)
    {
        
Origin[0] -= (Radius floatsin((Rotation_Angle-90.0), degrees))
        
Origin[1] += (Radius floatcos((Rotation_Angle-90.0), degrees))
    }
    else if (
180.0 <= Rotation_Angle <= 269.99)
    {
        
Origin[0] -= (Radius floatcos((Rotation_Angle-180.0), degrees))
        
Origin[1] -= (Radius floatsin((Rotation_Angle-180.0), degrees))
    }
    else if (
270.0 <= Rotation_Angle <= 359.99)
    {
        
Origin[0] += (Radius floatsin((Rotation_Angle-270.0), degrees))
        
Origin[1] -= (Radius floatcos((Rotation_Angle-270.0), degrees))
    }
}

stock Chat_Color(Player, const Input[], const any:...)
{
    static 
Message[191], MSG_SayText;
    
    if (!
MSG_SayText)
        
MSG_SayText get_user_msgid("SayText")
        
    
vformat(Message190Input3)
    
    
replace_all(Message190"!g""^4")
    
replace_all(Message190"!y""^1")
    
replace_all(Message190"!team""^3")
    
    
message_begin(Player MSG_ONE_UNRELIABLE MSG_BROADCASTMSG_SayText, .player Player)
    
write_byte(Player Player 33)
    
write_string(Message)
    
message_end()

“Quien te quiere en su vida, volverá a buscarte”
Qué frase más estúpida
Porque quien te quiere en su vida, jamás se iría.
Responder
#5
ya lo he arreglado gracias por la ayuda Sonrisa igualmente funciona al 100%
Responder
#6
(27/03/2019, 09:28 AM)jeicopXD escribió: ya lo he arreglado gracias por la ayuda Sonrisa igualmente funciona al 100%
De nada perdon por no hacerlo bien a la primera sorry :c, cualquier fallo comentalo
“Quien te quiere en su vida, volverá a buscarte”
Qué frase más estúpida
Porque quien te quiere en su vida, jamás se iría.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)