|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
Размер ентити
|
|
PAHANCS | Дата: Пятница, 29.05.2009, 01:00:34 | Сообщение # 1 |
Полковник
Группа: Пользователи
Сообщений: 183
Статус: Не в сети
| Делал так, но потом когда проверяю размер равен 0.0, 0.0, 0.0, подскажите что сдесь нужно переделать чтобы был верно установлен размер, это просто пример как я использовал: Code
public create_kevlar(id) { static iOrigin[3], Float:fOrigin[3], Float:fAngles[3], ent get_user_origin(id, iOrigin, 3) entity_get_vector(id, EV_VEC_angles, fAngles) IVecFVec(iOrigin, fOrigin) ent = create_entity("info_target") entity_set_string(ent, EV_SZ_classname, "kevlar_drop") entity_set_vector(ent, EV_VEC_origin, fOrigin) entity_set_vector(ent, EV_VEC_angles, fAngles) static Float:BoxMin[3], Float:BoxMax[3], Float:fSize[3] BoxMin[0] = -13.52; BoxMin[1] = -15.97; BoxMin[2] = 0.0; BoxMax[0] = 14.2; BoxMax[1] = 17.24; BoxMax[2] = 4.1; fSize[0] = 34.0; fSize[1] = 10.0; fSize[2] = 50.0; entity_set_vector(ent, EV_VEC_mins, BoxMin) entity_set_vector(ent, EV_VEC_maxs, BoxMax) entity_set_vector(ent, EV_VEC_size, fSize) entity_set_int(ent, EV_INT_solid, SOLID_BSP) entity_set_int(ent, EV_INT_movetype, MOVETYPE_TOSS) entity_set_model(ent, "models/w_kevlar.mdl") return PLUGIN_CONTINUE }
И каким образом можно определить размер только что созданной модели и (mins, maxs)
PAHANCS
|
|
| |
Vladimirok | Дата: Пятница, 29.05.2009, 01:15:51 | Сообщение # 2 |
Лейтенант
Группа: Пользователи
Сообщений: 73
Статус: Не в сети
| Есть у меня исходник скрипта, называеться WalkGuard. Там все созданые ентити зоны(углы) обсвечиваються лазерами. Зделано с менюшками. Очень красиво сделали.
|
|
| |
slogic | Дата: Пятница, 29.05.2009, 14:03:24 | Сообщение # 3 |
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| Нужно использовать функцию движка SetSize: Code engfunc(EngFunc_SetSize, ent_id, {-24.0, -24.0, 0.0}, {24.0, 24.0, 16.0}) Нужен fakemeta модуль. pev_size, pev_mins, pev_maxs в этом случае устанавливать не надо, да и ни к чему не приведет вроде, что ты сам на себе и доказал.
|
|
| |
PAHANCS | Дата: Воскресенье, 31.05.2009, 17:03:54 | Сообщение # 4 |
Полковник
Группа: Пользователи
Сообщений: 183
Статус: Не в сети
| Спасибо всем за помощь ! Добавлено (2009-05-31, 5:03 Pm) --------------------------------------------- Как ток ни пробывал всё равно размер не устанавливается, в чём проблема ? Code
#define fm_entity_set_size(%1,%2,%3) engfunc(EngFunc_SetSize, %1, %2, %3)
public healthcharger_create(id, Float:fOrigin[3], Float:fAngles[3], bool:enablesound) { static ent ent = fm_find_ent_in_sphere(-1, fOrigin, 50.0) while(ent != 0) { if(pev_valid(ent)) { static classname[21] pev(ent, pev_classname, classname, 20) if(equali(classname, "health_charger")) { if(enablesound == true && is_precachedsound[SND_BNO] == 1) client_cmd(id, "play %s",precachesound[SND_BNO]) return PLUGIN_CONTINUE } else if(equali(classname, "armor_charger")) { if(enablesound == true && is_precachedsound[SND_BNO] == 1) client_cmd(id, "play %s",precachesound[SND_BNO]) return PLUGIN_CONTINUE } } ent = fm_find_ent_in_sphere(ent, fOrigin, 50.0) } ent = fm_create_entity("info_target") if(!ent) { if(enablesound == true && is_precachedsound[SND_BNO] == 1) client_cmd(id, "play %s",precachesound[SND_BNO]) return PLUGIN_CONTINUE } new Float:mins[3] = {-2.0, -2.0, 38.0}; new Float:maxs[3] = {2.0, 2.0, 42.0}; set_pev(ent, pev_classname, "health_charger") set_pev(ent, pev_origin, fOrigin) set_pev(ent, pev_angles, fAngles) set_pev(ent, pev_movetype, MOVETYPE_FLY) set_pev(ent, pev_dmg_take, DAMAGE_NO) fm_entity_set_model(ent, "models/healthcharger.mdl") if(get_cvar_float("ha_healthcharger_health") <= 0.0) { set_pev(ent, pev_health, 0.0) set_pev(ent, pev_body, 1) } else { set_pev(ent, pev_health, get_cvar_float("ha_healthcharger_health")) } set_pev(ent, pev_solid, SOLID_BBOX) fm_entity_set_size(ent, mins, maxs) if(enablesound == true && is_precachedsound[SND_BOK] == 1) client_cmd(id, "play %s",precachesound[SND_BOK]) return PLUGIN_CONTINUE }
PAHANCS
|
|
| |
Vladimirok | Дата: Понедельник, 01.06.2009, 01:34:44 | Сообщение # 5 |
Лейтенант
Группа: Пользователи
Сообщений: 73
Статус: Не в сети
| Code #include <engine>
new Float:MinBox[3] new Float:MaxBox[3]
MinBox[0]=5.0 MinBox[1]=-30.0 MinBox[2]=-80.0 MaxBox[0]=20.0 MaxBox[1]=-20.0 MaxBox[2]=160.0 new Float:tmpVec[3] tmpVec[0]=15.0 //Размер соотношение MaxBox[0]=20.0 - MinBox[0]=5.0 = 15.0 tmpVec[1]=10.0 //Также tmpVec[2]=240.0 //Также entity_set_vector(entity_index, EV_VEC_mins, MinBox) entity_set_vector(entity_index, EV_VEC_maxs, MaxBox) entity_set_vector(entity_index, EV_VEC_size, tmpVec) //Здесь ставим размер, у меня без этого ну никак не работает <img rel="usm" src="http://amxmodx.ucoz.ru/Smiles/smile.gif" border="0" align="absmiddle" alt=":)"> entity_set_int(entity_index, EV_INT_solid, 2) entity_set_int(entity_index, EV_INT_movetype, 11) entity_set_byte(entity_index, EV_BYTE_controller1, 200) Неработает всмысле что энтити делается прозрачной, а так по ней можно бегать. Удачи)
|
|
| |
slogic | Дата: Понедельник, 01.06.2009, 17:54:55 | Сообщение # 6 |
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| Vladimirok, а зачем ты movetype поставил не равным MOVETYPE_FLY? Quote (PAHANCS) new Float:mins[3] = {-2.0, -2.0, 38.0}; new Float:maxs[3] = {2.0, 2.0, 42.0}; ну и получил ты очень тонкий объект с центром вне(!) самого объекта. странно, что движок не вывалился у тебя.
|
|
| |
Vladimirok | Дата: Понедельник, 01.06.2009, 23:27:08 | Сообщение # 7 |
Лейтенант
Группа: Пользователи
Сообщений: 73
Статус: Не в сети
| Quote (slogic) Vladimirok, а зачем ты movetype поставил не равным MOVETYPE_FLY? А это для того что бы если ентити в воздухе например поставил то она не падала на землю или до первой встречной стены(плоскости, потолка) Quote (slogic) ну и получил ты очень тонкий объект с центром вне(!) самого объекта. странно, что движок не вывалился у тебя. Получил как раз то что нужно , это был столб к банерному щиту как раз по размерам). Все работает, ни одного збоя за две недели не произошло)
|
|
| |
PAHANCS | Дата: Среда, 03.06.2009, 18:51:18 | Сообщение # 8 |
Полковник
Группа: Пользователи
Сообщений: 183
Статус: Не в сети
| Vladimirok или slogic объясните мне тугому где брать размеры модели ток что созданной в MilkShape 3D, а потом уже как высчитывать Float:mins[3] и Float:maxs[3], я вообще чёто запутался, и что даёт entity_set_byte(entity_index, EV_BYTE_controller1, 200) ?
PAHANCS
Сообщение отредактировал PAHANCS - Среда, 03.06.2009, 19:17:11 |
|
| |
Vladimirok | Дата: Среда, 03.06.2009, 19:17:54 | Сообщение # 9 |
Лейтенант
Группа: Пользователи
Сообщений: 73
Статус: Не в сети
| Многие, работая в MilkShape сталкивались с проблемой размеров. Бывает создашь модель, а она слишком мала (или велика) в игре… В этой статье я объясню, как импортировать браши из Hammer в MilkShape. Я так понял что сначала создаешь типа модельку из брашей а потом переносиш в MilkShape и размеры соблюдаються. Есть куча полезных статей про 3D Max там с размерами вроде все нормально. Как импортировать браши из Hammer в MilkShape: http://cs-mapping.com.ua/articles/map2milk/
|
|
| |
PAHANCS | Дата: Среда, 03.06.2009, 19:23:34 | Сообщение # 10 |
Полковник
Группа: Пользователи
Сообщений: 183
Статус: Не в сети
| Большое Спасибо Vladimirok , попытаюсь понять, я уже привык к MilkShape 3D, а в 3D Max ничего непонимаю.
PAHANCS
|
|
| |
| AMX Mod X Russian Community © 2006-2024 | |
|
| |