AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Block camera look (https://forums.alliedmods.net/showthread.php?t=319415)

Mikka 10-30-2019 13:04

Block camera look
 
Hello guys.
I would like to block camera movement. I read somewhere that you can do it with pev_angle, but I have absolutely no idea how to do it. Can you help? : D

Mikka 11-02-2019 13:10

Re: Block camera look
 
REF

georgik57 11-03-2019 06:10

Re: Block camera look
 
Use this as refference:
PHP Code:

/*
Hierarchy:
----------
Ham_Player_PreThink
Ham_Player_UpdateClientData
PM_Move (client camera movement)
Ham_Item_ItemSlot
Ham_Player_PostThink

To do list:
-----------
[ ] Find fakemeta forward(s) (for/closest to) PM_Move or equivalent to Ham_Item_ItemSlot
[ ] Use fakemeta/hamsandwich only if possible
[ ] Customizability
[ ] Optimize
*/

#include <amxmodx>
#include <bitsums>
#include <engine>
#include <hamsandwich>
#include <zombieplaguenightmare>

// Uncomment to enable debugging
// Bits:
// 1 = log_to_file
// 2 = print_center
// 4 = print_console
// 8 = print_chat
// 16 = hud
//#define DefDebug 17

#if defined DefDebug
#if DefDebug & 1
new g_szDebugFile[] = "FreezeCamera.log";
#endif
#endif

new g_bitFrozenFloat:g_fAnglesOriginal[33][3]/*, Float:g_fAnglesViewOriginal[33][3]*/g_pCvarClCmdStrafe;

public 
plugin_init()
{
    
register_plugin("[ZPNM] Freeze camera""0.1.6""schmurgel1983, D i 5 7 i n c T")
    
    
#if defined DefDebug
    #if defined _zombieplaguenightmare_included
    
register_clcmd("say /f""fw_ClCmdSayF")
    
#endif
    #endif
    
    
RegisterHam(Ham_Spawn"player""fw_HamPlayerSpawn_Post"1)
    
RegisterHam(Ham_Item_ItemSlot"player""fw_HamItemItemSlot")
    
    
g_pCvarClCmdStrafe register_cvar("zpnm_freeze_cam_clcmd_strafe""0")
}

#if defined _zombieplaguenightmare_included
public zpnm_register_ham_czbots(id)
{
    
RegisterHamFromEntity(Ham_Spawnid"fw_HamPlayerSpawn_Post"1)
    
RegisterHamFromEntity(Ham_Item_ItemSlotid"fw_HamItemItemSlot")
}

#if defined DefDebug
public fw_ClCmdSayF(id)
    
zpnm_set_user_frozen(id, !bitsum_get(g_bitFrozenid) ? 0)
#endif
#endif

public client_disconnect(id)
    if (
bitsum_get(g_bitFrozenid))
        
zp_user_unfrozen(id0)

public 
fw_HamPlayerSpawn_Post(id)
    
client_disconnect(id)

public 
zpnm_user_frozen(id)
{
    
bitsum_add(g_bitFrozenid)
    
    
entity_get_vector(id/*EV_VEC_angles*/EV_VEC_v_angleg_fAnglesOriginal[id])
//    entity_get_vector(id, EV_VEC_v_angle, g_fAnglesViewOriginal[id])
    
    #if defined DefDebug
    #if DefDebug & 1
    
if (!is_user_bot(id))
        
log_to_file(g_szDebugFile"[Player %d] Frozen. Original Angles: %.2f, %.2f, %.2f"/* | Original ViewAngles: %.2f, %.2f, %.2f*/idg_fAnglesOriginal[id][0], g_fAnglesOriginal[id][1], g_fAnglesOriginal[id][2]/*, g_fAnglesViewOriginal[id][0], g_fAnglesViewOriginal[id][1], g_fAnglesViewOriginal[id][2]*/)
    
#endif
    #endif
}

public 
zp_user_unfrozen(id)
{
    
bitsum_del(g_bitFrozenid)
    
    
client_cmd(id"-strafe")
}

public 
fw_HamItemItemSlot(id)
{
    if (!
bitsum_get(g_bitFrozenid))
        return;
    
    
#if defined DefDebug
    
if (!is_user_bot(id))
    {
        static 
Float:fAngles[3], Float:fAnglesView[3];
        
entity_get_vector(idEV_VEC_anglesfAngles)
        
entity_get_vector(idEV_VEC_v_anglefAnglesView)
        
        if (
fAnglesView[0] != g_fAnglesOriginal[id][0] || fAnglesView[1] != g_fAnglesOriginal[id][1]
        || 
fAnglesView[2] != g_fAnglesOriginal[id][2]/* || fAngles[0] != g_fAnglesViewOriginal[id][0]
        || fAngles[1] != g_fAnglesViewOriginal[id][1] || fAngles[2] != g_fAnglesViewOriginal[id][2]*/
)
        {
            
#if DefDebug & 1
            
log_to_file(g_szDebugFile"[Player %d] Think.  Angles: %.2f, %.2f, %.2f | ViewAngles: %.2f, %.2f, %.2f"idfAngles[0], fAngles[1], fAngles[2], fAnglesView[0], fAnglesView[1], fAnglesView[2])
            
#endif
            
            #if DefDebug & 4
            
client_print(idprint_console"[Player %d] Think. Angles: %.2f, %.2f, %.2f | ViewAngles: %.2f, %.2f, %.2f"idfAngles[0], fAngles[1], fAngles[2], fAnglesView[0], fAnglesView[1], fAnglesView[2])
            
#endif
            
            #if DefDebug & 8
            
client_print(idprint_chat"[Player %d] Think. Angles: %.2f, %.2f, %.2f | ViewAngles: %.2f, %.2f, %.2f"idfAngles[0], fAngles[1], fAngles[2], fAnglesView[0], fAnglesView[1], fAnglesView[2])
            
#endif
        
}
        
        
#if DefDebug & 2
        
client_print(idprint_center"[Player %d] Think. Angles: %.2f, %.2f, %.2f | ViewAngles: %.2f, %.2f, %.2f"idfAngles[0], fAngles[1], fAngles[2], fAnglesView[0], fAnglesView[1], fAnglesView[2])
        
#endif
        
        #if DefDebug & 16
        
static msgSyncHUD;
        
        if (!
msgSyncHUD)
            
msgSyncHUD CreateHudSyncObj();
        
        
set_hudmessage(2550255, -1.0, -1.000.03.02.01.04)
        
ShowSyncHudMsg(idmsgSyncHUD"[Player %d] Think.^nAngles: %.2f, %.2f, %.2f^nViewAngles: %.2f, %.2f, %.2f"idfAngles[0], fAngles[1], fAngles[2], fAnglesView[0], fAnglesView[1], fAnglesView[2])
        
#endif
    
}
    
#endif
    
//    entity_set_vector(id, EV_VEC_v_angle, g_fAnglesViewOriginal[id])
    
entity_set_vector(idEV_VEC_anglesg_fAnglesOriginal[id])
    
entity_set_int(idEV_INT_fixangle1)
    
    
// Not a very good idea since the client can have a
    // connection fail and we won't be able to send -strafe
    
if (get_pcvar_num(g_pCvarClCmdStrafe))
        
client_cmd(id"+strafe")




All times are GMT -4. The time now is 02:51.

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