Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Freeze-Unfreeze
#2
PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <hamsandwich>
#include <fakemeta>

#define PLUGIN "Freeze - Unfreeze"
#define VERSION "1.0"
#define AUTHOR "akcaliberkk"

new bool:gFrozen[33];
new 
pCvarAllowMousepCvarOnlyKnifepCvarAllowJump
new FloatiAngles33 ][ ];
new 
fwPreThink;

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
pCvarAllowMouse register_cvar"af_allow_mouse" "0" ); // 1 : allow move mouse ; 0 : not allow move mouse
    
pCvarOnlyKnife register_cvar"af_only_knife" "1" ); // 1 : only allow knife ; 0 : allow all weapons
    
pCvarAllowJump register_cvar"af_allow_jump" "0" )
    
    
register_concmd("amx_freeze","cmdFreeze",ADMIN_BAN)
    
register_concmd("amx_unfreeze","cmdUnFreeze",ADMIN_BAN)
    
    
register_event"CurWeapon" "eventCurWeapon" "be" "1=1" "2!29" );
    
register_event"DeathMsg" "eventDeathMsg" "a" );
    
    
register_logevent"eventRoundEnd" "1=Round_End" );
    
RegisterHamHam_Spawn "player" "Player_Spawn" true );
    
RegisterHamHam_Player_Jump "player" "Player_Jump" false );
}
public 
eventCurWeapon(id) {
    if( 
is_user_aliveid ) ){
        if( 
gFrozen[id] && get_pcvar_numpCvarOnlyKnife ) ){
            
engclient_cmdid "weapon_knife" );
        }
    }
}
public 
eventDeathMsg() {
    
UnFreeze(read_data(2));
}

public 
eventRoundEnd() {
    new 
iPlayers32 ] , iNum id;
    
get_playersiPlayers iNum "a" );
    
    for( 
0iNumi++ ) {
        
id iPlayers];
        
        if( 
gFrozen[id] ){
            
UnFreezeid );
        }
    }
}
public 
Player_Jumpid ) {
    if( 
gFrozen[id] && !get_pcvar_numpCvarAllowJump ) ) {
        return 
HAM_SUPERCEDE;
    }
    
    return 
HAM_IGNORED;
}

public 
Player_Spawnid ){
    if( 
is_user_aliveid ) ) {
        if( 
gFrozen[id] ) {
            
UnFreezeid );
        }
    }
}
public 
fwPlayerPreThinkid ) {
    if( 
gFrozen[id] && !get_pcvar_numpCvarAllowMouse ) ){
        if( 
is_user_aliveid ) ) {
            
set_pevid pev_v_angle iAnglesid ] );
            
set_pevid pev_fixangle );
        }
    }
}
public 
cmdFreeze(id,level,cid) {
    if(!
cmd_access(id,level,cid,3)) return PLUGIN_HANDLED
    
    
new arg1[32],arg2[6];
    new 
targetname[32], adminname[32];
    
read_argv(1,arg1,31)
    
read_argv(2,arg2,31)
    
get_user_name(id,adminname,31);
    
    new 
sure str_to_num(arg2);
    if(
sure 0sure 0;
    
    if(
arg1[0] == '@') {
        new 
players[32],inum;
        if(
equali(arg1[1],"T")) copy(arg1[1],31,"TERRORIST");
        if(
equali(arg1[1],"ALL")) get_players(players,inum)
        else 
get_players(players,inum,"ae",arg1[1]);
        
        if(!
inum) {
            
console_print(id,"Girilen takimda oyuncu bulunamadi.");
            return 
PLUGIN_HANDLED
        
}
        
        new 
tmp;
        for(new 
i;i<inum;i++) {
            
tmp players[i];
            if(
gFrozen[tmp]) continue;
            
Freeze(tmp)
            
client_print(tmp,print_center,"DONDURULDUN");
            
        }
        
        new 
szSure[16];
        
        if(!
sure)  copy(szSure,15,"");
        else 
format(szSure,15," %d sn boyunca",sure);
        
        
        if(
equali(arg1[1],"all")) client_print(0,print_chat,"[AMXX] ADMIN %s: Tum oyunculari%s dondurdu.",adminname,szSure);
        else 
client_print(0,print_chat,"[AMXX] ADMIN %s: %s takimindaki oyunculari%s dondurdu.",adminname,arg1[1],szSure);
        
set_task(float(sure),"TaskUnFreeze");
    }
    else {
        new 
Uid find_player("bhl",arg1);
        if(!
Uid) {
            
console_print(id,"Oyuncu bulunamadi !")
            return 
PLUGIN_HANDLED
        
}
        if(
gFrozen[Uid]) {
            
console_print(id,"Oyuncu zaten donuk !")
            return 
PLUGIN_HANDLED
        
}
        new 
szSure[16];
        
        if(!
sure)  copy(szSure,15,"");
        else 
format(szSure,15," %d sn boyunca",sure);
        
        
get_user_name(Uid,targetname,31);
        
        
client_print(Uid,print_center,"DONDURULDUN");
        
client_print(0,print_chat,"[AMXX] ADMIN %s: %s adli oyuncuyu%s dondurdu.",adminname,targetname,szSure)
        
Freeze(Uid)
        
        
set_task(float(sure),"TaskUnFreeze",Uid);
    }
    return 
PLUGIN_HANDLED
}
public 
cmdUnFreeze(id,level,cid) {
    if(!
cmd_access(id,level,cid,2)) return PLUGIN_HANDLED
    
    
new arg1[32]
    new 
targetname[32], adminname[32];
    
read_argv(1,arg1,31)
    
get_user_name(id,adminname,31);
    
    if(
arg1[0] == '@') {
        new 
players[32],inum;
        if(
equali(arg1[1],"T")) copy(arg1[1],31,"TERRORIST");
        if(
equali(arg1[1],"ALL")) get_players(players,inum)
        else 
get_players(players,inum,"ae",arg1[1]);
        
        if(!
inum) {
            
console_print(id,"Girilen takimda oyuncu bulunamadi.");
            return 
PLUGIN_HANDLED
        
}
        
        new 
tmp;
        for(new 
i;i<inum;i++) {
            
tmp players;
            if(!
gFrozen[tmp]) continue;
            
UnFreeze(tmp);
            
client_print(tmp,print_center,"COZULDUN"); // :S
            
        
}
        
        
        if(
equali(arg1[1],"all")) client_print(0,print_chat,"[AMXX] ADMIN %s: Tum oyunculari cozdu.",adminname);
        else 
client_print(0,print_chat,"[AMXX] ADMIN %s: %s takimindaki oyunculari cozdu.",adminname,arg1[1]);
        
        if(
task_exists(0)) remove_task(0);
    }
    else {
        new 
Uid find_player("bhl",arg1);
        if(!
Uid) {
            
console_print(id,"Oyuncu bulunamadi !")
            return 
PLUGIN_HANDLED
        
}
        if(!
gFrozen[Uid]) {
            
console_print(id,"Oyuncu zaten donuk degil !")
            return 
PLUGIN_HANDLED
        
}
        
get_user_name(Uid,targetname,31);
        
client_print(Uid,print_center,"COZULDUN"); // :S
        
client_print(0,print_chat,"[AMXX] ADMIN %s: %s adli oyuncuyu cozdu.",adminname,targetname)
        
UnFreeze(Uid);
        
        if(
task_exists(Uid)) remove_task(Uid);
    }
    return 
PLUGIN_HANDLED
}
UnFreezeid ) { 
    new 
frozenCount 0;
    
    
gFrozenid ] = false;
    
    new 
iFlags pevid pev_flags ) ;
    
    if( 
iFlags FL_FROZEN ) { 
        
set_pevid pev_flags iFlags & ~FL_FROZEN ) ;
        
set_user_renderingid kRenderFxNone kRenderNormal );
        
        new 
iPlayers32 ] , iNum tid;
        
get_playersiPlayers iNum "a" );
        
        for( 
0iNumi++ ){
            
tid iPlayers];
            
            if( 
gFrozentid ] ) {
                
frozenCount++;
            }
        }
        
        
        if( !
frozenCount && fwPreThink unregister_forwardFM_PlayerPreThink fwPreThink );
        
    }
}
Freeze(id) {
    new 
iFlags pevid pev_flags );
    
    if( ~
iFlags FL_FROZEN ) { 
        
set_pevid pev_flags iFlags FL_FROZEN );
        
pevid pev_v_angle iAnglesid ] );
        
        
set_user_renderingid kRenderFxGlowShell 100 200 kRenderNormal 16 );
        
        if( !
fwPreThink && !get_pcvar_numpCvarAllowMouse ) )
            
fwPreThink register_forwardFM_PlayerPreThink "fwPlayerPreThink" );
    } 
    
    
gFrozenid ] = true;
}
public 
TaskUnFreeze(id) {
    if(!
id) {
        new 
players[32],inum;
        
get_players(players,inum)
        new 
tmp;
        for(new 
i;i<inum;i++) {
            
tmp players
            
if(gFrozen[tmp]) {
                
UnFreeze(tmp)
                
client_print(tmp,print_center,"COZULDUN"// :S
            
}
        }
    }
    else {
        if(
gFrozen[id]) {
            
UnFreeze(id)
            
client_print(id,print_center,"COZULDUN"// :S
        
}
    }


denemeye zamanım yoktu, bir zahmet test işini sen hallet Smile[/i][/i][/i]


CS:GO ve CS 1.6 için ücretli eklenti yapılır.
Plugin yazmak isteyenlere yardımcı olabilirim.
Skype adresimden ulaşabilirsiniz:
destek_596
Steam: http://steamcommunity.com/id/ca-nemesis/

Reply


Messages In This Thread
Freeze-Unfreeze - by Furkan Dize - 05-01-15, 12:22
Cevap: Freeze-Unfreeze - by akcaliberkk - 07-01-15, 01:34
Cevap: Freeze-Unfreeze - by akcaliberkk - 07-01-15, 11:19
Cevap: Freeze-Unfreeze - by Neith - 14-01-15, 01:12

Foruma Atla:


Users browsing this thread: 1 Guest(s)