Czy da się jakoś zablokować kamerę żeby gracz jak ruszał myszką nie obracał postaci przy tym?
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
Blokowanie kamery
Temat rozp. ASu, 28.10.2019 12:54
3 odpowiedzi w tym temacie
#1
Napisano 28.10.2019 12:54
#2
Napisano 28.10.2019 19:57
Da się. Możesz wykorzystać do tego pev_angle oraz pev_fixangle.
#3
Napisano 29.10.2019 10:35
Da się. Możesz wykorzystać do tego pev_angle oraz pev_fixangle.
Mógłbyś zarzucić funkcje proszę?
Do zablokowania kamery oraz do odblokowania
#4
Napisano 06.11.2019 22:10
Użyj tego jako odniesienia
/* 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_bitFrozen, Float: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_Spawn, id, "fw_HamPlayerSpawn_Post", 1) RegisterHamFromEntity(Ham_Item_ItemSlot, id, "fw_HamItemItemSlot") } #if defined DefDebug public fw_ClCmdSayF(id) zpnm_set_user_frozen(id, !bitsum_get(g_bitFrozen, id) ? 1 : 0) #endif #endif public client_disconnect(id) if (bitsum_get(g_bitFrozen, id)) zp_user_unfrozen(id, 0) public fw_HamPlayerSpawn_Post(id) client_disconnect(id) public zpnm_user_frozen(id) { bitsum_add(g_bitFrozen, id) entity_get_vector(id, /*EV_VEC_angles*/EV_VEC_v_angle, g_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*/, id, g_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_bitFrozen, id) client_cmd(id, "-strafe") } public fw_HamItemItemSlot(id) { if (!bitsum_get(g_bitFrozen, id)) return; #if defined DefDebug if (!is_user_bot(id)) { static Float:fAngles[3], Float:fAnglesView[3]; entity_get_vector(id, EV_VEC_angles, fAngles) entity_get_vector(id, EV_VEC_v_angle, fAnglesView) 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", id, fAngles[0], fAngles[1], fAngles[2], fAnglesView[0], fAnglesView[1], fAnglesView[2]) #endif #if DefDebug & 4 client_print(id, print_console, "[Player %d] Think. Angles: %.2f, %.2f, %.2f | ViewAngles: %.2f, %.2f, %.2f", id, fAngles[0], fAngles[1], fAngles[2], fAnglesView[0], fAnglesView[1], fAnglesView[2]) #endif #if DefDebug & 8 client_print(id, print_chat, "[Player %d] Think. Angles: %.2f, %.2f, %.2f | ViewAngles: %.2f, %.2f, %.2f", id, fAngles[0], fAngles[1], fAngles[2], fAnglesView[0], fAnglesView[1], fAnglesView[2]) #endif } #if DefDebug & 2 client_print(id, print_center, "[Player %d] Think. Angles: %.2f, %.2f, %.2f | ViewAngles: %.2f, %.2f, %.2f", id, fAngles[0], fAngles[1], fAngles[2], fAnglesView[0], fAnglesView[1], fAnglesView[2]) #endif #if DefDebug & 16 static msgSyncHUD; if (!msgSyncHUD) msgSyncHUD = CreateHudSyncObj(); set_hudmessage(255, 0, 255, -1.0, -1.0, 0, 0.0, 3.0, 2.0, 1.0, 4) ShowSyncHudMsg(id, msgSyncHUD, "[Player %d] Think.^nAngles: %.2f, %.2f, %.2f^nViewAngles: %.2f, %.2f, %.2f", id, fAngles[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(id, EV_VEC_angles, g_fAnglesOriginal[id]) entity_set_int(id, EV_INT_fixangle, 1) // 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") }
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych