Raised This Month: $ Target: $400
 0% 

Deathrun doors & semiclip contradiction


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
Diegorkable
Veteran Member
Join Date: Jun 2011
Old 05-18-2013 , 12:57   Deathrun doors & semiclip contradiction
Reply With Quote #1

Hey guys,

So I have a problem in a Deathrun server I run, I enabled semiclip plugin there (semiclip is a plugin where players won't be stuck if they touch each other, and can get past each other, by setting them to SOLID_NOT). The problem is that, in certain deathrun maps, there are doors that open when you touch them, and portals when you stand on them they teleport you to another location, or for example, floors that when you stand on them you die.

The problem is that when 2 players stand near a door, or on a floor, it isn't activated, because of the semiclip, it sets both the players to SOLID_NOT and the map simply doesn't detect them and don't open the door for them, or doesn't kill them, or doens't teleport them, and it leads to a major bug abuse or simply ruining the game cuz too many players stand on a teleporting location and all get stuck.

Here is the semiclip code(its a team semiclip, so the CT will be able to kill T, and opposite):

PHP Code:
/* Plugin generated by AMXX-Studio */


#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <cstrike>
#include <fun>
#include <fakemeta>

#define PLUGIN "Semi-Clip"
#define VERSION "1.0"
#define AUTHOR "p1Mp"

new g_iSemiClip[33]

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_forwardFM_StartFrame"FwdStartFrame");
    
register_forwardFM_AddToFullPack"FwdFullPack");
}

public 
FwdFullPackeseenthostflagsplayerpSet ) {
    
    if( 
player && g_iSemiClipent ] && g_iSemiCliphost ] ) {
        
set_esesES_SolidSOLID_NOT );
        
set_esesES_RenderModekRenderTransAlpha );
        
set_esesES_RenderAmt85 );
    }
    
    return 
FMRES_IGNORED;
}

public 
FwdStartFrame( ) {
    
    static 
iPlayers32 ], iNumiPlayeriPlayer2ij;
    
get_playersiPlayersiNum"ache""CT" );
    
    
arraysetg_iSemiClip032 );
    
    if( 
iNum <= )
        return 
FMRES_IGNORED;
    
    for( 
0iNumi++ ) {
        
iPlayer iPlayers];
        
        for( 
0iNumj++ ) {
            
iPlayer2 iPlayers];
            
            if( 
iPlayer == iPlayer2 || cs_get_user_team(iPlayer) != cs_get_user_team(iPlayer2) )
                continue;
            
            if( 
g_iSemiClipiPlayer ] && g_iSemiClipiPlayer2 ] )
                continue;
            
            if( 
entity_rangeiPlayeriPlayer2 ) < 128 ) {
                
g_iSemiClipiPlayer ]    = true;
                
g_iSemiClipiPlayer2 ]    = true;
            }
        }
    }
    
    for( 
0iNumi++ ) {
        
iPlayer iPlayers];
        
        
set_peviPlayerpev_solidg_iSemiClipiPlayer ] ? SOLID_NOT SOLID_SLIDEBOX );
    }
    
    return 
FMRES_IGNORED;

I couldn't find a suitable solution to solve that problem, I'd be really glad if you guys can help me
__________________
My Projects:

Auto-Mix (Pug): 100%

Joined the Military (a soldier now) - Inactive
Diegorkable is offline
 


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 16:28.


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