Пропадают модели игроков

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
21
Реакции
0
Ошибка
Проблема заключается в том что если на сервере играют два игрока которые имеют скин у того кто первым зашел после захода второго у которого есть скин пропадает скин в целом. И ещё скин появляется после 2-3 убийств и иногда пропадает у игрока.
ОС
Windows
Amx Mod X
1.9.0.5271
Билд
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.11.0.767-dev
Build date: 03:14:15 Oct 25 2021 (2753)
Build from: https://github.com/dreamstalker/rehlds/commit/471158b
ReGamedll
ReGameDLL version: 5.3.0.204-dev
Build date: 18:30:34 Jun 27 2017
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/80a9c17
Версия Metamod
Metamod-r v1.3.0.131, API (5:13)
Metamod-r build: 18:51:28 Jul 11 2022
Metamod-r from: https://github.com/theAsmodai/metamod-r/commit/adc9414
Список метамодулей
[ 1] SafeNameAndChat  RUN   -    safenameandchat.dll   v1.1             ini  AN
Y ANY
[ 2] Reunion RUN - reunion_mm.dll v0.1.92d ini St
art Never
[ 3] ReAuthCheck RUN - reauthcheck_mm.dll v0.1.6 ini St
art Never
[ 4] VoiceTranscoder RUN - voicetranscoder.dll v2017RC5 ini AN
Y ANY
[ 5] AMX Mod X RUN - amxmodx_mm.dll v1.9.0.5271 ini St
art ANY
[ 6] Rechecker RUN - rechecker_mm.dll v2.7 ini Ch
lvl ANY
[ 7] ReSemiclip RUN - resemiclip_mm.dll v2.3.9 ini Ch
lvl ANY
[ 8] WHBlocker RUN - whblocker_mm.dll v1.5.697 ini Ch
lvl ANY
[ 9] YaPB RUN - yapb.dll v4.3.734 ini Ch
lvl ANY
[10] AGuard RUN - aguard_mm.dll v1.6 ini Ch
lvl Never
[11] Fun RUN - fun_amxx.dll v1.9.0.5271 pl5 AN
Y ANY
[12] Engine RUN - engine_amxx.dll v1.9.0.5271 pl5 AN
Y ANY
[13] FakeMeta RUN - fakemeta_amxx.dll v1.9.0.5271 pl5 AN
Y ANY
[14] GeoIP RUN - geoip_amxx.dll v1.9.0.5271 pl5 AN
Y ANY
[15] CStrike RUN - cstrike_amxx.dll v1.9.0.5271 pl5 AN
Y ANY
[16] CSX RUN - csx_amxx.dll v1.9.0.5271 pl5 AN
Y ANY
[17] Ham Sandwich RUN - hamsandwich_amxx.dll v1.9.0.5271 pl5 AN
Y ANY
[18] ReAPI RUN - reapi_amxx.dll v5.21.0.252-dev pl5 AN
Y Never
[19] MySQL RUN - mysql_amxx.dll v1.9.0.5271 pl5 AN
Y ANY
[20] ReCSDM RUN - csdm_amxx.dll v3.6 pl5 AN
Y ANY
20 plugins, 20 running
Список плагинов
Currently loaded plugins:
name version author file st
atus
[ 1] ChangeModel (free) for 1.0 Pain96 ChangeModels.am ru
nning
[ 2] Register System 5.0 m0skVi4a ;] RegisterSystem. ru
nning
[ 3] Back Weapons 1.1 Cheap_Suit backweapons.amx ru
nning
[ 4] Best Player Notice 1.0 Leo_[BH] best_player_not ru
nning
[ 5] Hostname Timeleft 1.0 xPaw HostnameTimelef ru
nning
[ 6] Killa HP 1.6 jas0n killa_hp.amxx ru
nning
[ 7] Battlefield 2: Rank Mo 1.5.5 pRED* bf2rank.amxx de
bug
[ 8] lite screen fade 1.0 AcE lite_screen_fad ru
nning
[ 9] Advanced Bullet Damage 1.0 Sn!ff3r Advanced_bullet ru
nning
[ 10] Ultimate Gore 1.5 JTP10181 amx_gore_ultima ru
nning
[ 11] Weapon Icon 1.2 hoboman313/Zenix weapon_icon.amx ru
nning
[ 12] Vampire 1.0c Shalfey vampire.amxx ru
nning
[ 13] Ping Faker 1.5a MeRcyLeZZ pingfaker.amxx ru
nning
[ 14] Reset Score 1.0 Silenttt resetscore.amxx ru
nning
[ 15] Join/Leave Message 1.2 BigBaller join_leave.amxx ru
nning
[ 16] Admin Prefixes 3.0 m0skVi4a ;] AdminPrefixes.a ru
nning
[ 17] Camera Changer 1.3 Bl0ck Camera_Changer. ru
nning
[ 18] Autoresponder/Advertis 0.5 MaximusBrood ad_manager.amxx ru
nning
[ 19] AdvancedMusicPlayer 3.0 Baws AdvancedMusicPl ru
nning
[ 20] Hats 1.0 trofian hat.amxx ru
nning
[ 21] Autobinds 1.0 CLLlAgOB autobinds.amxx ru
nning
[ 22] Game Namer 1.1 NeuroToxin GameNameChanger ru
nning
[ 23] Admin Base 1.9.0.5271 AMXX Dev Team admin.amxx ru
nning
[ 24] Admin Commands 1.9.0.5271 AMXX Dev Team admincmd.amxx ru
nning
[ 25] Admin Help 1.9.0.5271 AMXX Dev Team adminhelp.amxx ru
nning
[ 26] Slots Reservation 1.9.0.5271 AMXX Dev Team adminslots.amxx ru
nning
[ 27] Multi-Lingual System 1.9.0.5271 AMXX Dev Team multilingual.am ru
nning
[ 28] Menus Front-End 1.9.0.5271 AMXX Dev Team menufront.amxx ru
nning
[ 29] Commands Menu 1.9.0.5271 AMXX Dev Team cmdmenu.amxx ru
nning
[ 30] Players Menu 1.9.0.5271 AMXX Dev Team plmenu.amxx ru
nning
[ 31] Teleport Menu 1.9.0.5271 AMXX Dev Team telemenu.amxx ru
nning
[ 32] Maps Menu 1.9.0.5271 AMXX Dev Team mapsmenu.amxx ru
nning
[ 33] Plugin Menu 1.9.0.5271 AMXX Dev Team pluginmenu.amxx ru
nning
[ 34] Admin Chat 1.9.0.5271 AMXX Dev Team adminchat.amxx ru
nning
[ 35] Anti Flood 1.9.0.5271 AMXX Dev Team antiflood.amxx ru
nning
[ 36] Scrolling Message 1.9.0.5271 AMXX Dev Team scrollmsg.amxx ru
nning
[ 37] Info. Messages 1.9.0.5271 AMXX Dev Team imessage.amxx ru
nning
[ 38] Admin Votes 1.9.0.5271 AMXX Dev Team adminvote.amxx ru
nning
[ 39] Pause Plugins 1.9.0.5271 AMXX Dev Team pausecfg.amxx ru
nning
[ 40] Stats Configuration 1.9.0.5271 AMXX Dev Team statscfg.amxx ru
nning
[ 41] CSStatsX SQL 0.7.4+2 serfreeman1337 csstatsx_sql.am ru
nning
[ 42] AES: StatsX 0.5.9 [REA serfreeman1337/s aes_statsx_cstr ru
nning
[ 43] Server Menu [INI] 1.0 Leo_[BH] server_menu.amx ru
nning
[ 44] Auto recording demo 2.0 IzI | Bonaqua (R amx_autodemorec ru
nning
[ 45] AdminMenu 4.0 SkocH adminmenu181.am ru
nning
[ 46] Weapon Menu 1.0 Mattcook & xerob weaponmenu_ru.a ru
nning
[ 47] CS Misc. Stats 1.9.0.5271 AMXX Dev Team miscstats.amxx ru
nning
[ 48] Map Manager: Core 3.1.4 Mistrick map_manager_cor ru
nning
[ 49] Map Manager: Scheduler 0.1.9 Mistrick map_manager_sch ru
nning
[ 50] Map Manager: Rtv 0.1.1 Mistrick map_manager_rtv ru
nning
[ 51] Map Manager: Nominatio 0.2.0 Mistrick map_manager_nom ru
nning
[ 52] Map Manager: BlockList 0.0.4 Mistrick map_manager_blo ru
nning
[ 53] Map Manager: Online so 0.0.4 Mistrick map_manager_onl ru
nning
[ 54] Map Manager: Effects 0.1.0 Mistrick map_manager_eff ru
nning
[ 55] Map Manager: Informer 0.0.5 Mistrick map_manager_inf ru
nning
[ 56] Map Manager: Sounds 0.0.1 Mistrick map_manager_sou ru
nning
[ 57] ReCSDM Main 3.6 ReCSDM Team csdm_main.amxx ru
nning
[ 58] CSDM Equip 2.1.1 CSDM Team csdm_equip.amxx ru
nning
[ 59] ReCSDM Misc 3.6 ReCSDM Team csdm_misc.amxx ru
nning
[ 60] ReCSDM Protection 3.6 BAILOPAN csdm_protection ru
nning
60 plugins, 60 running
Автор плагина
Pain96
Версия плагина
1.0
Исходный код
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

#pragma semicolon 1

#define PLUGIN "ChangeModel (free) for amx-x.ru"
#define VERSION "1.0"
#define AUTHOR "Pain96"

#define CS_TEAM_T 1
#define CS_TEAM_CT 2

// путь/имя конфигурационного файла; префикс в качестве ключа для setinfo, содержащий пароль; причина кика, если пароль не совпадает
new const g_Library[][] = {"", "/addons/amxmodx/configs/models.ini", "_pw", "Неверный пароль"};

new szInfoPlayerModelCt[33], szInfoPlayerModelTt[33],
szAccessUser[33];

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("ResetHUD", "ChangeModel", "b");
}

public plugin_precache()
{
new szInfo[256], szInfoPrecache[128],
szInfoUser[32], szInfoUserPassword[32],
szInfoModelCt[64], szInfoModelTt[64],
iNum;

for(new iLine = 0; read_file(g_Library[1], iLine, szInfo, charsmax(szInfo), iNum); iLine++)
{
if(iNum && szInfo[0] != ';')
{
parse(szInfo, szInfoUser, charsmax( szInfoUser ),
szInfoUserPassword, charsmax(szInfoUserPassword),
szInfoModelCt, charsmax(szInfoModelCt),
szInfoModelTt, charsmax(szInfoModelTt)
);

formatex(szInfoPrecache, charsmax(szInfoPrecache), "models/player/%s/%s.mdl", szInfoModelCt, szInfoModelCt);
precache_model(szInfoPrecache);
formatex(szInfoPrecache, charsmax(szInfoPrecache), "models/player/%s/%s.mdl", szInfoModelTt, szInfoModelTt);
precache_model(szInfoPrecache);
}
}
}

public client_connect(id)
{
set_task(0.5, "CheckPlayerInfo", id);
szAccessUser[id] = false;
szInfoPlayerModelCt[id] = false;
szInfoPlayerModelTt[id] = false;
}

public client_infochanged(id)
{
set_task(0.5, "CheckPlayerInfo", id);
szAccessUser[id] = false;
szInfoPlayerModelCt[id] = false;
szInfoPlayerModelTt[id] = false;
}

public CheckPlayerInfo(id)
{
new szInfo[256], szName[32],
szSteam[32], szIP[32],
szPassword[32], szInfoUser[32],
szInfoUserPassword[32], szInfoModelCt[64],
szInfoModelTt[64], iNum;

if (!is_user_connected(id))
return 0;

get_user_name(id, szName, charsmax(szName));
get_user_authid(id, szSteam, charsmax(szSteam));
get_user_ip(id, szIP, charsmax(szIP), 1);

for(new iLine = 0; read_file(g_Library[1], iLine, szInfo, charsmax(szInfo), iNum); iLine++)
{
if(iNum && szInfo[0] != ';')
{
parse(szInfo, szInfoUser, charsmax( szInfoUser ),
szInfoUserPassword, charsmax(szInfoUserPassword),
szInfoModelCt, charsmax(szInfoModelCt),
szInfoModelTt, charsmax(szInfoModelTt)
);

if (equal(szName, szInfoUser))
{
get_user_info(id, g_Library[2], szPassword, charsmax(szPassword));

if(!equal(szInfoUserPassword, szPassword))
return server_cmd("kick %s ^"%s^"", szName, g_Library[3]);

copy(szInfoPlayerModelCt[id], charsmax(szInfoPlayerModelCt), szInfoModelCt);
copy(szInfoPlayerModelTt[id], charsmax(szInfoPlayerModelTt), szInfoModelTt);
szAccessUser[id] = true;
break;
}
else if (equal(szSteam, szInfoUser))
{
copy(szInfoPlayerModelCt[id], charsmax(szInfoPlayerModelCt), szInfoModelCt);
copy(szInfoPlayerModelTt[id], charsmax(szInfoPlayerModelTt), szInfoModelTt);
szAccessUser[id] = true;
break;
}
else if (equal(szIP, szInfoUser))
{
copy(szInfoPlayerModelCt[id], charsmax(szInfoPlayerModelCt), szInfoModelCt);
copy(szInfoPlayerModelTt[id], charsmax(szInfoPlayerModelTt), szInfoModelTt);
szAccessUser[id] = true;
break;
}
}
}
return 1;
}

public ChangeModel(id, level, cid)
{
if (szAccessUser[id])
{
new iTeam = get_user_team(id);
switch(iTeam)
{
case CS_TEAM_T: cs_set_user_model(id, szInfoPlayerModelTt[id]);
case CS_TEAM_CT: cs_set_user_model(id, szInfoPlayerModelCt[id]);

default: cs_reset_user_model(id);
}
}
return 0;
}
Доброго времени суток уважаемые коллеги!
Имеется сервер, на котором установлен плагин ChangeModels который меняет скины игрокам по нику/ip/steam.

Проблема заключается в том что если на сервере играют два игрока которые имеют скин у того кто первым зашел после захода второго у которого есть скин пропадает скин в целом. И ещё скин появляется после 2-3 убийств и иногда пропадает у игрока.
 
В этой теме было размещено решение! Перейти к решению.

Вложения

Сообщения
21
Реакции
0
@ImmortalAmxx,не пашет у меня)
3 Сен 2023
@NEXT1M,Мне выдача по нику нужна)
 
Сообщения
313
Реакции
21
Предупреждения
19
Помог
7 раз(а)
Somon007, у всех пашет, а у вас нет?)
 
Сообщения
166
Реакции
15
Помог
5 раз(а)
Я бы использовал Ham_Spawn
 
Сообщения
2,840
Реакции
1,666
Помог
75 раз(а)
хотя по факту тут всё древнее, кроме нескольких плагин и амхмода.
вообще не понятно почему метамод 2022 года, а регейм 2017, рехлдс 2021
 
Сообщения
21
Реакции
0
Алексеич, ReCSDM работает почему-то только на нём. К примеру если ReGameDLL последнюю версию установить то не будет работать ReCSDM. Вовсе не пашет. Когда заходишь выбираешь команду сервер крашиться (
 
Сообщения
21
Реакции
0
Nordic Warrior, Алексеич, все ровно в что Вы скинули хорошо, ок - но стандартный CSDM мне кажется лучше, т.к игроки привыкли к нему. Пробовал до 5.20 поднять ReGameDLL - бесполезно. Устанавливаю плагин который выше кидали, реакции 0.
4 Сен 2023
Так же попытался сделать на Reapi, бесполезно.
Метод cs_set_user_model заменяется на rg_set_user_model но все ровно ничего. Модельку после этого не даёт а в консоли просить дебажить плагин)
Вот код
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <reapi>


#pragma semicolon 1

#define PLUGIN "ChangeModel (free) for amx-x.ru"
#define VERSION "1.0"
#define AUTHOR "Pain96"

#define CS_TEAM_T 1
#define CS_TEAM_CT 2

//                                путь/имя конфигурационного файла; префикс в качестве ключа для setinfo, содержащий пароль; причина кика, если пароль не совпадает
new const g_Library[][] = {"", "/addons/amxmodx/configs/models.ini", "_pw", "Неверный пароль"};

new szInfoPlayerModelCt[33], szInfoPlayerModelTt[33],
szAccessUser[33];

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    register_event("ResetHUD", "ChangeModel", "b");
}

public plugin_precache()
{
    new szInfo[256], szInfoPrecache[128],
    szInfoUser[32], szInfoUserPassword[32],
    szInfoModelCt[64], szInfoModelTt[64],
    iNum;
    
    for(new iLine = 0; read_file(g_Library[1], iLine, szInfo, charsmax(szInfo), iNum); iLine++)
    {
        if(iNum && szInfo[0] != ';')
        {
            parse(szInfo, szInfoUser, charsmax( szInfoUser ),
            szInfoUserPassword, charsmax(szInfoUserPassword),
            szInfoModelCt, charsmax(szInfoModelCt),
            szInfoModelTt, charsmax(szInfoModelTt)
            );
            
            formatex(szInfoPrecache, charsmax(szInfoPrecache), "models/player/%s/%s.mdl", szInfoModelCt, szInfoModelCt);
            precache_model(szInfoPrecache);
            formatex(szInfoPrecache, charsmax(szInfoPrecache), "models/player/%s/%s.mdl", szInfoModelTt, szInfoModelTt);
            precache_model(szInfoPrecache);
        }
    }
}

public client_connect(id)
{
    set_task(0.5, "CheckPlayerInfo", id);
    szAccessUser[id] = false;
    szInfoPlayerModelCt[id] = false;
    szInfoPlayerModelTt[id] = false;
}

public client_infochanged(id)
{
    set_task(0.5, "CheckPlayerInfo", id);
    szAccessUser[id] = false;
    szInfoPlayerModelCt[id] = false;
    szInfoPlayerModelTt[id] = false;
}

public CheckPlayerInfo(id)
{   
    new szInfo[256], szName[32],
    szSteam[32], szIP[32],
    szPassword[32], szInfoUser[32],
    szInfoUserPassword[32], szInfoModelCt[64],
    szInfoModelTt[64], iNum;
    
    if (!is_user_connected(id))
        return 0;
        
    get_user_name(id, szName, charsmax(szName));
    get_user_authid(id, szSteam, charsmax(szSteam));
    get_user_ip(id, szIP, charsmax(szIP), 1);
    
    for(new iLine = 0; read_file(g_Library[1], iLine, szInfo, charsmax(szInfo), iNum); iLine++)
    {
        if(iNum && szInfo[0] != ';')
        {
            parse(szInfo, szInfoUser, charsmax( szInfoUser ),
            szInfoUserPassword, charsmax(szInfoUserPassword),
            szInfoModelCt, charsmax(szInfoModelCt),
            szInfoModelTt, charsmax(szInfoModelTt)
            );

            if (equal(szName, szInfoUser))
            {
                get_user_info(id, g_Library[2], szPassword, charsmax(szPassword));
                
                if(!equal(szInfoUserPassword, szPassword))
                    return server_cmd("kick %s ^"%s^"", szName, g_Library[3]);
                
                copy(szInfoPlayerModelCt[id], charsmax(szInfoPlayerModelCt), szInfoModelCt);
                copy(szInfoPlayerModelTt[id], charsmax(szInfoPlayerModelTt), szInfoModelTt);
                szAccessUser[id] = true;
                break;
            }
            else if (equal(szSteam, szInfoUser))
            {               
                copy(szInfoPlayerModelCt[id], charsmax(szInfoPlayerModelCt), szInfoModelCt);
                copy(szInfoPlayerModelTt[id], charsmax(szInfoPlayerModelTt), szInfoModelTt);
                szAccessUser[id] = true;
                break;
            }
            else if (equal(szIP, szInfoUser))
            {
                copy(szInfoPlayerModelCt[id], charsmax(szInfoPlayerModelCt), szInfoModelCt);
                copy(szInfoPlayerModelTt[id], charsmax(szInfoPlayerModelTt), szInfoModelTt);
                szAccessUser[id] = true;
                break;
            }
        }
    }
    return 1;
}

public ChangeModel(id, level, cid)
{
    if (szAccessUser[id])
    {
        new iTeam = get_user_team(id);
        switch(iTeam)
        {
            case CS_TEAM_T: rg_set_user_model(id, szInfoPlayerModelTt[id]);
            case CS_TEAM_CT: rg_set_user_model(id, szInfoPlayerModelCt[id]);

            default: cs_reset_user_model(id);
        }
    }
    return 0;
}
 
Сообщения
1,182
Реакции
2,147
Помог
57 раз(а)
Somon007 плагин не модифицировался? потому что код выглядит как "я вроде +/- понимаю что я делаю, но это не точно". рекомендую в раздел заказов обратиться, чтобы за денежку сие поделие переписали хотя бы в части логики определения подходящей игроку модели. мало того что ResetHUD для применения, так при определении ещё и каждый раз заново чтение файла.
 

Вложения

Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу