AMX MOD X
Четверг, 25.04.2024, 19:53:29



Приветствую Вас Гость | RSS
[ Главная ] [ Размер ентити - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » Размер ентити (Как правильно поставить(определить) размер ентити)
Размер ентити
PAHANCSДата: Пятница, 29.05.2009, 01:00:34 | Сообщение # 1
Полковник
Группа: Пользователи
Сообщений: 183
Репутация: 4
Статус: Не в сети
Делал так, но потом когда проверяю размер равен 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
Репутация: 0
Статус: Не в сети
Есть у меня исходник скрипта, называеться WalkGuard. Там все созданые ентити зоны(углы) обсвечиваються лазерами. Зделано с менюшками. Очень красиво сделали.
Прикрепления: walkguard.sma (32.3 Kb)
 
slogicДата: Пятница, 29.05.2009, 14:03:24 | Сообщение # 3
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
Нужно использовать функцию движка 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
Репутация: 4
Статус: Не в сети
Спасибо всем за помощь ! :)

Добавлено (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
Репутация: 0
Статус: Не в сети
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
Репутация: 47
Статус: Не в сети
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
Репутация: 0
Статус: Не в сети
Quote (slogic)
Vladimirok, а зачем ты movetype поставил не равным MOVETYPE_FLY?

А это для того что бы если ентити в воздухе например поставил то она не падала на землю или до первой встречной стены(плоскости, потолка)

Quote (slogic)
ну и получил ты очень тонкий объект с центром вне(!) самого объекта. странно, что движок не вывалился у тебя.

Получил как раз то что нужно :) , это был столб к банерному щиту как раз по размерам). Все работает, ни одного збоя за две недели не произошло)

 
PAHANCSДата: Среда, 03.06.2009, 18:51:18 | Сообщение # 8
Полковник
Группа: Пользователи
Сообщений: 183
Репутация: 4
Статус: Не в сети
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
Репутация: 0
Статус: Не в сети
Многие, работая в MilkShape сталкивались с проблемой размеров. Бывает создашь модель, а она слишком мала (или велика) в игре…
В этой статье я объясню, как импортировать браши из Hammer в MilkShape.

Я так понял что сначала создаешь типа модельку из брашей а потом переносиш в MilkShape и размеры соблюдаються. Есть куча полезных статей про 3D Max там с размерами вроде все нормально.

Как импортировать браши из Hammer в MilkShape: http://cs-mapping.com.ua/articles/map2milk/

 
PAHANCSДата: Среда, 03.06.2009, 19:23:34 | Сообщение # 10
Полковник
Группа: Пользователи
Сообщений: 183
Репутация: 4
Статус: Не в сети
Большое Спасибо Vladimirok :) , попытаюсь понять, я уже привык к MilkShape 3D, а в
3D Max ничего непонимаю.


PAHANCS
 
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » Размер ентити (Как правильно поставить(определить) размер ентити)
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024