Как изменить модель ножа у всех рас?
|
|
agent64rus | Дата: Вторник, 07.08.2012, 17:24 | Сообщение # 1 |
- Сообщения: 23
- Награды: 0
- Замечания:
|
Как изменить модели ножа у всех рас и чтобы ножи были разные?
|
|
| |
faktor-dat | Дата: Вторник, 07.08.2012, 20:11 | Сообщение # 2 |
- Сообщения: 67
- Награды: 2
- Замечания:
|
плагин есть...) Или тебе нужен нож для каждой рассы отдельно??? Если да то очень долго грузить ножи будет. Ну а если 1 нож на для сервера, то вот плагин:
Сообщение отредактировал faktor-dat - Вторник, 07.08.2012, 20:12 |
|
| |
Contra63 | Дата: Вторник, 07.08.2012, 23:40 | Сообщение # 3 |
- Сообщения: 830
- Награды: 7
- Замечания:
|
agent64rus, поиск on в http://perfect-soft.su/forum/56
|
|
| |
runetov | Дата: Вторник, 07.08.2012, 23:40 | Сообщение # 4 |
- Сообщения: 283
- Награды: 8
- Замечания:
|
agent64rus,
http://perfect-soft.su/forum/56-568-1
Шаг 1. регестрируеш в .sma
Code register_event("CurWeapon", "Event_CurWeapon", "be","1=1") register_forward(FM_SetModel, "fw_SetModel")
Шаг 2. Заходиш в war3ft.inl и добавляешь
Code public Event_CurWeapon(id) { p_data[id][P_RACE] == RACE_HUMAN new weaponID = read_data(2) if (weaponID != CSW_KNIFE) { set_pev(id, pev_viewmodel2, "models/warcraft3/v_knife.mdl") } }
Шаг 3 Добавляеш прекэш
Как-то так.
Автор KinD
Чтобы это сделать для всех рас добавляй этот код заново только меняй RACE_HUMAN на названия других рас!
Code public Event_CurWeapon(id) { p_data[id][P_RACE] == RACE_HUMAN new weaponID = read_data(2) if (weaponID != CSW_KNIFE) { set_pev(id, pev_viewmodel2, "models/warcraft3/v_knife.mdl") } }
|
|
| |
agent64rus | Дата: Среда, 08.08.2012, 19:31 | Сообщение # 5 |
- Сообщения: 23
- Награды: 0
- Замечания:
|
runetov, А куда именно добовлять код в war3ft.inl
|
|
| |
Contra63 | Дата: Среда, 08.08.2012, 21:11 | Сообщение # 6 |
- Сообщения: 830
- Награды: 7
- Замечания:
|
agent64rus, в левую часть файла.
|
|
| |
agent64rus | Дата: Среда, 08.08.2012, 21:43 | Сообщение # 7 |
- Сообщения: 23
- Награды: 0
- Замечания:
|
Да я имел в виду в какую строчку(после чего)вставлять этот код !?
|
|
| |
runetov | Дата: Среда, 08.08.2012, 22:06 | Сообщение # 8 |
- Сообщения: 283
- Награды: 8
- Замечания:
|
agent64rus,
Сделай лучше по другому
Code Шаг 1. Создаешь два пустых файла в папке war3ft hum_new_knife.h и hum_new_knife.inl Открываешь cssbWar3ftMod.sma Подключаешь их #include "war3ft/hum_new_knife.inl" #include "war3ft/hum_new_knife.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]; Шаг 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; } Шаг 4. Открываешь файл war3ft.inl Добавляешь код precache_model(szModel_P); precache_model(szModel_V); precache_model(szModel_W); Шаг 5. Открываешь events.inl и ищешь public on_CurWeapon( idUser ) Ниже вставляешь код if(p_data_b[idUser][PB_HAS_SPAWNED] && p_data[idUser][P_RACE] == RACE_HUMAN) { if(iCurWeapon == CSW_KNIFE) { if(!bIsHasKNIFE[idUser]) { entity_set_string(idUser,EV_SZ_viewmodel,szModel_V); entity_set_string(idUser,EV_SZ_weaponmodel,szModel_P); bIsHasKNIFE[idUser] = true; } } if(iCurWeapon != CSW_KNIFE) bIsHasKNIFE[idUser] = false; } Шаг 6. В папку ...\cstrike\models закидываешь прикрепленные модели (свои позже можно будет поставить) Скачать модели Три модели должны находиться на своих местах models/warcraft3/p_humknife.mdl models/warcraft3/v_humknife.mdl models/warcraft3/w_humknife.mdl
По материалу SMaster
|
|
| |
agent64rus | Дата: Среда, 08.08.2012, 22:31 | Сообщение # 9 |
- Сообщения: 23
- Награды: 0
- Замечания:
|
Ну вот это всё ты мне написал только для одной расы human а как для другой!? Получается создаёшь в папке war3ft любая раса_new_knife.h и любая раса_new_knife.inl И всё тоже самое прописываешь только в любая раса_new_knife.h пишешь свои модели так !?
|
|
| |
runetov | Дата: Среда, 08.08.2012, 23:46 | Сообщение # 10 |
- Сообщения: 283
- Награды: 8
- Замечания:
|
agent64rus, оее че трудно что ли ааа?
Создаешь два пустых файла в папке war3ft rac_new_knife.h и rac_new_knife.inl Открываешь cssbWar3ftMod.sma Подключаешь их #include "war3ft/raca_new_knife.inl" #include "war3ft/raca_new_knife.h" Шаг 2. В файл raca_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]; Шаг 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_raca) // Название расы той которою ты хочешь поставить { 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; } Шаг 4. Открываешь events.inl и ищешь public on_CurWeapon( idUser ) Ниже вставляешь код if(p_data_b[idUser][PB_HAS_SPAWNED] && p_data[idUser][P_RACE] == RACE_raca) // Название расы той которою ты хочешь поставить { if(iCurWeapon == CSW_KNIFE) { if(!bIsHasKNIFE[idUser]) { entity_set_string(idUser,EV_SZ_viewmodel,szModel_V); entity_set_string(idUser,EV_SZ_weaponmodel,szModel_P); bIsHasKNIFE[idUser] = true; } } if(iCurWeapon != CSW_KNIFE) bIsHasKNIFE[idUser] = false; } Шаг 6. В папку ...\cstrike\models закидываешь прикрепленные модели (свои позже можно будет поставить) Скачать модели Три модели должны находиться на своих местах models/warcraft3/p_humknife.mdl models/warcraft3/v_humknife.mdl models/warcraft3/w_humknife.mdl
|
|
| |
agent64rus | Дата: Четверг, 09.08.2012, 12:23 | Сообщение # 11 |
- Сообщения: 23
- Награды: 0
- Замечания:
|
Спасибо,извени конечно что так пристал к тебе простоя новичок и почти нечего не понимаю
|
|
| |
Zep | Дата: Четверг, 09.08.2012, 12:52 | Сообщение # 12 |
- Сообщения: 199
- Награды: 2
- Замечания:
|
а поставить плагин никак и у всех будет другой нож или что ты там хочешь
|
|
| |
agent64rus | Дата: Четверг, 09.08.2012, 13:35 | Сообщение # 13 |
- Сообщения: 23
- Награды: 0
- Замечания:
|
Можешь скинуть ссылку на этот плагин!?
|
|
| |
runetov | Дата: Четверг, 09.08.2012, 14:19 | Сообщение # 14 |
- Сообщения: 283
- Награды: 8
- Замечания:
|
Zep, я тебя не понял
Какой плагин? Quote и у всех будет другой нож или что ты там хочешь Да у той расы которой ты прописал
if(p_data[idUser][P_RACE] == RACE_HUMAN) В данном случае у хумана будет другой нож, кто возьмет хумана у них у всех будет другой нож.
Модель ножа меняем здесь
Code Шаг 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];
|
|
| |