Как сделать модель ножа для любой расы
|
|
SMaster | Дата: Четверг, 09.01.2014, 16:35 | Сообщение # 1 |
- Сообщения: 2189
- Награды: 46
- Замечания:
|
Шаг 1.
Подключаем в cssbWar3ftMod.sma #include "war3ft/natives.cpp" #include "war3ft/natives.h"
Регистрируем натив в public plugin_natives() Код register_native("cssbGetIdRace", "nativeGetIdRace", 1);
Шаг 2. Делаем плагин который модель ножа будет менять. Код #include <amxmodx> #include <fakemeta> #include <hamsandwich>
#include "war3ft/natives.h"
#define PLUGIN "CSSB WAR3FT RACE KNIFE" #define VERSION "1.0" #define AUTHOR "CSSB"
static const vMdlKnife[] = "models/war3ftknife/v_knife_ork.mdl" static const pMdlKnife[] = "models/war3ftknife/p_knife_ork.mdl"
#define RACE_ID 3 //раса Орк
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); RegisterHam(Ham_Item_Deploy, "weapon_knife", "hamKnfItemDeploy", 1); }
public plugin_precache() { precache_model(vMdlKnife); precache_model(pMdlKnife); }
public hamKnfItemDeploy(idWeapon) { if(!pev_valid(idWeapon)) return HAM_IGNORED; new idUser = pev(idWeapon, pev_owner); if(!is_user_alive(idUser)) return HAM_IGNORED if(cssbGetIdRace(idUser) == RACE_ID) fSetModelKnife(idUser); return HAM_HANDLED; }
fSetModelKnife(idUser) { set_pev(idUser, pev_viewmodel2, vMdlKnife); set_pev(idUser, pev_weaponmodel2, pMdlKnife); }
ID рас берем с мода варика как они идут: Код #define RACE_UNDEAD 1 #define RACE_HUMAN 2 #define RACE_ORC 3 #define RACE_ELF 4 #define RACE_BLOOD 5 #define RACE_SHADOW 6 #define RACE_WARDEN 7 #define RACE_CRYPT 8 #define RACE_CHAMELEON 9 #define RACE_FROST_MAGE 10 //Ледяной маг #define RACE_DEATH_KNIGHT 11 //Рацарь смерти #define RACE_BLACK_MAGICIAN 12 //Черный маг #define RACE_ALCHEMIST 13 //Алхимик #define RACE_PRIEST 14 //Жрец
Пример: #define RACE_ID 4 //раса Ельф
Шаг 3. На базе этого простенького плагина делаем себе ножичек для любой расы. Прикрепил архив с готовым кодом плагина.
PS: у кого версия мода 4.5 и выше, натив уже вшит,поэтому можете свободно брать уже сам плагин и клепать ножи. Некоторые просили вшить в сам мод,так вот решил сделать отдельно.Пользуемся кому нужно.
Наша группа вконтакте http://vk.com/nano_world_cs
Контакты: ICQ 607786179 Skype xonahead
|
|
| |
MrScooter | Дата: Четверг, 09.01.2014, 18:11 | Сообщение # 2 |
- Сообщения: 251
- Награды: 0
- Замечания:
|
Спасибо, Все работает!
|
|
| |
Zep | Дата: Вторник, 18.03.2014, 19:28 | Сообщение # 3 |
- Сообщения: 199
- Награды: 2
- Замечания:
|
а как сделать в одном плагине сразу для нескольких расс?
|
|
| |
SMaster | Дата: Среда, 19.03.2014, 11:31 | Сообщение # 4 |
- Сообщения: 2189
- Награды: 46
- Замечания:
|
Zep, Добавляешь по аналогии. Знаний нужно минимум чтобы сделать. Кратко расписал ниже,должно быть все понятно!
Сами модели ножа Код static const vMdlKnife_2[] = "models/war3ftknife/v_knife_elf.mdl" static const pMdlKnife_2[] = "models/war3ftknife/p_knife_elf.mdl"
Код #define RACE_ELF 4 //"Эльф
Добавляешь модели в прекеш Код precache_model(vMdlKnife_2); precache_model(pMdlKnife_2);
// Проверка какая раса Код if(cssbGetIdRace(idUser) == RACE_ELF) fSetModelKnife_2(idUser);
//Модель ножа ставит игроку Код fSetModelKnife_2(idUser) { set_pev(idUser, pev_viewmodel2, vMdlKnife_2); set_pev(idUser, pev_weaponmodel2, pMdlKnife_2); }
Наша группа вконтакте http://vk.com/nano_world_cs
Контакты: ICQ 607786179 Skype xonahead
|
|
| |
MaRs | Дата: Четверг, 26.06.2014, 16:54 | Сообщение # 5 |
- Сообщения: 26
- Награды: 0
- Замечания:
|
Плагин не компилируется(( cssbWar3ftRaceKnife.sma(5) : fatal error 100: cannot read from file: "war3ft/natives.h"
Сообщение отредактировал MaRs - Четверг, 26.06.2014, 16:57 |
|
| |
B@RB@DO$ | Дата: Суббота, 01.11.2014, 12:03 | Сообщение # 6 |
- Сообщения: 72
- Награды: 0
- Замечания:
|
Сделал так даже не знаю как я это сделал
Правильно сделал ??? скомпилировал и всё при компиляции выдает это но скомпилировало ножи отображает в игре кроме карты 35hp_2
Код #include <amxmodx> #include <fakemeta> #include <hamsandwich> #include "war3ft/natives.h" #define PLUGIN "CSSB WAR3FT RACE KNIFE" #define VERSION "1.0" #define AUTHOR "CSSB" static const vMdlKnife_1[] = "models/war3ftknife/raceknife/v_knife_undead.mdl" //раса Нежить static const vMdlKnife_2[] = "models/war3ftknife/raceknife/v_knife_human.mdl" //раса Человек static const vMdlKnife_3[] = "models/war3ftknife/raceknife/v_knife_orc.mdl" //раса Орк static const vMdlKnife_4[] = "models/war3ftknife/raceknife/v_knife_elf.mdl" //раса Эльф static const vMdlKnife_5[] = "models/war3ftknife/raceknife/v_knife_blood.mdl" //раса Маг static const vMdlKnife_6[] = "models/war3ftknife/raceknife/v_knife_shadow.mdl" //раса Охотник static const vMdlKnife_7[] = "models/war3ftknife/raceknife/v_knife_warden.mdl" //раса Шпион static const vMdlKnife_8[] = "models/war3ftknife/raceknife/v_knife_crypt.mdl" //раса Лорд static const vMdlKnife_9[] = "models/war3ftknife/raceknife/v_knife_chameleon.mdl" //раса Полиморф static const vMdlKnife_10[] = "models/war3ftknife/raceknife/v_knife_frostmage.mdl" //раса Ледяной маг #define RACE_UNDEAD 1 //раса Нежить #define RACE_HUMAN 2 //раса Человек #define RACE_ORC 3 //раса Орк #define RACE_ELF 4 //раса Эльф #define RACE_BLOOD 5 //раса Маг #define RACE_SHADOW 6 //раса Охотник #define RACE_WARDEN 7 //раса Шпион #define RACE_CRYPT 8 //раса Лорд #define RACE_CHAMELEON 9 //раса Полиморф #define RACE_FROST_MAGE 10 //раса Ледяной маг public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); RegisterHam(Ham_Item_Deploy, "weapon_knife", "hamKnfItemDeploy", 1); } public plugin_precache() { precache_model(vMdlKnife_1); precache_model(vMdlKnife_2); precache_model(vMdlKnife_3); precache_model(vMdlKnife_4); precache_model(vMdlKnife_5); precache_model(vMdlKnife_6); precache_model(vMdlKnife_7); precache_model(vMdlKnife_8); precache_model(vMdlKnife_9); precache_model(vMdlKnife_10); } public hamKnfItemDeploy(idWeapon) { if(!pev_valid(idWeapon)) return HAM_IGNORED; new idUser = pev(idWeapon, pev_owner); if(!is_user_alive(idUser)) return HAM_IGNORED if(cssbGetIdRace(idUser) == RACE_UNDEAD) fSetModelKnife_1(idUser); if(cssbGetIdRace(idUser) == RACE_HUMAN) fSetModelKnife_2(idUser); if(cssbGetIdRace(idUser) == RACE_ORC) fSetModelKnife_3(idUser); if(cssbGetIdRace(idUser) == RACE_ELF) fSetModelKnife_4(idUser); if(cssbGetIdRace(idUser) == RACE_BLOOD) fSetModelKnife_5(idUser); if(cssbGetIdRace(idUser) == RACE_SHADOW) fSetModelKnife_6(idUser); if(cssbGetIdRace(idUser) == RACE_WARDEN) fSetModelKnife_7(idUser); if(cssbGetIdRace(idUser) == RACE_CRYPT) fSetModelKnife_8(idUser); if(cssbGetIdRace(idUser) == RACE_CHAMELEON) fSetModelKnife_9(idUser); if(cssbGetIdRace(idUser) == RACE_FROST_MAGE) fSetModelKnife_10(idUser); return HAM_HANDLED; } fSetModelKnife_1(idUser) { set_pev(idUser, pev_viewmodel2, vMdlKnife_1); } fSetModelKnife_2(idUser) { set_pev(idUser, pev_viewmodel2, vMdlKnife_2); } fSetModelKnife_3(idUser) { set_pev(idUser, pev_viewmodel2, vMdlKnife_3); } fSetModelKnife_4(idUser) { set_pev(idUser, pev_viewmodel2, vMdlKnife_4); } fSetModelKnife_5(idUser) { set_pev(idUser, pev_viewmodel2, vMdlKnife_5); } fSetModelKnife_6(idUser) { set_pev(idUser, pev_viewmodel2, vMdlKnife_6); } fSetModelKnife_7(idUser) { set_pev(idUser, pev_viewmodel2, vMdlKnife_7); } fSetModelKnife_8(idUser) { set_pev(idUser, pev_viewmodel2, vMdlKnife_8); } fSetModelKnife_9(idUser) { set_pev(idUser, pev_viewmodel2, vMdlKnife_9); } fSetModelKnife_10(idUser) { set_pev(idUser, pev_viewmodel2, vMdlKnife_10); }
Сообщение отредактировал B@RB@DO$ - Суббота, 01.11.2014, 12:04 |
|
| |
KILLER7x7 | Дата: Воскресенье, 02.11.2014, 00:06 | Сообщение # 7 |
- Сообщения: 94
- Награды: 4
- Замечания:
|
Вот только другой метод
killer7x7_ua
Сообщение отредактировал KILLER7x7 - Воскресенье, 02.11.2014, 00:42 |
|
| |
B@RB@DO$ | Дата: Воскресенье, 02.11.2014, 11:52 | Сообщение # 8 |
- Сообщения: 72
- Награды: 0
- Замечания:
|
KILLER7x7, Спасибо
|
|
| |
МУЖЫК | Дата: Понедельник, 26.01.2015, 23:46 | Сообщение # 9 |
- Сообщения: 50
- Награды: 0
- Замечания:
|
Цитата B@RB@DO$ ( ) ножи отображает в игре кроме карты 35hp_2 Такая же проблема, подскажите, почему именно на этой карте не отображаются ножи?
|
|
| |
B@RB@DO$ | Дата: Вторник, 27.01.2015, 03:37 | Сообщение # 10 |
- Сообщения: 72
- Награды: 0
- Замечания:
|
МУЖЫК, смотри выше исходник выложил KILLER7x7 там отображаются только с нового раунда!
|
|
| |
МУЖЫК | Дата: Суббота, 31.01.2015, 03:30 | Сообщение # 11 |
- Сообщения: 50
- Награды: 0
- Замечания:
|
Окей, ребят, скажите плз как сделать чтобы использовалась также модель P а не только V? как у киллера? попытался сам добавить - сервер не запускается, но плагин вроде компилится, скорее всего я просто неправильно чтото сделал. ничего не понимаю в этих кодах))
|
|
| |
B@RB@DO$ | Дата: Воскресенье, 01.02.2015, 01:10 | Сообщение # 12 |
- Сообщения: 72
- Награды: 0
- Замечания:
|
МУЖЫК,
Код static const vMdlKnife_2[] = "models/war3ftknife/v_knife_orc.mdl" //раса Орк static const pMdlKnife_2[] = "models/war3ftknife/p_knife_ork.mdl" тут правельное названия?
|
|
| |
МУЖЫК | Дата: Суббота, 14.02.2015, 02:47 | Сообщение # 13 |
- Сообщения: 50
- Награды: 0
- Замечания:
|
B@RB@DO$, спасибо , я и не заметил, протестим - отпишусь) Добавлено (14.02.2015, 02:47) --------------------------------------------- не, дело не в этом. все равно не запускается сервер с этим плагином, хотя компилится все ок.
|
|
| |
Ewer | Дата: Четверг, 05.03.2015, 01:11 | Сообщение # 14 |
- Сообщения: 87
- Награды: 0
- Замечания:
|
Тоже вот такая ошибка cssbWar3ftRaceKnife.sma(5) : fatal error 100: cannot read from file: "war3ft/natives.h"
|
|
| |