Проблем с client_disconnect и client_disconnected

Въпроси и проблеми свързани с AMXModX.
Аватар
YankoNL
Извън линия
Потребител
Потребител
Мнения: 163
Регистриран на: 06 Апр 2017, 09:07
Местоположение: Варна
Се отблагодари: 22 пъти
Получена благодарност: 9 пъти

Проблем с client_disconnect и client_disconnected

Мнение от YankoNL » 22 Май 2022, 05:02

Здравейте, пробвах да сложа следния плъгин ан сървъра си обаче не работи като оставя client_disconnect.
Когато заменя всичките client_disconnect -> client_disconnected ми дава следната грешка:
D:\amxmodx\scripting\equipment_show.sma(54) : error 088: number of arguments does not match definition D:\amxmodx\scripting\equipment_show.sma(62) : error 088: number of arguments does not match definition D:\amxmodx\scripting\equipment_show.sma(81) : error 088: number of arguments does not match definition

Пробвах различни неща гледайки api-то, но не се получи и реших да се допитам с вас във форума.
Ако някой знае как се оправя това, моля да сподели.

Благодаря предварително!

Ето и кода:

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <fakemeta>
#include <engine>
#include <cstrike>
#include <hamsandwich>

#define TASK_HUD_REMOVE 4853453

new userSpr[33][6], g_buytime, bool:bTimeIsOver, bool:gAlive[33], g_fwd;

new const g_szSprites[][] = 
{
    "sprites/1.spr",
    "sprites/10.spr",
    "sprites/100.spr",
    "sprites/1000.spr",
    "sprites/10000.spr",
    "sprites/cash.spr"
}

public plugin_init()
{
    register_event("DeathMsg", "event_deathmsg", "a");
    register_event("HLTV", "event_new_round", "a", "1=0", "2=0");
    register_think("LOL", "fw_think");
    RegisterHam(Ham_Spawn, "player", "player_got_spawned", 1);

    g_buytime = get_cvar_pointer("mp_buytime");
}

public plugin_precache()
{
    for(new i = 0; i < sizeof g_szSprites; i++)
        precache_model(g_szSprites[i]);
}

public plugin_cfg() event_new_round()

public client_disconnect(id)
{
    gAlive[id] = false;
    for(new i; i < sizeof userSpr[]; i++)
    {    
        if(userSpr[id][i] > 0) remove_entity(userSpr[id][i]);
        userSpr[id][i] = 0;
    }
}

public event_deathmsg()
{
    gAlive[read_data(2)] = false;
    client_disconnect(read_data(2));
}

public player_got_spawned(id)
{
    if(!is_user_alive(id)) return;
    gAlive[id] = true;
    if(bTimeIsOver) return;
    client_disconnect(id)
    set_user_HUDMONEY_onhead(id);
}

public event_new_round()
{
    if(!g_fwd) g_fwd = register_forward(FM_AddToFullPack, "fw_AddToFullPack_Pre", false);
    bTimeIsOver = false;
    remove_task(TASK_HUD_REMOVE)
    set_task(floatclamp(get_pcvar_float(g_buytime), 1.0, 60.0 * 20.0), "task_remove_HUD", TASK_HUD_REMOVE);
}

public task_remove_HUD()
{
    new players[32],pnum;
    get_players(players, pnum, "ah");
    
    for(new i; i < pnum; i++)
    {
        client_disconnect(players[i]);
    }
    
    bTimeIsOver = true;
    if(g_fwd > 0) unregister_forward(FM_AddToFullPack, g_fwd, false);
    g_fwd = 0;
}

set_user_HUDMONEY_onhead(id)
{    
    new ent = create_entity("env_sprite");
    new Float:gTime = get_gametime();
    
    if(ent > 0)
    {
        userSpr[id][0] = ent;
        set_pev(ent, pev_classname, "LOL");
        set_pev(ent, pev_nextthink, gTime + 0.1);
        set_pev(ent, pev_movetype, MOVETYPE_NOCLIP);
        engfunc(EngFunc_SetModel, ent, g_szSprites[0]);
        set_pev(ent, pev_iuser4, id);
        set_pev(ent, pev_iuser3, 4);
        set_pev(ent, pev_frame, 0.0)
        set_pev(ent, pev_framerate, 1.0)
        set_pev(ent, pev_scale, 0.2)
        set_rendering(ent, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    }
    
    new ent2 = create_entity("env_sprite");
    
    if(ent2 > 0)
    {
        userSpr[id][1] = ent2;
        set_pev(ent2, pev_classname, "LOL");
        set_pev(ent2, pev_nextthink, gTime + 0.1);
        set_pev(ent2, pev_movetype, MOVETYPE_NOCLIP);
        engfunc(EngFunc_SetModel, ent2, g_szSprites[1]);
        set_pev(ent2, pev_iuser4, id);
        set_pev(ent2, pev_iuser3, 3);
        set_pev(ent2, pev_frame, 0.0)
        set_pev(ent2, pev_framerate, 1.0)
        set_pev(ent2, pev_scale, 0.2)
        set_rendering(ent2, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    }
    
    new ent3 = create_entity("env_sprite");
    
    if(ent3 > 0)
    {
        userSpr[id][2] = ent3;
        set_pev(ent3, pev_classname, "LOL");
        set_pev(ent3, pev_nextthink, gTime + 0.1);
        set_pev(ent3, pev_movetype, MOVETYPE_NOCLIP);
        engfunc(EngFunc_SetModel, ent3, g_szSprites[2]);
        set_pev(ent3, pev_iuser4, id);
        set_pev(ent3, pev_iuser3, 2);
        set_pev(ent3, pev_frame, 0.0)
        set_pev(ent3, pev_framerate, 1.0)
        set_pev(ent3, pev_scale, 0.2)
        set_rendering(ent3, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    }
    
    new ent4 = create_entity("env_sprite");
    
    if(ent4 > 0)
    {
        userSpr[id][3] = ent4;
        set_pev(ent4, pev_classname, "LOL");
        set_pev(ent4, pev_nextthink, gTime + 0.1);
        set_pev(ent4, pev_movetype, MOVETYPE_NOCLIP);
        engfunc(EngFunc_SetModel, ent4, g_szSprites[3]);
        set_pev(ent4, pev_iuser4, id);
        set_pev(ent4, pev_iuser3, 1);
        set_pev(ent4, pev_frame, 0.0)
        set_pev(ent4, pev_framerate, 1.0)
        set_pev(ent4, pev_scale, 0.2)
        set_rendering(ent4, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    }
    
    new ent5 = create_entity("env_sprite");
    
    if(ent5 > 0)
    {
        userSpr[id][4] = ent5;
        set_pev(ent5, pev_classname, "LOL");
        set_pev(ent5, pev_nextthink, gTime + 0.1);
        set_pev(ent5, pev_movetype, MOVETYPE_NOCLIP);
        engfunc(EngFunc_SetModel, ent5, g_szSprites[4]);
        set_pev(ent5, pev_iuser4, id);
        set_pev(ent5, pev_iuser3, 0);
        set_pev(ent5, pev_frame, 0.0)
        set_pev(ent5, pev_framerate, 1.0)
        set_pev(ent5, pev_scale, 0.2)
        set_rendering(ent5, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    }
    
    new ent6 = create_entity("env_sprite");
    
    if(ent > 0)
    {
        userSpr[id][5] = ent6;
        set_pev(ent6, pev_classname, "LOL");
        engfunc(EngFunc_SetModel, ent6, g_szSprites[5]);
        set_pev(ent6, pev_nextthink, gTime + 0.1);
        set_pev(ent6, pev_movetype, MOVETYPE_NOCLIP);
        set_pev(ent6, pev_iuser4, id);
        set_pev(ent6, pev_iuser3, 5);
        set_pev(ent6, pev_frame, 1.0)
        set_pev(ent6, pev_framerate, 1.0)
        set_pev(ent6, pev_scale, 0.22)
        set_rendering(ent6, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    }
}

public fw_think(ent)
{
    static Float:fOrigin[3], x, iUser;
    pev((iUser=pev(ent, pev_iuser4)), pev_origin, fOrigin)
    
    fOrigin[2] += 50.0;
    set_pev(ent, pev_origin, fOrigin);
    
    x = pev(ent, pev_iuser3);
    
    if(x == 5)
    {
        set_pev(ent, pev_nextthink, get_gametime() + 0.1);
        return;
    }
    
    static szMoney[6], szValue[2];
    arrayset(szMoney, 0, sizeof szMoney);
    num_to_str(cs_get_user_money(iUser), szMoney, charsmax(szMoney));
    
    for(new i = 1, v, maxloop = strlen(szMoney); i <= maxloop; i++)
    {
        v = szMoney[ maxloop - i ];
        szMoney[ maxloop - i ] = 0;
        szMoney[ 5 - i ]  = v;
    }
    
    if(szMoney[x] == 0)
    {
        set_rendering(ent, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0)
        set_pev(ent, pev_nextthink, get_gametime() + 0.1);
        return;
    }
    
    szValue[0] = szMoney[x];
    szValue[1] = 0;
    set_rendering(ent, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200)
    set_pev(ent, pev_frame, floatstr(szValue))
    set_pev(ent, pev_nextthink, get_gametime() + 0.1);
}

const MaxSpr = sizeof userSpr[];

public fw_AddToFullPack_Pre(es_handle, e, ent, host, hostflags, player, pset) 
{
    if(player == 1 || !pev_valid(e)) return FMRES_IGNORED;
    
    static i, x;  x = pev(e, pev_iuser4);
    for(i = 0; i < MaxSpr; i++) {
        if(userSpr[host][i] == e)
        {
            forward_return(FMV_CELL, 0)
            return FMRES_SUPERCEDE;
        }

        if( (1 <= x <= 32) && userSpr[x][i] == e )
        {
            if(!gAlive[host] || get_user_team(host) != get_user_team(x))
            {
                forward_return(FMV_CELL, 0) 
                return FMRES_SUPERCEDE
            }
            return FMRES_IGNORED;
        }
    }
    return PLUGIN_CONTINUE;
}

Аватар
stambeto2006
Извън линия
Модератор
Модератор
Мнения: 505
Регистриран на: 06 Окт 2016, 15:44
Се отблагодари: 53 пъти
Получена благодарност: 45 пъти
Обратна връзка:

Проблем с client_disconnect и client_disconnected

Мнение от stambeto2006 » 22 Май 2022, 13:21

Пробвай!

Код за потвърждение: Избери целия код

#include <amxmodx> 
#include <fakemeta> 
#include <engine> 
#include <cstrike> 
#include <hamsandwich> 

#define TASK_HUD_REMOVE 4853453 

new userSpr[33][6], g_buytime, bool:bTimeIsOver; 

new const g_szSprites[][] = 
{
    "sprites/1.spr",
    "sprites/10.spr",
    "sprites/100.spr",
    "sprites/1000.spr",
    "sprites/10000.spr",
    "sprites/cash.spr"
}

public plugin_init() 
{ 
    register_event("DeathMsg", "event_deathmsg", "a"); 
    register_event("HLTV", "event_new_round", "a", "1=0", "2=0"); 
    register_think("LOL", "fw_think"); 
    RegisterHam(Ham_Spawn, "player", "player_got_spawned", 1); 
    g_buytime = get_cvar_pointer("mp_buytime"); 
} 

public plugin_precache()
{
    for(new i = 0; i < sizeof g_szSprites; i++)
        precache_model(g_szSprites[i]);
}

public client_disconnected(id) 
{ 
    for(new i; i < sizeof userSpr[]; i++) 
    {     
        if(userSpr[id][i] > 0) remove_entity(userSpr[id][i]); 
        userSpr[id][i] = 0; 
    } 
} 

public reset(id)
{ 
    for(new i; i < sizeof userSpr[]; i++) 
    {     
        if(userSpr[id][i] > 0) remove_entity(userSpr[id][i]); 
        userSpr[id][i] = 0; 
    } 
} 

public event_deathmsg() 
{ 
    reset(read_data(2)); 
} 

public player_got_spawned(id) 
{ 
    if(!is_user_alive(id) || bTimeIsOver) return; 
    reset(id) ;
    set_user_HUDMONEY_onhead(id); 
} 

public event_new_round() 
{ 
    bTimeIsOver = false; 
    remove_task(TASK_HUD_REMOVE) 
    set_task(floatclamp(get_pcvar_float(g_buytime), 1.0, 60.0 * 20.0), "task_remove_HUD", TASK_HUD_REMOVE); 
} 

public task_remove_HUD() 
{ 
    new players[32],pnum; 
    get_players(players, pnum, "ah"); 
     
    for(new i; i < pnum; i++) 
    { 
        reset(players[i]); 
    } 
     
    bTimeIsOver = true; 
} 

set_user_HUDMONEY_onhead(id) 
{     
    new ent = create_entity("env_sprite"); 
    new Float:gTime = get_gametime(); 
     
    if(ent > 0) 
    { 
        userSpr[id][0] = ent; 
        set_pev(ent, pev_classname, "LOL"); 
        set_pev(ent, pev_nextthink, gTime + 0.1); 
        set_pev(ent, pev_movetype, MOVETYPE_NOCLIP); 
        engfunc(EngFunc_SetModel, ent, g_szSprites[0]); 
        set_pev(ent, pev_iuser4, id); 
        set_pev(ent, pev_iuser3, 4); 
        set_pev(ent, pev_frame, 0.0) 
        set_pev(ent, pev_framerate, 1.0) 
        set_pev(ent, pev_scale, 0.2) 
        set_rendering(ent, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200) 
    } 
     
    new ent2 = create_entity("env_sprite"); 
     
    if(ent2 > 0) 
    { 
        userSpr[id][1] = ent2; 
        set_pev(ent2, pev_classname, "LOL"); 
        set_pev(ent2, pev_nextthink, gTime + 0.1); 
        set_pev(ent2, pev_movetype, MOVETYPE_NOCLIP); 
        engfunc(EngFunc_SetModel, ent2, g_szSprites[1]); 
        set_pev(ent2, pev_iuser4, id); 
        set_pev(ent2, pev_iuser3, 3); 
        set_pev(ent2, pev_frame, 0.0) 
        set_pev(ent2, pev_framerate, 1.0) 
        set_pev(ent2, pev_scale, 0.2) 
        set_rendering(ent2, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200) 
    } 
     
    new ent3 = create_entity("env_sprite"); 
     
    if(ent3 > 0) 
    { 
        userSpr[id][2] = ent3; 
        set_pev(ent3, pev_classname, "LOL"); 
        set_pev(ent3, pev_nextthink, gTime + 0.1); 
        set_pev(ent3, pev_movetype, MOVETYPE_NOCLIP); 
        engfunc(EngFunc_SetModel, ent3, g_szSprites[2]); 
        set_pev(ent3, pev_iuser4, id); 
        set_pev(ent3, pev_iuser3, 2); 
        set_pev(ent3, pev_frame, 0.0) 
        set_pev(ent3, pev_framerate, 1.0) 
        set_pev(ent3, pev_scale, 0.2) 
        set_rendering(ent3, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200) 
    } 
     
    new ent4 = create_entity("env_sprite"); 
     
    if(ent4 > 0) 
    { 
        userSpr[id][3] = ent4; 
        set_pev(ent4, pev_classname, "LOL"); 
        set_pev(ent4, pev_nextthink, gTime + 0.1); 
        set_pev(ent4, pev_movetype, MOVETYPE_NOCLIP); 
        engfunc(EngFunc_SetModel, ent4, g_szSprites[3]); 
        set_pev(ent4, pev_iuser4, id); 
        set_pev(ent4, pev_iuser3, 1); 
        set_pev(ent4, pev_frame, 0.0) 
        set_pev(ent4, pev_framerate, 1.0) 
        set_pev(ent4, pev_scale, 0.2) 
        set_rendering(ent4, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200) 
    } 
     
    new ent5 = create_entity("env_sprite"); 
     
    if(ent5 > 0) 
    { 
        userSpr[id][4] = ent5; 
        set_pev(ent5, pev_classname, "LOL"); 
        set_pev(ent5, pev_nextthink, gTime + 0.1); 
        set_pev(ent5, pev_movetype, MOVETYPE_NOCLIP); 
        engfunc(EngFunc_SetModel, ent5, g_szSprites[4]); 
        set_pev(ent5, pev_iuser4, id); 
        set_pev(ent5, pev_iuser3, 0); 
        set_pev(ent5, pev_frame, 0.0) 
        set_pev(ent5, pev_framerate, 1.0) 
        set_pev(ent5, pev_scale, 0.2) 
        set_rendering(ent5, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200) 
    } 
     
    new ent6 = create_entity("env_sprite"); 
     
    if(ent > 0) 
    { 
        userSpr[id][5] = ent6; 
        set_pev(ent6, pev_classname, "LOL"); 
        engfunc(EngFunc_SetModel, ent6, g_szSprites[5]); 
        set_pev(ent6, pev_nextthink, gTime + 0.1); 
        set_pev(ent6, pev_movetype, MOVETYPE_NOCLIP); 
        set_pev(ent6, pev_iuser4, id); 
        set_pev(ent6, pev_iuser3, 5); 
        set_pev(ent6, pev_frame, 1.0) 
        set_pev(ent6, pev_framerate, 1.0) 
        set_pev(ent6, pev_scale, 0.22) 
        set_rendering(ent6, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200) 
    } 
} 

public fw_think(ent) 
{
    static Float:fOrigin[3], x, iUser; 
    pev((iUser=pev(ent, pev_iuser4)), pev_origin, fOrigin) 
     
    fOrigin[2] += 50.0; 
    set_pev(ent, pev_origin, fOrigin); 
     
    x = pev(ent, pev_iuser3); 
     
    if(x == 5) 
    { 
        set_pev(ent, pev_nextthink, get_gametime() + 0.1); 
        return; 
    } 
     
    static szMoney[6], szValue[2]; 
    arrayset(szMoney, 0, sizeof szMoney); 
    num_to_str(cs_get_user_money(iUser), szMoney, charsmax(szMoney)); 
     
    if(szMoney[x] == 0) 
    { 
        set_rendering(ent, kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 0) 
        set_pev(ent, pev_nextthink, get_gametime() + 0.1); 
        return; 
    } 
     
    szValue[0] = szMoney[x]; 
    szValue[1] = 0; 
    set_rendering(ent, kRenderFxNone, 0, 255, 0, kRenderTransAdd, 200) 
    set_pev(ent, pev_frame, floatstr(szValue)) 
    set_pev(ent, pev_nextthink, get_gametime() + 0.1); 
} 

Аватар
Siska
Извън линия
Потребител
Потребител
Мнения: 772
Регистриран на: 03 Дек 2019, 22:29
Местоположение: Bedrock
Се отблагодари: 157 пъти
Получена благодарност: 48 пъти
Обратна връзка:

Проблем с client_disconnect и client_disconnected

Мнение от Siska » 22 Май 2022, 13:38

Този плъгин проработи при мен !

От доста време се опитвам да подкарам този , но така и не проработи : https://forums.alliedmods.net/showthread.php?t=336536
И понеже плъгините са подобни знаете ли как да подкарам този от allied ?
Последно промяна от Siska на 23 Май 2022, 13:52, променено общо 1 път.
Търсих врага и го открих : това съм аз , трябва да се победя...
Изображение
WWW.CSMEGAGAMING.COM Изображение Изображение Skype : Sisi-1_1

Аватар
YankoNL
Извън линия
Потребител
Потребител
Мнения: 163
Регистриран на: 06 Апр 2017, 09:07
Местоположение: Варна
Се отблагодари: 22 пъти
Получена благодарност: 9 пъти

Проблем с client_disconnect и client_disconnected

Мнение от YankoNL » 22 Май 2022, 14:22

Работи! Сега остана да измисля как да показва оръжията :D

Аватар
Siska
Извън линия
Потребител
Потребител
Мнения: 772
Регистриран на: 03 Дек 2019, 22:29
Местоположение: Bedrock
Се отблагодари: 157 пъти
Получена благодарност: 48 пъти
Обратна връзка:

Проблем с client_disconnect и client_disconnected

Мнение от Siska » 23 Май 2022, 10:45

Този плъгин го подкарахме да знаете. Чак и аз успях !
Оказа се , че "freeztime" пречи ... :lock:
Търсих врага и го открих : това съм аз , трябва да се победя...
Изображение
WWW.CSMEGAGAMING.COM Изображение Изображение Skype : Sisi-1_1

Аватар
YankoNL
Извън линия
Потребител
Потребител
Мнения: 163
Регистриран на: 06 Апр 2017, 09:07
Местоположение: Варна
Се отблагодари: 22 пъти
Получена благодарност: 9 пъти

Проблем с client_disconnect и client_disconnected

Мнение от YankoNL » 23 Май 2022, 14:19

Супер! Може да локвате.
:lock: :lock: :lock:

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Поддръжка / Помощ”

Кой е на линия

Потребители разглеждащи този форум: Google [Bot] и 6 госта