Raised This Month: $51 Target: $400
 12% 

Problemas con Semiclip


  
 
 
Thread Tools Display Modes
Author Message
gladius
Veteran Member
Join Date: Jul 2008
Location: Santiago, Chile
Old 06-26-2011 , 17:58   Problemas con Semiclip
#1

Bueno la verdad es que tengo un gran problema con el semiclip.

Uso el de xPaw (Click en el nick para ver el code) con algunos cambios estéticos, nada funcional. Pero, el problema es que cuando atravieso a un jugador justo cuando salto, es como si se trabara y salto muy lejos, o cuando salto un poco antes y llego hasta donde está el jugador, choco como si no hubiese semiclip. Siempre cuando salto, si lo atravieso caminando todo bien.

Saludos
__________________
Proyects
Kreedz Chile Mod [100%] (Fixing some details).

gladius is offline
Send a message via MSN to gladius Send a message via Skype™ to gladius
p4rp4d30
Veteran Member
Join Date: Mar 2007
Old 06-26-2011 , 18:36   Re: Problemas con Semiclip
#2

Quote:
Originally Posted by gladius View Post
Bueno la verdad es que tengo un gran problema con el semiclip.

Uso el de xPaw (Click en el nick para ver el code) con algunos cambios estéticos, nada funcional. Pero, el problema es que cuando atravieso a un jugador justo cuando salto, es como si se trabara y salto muy lejos, o cuando salto un poco antes y llego hasta donde está el jugador, choco como si no hubiese semiclip. Siempre cuando salto, si lo atravieso caminando todo bien.

Saludos
Toma te doy mi Semiclip que tengo hace mucho no se de donde lo saque o como lo hice pero fue hace como 4 años

lo que si se es que tiene Fixeado el Teleport ocea si entran 2 personas por teleport entran.

creo que este semiclip esta sacado del semiclip de KZ arg xD

PHP Code:
/* 
    Semiclip + Fix teleport.amxx
    2.0
    by G-arg
 
    This is no-teleport bug fix for old semiclip plugins.
    It will disallow players to cheat in maps like drewbie_longjumps.
 
    Dont forget to create a file: /cstrike/addons/amxmodx/configs/tpfix.txt
    In this file make a list of maps where this fix should be working on.
    
    SERVER CVAR:
    
    kz_tpfix 0
        plugin is off
    
    kz_tpfix 1
        plugin will work in every map accept those which are listed in configs/tpfix.txt
    
    kz_tpfix 2
        plugin will work only on maps listed in configs/tpfix.txt

    Semiclip:
     
    ga_autosemiclip 1

        ga_autotransparency 1
    
    
*/

#define CVAR_TPFIX "kz_tpfix"

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

#define NOBLOCK_DISTANCE 120.0 
#define tmins teleport_mins[i]
#define tmaxs teleport_maxs[i]
 
new Float:teleport_mins[300][3]
new 
Float:teleport_maxs[300][3]
new 
teleport_ent[300]
new 
teleport_num
new bool:noblock[32
new 
bool:isplayersolid[32

new 
kz_autosemiclip 
new kz_autotransparency 

public plugin_init() 

    
register_plugin("Auto Semiclip","1.5","G-arg"

    
register_clcmd("say /solid","kz_setsolid"

    
register_cvar(CVAR_TPFIX"1")

    
kz_autosemiclip register_cvar("ga_autosemiclip","1"
    
kz_autotransparency register_cvar("ga_autotransparency","1"
        
    
set_task(0.1,"noblock_task",1000,"",0,"ab"
    if(
plugin_close() > 0) return 0
        
    load_teleports
()
        
    if(
teleport_num 0register_forward(FM_PlayerPreThink"plrPreThink"
    return 
0;





public 
kz_setsolid(id

    
isplayersolid[id] = true 
    client_print
(id,print_chat,"[G-arg] SemiClip Desactivado"
    
set_task(5.0,"stop_clip",id
    return 
PLUGIN_HANDLED 


public 
stop_clip(id

    
isplayersolid[id] = false 
    
return PLUGIN_HANDLED 


public 
noblock_task() { 
    if(
get_pcvar_num(kz_autosemiclip) > -1
    { 
        new 
bool:solid[32
        new 
Float:origin[3
        new 
Float:vorigin[3
        for(new 
x=1;x<=get_maxplayers();x++) 
        { 
            if(
is_user_connected(x) && is_user_alive(x)) { 
                if(
get_pcvar_num(kz_autosemiclip) == || noblock[x-1]) 
                { 
                    
entity_get_vector(x,EV_VEC_origin,origin
                    for(new 
i=1;i<=get_maxplayers();i++) { 
                        if(
!= && is_user_connected(i) && is_user_alive(i)) 
                        { 
                            
entity_get_vector(i,EV_VEC_origin,vorigin
                            if(
get_distance_f(origin,vorigin) <= NOBLOCK_DISTANCE
                            { 
                                
entity_set_int(x,EV_INT_solid,SOLID_NOT
                                
entity_set_int(i,EV_INT_solid,SOLID_NOT
                                if(
get_pcvar_num(kz_autotransparency) == 1
                                { 
                                    
set_rendering(x,kRenderFxNone,0,0,0,kRenderTransAlpha,60
                                    
set_rendering(i,kRenderFxNone,0,0,0,kRenderTransAlpha,60
                                }
                                
solid[x-1] = true 
                                solid
[i-1] = true 
                            

                            else if(!
solid[i-1]) 
                            { 
                                
entity_set_int(i,EV_INT_solid,SOLID_BBOX
                                
glow(i
                            } 
                        } 
                    } 
                } 
                else if(!
solid[x-1]) 
                { 
                    
entity_set_int(x,EV_INT_solid,SOLID_BBOX
                    
glow(x
                } 
            } 
        } 
    } 
    else 
    { 
        for(new 
i=1;i<=get_maxplayers();i++) 
        { 
            if(
is_user_connected(i) && is_user_alive(i)) 
            { 
                
entity_set_int(i,EV_INT_solid,SOLID_BBOX
                
glow(i
            } 
        } 
    } 


public 
glow(id) { 
    new 
colors[3

    
colors = {0,0,0
    
set_rendering(id,kRenderFxGlowShell,colors[0],colors[1],colors[2],kRenderNormal,25


public 
client_disconnect(id) { 
    
noblock[id-1] = true 


public 
client_putinserver(id) { 
    
noblock[id-1] = true 
}

stock plugin_close()
{
    new 
file[128]
    new 
mapname[32]
    new const 
tpfix get_cvar_num(CVAR_TPFIX)
    
    if(
tpfix == 0) return 1
    
    get_configsdir
(file127)
    
get_mapname(mapname31)
    
    
format(file127"%s/tpfix.txt"file)
    
    if(!
file_exists(file)) return 0
    
    
new ln 0
    
new line[32]
    new 
len
    
while ((ln read_file(filelnline31len)) > 0) {
        if(
equali(mapnameline))
        {
            switch(
tpfix)
            {
                case 
1: return 1
                
case 2: return 0
            
}
        }
    }
    
    switch(
tpfix)
    {
        case 
1: return 0
        
case 2: return 1
    
}
    
    return 
0
}
 
stock load_teleports()
{
    new 
ent get_maxplayers()
 
    while((
ent engfunc(EngFunc_FindEntityByStringent"classname""trigger_teleport")) > 0){
        
pev(entpev_absminteleport_mins[teleport_num])
        
pev(entpev_absmaxteleport_maxs[teleport_num])
        
teleport_ent[teleport_num] = ent
        
        
if(teleport_maxs[teleport_num][2] - teleport_mins[teleport_num][2] <= 128.0teleport_num++
    }
}
 
public 
plrPreThink(id)
{
    if(
pev(idpev_solid) != SOLID_NOT || pev(idpev_movetype) == MOVETYPE_NOCLIP) return
    
    static 
bool:onground[33]
    static 
Float:velocity[3]
    static 
flags
    
    flags 
pev(idpev_flags)
    
    if(
flags FL_ONGROUND && !onground[id])
    {
        
plr_check(id)
        
onground[id] = true
        
return
    } 
    
    if(!(
flags FL_ONGROUND) && onground[id])
    {
        
plr_check(id)
        
onground[id] = false
        
return
    }
 
    
pev(idpev_velocityvelocity)
    if(
velocity[2] < 160.0)
    {
        
plr_check(id)
        return
    }
}
 
stock plr_check(id)
{
    static 
Float:mins[3], Float:maxs[3]
    static 
bool:collides
    
    pev
(idpev_absminmins)
    
pev(idpev_absmaxmaxs)
    
    for(new 
i=0i<teleport_numi++)
    {
        
collides true
        
        
if(tmins[0] > maxs[0] || tmaxs[0] < mins[0]) collides false 
        
else if(tmins[1] > maxs[1] || tmaxs[1] < mins[1]) collides false 
        
else if(tmins[2] > maxs[2] || tmaxs[2] < mins[2]) collides false
        
        
if(collides) {
            
dllfunc(DLLFunc_Touchidteleport_ent[i])
            
dllfunc(DLLFunc_Touchteleport_ent[i], id)
            return 
0
        
}
    }
    
    return 
0

Aclaro G-arg es mi ex comunidad que tenia se llamaba Gamers-arg xD

salu2

Last edited by p4rp4d30; 06-26-2011 at 18:43.
p4rp4d30 is offline
Destro-
Veteran Member
Join Date: Jun 2010
Location: $me->location();
Old 06-26-2011 , 20:10   Re: Problemas con Semiclip
#3

Es porq el de xPawn usa un touch(we usa FM_ShouldCollide que es casi lo mismo xd).
__________________

Last edited by Destro-; 06-26-2011 at 20:11. Reason: agregado "casi"
Destro- is offline
gladius
Veteran Member
Join Date: Jul 2008
Location: Santiago, Chile
Old 06-26-2011 , 21:55   Re: Problemas con Semiclip
#4

Quote:
Originally Posted by Destro- View Post
Es porq el de xPawn usa un touch(we usa FM_ShouldCollide que es casi lo mismo xd).
No entendí que me quisiste decir.
__________________
Proyects
Kreedz Chile Mod [100%] (Fixing some details).

gladius is offline
Send a message via MSN to gladius Send a message via Skype™ to gladius
XINLEI
me too
Join Date: Jun 2011
Location: Colombian Coffee storage
Old 06-26-2011 , 23:16   Re: Problemas con Semiclip
#5

que usa otro.
XINLEI is offline
 



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 10:25.


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