Subb98 писал(а): RevCrew, cyberforum предложил бы, но что меня там бесит: создаёшь тему с вопросом - тебе отвечают ссылками на похожие темы, где даны ответы точно такими же ссылками на похожие темы с ответами с точно такими же ссылками. Как будто не на форум зашёл, а на порно-сайт с unlimited-redirect'ами.
Модераторы: Subb98, liFe iS GoOD
KOTOKU писал(а):Код выше не самый сок, но для твоего сервака сгодится, как для обучения.
Ты запрекешил модели хотя бы? Тут либо косяк в прекеше, либо неправильно работает форвард.
KOTOKU писал(а):Код выше не самый сок
engfunc(EngFunc_SetModel, iEnt, "models/w_ak47.mdl");
forward_return(FMV_CELL, engfunc(EngFunc_SetModel, iEnt, "models/w_ak47.mdl"));
KOTOKU писал(а):Код выше не самый сок, но для твоего сервака сгодится, как для обучения.
KOTOKU писал(а):Я не думаю, что этот вопрос имеет смысл обсуждения в данном разделе.
Даже если у тебя нет сервера, то эту работу кто-то будет юзать на своем сервере - это лишь вопрос времени и мне не важно, ставишь ты это на свой сервер или чужой, здесь вопрос об оптимизации стоит.
public HamHook_Weaponbox_Spawn_Post(const iWeaponBox)
{
if (pev_valid(iWeaponBox) == 2 && is_user_connected(pev(iWeaponBox, pev_owner))) {
g_SetModel = register_forward(FM_SetModel, "fw_SetModel");
log_to_file("addons/amxmodx/weaponbox.txt","IF HAM SetModel: %d", g_SetModel);
}
return HAM_IGNORED;
}
public fw_SetModel(iEnt) {
unregister_forward(FM_SetModel, g_SetModel);
static i, szClassname[32], iItem;
pev(iEnt, pev_classname, szClassname, 31);
log_to_file("addons/amxmodx/weaponbox.txt","F ENT_CLASS: %s | ID: %d", szClassname, iEnt);
if(!equal(szClassname, "weaponbox")){
log_to_file("addons/amxmodx/weaponbox.txt","F ENT NOT WEAPONBOX | ID: %d", iEnt);
return FMRES_IGNORED;
}
for(i = 0; i < 6; i++) {
iItem = get_pdata_cbase(iEnt, m_rgpPlayerItems_CWeaponBox + i, 4);
log_to_file("addons/amxmodx/weaponbox.txt","F ID: %d | i: %d | iItem: %d", iEnt, i, iItem);
if(iItem > 0 && (pev(iItem, pev_iuser1) == 1337) {
log_to_file("addons/amxmodx/weaponbox.txt","F ID: %d | SUCCESS", iEnt);
forward_return(FMV_CELL, engfunc(EngFunc_SetModel, iEnt, "models/w_ak47.mdl"));
set_pev(iEnt, pev_body, 0);
return FMRES_SUPERCEDE;
}
}
return FMRES_IGNORED;
}
DeMNiX писал(а):Ham_Touch
:D
- Код: Выделить всё
// kord
#define m_rgpPlayerItems_CWeaponBox 34
new g_SetModel
public plugin_init()
{
RegisterHam(Ham_Spawn, "weaponbox", "HamHook_Weaponbox_Spawn_Post", true);
}
public HamHook_Weaponbox_Spawn_Post(const iWeaponBox)
{
if (pev_valid(iWeaponBox) == 2 && is_user_connected(pev(iWeaponBox, pev_owner))) {
g_SetModel = register_forward(FM_SetModel, "fw_SetModel");
}
return HAM_IGNORED;
}
public fw_SetModel(iEnt) {
unregister_forward(FM_SetModel, g_SetModel);
static i, szClassname[32], iItem;
pev(iEnt, pev_classname, szClassname, 31);
if(!equal(szClassname, "weaponbox")) return FMRES_IGNORED;
for(i = 0; i < 6; i++) {
iItem = get_pdata_cbase(iEnt, m_rgpPlayerItems_CWeaponBox + i, 4);
if(iItem > 0 && (pev(iItem, pev_iuser1) == 1337) {
engfunc(EngFunc_SetModel, iEnt, "models/w_ak47.mdl");
set_pev(iEnt, pev_body, 0);
return FMRES_SUPERCEDE;
}
}
return FMRES_IGNORED;
}
set_pev(weaponbox_id, pev_body, 0);
set_pev(weaponbox_id, pev_skin, 2);
set_pev(weaponbox_id, pev_body, 0); // смена сабмодели
set_pev(weaponbox_id, pev_skin, 2); // смена скина у сабмодели
Сейчас этот форум просматривают: Google [Bot] и гости: 11