AMX MOD X
Среда, 04.12.2024, 15:33:46



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

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

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
Передать ентити все свойства гранаты.
pashok_91Дата: Воскресенье, 02.08.2009, 20:14:52 | Сообщение # 1
Сержант
Группа: Пользователи
Сообщений: 34
Репутация: 0
Статус: Не в сети
Привет еще раз.

public grenade_throw ( index, greindex, wId )
{

new gren
gren = create_entity("info_target")


static Float:origin[3], Float:velocity[3], Float:v_angle[3]
new eOwner = pev(greindex, pev_owner)
new eid = create_entity("info_target")

entity_get_vector(eOwner,EV_VEC_origin,origin);
entity_get_vector(eOwner,EV_VEC_angles,velocity);

entity_set_string(eid, EV_SZ_classname, "w_hegranade")
entity_set_model(eid, "models/w_hegrenade.mdl")

origin[2]=origin[2]+20.00;
entity_set_origin(eid, origin)
entity_set_vector(eid, EV_VEC_angles, velocity)
entity_set_int(eid, EV_INT_solid, SOLID_BBOX);

entity_set_edict(eid, EV_ENT_owner, eOwner)

new fuck;

fuck = entity_get_int(greindex, EV_INT_movetype)
entity_set_int(eid, EV_INT_movetype, fuck)


entity_get_vector(eOwner,EV_VEC_v_angle,origin);
new Float:view_vector[3];
angle_vector(origin, 1, view_vector);

v_angle[0]=view_vector[0]*400.00;
v_angle[1]=view_vector[1]*400.00;
v_angle[2]=view_vector[2]*400.00;


entity_set_vector(eid,EV_VEC_velocity,v_angle);

remove_entity(greindex);

}

Этот код удаляет стандартную гранату и создает энтити. У энтити должны быть такая же физика как и у стандартной гранаты.
Тип движения я передал:
new fuck;

fuck = entity_get_int(greindex, EV_INT_movetype)
entity_set_int(eid, EV_INT_movetype, fuck)

Но в итоге получается что она бесконечно прыгает по карте. Хотя должна по идеи замедляться и остановиться.
В чем проблема? Понятно что замедление можно сделать уменьшая сообщаемый вектор. Но это немного накладно, хотелось бы попроще.

 
defaultNick8433Дата: Воскресенье, 02.08.2009, 20:19:00 | Сообщение # 2
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
Можно зарегистрировать команду косания грену с твёрдым обьектом,затем просто удалять эту ентитю,создавая эффект взрыва

Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
 
pashok_91Дата: Воскресенье, 02.08.2009, 20:37:31 | Сообщение # 3
Сержант
Группа: Пользователи
Сообщений: 34
Репутация: 0
Статус: Не в сети
План хороший, но не подходит.
Речь о взрыве не идет. Мне нужно чтобы граната останавливалась))
 
PomanoBДата: Воскресенье, 02.08.2009, 20:58:34 | Сообщение # 4
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
pev_friction поставь как у оригинальной гранаты

http://romanov4400.mybrute.com
 
pashok_91Дата: Воскресенье, 02.08.2009, 21:20:49 | Сообщение # 5
Сержант
Группа: Пользователи
Сообщений: 34
Репутация: 0
Статус: Не в сети
PomanoB, Спасибо, сработало.

А нет, не работает. Все равно физика и близко не похоже на стандартной гранаты.

Нужно хотя бы узнать как можно изменить скалярно скорость. Тоесть не через вектор.

Сообщение отредактировал pashok_91 - Воскресенье, 02.08.2009, 22:00:08
 
defaultNick8433Дата: Воскресенье, 02.08.2009, 22:13:06 | Сообщение # 6
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Репутация: 19
Статус: Не в сети
Code
fm_get_speed(eOwner)   
new Float:Vel[3]
pev(eQwner, pev_velocity, Vel)

Попробуй в таком образе

Добавлено (2009-08-02, 10:13 Pm)
---------------------------------------------
Тьфу не та функция


Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001


Сообщение отредактировал defaultNick8433 - Воскресенье, 02.08.2009, 22:07:41
 
PomanoBДата: Воскресенье, 02.08.2009, 22:19:04 | Сообщение # 7
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Ну попробуй другие свойства ещё какие-нибудь, можно даже просто в цикле копировать всё подряд

Добавлено (2009-08-02, 10:19 Pm)
---------------------------------------------

Quote (pashok_91)
Нужно хотя бы узнать как можно изменить скалярно скорость. Тоесть не через вектор.

Скорость задаётся вектором, 3 направления, как можно задать её не вектором


http://romanov4400.mybrute.com

Сообщение отредактировал PomanoB - Воскресенье, 02.08.2009, 22:18:09
 
pashok_91Дата: Воскресенье, 02.08.2009, 22:43:33 | Сообщение # 8
Сержант
Группа: Пользователи
Сообщений: 34
Репутация: 0
Статус: Не в сети
Quote (PomanoB)
Скорость задаётся вектором, 3 направления, как можно задать её не вектором

Не хочу умничать, но бывает так что вместо вектора движения бывает вектор направления и скаляр скорости))))))

Ну ладно че поделаешь то..... никто не знает.... все равно спасибо, идея насчет перебирания всех свойств хорошая.

Ура.

 
PomanoBДата: Воскресенье, 02.08.2009, 23:04:20 | Сообщение # 9
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Quote (pashok_91)
Не хочу умничать, но бывает так что вместо вектора движения бывает вектор направления и скаляр скорости))))))

Но не в кс)

Code

new iVal, Float:fVal, sVal[32]
new i
for (i = pev_int_start + 1; i < pev_int_end; i++)
{
  iVal = pev(grenade_original, i)
  set_pev(grenade_copy, i, iVal)
}
for (i = pev_float_start + 1; i < pev_float_end; i++)
{
  pev(grenade_original, i, fVal)
  set_pev(grenade_copy, i, fVal)
}
for (i = pev_string_start + 1; i < pev_string_end; i++)
{
  pev(grenade_original, i, sVal, 31)
  set_pev(grenade_copy, i, sVal)
}

Как-то так
Здесь grenade_original - оригинальная граната, grenade_copy - создаваемая граната

Добавлено (2009-08-02, 11:04 Pm)
---------------------------------------------
Тут я ещё не всё циклы написал, остальные по аналогии добавить надо


http://romanov4400.mybrute.com
 
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024