Нужно добавить модель в precache

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
317
Реакции
131
Помог
4 раз(а)
Основная информация

Проблема: Нужно добавить модель в precache

Ошибка:
Падает сервер и за модели не в precache
Дополнительная информация

Amx Mod X: 1.8.2

Билд:
Код:


ReGamedll:
Код:
Не указан


Список модулей:
Код:
Не указан


Список плагинов:
Код:
;opengl32.amxx
;aim_detector.amxx
reaimdetector.amxx ; v0.1.6 - http://dev-cs.ru/resources/66/
amxbans_core.amxx
amxbans_main.amxx
alias_detector082.amxx
cmdchecker.amxx ; цмд чекер. http://dev-cs.ru/threads/198/page-6#post-1610
;antiflood.amxx
admincmd.amxx
;adminhelp.amxx
;adminslots.amxx
adminvote.amxx
adminchat.amxx
cmdmenu.amxx
;imessage.amxx
mapsmenu.amxx
;menufront.amxx
server_menu.amxx
miscstats.amxx
;multilingual.amxx
;nextmap.amxx
pausecfg.amxx
plmenu.amxx
restmenu.amxx
csstatsx_sql.amxx
aes_statsx_cstrike.amxx
;scrollmsg.amxx
;stats_logging.amxx
statscfg.amxx
statsx.amxx
;telemenu.amxx
;timeleft.amxx
pluginmenu.amxx
;amxmod_compat.amxx
;admin_sql.amxx
admin_esp_mini.amxx
admin_freelook.amxx
ad_manager.amxx
amx_blockip.amxx
;bullet_damage.amxx
girl_models.amxx
;Resetscore.amxx
reset_score.amxx
top_awards.amxx
vip_system.amxx
admin_check.amxx
amx_autodemorec.amxx
;voteban.amxx
amx_hpk.amxx
;mutemenu.amxx
amx_gag.amxx
;amx_parachute.amxx
parachute_rbs.amxx
;colored_translit_config.amxx
;colored_translit.amxx
voteban.amxx
;auto-restart.amxx
bcd_hudtimer.amxx
descriptive_fire_in_the_hole.amxx
;automatic_knife_duel.amxx
knife_duel.amxx debug
knife_sound.amxx debug
knife_warmup.amxx debug
speclist_rus.amxx
mapmanager.amxx
mapmanager_subplugin.amxx
;new_weapons.amxx ; лазерные ножи
;models_replacement.amxx debug ; замена моделей у всех - models_replacement.ini
afk_manager_1.8.2.amxx ; afk в спектры + иммунитет адмминам + передача бомбы
voice_manager.amxx ; раздел голосового чата
replace_info_msg.amxx debug ; замена стандартных надписей
antireconnect.amxx
New_Steam_bonus.amxx ; бонус стим игрокам
block_HLproxy.amxx
;autorestart_ua.amxx
map_spawns_editor.amxx
;billy_model.amxx
;pavlodar_model.amxx ; моделька пантеры по флагу "s"
players_models.amxx
hud_killer_info.amxx ; pokazivaet skolko hp i ap y ybiitsi
;mode.amxx debug ; блокирует половину карты когда мало игроков
;mode2.amxx debug ; блокирует половину карты когда мало игроков + цветной чат
no_team_flash.amxx debug ; своих не слепит
mode_re.amxx debug ; блокирует половину карты когда мало игроков. под рехлдс
WinTeam_Sprite.amxx debug
MarioCoins21.amxx
;MarioCoins.amxx ; старая версия
lite_translit.amxx


Список метамодулей:
Код:
Не указан[ 1] SafeNameAndChat  RUN   -    SafeNameAndChat.  v1.1      ini   ANY   ANY  
[ 2] Reunion RUN - reunion_mm_i386. v0.1.75 ini Start Never
[ 3] AMX Mod X RUN - amxmodx_mm_i386. v1.8.2 ini Start ANY
[ 4] ReSemiclip RUN - resemiclip_mm_i3 v2.3.9 ini Chlvl ANY
[ 5] VoiceTranscoder RUN - VoiceTranscoder. v2017 RC ini ANY ANY
[ 6] Rechecker RUN - rechecker_mm_i38 v2.3 ini Chlvl ANY
[ 7] MySQL RUN - mysql_amxx_i386. v1.8.2 pl3 ANY ANY
[ 8] Fun RUN - fun_amxx_i386.so v1.8.2 pl3 ANY ANY
[ 9] Engine RUN - engine_amxx_i386 v1.8.2 pl3 ANY ANY
[10] FakeMeta RUN - fakemeta_amxx_i3 v1.8.2 pl3 ANY ANY
[11] Ham Sandwich RUN - hamsandwich_amxx v1.8.2 pl3 ANY ANY
[12] ReAimDetector RUN - reaimdetector_am v0.1.6 pl3 ANY Never
[13] CStrike RUN - cstrike_amxx_i38 v1.8.2 pl3 ANY ANY
[14] ReAPI RUN - reapi_amxx_i386. v5.1.0.1 pl3 ANY Never


Исходник:
Код:
/* CVARs
mc_enable — 0/1 — плагин выключен/включен. При установке значения больше 1, плагин автоматически выставляет 0 и выключается.
mc_bodycoin — количество монет, выпадающих с противника после его убийства.
mc_maxcoins — количество монет, необходимых для получения возможности возрождения.
mc_defusecoins — количество монет, дающихся игроку после разминирования бомбы. Если значение равно 0, то функция отключается.
mc_explodecoins — количество монет, дающихся игроку после взрыва бомбы. Если значение равно 0, то функция отключается.
mc_coinstype — 0/1 — обычные монетки/динамичные(после выпадения монетки будут отскакивать от стен, пола, ящиков и т.д.).
При установке значения больше 1, плагин автоматически выставляет 0 и включаются обычные монетки.
*/
#include <amxmodx>
#include <engine>
#include <hamsandwich>

#define Mplayers 32 + 1

new bCountTokenCoins[Mplayers];

new gCvarPluginEnable;
new gCvarPluginCoinsType;
new gCvarPluginMaxCoinsForLife;
new gCvarPluginCoinsPerBody;
new gCvarPluginCoinsForDefuse;
new gCvarPluginCoinsForExplode;
new gHudSyncronizer;

/* defolt
new const gCoinModel[] = "models/MarioCoins/mario_coin2.mdl";
new const gCoinGained[] = "MarioCoins/coingained.wav";
new const gLifeGained[] = "MarioCoins/lifegained.wav";
new const gRespawned[] = "MarioCoins/respawned.wav";
*/
// Precache
/*
public plugin_precache()
{
new const gCoinModel[] = precache_model("models/MarioCoins/mario_coin2.mdl")
new const gCoinGained[] = precache_sound("MarioCoins/coingained.wav")
new const gLifeGained[] = precache_sound("MarioCoins/lifegained.wav")
new const gRespawned[] = precache_sound("MarioCoins/respawned.wav")
}
*/
new const gCoinModel[] = "models/MarioCoins/mario_coin2.mdl";
new const gCoinGained[] = "MarioCoins/coingained.wav";
new const gLifeGained[] = "MarioCoins/lifegained.wav";
new const gRespawned[] = "MarioCoins/respawned.wav";

public plugin_precache()
{
precache_model(gCoinModel);
precache_sound(gCoinGained);
precache_sound(gLifeGained);
precache_sound(gRespawned);
}

public plugin_init()
{
register_plugin("Mario Coins","2.1","EvilCoder/tuty");
register_dictionary("MarioCoins.txt");
gCvarPluginEnable = register_cvar("mc_enable","1");
if(get_pcvar_num(gCvarPluginEnable) != 1)
{
set_pcvar_num(gCvarPluginEnable,0);
return;
}

register_event("TextMsg","EVENT_TextMsg","a","2&#Game_C","2&#Game_w","2&#Game_will_restart_in");
register_logevent("LOG_RoundEnd",2,"1=Round_End");
register_touch("MarioCoin$","player","TouchCoin");

RegisterHam(Ham_Killed,"player","bacon_PlayerKilled",1);
RegisterHam(Ham_Player_PreThink,"player","bacon_PlayerPreThink");

gCvarPluginCoinsType = register_cvar("mc_coinstype","1");
if(get_pcvar_num(gCvarPluginCoinsType) != 1)
{
set_pcvar_num(gCvarPluginCoinsType,0);
}
gCvarPluginCoinsPerBody = register_cvar("mc_bodycoin","1");
gCvarPluginMaxCoinsForLife = register_cvar("mc_maxcoins","10");
gCvarPluginCoinsForDefuse = register_cvar("mc_defusecoins","2");
gCvarPluginCoinsForExplode = register_cvar("mc_explodecoins","2");

gHudSyncronizer = CreateHudSyncObj();
}

public client_connect(iVictim)
{
bCountTokenCoins[iVictim] = 0;
}

public EVENT_TextMsg()
{
remove_entity_name("MarioCoin$");
}

public LOG_RoundEnd()
{
remove_entity_name("MarioCoin$");
}

public bomb_defused(defuser)
{
if(get_pcvar_num(gCvarPluginCoinsForDefuse) == 0)
{
return PLUGIN_CONTINUE;
}

bCountTokenCoins[defuser] += get_pcvar_num(gCvarPluginCoinsForDefuse);

new iMaxCoins = get_pcvar_num(gCvarPluginMaxCoinsForLife);

if(bCountTokenCoins[defuser] >= iMaxCoins)
{
emit_sound(defuser,CHAN_ITEM,gLifeGained,VOL_NORM,ATTN_NORM,0,PITCH_NORM);
bCountTokenCoins[defuser] = iMaxCoins;
return PLUGIN_CONTINUE;
}

emit_sound(defuser,CHAN_ITEM,gCoinGained,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

remove_entity_name("MarioCoin$");

return PLUGIN_CONTINUE;
}

public bomb_explode(planter)
{
if(get_pcvar_num(gCvarPluginCoinsForExplode) == 0)
{
return PLUGIN_CONTINUE;
}

bCountTokenCoins[planter] += get_pcvar_num(gCvarPluginCoinsForExplode);

new iMaxCoins = get_pcvar_num(gCvarPluginMaxCoinsForLife);

if(bCountTokenCoins[planter] >= iMaxCoins)
{
emit_sound(planter,CHAN_ITEM,gLifeGained,VOL_NORM,ATTN_NORM,0,PITCH_NORM);
bCountTokenCoins[planter] = iMaxCoins;
return PLUGIN_CONTINUE;
}

emit_sound(planter,CHAN_ITEM,gCoinGained,VOL_NORM,ATTN_NORM,0,PITCH_NORM);

remove_entity_name("MarioCoin$");

return PLUGIN_CONTINUE;
}

public bacon_PlayerKilled()
{
new iKiller = read_data(1);
new iVictim = read_data(2);

if(iKiller == iVictim || get_user_team(iKiller) == get_user_team(iVictim))
{
return;
}

if(bCountTokenCoins[iVictim] >= get_pcvar_num(gCvarPluginMaxCoinsForLife))
{
if(!is_user_alive(iVictim))
{
set_task(0.1,"RegMenu",iVictim);
}
}

new Float:flPlayerOrigin[3];
entity_get_vector(iVictim,EV_VEC_origin,flPlayerOrigin);

flPlayerOrigin[2] -= 36;

new packedOrigin[3];
FVecIVec(flPlayerOrigin,packedOrigin);

set_task(0.1,"spawnCoins",4142,packedOrigin,3,"a",get_pcvar_num(gCvarPluginCoinsPerBody));
}

public RegMenu(iVictim)
{
new regmenu[512 char];
formatex(regmenu,charsmax(regmenu),"%L",iVictim,"DO_YOU_WANT_RESPAWN");
new menu = menu_create(regmenu,"ShowMenu");

formatex(regmenu,charsmax(regmenu),"%L",iVictim,"YES_I_WANT");
menu_additem(menu,regmenu,"1",0);

formatex(regmenu,charsmax(regmenu),"%L",iVictim,"NO_I_DO_NOT");
menu_additem(menu,regmenu,"2",0);

menu_setprop(menu,MPROP_EXIT,MEXIT_NEVER,-1);

menu_display(iVictim,menu,0);

return PLUGIN_CONTINUE;
}

public ShowMenu(iVictim,menu,item)
{
new data[6],iName[64],access,callback;
menu_item_getinfo(menu,item,access,data,charsmax(data),iName,charsmax(iName),callback);

new key = str_to_num(data);

switch(key)
{
case 1:
{
set_task(0.1,"RespawnPlayerAndResetCoins",iVictim);
menu_destroy(menu);
}
case 2:
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
}

return PLUGIN_HANDLED;
}

public spawnCoins(packedOrigin[3])
{
new Float:origin[3];
IVecFVec(packedOrigin,origin);
new iEntity = create_entity("info_target");

if(!is_valid_ent(iEntity))
{
return;
}

origin[2] += 65.0;
entity_set_origin(iEntity,origin);

new Float:velocity[3];
velocity[0] = (random_float(0.0,256.0) - 128.0);
velocity[1] = (random_float(0.0,256.0) - 128.0);
velocity[2] = (random_float(0.0,300.0) + 75.0);
entity_set_vector(iEntity,EV_VEC_velocity,velocity);

static modelName[64];
formatex(modelName,63,"models/MarioCoins/mario_coin2.mdl");

entity_set_model(iEntity,modelName);
entity_set_string(iEntity,EV_SZ_classname,"MarioCoin$");
entity_set_int(iEntity,EV_INT_solid,SOLID_TRIGGER);
if(get_pcvar_num(gCvarPluginCoinsType) != 1)
{
entity_set_int(iEntity,EV_INT_movetype,MOVETYPE_TOSS);
}
else
{
entity_set_int(iEntity,EV_INT_movetype,MOVETYPE_BOUNCE);
}
drop_to_floor(iEntity);

set_rendering(iEntity,kRenderFxGlowShell,255,255,0,kRenderNormal,10);
}

public TouchCoin(iEntity,id)
{
if(is_valid_ent(iEntity))
{
new iMaxCoins = get_pcvar_num(gCvarPluginMaxCoinsForLife);

bCountTokenCoins[id]++;

if(bCountTokenCoins[id] >= iMaxCoins)
{
emit_sound(id,CHAN_ITEM,gLifeGained,VOL_NORM,ATTN_NORM,0,PITCH_NORM);
set_entity_flags(iEntity,FL_KILLME,1);
bCountTokenCoins[id] = iMaxCoins;
return PLUGIN_CONTINUE;
}

emit_sound(id,CHAN_ITEM,gCoinGained,VOL_NORM,ATTN_NORM,0,PITCH_NORM);
set_entity_flags(iEntity,FL_KILLME,1);
}

remove_entity(iEntity);

return PLUGIN_CONTINUE;
}

public bacon_PlayerPreThink(id)
{
if(is_user_alive(id) && !is_user_bot(id))
{
//set_hudmessage(255,127,42,0.0,0.90,0,6.0);
set_hudmessage(255,127,42,0.03,0.88,0,6.0);

new iMaxCoins = get_pcvar_num(gCvarPluginMaxCoinsForLife);
new szFormatHUDMessage[300];

if(bCountTokenCoins[id] == iMaxCoins)
{
formatex(szFormatHUDMessage,charsmax(szFormatHUDMessage),"%L",id,"CAN_RESPAWN");
}

else
{
formatex(szFormatHUDMessage,charsmax(szFormatHUDMessage),"%L: [%d/%d]",id,"COINS_COUNT",bCountTokenCoins[id],iMaxCoins);
}

ShowSyncHudMsg(id,gHudSyncronizer,szFormatHUDMessage);
}
}

public RespawnPlayerAndResetCoins(iVictim)
{
if(is_user_connected(iVictim) && !is_user_alive(iVictim) && get_user_team(iVictim) != 3)
{
ExecuteHamB(Ham_CS_RoundRespawn,iVictim);

emit_sound(iVictim,CHAN_ITEM,gRespawned,VOL_NORM,ATTN_NORM,0,PITCH_NORM);
bCountTokenCoins[iVictim] = 0;
}
}


Комментарий:
Нужно добавить precache в этой строчке, я хз как
И правильно ли
formatex(modelName,63,"models/MarioCoins/mario_coin2.mdl");

Логи
L 03/06/2017 - 12:43:53: FATAL ERROR (shutting down): Host_Error: no precache: models/MarioCoins/mario_coin2.mdl
FATAL ERROR (shutting down): Host_Error: no precache: models/MarioCoins/mario_coin2.mdl
 
В этой теме было размещено решение! Перейти к решению.
Сообщения
263
Реакции
335
Помог
4 раз(а)
alabamaster1337, нужно добавить модель в "../models/MarioCoins/"

P.S. Вангую, сама моделька называется "mario_coins2.mdl" а в плагине указана "mario_coin2.mdl"
 
Сообщения
317
Реакции
131
Помог
4 раз(а)
SonG, все модели на своих местах
плохо вангуешь:)
 
Сообщения
263
Реакции
335
Помог
4 раз(а)
alabamaster1337, Странно) Ибо я поставил на тест плагин и он не пишет никаких ошибок.
Код:
 [ 22] Mario Coins             2.1         EvilCoder/tuty    coin.amxx        running
 
Сообщения
317
Реакции
131
Помог
4 раз(а)
SonG, после убийства, когда должна выпадать монетка, сервер падает, логи я скинул
 
Сообщения
263
Реакции
335
Помог
4 раз(а)
alabamaster1337, У меня после убийства монета не выпадает, и серв не падает)))
 
Сообщения
317
Реакции
131
Помог
4 раз(а)
SonG, уже не падает :D
дебаг логи

L 03/06/2017 - 14:08:52: [AMXX] Displaying debug trace (plugin "MarioCoins21.amxx")
L 03/06/2017 - 14:08:52: [AMXX] Run time error 4: index out of bounds
L 03/06/2017 - 14:08:52: [AMXX] [0] MarioCoins21.sma::bacon_PlayerKilled (line 161)
L 03/06/2017 - 14:08:54: [AMXX] Displaying debug trace (plugin "MarioCoins21.amxx")
L 03/06/2017 - 14:08:54: [AMXX] Run time error 4: index out of bounds
L 03/06/2017 - 14:08:54: [AMXX] [0] MarioCoins21.sma::bacon_PlayerKilled (line 161)
L 03/06/2017 - 14:08:56: [AMXX] Displaying debug trace (plugin "MarioCoins21.amxx")
L 03/06/2017 - 14:08:56: [AMXX] Run time error 4: index out of bounds
L 03/06/2017 - 14:08:56: [AMXX] [0] MarioCoins21.sma::bacon_PlayerKilled (line 161)
L 03/06/2017 - 14:08:58: [AMXX] Displaying debug trace (plugin "MarioCoins21.amxx")
L 03/06/2017 - 14:08:58: [AMXX] Run time error 4: index out of bounds
L 03/06/2017 - 14:08:58: [AMXX] [0] MarioCoins21.sma::bacon_PlayerKilled (line 161)
L 03/06/2017 - 14:09:15: [AMXX] Displaying debug trace (plugin "MarioCoins21.amxx")
L 03/06/2017 - 14:09:15: [AMXX] Run time error 4: index out of bounds
L 03/06/2017 - 14:09:15: [AMXX] [0] MarioCoins21.sma::bacon_PlayerKilled (line 161)
 
Сообщения
317
Реакции
131
Помог
4 раз(а)
Vaqtincha, если что то должно было измениться, оно не изменилось, все те же логи
 
Сообщения
661
Реакции
563
Предупреждения
8
Помог
9 раз(а)
Сообщения
443
Реакции
319
Помог
13 раз(а)
имхо изначально был deathmsg...
просто ТС наркоман и решил что аргументы совпадут
 
Сообщения
661
Реакции
563
Предупреждения
8
Помог
9 раз(а)
Тогда так
Код:
public bacon_PlayerKilled(iVictim, iKiller, iGib)
{
// new iKiller = read_data(1);
// new iVictim = read_data(2);

if(iKiller == iVictim || get_user_team(iKiller) == get_user_team(iVictim))
{
return;
}

if(bCountTokenCoins[iVictim] >= get_pcvar_num(gCvarPluginMaxCoinsForLife))
{
// if(!is_user_alive(iVictim)) // WTF ?
{
set_task(0.1,"RegMenu",iVictim);
}
}

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

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

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