Русское сообщество по скриптингу

Parachute without model (Парашют без модели)

Новые плагины для AMX Mod X, которые были добавлены в базу плагинов нашего форума. Плагины еще не утвеждены администратором/модератором.

Модератор: Leonidddd

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

Данный раздел форума служит для добавления новых плагинов в базу нашего форума. После того, как администратор/модератор утвердит плагин, он будет перемещен в раздел "Утвежденные плагины".

Правила при добавлении новых плагинов:

1. При вставке кода плагина необходимо использовать тег [pawn], в противном случае, если тег [pawn] не отображает ваш код, можно использовать тег [code].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. Обязательно выкладывайте исходник sma плагина. Запрещено выкладывать amxx файл.
4. Обязательно указывайте настоящих авторов плагина, если вы использовали чьи-то наработки или функции, указывайте их авторов в сообщении.
5. Необходимо заполнять детальную информацию о плагине (версию, настройки, используемые модули, список изменений и другую).

Parachute without model (Парашют без модели)

Сообщение 9iky6 » 14 дек 2013, 13:43

Авторы: maeStro (оригинал KRoTaL)
Версия: 1.0

Описание:
Использование парашюта без модели (лучше наверное сказать не парашюта, а парения в воздухе)

Используемые модули:
Engine
Hamsandwich

Код: Выделить всё
Выложил, чтобы не потерять на PC и чтобы те, кому этот плагин нужен, могли его использовать (а не чудо с удалённым прекэшем модели)

P.S. Да и может кто-то скажет, какой способ использовать оптимальнее и как оптимизировать эти 20 строк :-[
Аватара пользователя
9iky6
 
Сообщения: 2174
Зарегистрирован: 30 янв 2012, 19:07
Откуда: Россия
Благодарил (а): 375 раз.
Поблагодарили: 707 раз.

Re: Parachute without model (Парашют без модели)

Сообщение 9iky6 » 16 июл 2014, 18:56

Вот ещё одна версия:

[pawn]
  1. #include <amxmodx>

  2. #include <engine>

  3.  

  4. new g_bParashute[33];

  5.  

  6. public plugin_init()

  7. {

  8.         register_plugin("Parachute", "1.0", "maeStro");

  9. }

  10.  

  11. public client_connect(id)

  12. {

  13.         g_bParashute[id] = false;

  14.         entity_set_float(id, EV_FL_gravity, 1.0);

  15. }

  16.  

  17. public client_PreThink(id)

  18. {

  19.         if(!is_user_alive(id)) return;

  20.         new Float:fallspeed = 100 * -1.0;

  21.         if(g_bParashute[id] && get_entity_flags(id) & FL_ONGROUND)

  22.         {

  23.                 entity_set_float(id, EV_FL_gravity, 1.0);

  24.                 g_bParashute[id] = false;

  25.                 return;

  26.         }

  27.  

  28.         if(get_user_button(id) & IN_USE)

  29.         {

  30.                 new Float:velocity[3];

  31.                 get_user_velocity(id, EV_VEC_velocity, velocity);

  32.  

  33.                 if(velocity[2] < 0.0)

  34.                 {

  35.                         g_bParashute[id] = true;

  36.                         entity_set_int(id, EV_INT_sequence, 3);

  37.                         entity_set_int(id, EV_INT_gaitsequence, 1);

  38.                         entity_set_float(id, EV_FL_frame, 1.0);

  39.                         entity_set_float(id, EV_FL_framerate, 1.0);

  40.                         entity_set_float(id, EV_FL_gravity, 0.1);

  41.                         velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed;

  42.                         set_user_velocity(id, velocity);

  43.                 }

  44.                 else if(g_bParashute[id])

  45.                 {

  46.                         entity_set_float(id, EV_FL_gravity, 1.0);

  47.                         g_bParashute[id] = false;

  48.                 }

  49.         }

  50.         else if(get_user_oldbutton(id) & IN_USE)

  51.         {

  52.                 entity_set_float(id, EV_FL_gravity, 1.0);

  53.                 g_bParashute[id] = false;

  54.         }

  55. }
[/pawn]

Почему то с выложенной мною тут версией на engine неполадки в анимации. Аккуратно вырезал только нужный функционал из оригинального кода. Позже разберусь что к чему (поправлю обновление парения)
Аватара пользователя
9iky6
 
Сообщения: 2174
Зарегистрирован: 30 янв 2012, 19:07
Откуда: Россия
Благодарил (а): 375 раз.
Поблагодарили: 707 раз.

Пред.

Вернуться в Добавленные новые плагины

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4