Raised This Month: $ Target: $400
 0% 

freeze player


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
InteX01
Senior Member
Join Date: Jan 2017
Old 06-19-2017 , 15:38   freeze player
Reply With Quote #1

I searched and searched and i couldnt find anywhere.....
something like set_user_freeze (but its not that, i know )


Example, on command say /freezeme i cant move anywhere, but i can look around.
Code:
register_clcmd("say /freezeme", "freezeMe")

public freezeMe(id)
{
           ............code
}

Last edited by InteX01; 06-19-2017 at 15:40.
InteX01 is offline
Natsheh
Veteran Member
Join Date: Sep 2012
Old 06-19-2017 , 15:45   Re: freeze player
Reply With Quote #2

https://forums.alliedmods.net/showthread.php?t=296406
__________________
@Jailbreak Main Mod v2.7.0 100%
@User Tag Prefix 100% done !
@Mystery Box 100% done !
@VIP System 100% done !

Natsheh is offline
Send a message via MSN to Natsheh Send a message via Skype™ to Natsheh
EFFx
Veteran Member
Join Date: Feb 2016
Location: São Paulo, Brasil
Old 06-19-2017 , 15:55   Re: freeze player
Reply With Quote #3

I made this with .inc file if you want:

1. Main plugin:

PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"

#define isFreezed(%1)            (is_user_alive(%1) && g_bIsFrozen[%1])

#if AMXX_VERSION_NUM < 183
#define MAX_PLAYERS 32
#endif

new bool:g_bIsFrozen[MAX_PLAYERS+1], g_iUserOldSpeed[MAX_PLAYERS+1], g_iUserSpeed[MAX_PLAYERS+1], Float:g_fPlayerViewAngles[MAX_PLAYERS+1][3]
const 
Ham:Ham_Player_ResetMaxSpeed =    Ham_Item_PreFrame

public plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
RegisterHam(Ham_Player_ResetMaxSpeed"player""ham_Player_ResetMaxSpeed_Post"1)
}

public 
plugin_natives()
{
    
register_library("freeze.inc")
    
    
register_native("set_user_freeze""_set_user_freeze")
    
register_native("get_user_freeze""_get_user_freeze")
}

public 
_set_user_freeze()
{
    new 
id get_param(1)
    new 
bool:bIsForSet bool:get_param(2)
    new 
iType get_param(3)
    new 
iUserPev pev(idpev_flags)
    
    if(
bIsForSet)
    {
        if(!
g_bIsFrozen[id])
        {
            switch(
iType)
            {
                case 
1:
                {
                    
g_iUserOldSpeed[id] = get_cvar_num("sv_maxspeed")
                    
g_iUserSpeed[id] = 0
                
}
                case 
2:
                {
                    
pev(idpev_v_angleg_fPlayerViewAngles[id])
                    
set_pev(idpev_flagsiUserPev FL_FROZEN)
                }
            }
            
g_bIsFrozen[id] = true
        
}
    }
    else
    {
        if(
g_bIsFrozen[id])
        {
            
g_iUserSpeed[id] = g_iUserOldSpeed[id]
            
set_pev(idpev_flagsiUserPev & ~FL_FROZEN)
            
g_bIsFrozen[id] = false
        
}
    }
}

public 
_get_user_freeze()
{
    return 
g_bIsFrozen[get_param(1)]
}

public 
ham_Player_ResetMaxSpeed_Post(id)
{
    if(
isFreezed(id))
    {
        
fm_set_user_speed(idFloat:g_iUserSpeed[id])
    }
}

public 
client_PreThink(id)
{
    if(
isFreezed(id))
    {
        
set_pev(idpev_v_angleg_fPlayerViewAngles[id])
    }
}

fm_set_user_speed(idFloat:MSpeed = -1.0
{
    
engfunc(EngFunc_SetClientMaxspeedidMSpeed)
    
set_pev(idpev_maxspeedMSpeed)
    return 
1

2. Inc file:

Code:
#if defined _freeze_included
    #endinput
#endif

#define _freeze_included

/*
@id			player's index to freeze
@bIsForSet		true if you want to freeze, false if not
@iType			Totally freeze/only speed
*/
native set_user_freeze(id, bool:bIsForSet, iType = 1)

/*
@id			player's index to check freeze
*/
native get_user_freeze(id)
The .inc file must be named as freeze.inc

3. Example usage:

- If you want only to change the player's speed to 0
PHP Code:
set_user_freeze(playertrue1
If you want block everything ( view angle, speed, duck... ( not everything at all ) )

PHP Code:
set_user_freeze(playertrue2
If you want to unfreeze:

PHP Code:
set_user_freeze(playerfalse
I didn't test it yet.


EDIT: Maybe you shoud use the Natsheh's link.
__________________
• Ranking System • AutoMix 5vs5 System
• Web Ban System • Plugins for free

____________________________________________
For private works:
• Discord: EFFEXo#8850 • Steam: EFFEXo

Last edited by EFFx; 06-19-2017 at 16:00.
EFFx is offline
InteX01
Senior Member
Join Date: Jan 2017
Old 06-19-2017 , 18:15   Re: freeze player
Reply With Quote #4

Im sorry.... but what should i do with those codes you gave me... first INC code.. i need to compile it somewhere or what... I dont know If you could explain step by step.. i would be greatful.
InteX01 is offline
EFFx
Veteran Member
Join Date: Feb 2016
Location: São Paulo, Brasil
Old 06-19-2017 , 19:24   Re: freeze player
Reply With Quote #5

freeze.inc - Put it into the include folder in addons/amxmodx/scripting
freeze.sma - Compile it normally and put in plugins folder, guess I don't need to explain where it's.
FreezeTest - Same as freeze.sma

Tested and it works, only the view block wont block.

Step by step:

1. For check if the player is/ain't freezed.

- If he's freezed

PHP Code:
if(get_user_freeze(id)) 
- If he's not freezed

PHP Code:
if(!get_user_freeze(id)) 
2. For set/unset a completely freeze ( duck, weapon change, jump, shot and scope change )

- For set

PHP Code:
set_user_freeze(playeridtrue2
- For unset

PHP Code:
set_user_freeze(playeridfalse
3. For set/unset normal freeze ( only speed )

- For set

PHP Code:
set_user_freeze(playeridtrue1
- For unset

PHP Code:
set_user_freeze(playeridfalse
Attached Files
File Type: sma Get Plugin or Get Source (freeze.sma - 884 views - 2.2 KB)
File Type: sma Get Plugin or Get Source (FreezeTest.sma - 782 views - 845 Bytes)
File Type: inc freeze.inc (342 Bytes, 262 views)
__________________
• Ranking System • AutoMix 5vs5 System
• Web Ban System • Plugins for free

____________________________________________
For private works:
• Discord: EFFEXo#8850 • Steam: EFFEXo

Last edited by EFFx; 06-19-2017 at 20:01.
EFFx is offline
CrazY.
Veteran Member
Join Date: May 2015
Location: SP, Brazil
Old 06-19-2017 , 21:44   Re: freeze player
Reply With Quote #6

EFFx, add a reset user maxspeed native.
__________________








CrazY. is offline
EFFx
Veteran Member
Join Date: Feb 2016
Location: São Paulo, Brasil
Old 06-19-2017 , 23:09   Re: freeze player
Reply With Quote #7

Isn't the speed turning back when the user type /unfreeze?
__________________
• Ranking System • AutoMix 5vs5 System
• Web Ban System • Plugins for free

____________________________________________
For private works:
• Discord: EFFEXo#8850 • Steam: EFFEXo
EFFx is offline
CrazY.
Veteran Member
Join Date: May 2015
Location: SP, Brazil
Old 06-19-2017 , 23:26   Re: freeze player
Reply With Quote #8

Mm, yeah, I did not see this little detail.

Don't is more easy and usefull set_user_maxspeed from fun?

Your code have a problem. If you unset freeze while round is freezed, the player will be allowed to move.
__________________









Last edited by CrazY.; 06-19-2017 at 23:33.
CrazY. is offline
EFFx
Veteran Member
Join Date: Feb 2016
Location: São Paulo, Brasil
Old 06-20-2017 , 00:33   Re: freeze player
Reply With Quote #9

I'll check these issues. About set_user_maxspeed(), I don't like to hook CurWeapon, so...
__________________
• Ranking System • AutoMix 5vs5 System
• Web Ban System • Plugins for free

____________________________________________
For private works:
• Discord: EFFEXo#8850 • Steam: EFFEXo
EFFx is offline
Natsheh
Veteran Member
Join Date: Sep 2012
Old 06-20-2017 , 02:03   Re: freeze player
Reply With Quote #10

https://forums.alliedmods.net/showpo...42&postcount=9
__________________
@Jailbreak Main Mod v2.7.0 100%
@User Tag Prefix 100% done !
@Mystery Box 100% done !
@VIP System 100% done !

Natsheh is offline
Send a message via MSN to Natsheh Send a message via Skype™ to Natsheh
Reply


Thread Tools
Display Modes

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 23:08.


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