Не работает плагин

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
99
Реакции
-1
Ошибка
(name "zp_override_user_model") - check your modules.ini.
ОС
Linux
Amx Mod X
AMX Mod X 1.9.0-dev+5210
Билд
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.10.0.764-dev
ReGamedll
ReGameDLL version: 5.21.0.540-dev
Build date: 17:33:16 Oct 25 2021
Версия Metamod
Metamod v1.21p37 2013/05/30 (5:13
Список метамодулей
description stat pend file vers src load unlod
[ 1] AMX Mod X RUN - amxmodx_mm_i386. v1.9.0-d ini Start ANY
[ 2] Reunion RUN - reunion_mm_i386. v0.1.92d ini Start Never
[ 3] Rechecker RUN - rechecker_mm_i38 v2.3 ini Chlvl ANY
[ 4] VoiceTranscoder RUN - VoiceTranscoder. v2017RC5 ini ANY ANY
[ 5] ReAPI RUN - reapi_amxx_i386. v5.22.0. pl1 ANY Never
[ 6] Ham Sandwich RUN - hamsandwich_amxx v1.9.0-d pl1 ANY ANY
[ 7] CSX RUN - csx_amxx_i386.so v1.9.0-d pl1 ANY ANY
[ 8] CStrike RUN - cstrike_amxx_i38 v1.9.0-d pl1 ANY ANY
[ 9] FakeMeta RUN - fakemeta_amxx_i3 v1.9.0-d pl1 ANY ANY
[10] Engine RUN - engine_amxx_i386 v1.9.0-d pl1 ANY ANY
[11] Fun RUN - fun_amxx_i386.so v1.9.0-d pl1 ANY ANY
11 plugins, 11 running
Список плагинов
name version author file status
[ 1] Admin Base 1.9.0-dev+ AMXX Dev Team admin.amxx running
[ 2] Admin Commands 1.9.0-dev+ AMXX Dev Team admincmd.amxx running
[ 3] Slots Reservation 1.9.0-dev+ AMXX Dev Team adminslots.amxx running
[ 4] Menus Front-End 1.9.0-dev+ AMXX Dev Team menufront.amxx running
[ 5] Players Menu 1.9.0-dev+ AMXX Dev Team plmenu.amxx running
[ 6] Maps Menu 1.9.0-dev+ AMXX Dev Team mapsmenu.amxx running
[ 7] Admin Chat 1.9.0-dev+ AMXX Dev Team adminchat.amxx running
[ 8] Admin Votes 1.9.0-dev+ AMXX Dev Team adminvote.amxx running
[ 9] StatsX 1.9.0-dev+ AMXX Dev Team statsx.amxx running
[ 10] Stats Configuration 1.9.0-dev+ AMXX Dev Team statscfg.amxx running
[ 11] UFPS Map Manager 3.0.3(z) UFPS.Team umm.amxx running
[ 12] UFPS Map Config 1.2 UFPS.Team umm_mapconfig.a running
[ 13] Zombie Plague 4.3 MeRcyLeZZ zombie_plague40 running
[ 14] unknown unknown unknown adminmodels.amx не работает
[ 15] ZM VIP 1.6 aaarnas zm_vip.amxx running
[ 16] VIP_teg 1.1 BuPyC zm_vip_prefix.a running
[ 17] [ZP] Addon: Knife 0.1 CHyC zp_addon_knife. running
[ 18] [ZP] Addon: Extended G 2.0 [ru]In1ernal Err zp_ammo_ex.amxx running
[ 19] [ZP] DHUD Informer 0.0.0.1 Andrei zp_score.amxx running
[ 20] unknown unknown unknown zp_zombie_respa running
[ 21] No Survivor Recoil v1.0 Stone/Mog zp_no_survivor_ running
[ 22] [ZP] Addon: Zombie HP 0.1 KceHoH zp_hud_hp_cso.a running
[ 23] [ZP] Extra Addon: Coun 1.0 MercedeS zp_extra_addon_ running
[ 24] [ZP] Survivor or Nemes 1.0 Kiske zp_winorlose_ro running
[ 25] [ZP] AmmoChange 1.0 ZETA [M|E|N] zp_ammochange.a running
[ 26] [ZP] Sub-Plugin: Parac 1.1 Random1, 93()|29 zp_sub_parachut running
[ 27] Weapons MaxClip 0.3.0 ConnorMcLeod weapons_maxclip running
[ 28] Fire in the hole REMOV 1.97 ........ FITH_REMOVER.am running
[ 29] High Ping Kicker 1.6 UFPS.Team hpk.amxx running
[ 30] Autoresponder/Advertis 0.5 MaximusBrood ad_manager.amxx running
[ 31] Weapon Model + Sound R 1.3 GHW_Chronic GHW_Weapon_Repl running
[ 32] [ZP] Extra: Anti-Infec 1.0 MeRcyLeZZ zp_extra_human_ running
[ 33] [ZP] LaserMine 2.4 SandStriker/Shid zp_lasermine_24 running
[ 34] [ZP] Extra: Dual Infin 1.0 LARS-DAY[BR]EAKE azp_weapon_infi debug
[ 35] [ZP] Extra: AK47 Red D 1.0 LARS-DAY[BR]EAKE azp_weapon_assa running
[ 36] CSO CROSSBOW, toectb a 1.0 Crock zp_extra_crossb running
[ 37] [ZP] Extra: Electric G 1.0 LARS-DAY[BR]EAKE azp_weapon_gatl running
[ 38] [ZP] Extra: Water Gun 1.0 LARS-DAY[BR]EAKE azp_weapon_wate running
[ 39] [ZP] Extra: M134 EX 1.0 LARS-DAY[BR]EAKE azp_weapon_m134 running
[ 40] [ZP] Extra: PKM Total 1.0 Crock / =) (Popr azp_weapon_pkm. running
[ 41] [ZP] Extra: Marauders 1.0 Crock azp_weapon_mk48 running
[ 42] [ZP] Extra: New Weapon 1.1 Crock zp_extra_sniper running
[ 43] [ZP] Extra: SKULL5 1.0 LARS-DAY[BR]EAKE azp_weapon_skul running
[ 44] Jump Grenade 1.0 xz zp_extra_bomb.a running
[ 45] [ZP] Buy Health 1.3 Dcrkan / CHyc / zp_extra_health running
[ 46] [ZP] Can Auto Save Amm 0.1.0 ZombArena.Ru zp_ammo_save.am running
[ 47] [ZP] Classic 1.0 dias reclassic.amxx running
[ 48] Fast 1.0 Fast refast.amxx running
[ 49] [ZP] Class: DaSu (2) 1.0 Jim rebig.amxx running
[ 50] [ZP] Class - predator 1.0 HoRRoR rehanter.amxx running
[ 51] [ZP] Zombie Class: KF 0.2 meTaLiCroSS reshaman.amxx running
[ 52] [ZP] Zombie Class: Par 0.1 =), LARS-BLOODLI azp_class_reven debug
[ 53] [ZP] Zombie Class: Dra 0.1 =), LARS-BLOODLI azp_class_reven running
[ 54] [ZP] Server addon: Zsp 5.1 Game over zp_zspawn_syste running
[ 55] [BOSS] Vote 1.2 Alexander.3 zl_voteboss.amx running
[ 56] [ZP]Auto-Respawn 1.1 LuqqasBugsy&Hatt zp_auto_respawn running
56 plugins, 55 running
Автор плагина
не указано
Версия плагина
Не указан
Исходный код
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>

#define ACCESS ADMIN_LEVEL_B

new const PlayerModels[][] =
{
"deadis",
"trol",
"obama",
"spayder",
"deadis1",
"trol1",
"obama1",
"spayder1",
"pinki"
}

new g_playermodels[33][charsmax(PlayerModels)]

public plugin_init()
{
register_clcmd("say /skin", "amodels", ACCESS);
RegisterHam(Ham_Spawn,"player","SpawnPlayer", 1)
}

public SpawnPlayer(id)
{
if(zp_get_user_zombie(id))
return HAM_IGNORED;

if(zp_get_user_survivor(id))
return HAM_IGNORED;

if(!(get_user_flags(id) & ACCESS))
return HAM_IGNORED;

set_task(1.0, "SetModel", id)
return PLUGIN_CONTINUE;
}

public SetModel(id)
{
for(new iRange=0;iRange<=charsmax(PlayerModels);iRange++)
{
if(g_playermodels[id][iRange] == -1)
continue

zp_override_user_model(id, PlayerModels[g_playermodels[id][iRange]]);
break;
}
remove_task(id)
}

public zp_user_humanized_post(id, survivor)
{
if(survivor)
return;

if(!(get_user_flags(id) & ACCESS))
return;

for(new iRange=0;iRange<=charsmax(PlayerModels);iRange++)
{
if(g_playermodels[id][iRange] != -1)
{
zp_override_user_model(id, PlayerModels[g_playermodels[id][iRange]]);
break;
}
}
}

public client_connect(id)
{
for(new iRange=0;iRange<=charsmax(PlayerModels);iRange++)
{
g_playermodels[id][iRange] = -1
}
}

public client_disconnected(id)
{
for(new iRange=0;iRange<=charsmax(PlayerModels);iRange++)
{
g_playermodels[id][iRange] = -1
}

if(task_exists(id))
remove_task(id)
}

public plugin_precache()
{
for(new iModels=0;iModels<=charsmax(PlayerModels);iModels++)
{
new szModels[64];
formatex(szModels, charsmax(szModels), "models/player/%s/%s.mdl", PlayerModels[iModels], PlayerModels[iModels]);
engfunc(EngFunc_PrecacheModel, szModels);
}
}

public amodels(id)
{
new i_Menu = menu_create("\rВыбери \yмодель", "amodels_handler");
menu_additem(i_Menu, "\wСтандартный", "1", 0);
menu_additem(i_Menu, "\wЗеленый", "2", 0);
menu_additem(i_Menu, "\wЖелтый", "3", 0);
menu_additem(i_Menu, "\wСиний", "4", 0);
menu_additem(i_Menu, "\wФиолетовый", "5", 0);
menu_additem(i_Menu, "\wГолубой", "6", 0);
menu_additem(i_Menu, "\wБирюзовый", "7", 0);
menu_additem(i_Menu, "\wОранжевый", "8", 0)
menu_additem(i_Menu, "\wРозовый", "9", 0)
menu_setprop(i_Menu, MPROP_NEXTNAME, "\rÄàëåå");
menu_setprop(i_Menu, MPROP_BACKNAME, "\rÍàçàä");
menu_setprop(i_Menu, MPROP_EXITNAME, "\rÂûõîä");

menu_display(id, i_Menu, 0)
}

public amodels_handler(id, menu, item)
{
if( item < 0 )
{
return PLUGIN_CONTINUE;
}

new cmd[3], access, callback;
menu_item_getinfo(menu, item, access, cmd,2,_,_, callback);

new Choise = str_to_num(cmd)

for(new iKeys=1;iKeys<=sizeof(PlayerModels);iKeys++)
{
if (Choise == iKeys)
{
zp_override_user_model(id, PlayerModels[iKeys-1]);
g_playermodels[id][iKeys-1] = iKeys - 1;
}
else
{
g_playermodels[id][iKeys-1] = -1;
}
}
return PLUGIN_HANDLED;
}
Здраствуйте, подкажите что требуется для этого плагина?
 
В этой теме было размещено решение! Перейти к решению.

Вложения

Сообщения
68
Реакции
79
Помог
3 раз(а)
В главном моде ZP должен быть зарегистрирован натив zp_override_user_model
По видимому у тебя в моде его нету
 
Сообщения
3,387
Реакции
1,485
Помог
125 раз(а)
Jimasik, нужно иметь версию ZP мода, где есть этот натив.
 
Сообщения
99
Реакции
-1

Download all Attachments

Сообщения
971
Реакции
51
Помог
10 раз(а)
Я прописал, плагин работает. Только выдает такую ошибку
3 Дек 2023

не ставит модели
Индекс выходит за предела массива
**** charsmax(PlayerModels) = 8
**** sizeof(PlayerModels) = 9
new g_playermodels[33][charsmax(PlayerModels)]
for(new iKeys=1;iKeys<=sizeof(PlayerModels);iKeys++)
Кстати, меню динамическое, будет утечка памяти, обработчик меню совсем не понятен, для чего там цикл?
 
Последнее редактирование:
Сообщения
971
Реакции
51
Помог
10 раз(а)
Код:
--new g_playermodels[33][charsmax(PlayerModels)] //для чего тут двумерный массив?
++new g_playermodels[33] = {-1, ...};

public amodels_handler(id, menu, item) {
    menu_destroy(menu);

    if(!is_user_alive(id) || item == MENU_EXIT)
        return;

    if(g_playermodels[id] != -1)
        g_playermodels[id] = -1;

    else {
        g_playermodels[id] = item;
        zp_override_user_model(id, PlayerModels[item]);
    }
}
++надо сбрасывать модель
 
Последнее редактирование:
Сообщения
971
Реакции
51
Помог
10 раз(а)
Jimasik,
Код:
#include <amxmodx>
#include <hamsandwich>
#include <zombieplague>

#define GET_CLIENT_ACCESS(%0) bool:(get_user_flags(%0) & ACCESS)
#define ACCESS ADMIN_LEVEL_B
#define WITHOUT_MODEL -1

new const PlayerModels[][] = {
    "default_admin",
    "green_admin",
    "yellow_admin",
    "blue_admin",
    "purple_admin",
    "lightblue_admin",  
    "aqwa_admin",
    "orange_admin",
    "pink_admin"
};

new
    g_Menu,
    g_playermodels[MAX_PLAYERS +1] = {WITHOUT_MODEL, ...};

public plugin_init() {
    register_clcmd("say /skin", "amodels", ACCESS);

    RegisterHam(Ham_Spawn, "player", "SpawnPlayer", 1);
    create_model_menu();
}

public SpawnPlayer(id) {
    if(!is_user_alive(id) || zp_get_user_zombie(id) || zp_get_user_survivor(id))
        return;

    if(g_playermodels[id] != WITHOUT_MODEL)
        set_task(0.1, "SetModel", id);
}

public SetModel(id)
    zp_override_user_model(id, PlayerModels[g_playermodels[id]]);

public zp_user_humanized_post(id, survivor) {
    if(!survivor && g_playermodels[id] != WITHOUT_MODEL)
        zp_override_user_model(id, PlayerModels[g_playermodels[id]]);
}

public client_disconnected(id) {
    g_playermodels[id] = WITHOUT_MODEL;
    remove_task(id);
}

public plugin_precache() {
    for(new iModels, szModels[64]; iModels < sizeof(PlayerModels); iModels++) {
        formatex(szModels, charsmax(szModels), "models/player/adminmodels/%s/%s.mdl", PlayerModels[iModels], PlayerModels[iModels]);
        engfunc(EngFunc_PrecacheModel, szModels);
    }
}

public create_model_menu() {
    g_Menu = menu_create("\rВыбери \yмодель", "amodels_handler");
    menu_additem(g_Menu, "\wСтандартный", "1");
    menu_additem(g_Menu, "\wЗеленый", "2");
    menu_additem(g_Menu, "\wЖелтый", "3");
    menu_additem(g_Menu, "\wСиний", "4");
    menu_additem(g_Menu, "\wФиолетовый", "5");
    menu_additem(g_Menu, "\wГолубой", "6");
    menu_additem(g_Menu, "\wБирюзовый", "7");
    menu_additem(g_Menu, "\wОранжевый", "8");
    menu_additem(g_Menu, "\wРозовый", "9");
    menu_setprop(g_Menu, MPROP_NEXTNAME, "\rДалее");
    menu_setprop(g_Menu, MPROP_BACKNAME, "\rНазад");
    menu_setprop(g_Menu, MPROP_EXITNAME, "\rВыход");
}

public amodels(id) {
    if(GET_CLIENT_ACCESS(id))
        menu_display(id, g_Menu);
}

public amodels_handler(id, menu, item){
    if(is_user_alive(id) && item != MENU_EXIT) {
        if(g_playermodels[id] != WITHOUT_MODEL)
            g_playermodels[id] = WITHOUT_MODEL;

        else {
            g_playermodels[id] = item;
            zp_override_user_model(id, PlayerModels[item]);
        }
    }
}
 
Сообщения
971
Реакции
51
Помог
10 раз(а)
Jimasik, забыл про инклуид, отключал прекеш для проверки и удалил инклуид
4 Дек 2023
Код:
++#include <fakemeta>
 
Последнее редактирование:
Сообщения
99
Реакции
-1
Сообщения
971
Реакции
51
Помог
10 раз(а)
Объясни логику плагина,меняется кому, не зомби, меняться когда? Меню с 2 страницами ,последние модели буду присваивать значение от item, такое, что и первые. Следовательно нужно было сделать болевой массив, под каждую модель
 
Сообщения
99
Реакции
-1
Code_0xABC, Логика проста - есть модель админа красный футболист, с помощью плагина можно менять какбы цвета одежды.
Когда-то была проблема что после смерти установленая модель через меню сбрасывалась. Она решилась. Но теперь, плагин вообще не работает.
Директория модели там те самые футболисты что и стандарт только разные цвета.
4 Дек 2023
Code_0xABC, Логика проста - есть модель админа красный футболист, с помощью плагина можно менять какбы цвета одежды.
Когда-то была проблема что после смерти установленая модель через меню сбрасывалась. Она решилась. Но теперь, плагин вообще не работает.
Директория модели там те самые футболисты что и стандарт только разные цвета.
только админы когда человек могут использовать меню а когда зомби - то нет
 
Статус
В этой теме нельзя размещать новые ответы.

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

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