Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.
Модераторы: Subb98, liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
hren_morjovui » 18 фев 2019, 14:29
Подскажите как развернуть любую модель относительно поверхности на которую наведён прицел?
"В этом мире неизбежны три вещи: смерть, налоги и гравитация."
-
hren_morjovui
-
- Сообщения: 258
- Зарегистрирован: 29 май 2018, 09:15
- Благодарил (а): 88 раз.
- Поблагодарили: 22 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: Pawn
PHP
jQuery
hren_morjovui » 18 фев 2019, 21:29
К примеру есть модель монеты, которая решкой смотрит по оси +Z, вот как сделать так чтобы по координатам прицела модель всегда была решкой вверх, относительно любой поверхности? ПОМОГИТЕ!!!
"В этом мире неизбежны три вещи: смерть, налоги и гравитация."
-
hren_morjovui
-
- Сообщения: 258
- Зарегистрирован: 29 май 2018, 09:15
- Благодарил (а): 88 раз.
- Поблагодарили: 22 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: Pawn
PHP
jQuery
fl0wer » 19 фев 2019, 16:20
Юзай нормаль.
-
fl0wer
-
- Сообщения: 1687
- Зарегистрирован: 27 фев 2011, 21:35
- Откуда: Россия, Ижевск
- Благодарил (а): 240 раз.
- Поблагодарили: 508 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: C++, Java, PAWN
-
hren_morjovui » 19 фев 2019, 21:28
fl0wer писал(а):Юзай нормаль.
та это то понятно, но модель по нормали хрен знает как ставиться. Словами порядок действий поясни если можно.
"В этом мире неизбежны три вещи: смерть, налоги и гравитация."
-
hren_morjovui
-
- Сообщения: 258
- Зарегистрирован: 29 май 2018, 09:15
- Благодарил (а): 88 раз.
- Поблагодарили: 22 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: Pawn
PHP
jQuery
flymic24 » 19 фев 2019, 22:58
Полученную нормаль преобразовывай в угол относительно поверхности и задавай его своему объекту
-
flymic24
-
- Сообщения: 209
- Зарегистрирован: 05 окт 2012, 17:29
- Откуда: Bryansk
- Благодарил (а): 4 раз.
- Поблагодарили: 76 раз.
- Опыт программирования: Около года
- Языки программирования: Counter-Strike 1.6
-
hren_morjovui » 20 фев 2019, 15:12
flymic24 писал(а):Полученную нормаль преобразовывай в угол относительно поверхности и задавай его своему объекту
а как отодвинуть созданную энтити от стены/углов и тд, по всем направлениям чтобы модель была только на стене и не висела половина в воздухе?
"В этом мире неизбежны три вещи: смерть, налоги и гравитация."
-
hren_morjovui
-
- Сообщения: 258
- Зарегистрирован: 29 май 2018, 09:15
- Благодарил (а): 88 раз.
- Поблагодарили: 22 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: Pawn
PHP
jQuery
flymic24 » 20 фев 2019, 18:03
Умножай полученную нормаль на расстояние в юнитах на которое отодвинуть нужно
- Код: Выделить всё
xs_vec_mul_scalar(fVecNormal, 1.0, fVecNormal);
-
flymic24
-
- Сообщения: 209
- Зарегистрирован: 05 окт 2012, 17:29
- Откуда: Bryansk
- Благодарил (а): 4 раз.
- Поблагодарили: 76 раз.
- Опыт программирования: Около года
- Языки программирования: Counter-Strike 1.6
-
hren_morjovui » 20 фев 2019, 21:02
flymic24 писал(а):Умножай полученную нормаль на расстояние в юнитах на которое отодвинуть нужно
- Код: Выделить всё
xs_vec_mul_scalar(fVecNormal, 1.0, fVecNormal);
Спасибо, а влево/вправо как двигать не подскажешь?
Добавлено спустя 16 минут 26 секунд:- Код: Выделить всё
global_get(glb_v_right, v_right);
xs_vec_mul_scalar(v_right, -30.0, v_right);
работает как вперед/назад
Добавлено спустя 47 минут 51 секунду:Всё разобрался. Угол взял у энтити игрока, относительно того куда спотрит игрок сдвигаем влево объект.
- Код: Выделить всё
new Float:fOrigin[3], Float:fAngles[3], Float:fAnglesLeft[3]
pev(player_id, pev_angles, fAngles)
pev(entity_id, pev_origin, fOrigin)
angle_vector(fAngles, ANGLEVECTOR_RIGHT, fAnglesLeft)
xs_vec_neg(fAnglesLeft, fAnglesLeft)
fAnglesLeft[2] = -fAnglesLeft[2]
xs_vec_mul_scalar(fAnglesLeft, 30.0, fAnglesLeft) xs_vec_add(fAnglesLeft, fOrigin, fOrigin)
engfunc(EngFunc_SetOrigin, entity_id, fOrigin);
"Вдохновился" тут
Вы должны зарегистрироваться, чтобы видеть ссылки.Добавлено спустя 37 минут 47 секунд:Может кому пригодиться
- Код: Выделить всё
stock edit_origin(Float:origin_fl[3] , Float:angles_fl[3] , Float:shift_num , const mode = 0 , Float:output_origin[3] )
{
static Float:origin_edit_fl[3];
switch(mode)
{
case 0:
{
angle_vector(angles_fl, ANGLEVECTOR_FORWARD, origin_edit_fl);
}
case 1:
{
angle_vector(angles_fl, ANGLEVECTOR_UP, origin_edit_fl);
}
case 2:
{
angle_vector(angles_fl, ANGLEVECTOR_RIGHT, origin_edit_fl);
}
}
xs_vec_mul_scalar(origin_edit_fl, shift_num, origin_edit_fl);
xs_vec_add(origin_edit_fl, origin_fl, output_origin);
}
static Float:player_angles[3],Float:entity_origin[3],Float:origin_new[3];
pev(player_id, pev_angles, player_angles);
pev(entity_id, pev_origin, entity_origin);
edit_origin(entity_origin, player_angles, -20.0, 2, origin_new);
engfunc(EngFunc_SetOrigin, entity_id, origin_new);
"В этом мире неизбежны три вещи: смерть, налоги и гравитация."
-
hren_morjovui
-
- Сообщения: 258
- Зарегистрирован: 29 май 2018, 09:15
- Благодарил (а): 88 раз.
- Поблагодарили: 22 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: Pawn
PHP
jQuery
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12