Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

[ZP] - SemiClip Hasar Vermeme Sorunu

Oyunda karşılaştığınız hatalar , oyun hakkında genel bilgiler

Moderatör: Moderatörler

Kullanıcı avatarı

Konu Sahibi
Jess
Mesajlar: 123
Kayıt: Pzr Oca 22, 2017 5:01 pm
Konum: Ötüken

[ZP] - SemiClip Hasar Vermeme Sorunu

Mesaj gönderen Jess »

Merhaba,

Zombie Plague sunucumda sorunsuzca kullandığım bir SemiClip eklentim var fakat bu eklenti oyun içinde zombilerin bazı anlarda hangi silahla vurursak vuralım hasar almamasına yol açıyor.. Hem uzak mesafeden hem de yakın mesafeden.. Kendimce ufak ayarlamalar çekmeye çalıştım, işe yaramadı. Yine moda uyumlu farklı bir iki eklenti kurup denedim, işe yaramadı. CSDurağının hazır modunu değil kendi düzenleyip kurduğum modu kullanıyorum fakat hazır ZP modunda da test ettim, yine sonuç aynı. Ek olarak bu sorunla ilk defa karşılaşıyorum, önceki sunucularımda hiç böyle bir sorun yoktu. Herhangi bir fikri olan veya düzeltebilecek birisi var mı?

Kod: Tümünü seç


#include <amxmodx> 
#include <fakemeta> 
#include <hamsandwich> 
#include <zombieplague> 

new g_iSemiClip[33]; 
new Semi[33]

public plugin_init() { 
    register_plugin("Playerlarin Birbirinin Icinden Gecme", "1.0", "Optimist"); 
     
    register_forward( FM_StartFrame,    "fwStartFrame",    0 ); 
    register_forward( FM_AddToFullPack,    "fwFullPack",    1 ); 
    RegisterHam(Ham_TakeDamage, "player", "Take_Damage")
    RegisterHam(Ham_TakeDamage, "player", "Take_Damage_Post", 1)
} 

public fwFullPack( es, e, ent, host, flags, player, pSet ) { 
    if( player && g_iSemiClip[ent] && g_iSemiClip[host] ) { 
        set_es(es, ES_Solid, SOLID_NOT); 
    } 
    return FMRES_IGNORED; 
} 

public fwStartFrame() { 
    static iPlayers[32], iNum, iPlayer, iPlayer2; 
    get_players(iPlayers, iNum); 
     
    arrayset(g_iSemiClip, 0, sizeof(g_iSemiClip)); 
     
    new iTeams[33] = {-1, ...}; 
    for( new i = 0; i < iNum; i++ ) { 
        iPlayer = iPlayers[i]; 
         
        if( !is_user_alive(iPlayer) ) 
            continue; 
         
        for( new j = 0; j < iNum; j++ ) { 
            iPlayer2 = iPlayers[j]; 
             
            if(iPlayer == iPlayer2 || !is_user_alive(iPlayer2)) 
                continue; 
             
            static Float:vOrigin1[3], Float:vOrigin2[3]; 
            pev(iPlayer, pev_origin, vOrigin1); 
            pev(iPlayer2, pev_origin, vOrigin2); 
             
            if( vector_distance( vOrigin1, vOrigin2 ) < 96) { 
		
                if(zp_get_user_zombie(iPlayer) == zp_get_user_zombie(iPlayer2) && !Semi[iPlayer] && !Semi[iPlayer2])
		{ 
                    g_iSemiClip[iPlayer]    = true; 
                    g_iSemiClip[iPlayer2]    = true; 
                } 
                if(!zp_get_user_zombie(iPlayer) == !zp_get_user_zombie(iPlayer2))
		{ 
                    g_iSemiClip[iPlayer]    = true; 
                    g_iSemiClip[iPlayer2]    = true; 
                } 
                if(!zp_get_user_zombie(iPlayer) == zp_get_user_zombie(iPlayer2))
		{ 
                    g_iSemiClip[iPlayer]    = false; 
                    g_iSemiClip[iPlayer2]    = false; 
                } 
                if(zp_get_user_zombie(iPlayer) == !zp_get_user_zombie(iPlayer2))
		{ 
                    g_iSemiClip[iPlayer]    = false; 
                    g_iSemiClip[iPlayer2]    = false; 
                } 
            } 
        } 
    } 
     
    for( new i = 0; i < iNum; i++ ) { 
        iPlayer = iPlayers[i]; 
         
        if( is_user_alive(iPlayer) ) 
            set_pev(iPlayer, pev_solid, g_iSemiClip[iPlayer] ? SOLID_NOT : SOLID_SLIDEBOX); 
    } 
     
    return FMRES_IGNORED; 
}  

public Take_Damage(victim, inflictor, attacker, Float:damage, damagebits)
{
	if(!is_user_alive(victim) || !is_user_connected(attacker))
		return 
	if(!zp_get_user_zombie(victim))
		return 

	set_pev( victim, pev_solid, SOLID_SLIDEBOX )
	Semi[victim] = 1	
}

public Take_Damage_Post(victim, inflictor, attacker, Float:damage, damagebits)
{
	if(!is_user_alive(victim) || !is_user_connected(attacker))
		return 
	if(!zp_get_user_zombie(victim))
		return 

	set_pev( victim, pev_solid, SOLID_SLIDEBOX )
	Semi[victim] = 0
}


Link:
Linklerini gizle
Linki Kopyala

ahmetsencanx2
Mesajlar: 888
Kayıt: Çrş Haz 29, 2016 6:04 pm
Konum: İzmir/Buca

[ZP] - SemiClip Hasar Vermeme Sorunu

Mesaj gönderen ahmetsencanx2 »

Kod: Tümünü seç

#include <amxmodx> 
#include <fakemeta> 
#include <zombieplague> 

new g_iSemiClip[33]; 

public plugin_init() { 
    register_plugin("Semiclip", "1.0", "xPaw"); 
     
    register_forward( FM_StartFrame,    "fwStartFrame",    0 ); 
    register_forward( FM_AddToFullPack,    "fwFullPack",    1 ); 
} 

public fwFullPack( es, e, ent, host, flags, player, pSet ) { 
    if( player && g_iSemiClip[ent] && g_iSemiClip[host] ) { 
        set_es(es, ES_Solid, SOLID_NOT); 
    } 
    return FMRES_IGNORED; 
} 

public fwStartFrame() { 
    static iPlayers[32], iNum, iPlayer, iPlayer2; 
    get_players(iPlayers, iNum); 
     
    arrayset(g_iSemiClip, 0, sizeof(g_iSemiClip)); 
     
    for( new i = 0; i < iNum; i++ ) { 
        iPlayer = iPlayers[i]; 
         
        if( !is_user_alive(iPlayer) ) 
            continue; 
         
        for( new j = 0; j < iNum; j++ ) { 
            iPlayer2 = iPlayers[j]; 
             
            if(iPlayer == iPlayer2 || !is_user_alive(iPlayer2)) 
                continue; 
             
            static Float:vOrigin1[3], Float:vOrigin2[3]; 
            pev(iPlayer, pev_origin, vOrigin1); 
            pev(iPlayer2, pev_origin, vOrigin2); 
             
            if( vector_distance( vOrigin1, vOrigin2 ) < 96) { 
                 
                if((zp_get_user_zombie(iPlayer) == zp_get_user_zombie(iPlayer2)) || (!zp_get_user_zombie(iPlayer) == !zp_get_user_zombie(iPlayer2))) { 
                    g_iSemiClip[iPlayer]    = true; 
                    g_iSemiClip[iPlayer2]    = true; 
                } 
            } 
        } 
    } 
     
    for( new i = 0; i < iNum; i++ ) { 
        iPlayer = iPlayers[i]; 
         
        if( is_user_alive(iPlayer) ) 
            set_pev(iPlayer, pev_solid, g_iSemiClip[iPlayer] ? SOLID_NOT : SOLID_SLIDEBOX); 
    } 
     
    return FMRES_IGNORED; 
}  
dene

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Konu Sahibi
Jess
Mesajlar: 123
Kayıt: Pzr Oca 22, 2017 5:01 pm
Konum: Ötüken

[ZP] - SemiClip Hasar Vermeme Sorunu

Mesaj gönderen Jess »

ahmetsencanx2 yazdı: Çrş Ağu 15, 2018 2:45 pm

Kod: Tümünü seç

#include <amxmodx> 
#include <fakemeta> 
#include <zombieplague> 

new g_iSemiClip[33]; 

public plugin_init() { 
    register_plugin("Semiclip", "1.0", "xPaw"); 
     
    register_forward( FM_StartFrame,    "fwStartFrame",    0 ); 
    register_forward( FM_AddToFullPack,    "fwFullPack",    1 ); 
} 

public fwFullPack( es, e, ent, host, flags, player, pSet ) { 
    if( player && g_iSemiClip[ent] && g_iSemiClip[host] ) { 
        set_es(es, ES_Solid, SOLID_NOT); 
    } 
    return FMRES_IGNORED; 
} 

public fwStartFrame() { 
    static iPlayers[32], iNum, iPlayer, iPlayer2; 
    get_players(iPlayers, iNum); 
     
    arrayset(g_iSemiClip, 0, sizeof(g_iSemiClip)); 
     
    for( new i = 0; i < iNum; i++ ) { 
        iPlayer = iPlayers[i]; 
         
        if( !is_user_alive(iPlayer) ) 
            continue; 
         
        for( new j = 0; j < iNum; j++ ) { 
            iPlayer2 = iPlayers[j]; 
             
            if(iPlayer == iPlayer2 || !is_user_alive(iPlayer2)) 
                continue; 
             
            static Float:vOrigin1[3], Float:vOrigin2[3]; 
            pev(iPlayer, pev_origin, vOrigin1); 
            pev(iPlayer2, pev_origin, vOrigin2); 
             
            if( vector_distance( vOrigin1, vOrigin2 ) < 96) { 
                 
                if((zp_get_user_zombie(iPlayer) == zp_get_user_zombie(iPlayer2)) || (!zp_get_user_zombie(iPlayer) == !zp_get_user_zombie(iPlayer2))) { 
                    g_iSemiClip[iPlayer]    = true; 
                    g_iSemiClip[iPlayer2]    = true; 
                } 
            } 
        } 
    } 
     
    for( new i = 0; i < iNum; i++ ) { 
        iPlayer = iPlayers[i]; 
         
        if( is_user_alive(iPlayer) ) 
            set_pev(iPlayer, pev_solid, g_iSemiClip[iPlayer] ? SOLID_NOT : SOLID_SLIDEBOX); 
    } 
     
    return FMRES_IGNORED; 
}  
dene
Maalesef hala aynı

Link:
Linklerini gizle
Linki Kopyala

Ahmethamza_1
Mesajlar: 134
Kayıt: Sal May 16, 2017 4:48 pm

[ZP] - SemiClip Hasar Vermeme Sorunu

Mesaj gönderen Ahmethamza_1 »

Neden o semiclipi kullanıyorsun ? https://forums.alliedmods.net/showthread.php?t=137980 Bunu kullan

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Konu Sahibi
Jess
Mesajlar: 123
Kayıt: Pzr Oca 22, 2017 5:01 pm
Konum: Ötüken

[ZP] - SemiClip Hasar Vermeme Sorunu

Mesaj gönderen Jess »

Ahmethamza_1 yazdı: Çrş Ağu 15, 2018 5:28 pm Neden o semiclipi kullanıyorsun ? https://forums.alliedmods.net/showthread.php?t=137980 Bunu kullan
Eksiksiz şekilde yükleyip denedim, bu daha beter. İşe yaramıyor aynı şekilde

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Konu Sahibi
Jess
Mesajlar: 123
Kayıt: Pzr Oca 22, 2017 5:01 pm
Konum: Ötüken

[ZP] - SemiClip Hasar Vermeme Sorunu

Mesaj gönderen Jess »

Konuyu uplamak gibi olmasın ama, sorunu çözdüm.

Birilerinin başına gelirse eğer çözümü:

ZP 5.0'ın alt modlarından birisi olan Deathmatch moduna entegre olan;

Kod: Tümünü seç

zp50_deathmatch.amxx
zp50_random_spawn.amxx
zp50_spawn_protection.amxx
eklentilerinin kapatılması gerekiyormuş.

Link:
Linklerini gizle
Linki Kopyala
Cevapla