Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.
Модераторы: Subb98, liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
deadkid56 » 10 авг 2021, 02:41
Доброго времени суток. Мне необходимо установить камеру игрока так, чтобы она всегда находилась чуть правее от него. Сейчас "правильное" положение камеры устанавливается только при определенном повороте мышью. В векторах я не разбираюсь, поэтому прошу объяснить - как правильно найти точку?
- Код: Выделить всё
public OnCamThink(iCameraEnt)
{
new iIndex = get_entvar(iCameraEnt, var_owner);
if(!is_user_alive(iIndex) || !is_entity(iCameraEnt))
return;
new Float:flPlayerOrigin[XYZ], Float:flCamOrigin[XYZ], Float:flVecPlayerAngles[XYZ], Float:flVecCamAngles[XYZ];
get_entvar(iIndex, var_origin, flPlayerOrigin);
get_entvar(iIndex, var_view_ofs, flVecPlayerAngles);
flPlayerOrigin[X] += flVecPlayerAngles[X] + 15.0;
flPlayerOrigin[Z] += flVecPlayerAngles[Z];
get_entvar(iIndex, var_v_angle, flVecPlayerAngles);
angle_vector(flVecPlayerAngles, ANGLEVECTOR_FORWARD, flVecCamAngles);
xs_vec_sub_scaled(flPlayerOrigin, flVecCamAngles, 45.0, flCamOrigin);
engfunc(EngFunc_TraceLine, flPlayerOrigin, flCamOrigin, IGNORE_MONSTERS, iIndex, 0);
new Float:flFraction;
get_tr2(0, TR_flFraction, flFraction);
xs_vec_sub_scaled(flPlayerOrigin, flVecCamAngles, flFraction * 45.0, flCamOrigin);
set_entvar(iCameraEnt, var_origin, flCamOrigin);
set_entvar(iCameraEnt, var_angles, flVecPlayerAngles);
set_entvar(iCameraEnt, var_nextthink, get_gametime() + 0.01);
return;
}
-
deadkid56
-
- Сообщения: 42
- Зарегистрирован: 09 авг 2018, 10:41
- Благодарил (а): 8 раз.
- Поблагодарили: 4 раз.
- Языки программирования: Я ничего не знаю
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18