⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
Server ip : 95.173.173.2 || Ts3 : LCAPRO www.lcapro.net
Sponsor Görsel 2
SponsorSponsor

Konu

#1
merhaba aşağıda bıraktığım eklentide bazı oyuncularımız bazı sorunlar olduğunu söyledi. Silah çekemiyorsun. bomba alıyorsun ama görünmüyor belli bir süre diliminden sonra devreye giriyor yani kısaca 1-2round oyunda takılmalar yaratıyor böyle problemleri var. yardımcı olabilcek var mı. 
PHP Kod:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>

new const MOTD_MODEL[] = "models/v_ihtilalmotd.mdl";

enum MotdState
{
    MOTD_STATE_BEGIN,
    MOTD_STATE_INTRO,
    MOTD_STATE_END,

}; new 
MotdState:g_iMotdState[MAX_PLAYERS 1];

public 
plugin_init()
{
    register_plugin("MOTD Model""1.2""fl0wer,Mr.Commander");

    RegisterHookChain(RG_ShowVGUIMenu"@ShowVGUIMenu_Pre"false);
    RegisterHookChain(RG_HandleMenu_ChooseTeam"@HandleMenu_ChooseTeam_Pre"false);
}

public 
plugin_precache()
{
    precache_model(MOTD_MODEL);
}

public 
client_putinserver(id)
{
    g_iMotdState[id] = MOTD_STATE_BEGIN;
}

@
ShowVGUIMenu_Pre(idVGUIMenu:menuTypebitsSlotsszOldMenu[]) {
    if (menuType == VGUI_Menu_Class_T || menuType == VGUI_Menu_Class_CT) {
        set_member(idm_bForceShowMenutrue);
        return;
    }
    
    
if (menuType != VGUI_Menu_Team
        return;
    
    set_member
(idm_bForceShowMenutrue);
    
    
if (get_member(idm_iJoiningState) == JOINED
        return;
    
    
switch (g_iMotdState[id]) {
        case MOTD_STATE_BEGIN: {
            g_iMotdState[id] = MOTD_STATE_INTRO;
            set_entvar(idvar_viewmodelMOTD_MODEL);
            
            set_task
(4.0"@Task_IntroEnd"id);
        }
        case MOTD_STATE_END: {
            new randomTeam random(2) + 1;
            SetHookChainArg(3ATYPE_INTEGERMENU_KEY_1);
            engclient_cmd(id"jointeam"fmt("%d"randomTeam));
            engclient_cmd(id"joinclass""1");
            SetHookChainArg(4ATYPE_STRING"\n");
            return;
        }
    }
    
    SetHookChainArg
(3ATYPE_INTEGERMENU_KEY_0);
    SetHookChainArg(4ATYPE_STRING"\n");
}

@
HandleMenu_ChooseTeam_Pre(idkey)
{
    if (g_iMotdState[id] == MOTD_STATE_END)
        return HC_CONTINUE;

    SetHookChainReturn(ATYPE_INTEGERfalse);
    return HC_SUPERCEDE;
}

@
Task_IntroEnd(task)
{
    new id task;

    if (!is_user_connected(id))
        return;

    g_iMotdState[id] = MOTD_STATE_END;

    set_entvar(idvar_viewmodel"");
    engclient_cmd(id"menuselect""0");


İHTİLAL AİLESİ 95.173.173.26
#2
Teşekkürler emeğine sağlık @Ramco
DOST MECLİSİ PRO | 95.173.173.21 | ts3: dmpro
#3
Silahların Görünmeme ve Çekilememe Sorunu: Eski kodda 4 saniyelik giriş (intro) görevi bittiğinde, eklenti oyuncunun elindeki silah modelini zorla "" (boş) yapıyor. Eğer oyuncu bu 4 saniye dolmadan bir şekilde canlanmış olursa (admin komutu, başka bir respawn eklentisi vs.), eline aldığı gerçek silahın (bıçak/kelebek vs.) modeli eklenti yüzünden "boşluğa" eşitleniyor ve oyuncu silah değiştirene kadar bugda kalıyor.

Takılma ve 1-2 El Süren Gecikmeler (Lag/Drop): Eski kodda menü kancası (hook) içinde engclient_cmd komutuyla peş peşe takım ve sınıf seçtirilmeye (jointeam, joinclass) çalışılmış. CS 1.6 motorunda bu komutları bu şekilde zorlamak senkronizasyonu bozar ve "Hayalet (Ghost)" oyuncu buglarına veya ciddi gecikmelere sebep olur.

Bu hataları gidermek ve oyun motorunu yormamak için kodları baştan aşağı temizleyerek tamamen ReAPI standartlarına uygun hale getirdim;

Kod:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>

new const MOTD_MODEL[] = "models/v_ihtilalmotd.mdl";

enum MotdState
{
    MOTD_STATE_BEGIN = 0,
    MOTD_STATE_INTRO,
    MOTD_STATE_END
};
new MotdState:g_iMotdState[MAX_PLAYERS + 1];

public plugin_init()
{
    register_plugin("MOTD Model Fix", "1.3", "");

    RegisterHookChain(RG_ShowVGUIMenu, "@ShowVGUIMenu_Pre", false);
    // Oyuncunun canlanma anini yakalayip olasi buglari sifirlamak icin hook
    RegisterHookChain(RG_CBasePlayer_Spawn, "@PlayerSpawn_Post", true);
}

public plugin_precache()
{
    precache_model(MOTD_MODEL);
}

public client_putinserver(id)
{
    g_iMotdState[id] = MOTD_STATE_BEGIN;
    remove_task(id); // Oyuncu girdiginde olasi eski gorevleri temizle
}

public client_disconnected(id)
{
    remove_task(id);
}

@ShowVGUIMenu_Pre(id, VGUIMenu:menuType, bitsSlots, szOldMenu[])
{

    if (menuType != VGUI_Menu_Team)
        return HC_CONTINUE;
        

    if (get_member(id, m_iJoiningState) == JOINED)
        return HC_CONTINUE;
        
    if (g_iMotdState[id] == MOTD_STATE_BEGIN)
    {
        g_iMotdState[id] = MOTD_STATE_INTRO;
        

        set_entvar(id, var_viewmodel, MOTD_MODEL);
        

        set_task(4.0, "@Task_IntroEnd", id);
        
        SetHookChainArg(3, ATYPE_INTEGER, MENU_KEY_0);
        SetHookChainArg(4, ATYPE_STRING, "\n");
    }
    
    return HC_CONTINUE;
}

@Task_IntroEnd(id)
{
    if (!is_user_connected(id))
        return;

    g_iMotdState[id] = MOTD_STATE_END;


    if (!is_user_alive(id))
    {
        set_entvar(id, var_viewmodel, "");
    }


    new TeamName:randomTeam = TeamName:random_num(1, 2); // 1 = T, 2 = CT
    rg_join_team(id, randomTeam);
}

@PlayerSpawn_Post(id)
{
    if (!is_user_alive(id))
        return;
        

    if (g_iMotdState[id] == MOTD_STATE_INTRO)
    {
        g_iMotdState[id] = MOTD_STATE_END;
        remove_task(id);
    }
}

GEBZEPRO ®       CS1 .GEBZEPRO. NET       WWW.GEBZEPRO.NET              
#4
merhaba öncellikle teşekkür ederim ama şuan girişte logo hiç çıkmıyor
İHTİLAL AİLESİ 95.173.173.26
#5
Gecikmeli Model Atama sistemini ekledim bunu deneyip bildirirmisin,

Kod:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>

new const MOTD_MODEL[] = "models/v_ihtilalmotd.mdl";

enum MotdState
{
    MOTD_STATE_BEGIN = 0,
    MOTD_STATE_INTRO,
    MOTD_STATE_END
};
new MotdState:g_iMotdState[MAX_PLAYERS + 1];

public plugin_init()
{
    register_plugin("MOTD Model Fix V2", "1.4", "");


    RegisterHookChain(RG_ShowVGUIMenu, "@ShowVGUIMenu_Pre", false);
    RegisterHookChain(RG_CBasePlayer_Spawn, "@PlayerSpawn_Post", true);
}

public plugin_precache()
{
    precache_model(MOTD_MODEL);
}

public client_putinserver(id)
{
    g_iMotdState[id] = MOTD_STATE_BEGIN;
}

@ShowVGUIMenu_Pre(id, VGUIMenu:menuType, bitsSlots, szOldMenu[])
{
    if (menuType != VGUI_Menu_Team)
        return HC_CONTINUE;
        
    if (get_member(id, m_iJoiningState) == JOINED)
        return HC_CONTINUE;
        
    if (g_iMotdState[id] == MOTD_STATE_BEGIN)
    {
        g_iMotdState[id] = MOTD_STATE_INTRO;
        
        set_entvar(id, var_viewmodel, MOTD_MODEL);
        set_entvar(id, var_weaponmodel, ""); // Silah görünümünü sıfırla ki logo net çıksın
        
        set_task(4.0, "@Task_IntroEnd", id);
        
        SetHookChainArg(3, ATYPE_INTEGER, MENU_KEY_0);
        SetHookChainArg(4, ATYPE_STRING, "\n");
    }
    
    return HC_CONTINUE;
}

@Task_IntroEnd(id)
{
    if (!is_user_connected(id)) return;

    g_iMotdState[id] = MOTD_STATE_END;


    set_entvar(id, var_viewmodel, "");
    

    rg_join_team(id, TeamName:random_num(1, 2));
}

@PlayerSpawn_Post(id)
{

    if (g_iMotdState[id] == MOTD_STATE_INTRO)
    {
        g_iMotdState[id] = MOTD_STATE_END;
        set_entvar(id, var_viewmodel, "");
        remove_task(id);
    }
}

GEBZEPRO ®       CS1 .GEBZEPRO. NET       WWW.GEBZEPRO.NET              
#6
test ettim lakin yine aynı sorunu yaşadım.
İHTİLAL AİLESİ 95.173.173.26
#7
tekrar denermisin?

Kod:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>
#include <hamsandwich>

new const MOTD_MODEL[] = "models/v_ihtilalmotd.mdl";
new bool:g_bShownLogo[MAX_PLAYERS + 1];

public plugin_init()
{
    register_plugin("MOTD Model Fix V5", "1.7", "");


    RegisterHookChain(RG_CBasePlayer_Spawn, "@PlayerSpawn_Post", true);
}

public plugin_precache()
{
    precache_model(MOTD_MODEL);
}

public client_putinserver(id)
{
    g_bShownLogo[id] = false;
}

@PlayerSpawn_Post(id)
{
    if (!is_user_alive(id) || g_bShownLogo[id])
        return;


    set_entvar(id, var_viewmodel, MOTD_MODEL);
    set_entvar(id, var_weaponmodel, "");


    set_task(4.0, "@Task_RemoveLogo", id);
    
    g_bShownLogo[id] = true;
}

@Task_RemoveLogo(id)
{
    if (!is_user_connected(id)) return;


    set_entvar(id, var_viewmodel, "");
    

    new activeItem = get_member(id, m_pActiveItem);
    if (!is_nullent(activeItem))
    {

        ExecuteHamB(Ham_Item_Deploy, activeItem);
    }
}

GEBZEPRO ®       CS1 .GEBZEPRO. NET       WWW.GEBZEPRO.NET              
#8
PHP Kod:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>

new const MOTD_MODEL[] = "models/v_ihtilalmotd.mdl"

enum MotdState
{
    
MOTD_STATE_BEGIN,
    
MOTD_STATE_INTRO,
    
MOTD_STATE_END,

}; new 
MotdState:g_iMotdState[MAX_PLAYERS 1];

public 
plugin_init()
{
    
register_plugin("MOTD Model""1.0.0""fl0wer");

    
RegisterHookChain(RG_ShowVGUIMenu"@ShowVGUIMenu_Pre"false);
    
RegisterHookChain(RG_HandleMenu_ChooseTeam"@HandleMenu_ChooseTeam_Pre"false);
}

public 
plugin_precache()
{
    
precache_model(MOTD_MODEL);
}

public 
client_putinserver(id)
{
    
g_iMotdState[id] = MOTD_STATE_BEGIN;
}

@
ShowVGUIMenu_Pre(idVGUIMenu:menuTypebitsSlotsszOldMenu[])
{
    if (
menuType == VGUI_Menu_Class_T || menuType == VGUI_Menu_Class_T)
    {
        
set_member(idm_bForceShowMenutrue);
        return;
    }

    if (
menuType != VGUI_Menu_Team)
        return;

    
set_member(idm_bForceShowMenutrue);

    if (
get_member(idm_iJoiningState) == JOINED)
        return;

    switch (
g_iMotdState[id])
    {
        case 
MOTD_STATE_BEGIN:
        {
            
g_iMotdState[id] = MOTD_STATE_INTRO;

            
set_entvar(idvar_viewmodelMOTD_MODEL);
            
set_task(4.0"@Task_IntroEnd"id);
        }
        case 
MOTD_STATE_END:
        {
            new 
iCount[4], iTCountiCTCount;
            
rg_initialize_player_counts(iCount[0], iCount[1], iCount[2], iCount[3]);

            
iTCount iCount[0] + iCount[2];
            
iCTCount iCount[1] + iCount[3];

            if(
iTCount iCTCount)
            {
                
SetHookChainArg(3ATYPE_INTEGERMENU_KEY_2);
                
engclient_cmd(id"jointeam""2");
                
engclient_cmd(id"joinclass""2");
            }
            else if (
iTCount iCTCount)
            {
                
SetHookChainArg(3ATYPE_INTEGERMENU_KEY_1);
                
engclient_cmd(id"jointeam""1");
                
engclient_cmd(id"joinclass""1");
            }
            else
            {
                
SetHookChainArg(3ATYPE_INTEGERMENU_KEY_1);
                
engclient_cmd(id"jointeam""1");
                
engclient_cmd(id"joinclass""1");
            }

            
SetHookChainArg(4ATYPE_STRING"\n");
            return;
        }
    }

    
SetHookChainArg(3ATYPE_INTEGERMENU_KEY_0);
    
SetHookChainArg(4ATYPE_STRING"\n");
}

@
HandleMenu_ChooseTeam_Pre(idkey)
{
    if (
g_iMotdState[id] == MOTD_STATE_END)
        return 
HC_CONTINUE;

    
SetHookChainReturn(ATYPE_INTEGERfalse);
    return 
HC_SUPERCEDE;
}

@
Task_IntroEnd(task)
{
    new 
id task;

    if (!
is_user_connected(id))
        return;

    
g_iMotdState[id] = MOTD_STATE_END;

    
set_entvar(idvar_viewmodel"");
    
engclient_cmd(id"menuselect""0");


Ramazan birde bunu dener misin ?
Stand Back Warrior's   | ip: cs.sbwpro.com | ts3: ts3.sbwpro.com
Son Düzenleme: 29-06-2026, 22:41, Düzenleyen: Mr.Commander.
#9
İstek konusu, @Mr.Commander adlı kullanıcı tarafından 4 saat içinde çözülmüştür.
İsteği çözdüğü için Mr.Commander Adlı kullanıcıya 1 rep puanı ve 1 yardım etme puanı otomatik olarak verilmiştir.
Mr.Commander Adlı kullanıcı sizin dışınızda toplam 110 kişiye yardım etmiştir.

Herhangi bir konuda hata olduğunu düşünüyorsanız destek sistemi üzerinden iletişim kurabilirsiniz.

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task