SMaster, не кидай эту тему в корзину.
Сейчас всё распишу.Добавлено (16.08.2012, 15:31)
---------------------------------------------
Я использовал 2 темы и читал Коментарии в них, чтобы у меня всё получилось.
Темы:
1) Как сделать новую модель для Невидимки ( Альянс людей )? - http://perfect-soft.su/forum/56-568-1
2) Как установить гранатам орка другую модель? - http://perfect-soft.su/forum/56-178-1
Как я делал:
Шаг1.
Создал четыре пустых файла в папке war3ft, это
hum_new_knife.h иhum_new_knife.inl
ork_new_he.h иork_new_he.inl
Подключил их:
#include "war3ft/hum_new_knife.inl"
#include "war3ft/hum_new_knife.h"
#include "war3ft/ork_new_he.inl"
#include "war3ft/ork_new_he.h"
Потом добавляешь форвард
register_forward(FM_SetModel, "fwSetModel");
Шаг 2.
В файл hum_new_knife.h добавил код
new szModel_P[] = "models/warcraft3/p_humknife.mdl"
new szModel_V[] = "models/warcraft3/v_humknife.mdl"
new szModel_W[] = "models/warcraft3/w_humknife.mdl"
new bool:bIsHasKNIFE[33];
В файл ork_new_he.h добавляешь код
new szModel_P[] = "models/warcraft3/p_heartbomb.mdl"
new szModel_V[] = "models/warcraft3/v_heartbomb.mdl"
new szModel_W[] = "models/warcraft3/w_heartbomb.mdl"
new bool:bIsHasHE[33];
Шаг 3.
В файлhum_new_knife.inl добавил код
public fwSetModel(entModel, const model[])
{
if ( !pev_valid ( entModel ) )
return FMRES_IGNORED;
if (strlen(model) < 8)
return FMRES_IGNORED;
new idUser, model_w[64];
idUser = pev(entModel, pev_owner);
if(p_data[idUser][P_RACE] == RACE_HUMAN)
{
format(model_w, charsmax(model_w), "%s", model[9]);
new idwpn = get_idwpn_from_wmodel(model_w);
if(idwpn == CSW_KNIFE)
{
engfunc(EngFunc_SetModel, entModel, szModel_W);
return FMRES_SUPERCEDE;
}
}
return FMRES_IGNORED;
}
get_idwpn_from_wmodel(model_w[])
{
new wpnname[64], idwpn;
format(wpnname, charsmax(wpnname), "weapon_%s", model_w);
replace(wpnname, charsmax(wpnname), ".mdl", "");
replace(wpnname, charsmax(wpnname), "_mp5", "_mp5navy");
strtolower(wpnname);
idwpn = get_weaponid(wpnname);
return idwpn;
В файл ork_new_he.inl добавляешь код
public fwSetModel(entModel, const model[])
{
if ( !pev_valid ( entModel ) )
return FMRES_IGNORED;
if (strlen(model) < 8)
return FMRES_IGNORED;
new idUser, model_w[64];
idUser = pev(entModel, pev_owner);
if(p_data[idUser][P_RACE] == RACE_ORC)
{
format(model_w, charsmax(model_w), "%s", model[9]);
new idwpn = get_idwpn_from_wmodel(model_w);
if(idwpn == CSW_HEGRENADE)
{
engfunc(EngFunc_SetModel, entModel, szModel_W);
return FMRES_SUPERCEDE;
}
}
return FMRES_IGNORED;
}
get_idwpn_from_wmodel(model_w[])
{
new wpnname[64], idwpn;
format(wpnname, charsmax(wpnname), "weapon_%s", model_w);
replace(wpnname, charsmax(wpnname), ".mdl", "");
replace(wpnname, charsmax(wpnname), "_mp5", "_mp5navy");
strtolower(wpnname);
idwpn = get_weaponid(wpnname);
return idwpn;
}
Шаг 4.
Открыл файл war3ft.inl
Добавил код
precache_model(szModel_P);
precache_model(szModel_V);
precache_model(szModel_W);
Шаг 5.
Открыл events.inl и нашел public on_CurWeapon( idUser )
Ниже вставил код
{
new weaponID = read_data(2)
if (weaponID == CSW_KNIFE && p_data[id][P_RACE] == RACE_HUMAN )
{
set_pev(id, pev_viewmodel2, "models/warcraft3/v_knife.mdl")
}
else
{
new weaponID = read_data(2)
if (weaponID == CSW_HEGRENADE && p_data[id][P_RACE] == RACE_ORC )
{
set_pev(id, pev_viewmodel2, "models/warcraft3/v_grenade.mdl")
}
}
Добавлено (16.08.2012, 15:32)
---------------------------------------------
Выдает такие ошибки при компилирование плагина
//AMXXPC compile.exe
// by the AMX Mod X Dev Team
//// cssbWar3ftMod.sma
// war3ft/hum_new_knife.h(1) : error 021: symbol already defined: "szModel_P"
// war3ft/hum_new_knife.h(2) : error 021: symbol already defined: "szModel_V"
// war3ft/hum_new_knife.h(3) : error 021: symbol already defined: "szModel_W"
// war3ft/race_undead.inl(181) : error 017: undefined symbol "get_user_maxhealth
"
// war3ft/race_undead.inl(202) : error 017: undefined symbol "SHARED_Glow"
// war3ft/race_human.inl(74) : error 017: undefined symbol "SHARED_NearObjective
"
// war3ft/race_human.inl(180) : error 017: undefined symbol "SHARED_Teleport"
// war3ft/race_human.inl(467) : error 017: undefined symbol "SHARED_IsPlayerSlow
ed"
// war3ft/race_human.inl(471) : error 017: undefined symbol "SHARED_SetSpeed"
// war3ft/race_human.inl(476) : error 017: undefined symbol "SHARED_Glow"
// war3ft/race_orc.inl(165) : error 017: undefined symbol "ITEM_Has"
// war3ft/race_orc.inl(177) : warning 203: symbol is never used: "idUser"
// war3ft/race_orc.inl(198) : error 017: undefined symbol "SHARED_Glow"
// war3ft/race_orc.inl(211) : error 017: undefined symbol "SHARED_IsGrenade"
// war3ft/race_orc.inl(234) : error 017: undefined symbol "SHARED_Glow"
// war3ft/race_elf.inl(18) : error 017: undefined symbol "SHARED_SetSpeed"
// war3ft/race_elf.inl(35) : error 017: undefined symbol "SHARED_IsPrimaryWeapon
"
// war3ft/race_elf.inl(39) : warning 204: symbol is assigned a value that is nev
er used: "iWeapon"
// war3ft/race_elf.inl(61) : error 017: undefined symbol "SHARED_SetSpeed"
// war3ft/race_elf.inl(180) : error 017: undefined symbol "SHARED_Glow"
// war3ft/race_elf.inl(209) : error 017: undefined symbol "SHARED_Glow"
// war3ft/race_elf.inl(234) : error 017: undefined symbol "SHARED_Glow"
// war3ft/race_blood.inl(236) : error 017: undefined symbol "SHARED_Teleport"
// war3ft/race_blood.inl(239) : error 017: undefined symbol "SHARED_Glow"
// war3ft/race_blood.inl(261) : error 017: undefined symbol "SHARED_GetUserMoney
"
// war3ft/race_blood.inl(264) : error 017: undefined symbol "SHARED_SetUserMoney
"
// war3ft/race_blood.inl(267) : error 017: undefined symbol "SHARED_SetUserMoney
"
// war3ft/race_blood.inl(270) : error 017: undefined symbol "SHARED_Glow"
//
// Compilation aborted.
// 26 Errors.
// Could not locate output file compiled\cssbWar3ftMod.amx (compile failed).
//
// Compilation Time: 1,62 sec
// ----------------------------------------
Press enter to exit ...