Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Как сделать чтобы парашют был у игроков с флагом

staff2517
сообщение 6.9.2014, 21:55
Сообщение #1
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Всем привет, мне тут понравился плагин парашюта (без модели), но в этой версии он бесплатный для всех игроков.
Можете сделать чтобы парашют был у игроков с флагом ADMIN_LEVEL_C
исходник
#include <amxmodx>
#include <engine>

public plugin_init()
{
register_plugin("Parachute", "1.0", "maeStro");
}

public client_PreThink(id)
{
if(!is_user_alive(id)) return;
if(get_user_button(id) & IN_USE)
{
if(get_entity_flags(id) & FL_ONGROUND) return;
static Float:velocity[3];
entity_get_vector(id, EV_VEC_velocity, velocity);
if(velocity[2] < 0)
{
velocity[2] = (velocity[2] + 40.0 < -100) ? velocity[2] + 40.0 : -100.0;
entity_set_vector(id, EV_VEC_velocity, velocity);
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   Цитировать сообщение
Статус пользователя csnet
сообщение 6.9.2014, 22:20
Сообщение #2
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

условия добавляй сюда

if(!is_user_alive(id) || !(get_user_flags(id) & ADMIN_KICK)) return;


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя MiXa
сообщение 6.9.2014, 22:45
Сообщение #3


Стаж: 12 лет

Сообщений: 415
Благодарностей: 91
Полезность: 181

staff2517,
держи:
Скрытый текст
Код:
#include <amxmodx>
#include <amxmisc>
#include <engine>

#define PARASHUTE_FLAG ADMIN_BAN //флаг d

public plugin_init()
{
register_plugin("Parachute", "1.0", "maeStro");
}

public client_PreThink(id)
{
if(!is_user_alive(id))
return;
if(get_user_button(id) & IN_USE)

if ( ! ( get_user_flags ( id ) & PARASHUTE_FLAG ) )
return;
{
if(get_entity_flags(id) & FL_ONGROUND) return;
static Float:velocity[3];
entity_get_vector(id, EV_VEC_velocity, velocity);
if(velocity[2] < 0)
{
velocity[2] = (velocity[2] + 40.0 < -100) ? velocity[2] + 40.0 : -100.0;
entity_set_vector(id, EV_VEC_velocity, velocity);
}
}
}


Отредактировал: MiXa, - 6.9.2014, 22:46


Допомога з встановлення / налаштування / оновлення за $ :>>> Сервери \ Моди \ Плагіни \ Модулі
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 6.9.2014, 22:51
Сообщение #4
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

MiXa,
Правильней будет так

Код:
#include <amxmodx>
#include <amxmisc>
#include <engine>

#define PARASHUTE_FLAG ADMIN_BAN //флаг d

public plugin_init()
{
register_plugin("Parachute", "1.0", "maeStro");
}

public client_PreThink(id)
{
if(!is_user_alive(id) && !(get_user_flags (id) & PARASHUTE_FLAG))
return;

if(get_user_button(id) & IN_USE)
{
if(get_entity_flags(id) & FL_ONGROUND) return;
static Float:velocity[3];
entity_get_vector(id, EV_VEC_velocity, velocity);
if(velocity[2] < 0)
{
velocity[2] = (velocity[2] + 40.0 < -100) ? velocity[2] + 40.0 : -100.0;
entity_set_vector(id, EV_VEC_velocity, velocity);
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
staff2517
сообщение 6.9.2014, 22:58
Сообщение #5
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Цитата(Orty_Hart @ 6.9.2014, 22:51) *
MiXa,
Правильней будет так

Код:
#include <amxmodx>
#include <amxmisc>
#include <engine>

#define PARASHUTE_FLAG ADMIN_BAN //флаг d

public plugin_init()
{
register_plugin("Parachute", "1.0", "maeStro");
}

public client_PreThink(id)
{
if(!is_user_alive(id) && !(get_user_flags (id) & PARASHUTE_FLAG))
return;

if(get_user_button(id) & IN_USE)
{
if(get_entity_flags(id) & FL_ONGROUND) return;
static Float:velocity[3];
entity_get_vector(id, EV_VEC_velocity, velocity);
if(velocity[2] < 0)
{
velocity[2] = (velocity[2] + 40.0 < -100) ? velocity[2] + 40.0 : -100.0;
entity_set_vector(id, EV_VEC_velocity, velocity);
}
}
}

Мне тут еще на другом форуме сделали:)
подскажите какой выбрать ?
исходник
#include <amxmodx>
#include <engine>

#define CheckFlag(%1,%2) (%1 & (1 << (%2 & 31)))
#define SetFlag(%1,%2) (%1 |= (1 << (%2 & 31)))
#define ClearFlag(%1,%2) (%1 &= ~(1 << (%2 & 31)))

new g_AdminPlayer;

public plugin_init()
{
register_plugin("Parachute", "1.0", "maeStro");
}

public client_connect(id)
{
if( get_user_flags(id) & ADMIN_LEVEL_H )
SetFlag( g_AdminPlayer, id )
}
public client_disconnect(id)
ClearFlag( g_AdminPlayer, id )

public client_PreThink(id)
{
if(!is_user_alive(id)) return;
if(CheckFlag( g_AdminPlayer, id ) && get_user_button(id) & IN_USE)
{
if(get_entity_flags(id) & FL_ONGROUND) return;
static Float:velocity[3];
entity_get_vector(id, EV_VEC_velocity, velocity);
if(velocity[2] < 0)
{
velocity[2] = (velocity[2] + 40.0 < -100) ? velocity[2] + 40.0 : -100.0;
entity_set_vector(id, EV_VEC_velocity, velocity);
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 6.9.2014, 23:02
Сообщение #6
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

staff2517,
используйте тот что я кинул... не заморачивайтесь, если работает - ставьте, и играйте на здоровье.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
staff2517
сообщение 6.9.2014, 23:50
Сообщение #7
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Цитата(Orty_Hart @ 6.9.2014, 23:02) *
staff2517,
используйте тот что я кинул... не заморачивайтесь, если работает - ставьте, и играйте на здоровье.

с вашей версией все-равно парашют у всех игроков
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 6.9.2014, 23:52
Сообщение #8
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

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

Отредактировал: csnet, - 6.9.2014, 23:53


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 7.9.2014, 1:03
Сообщение #9


Иконка группы

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Код:
#include <amxmodx>
#include <amxmisc>
#include <engine>

#define PARASHUTE_FLAG ADMIN_BAN //флаг d

public plugin_init()
{
register_plugin("Parachute", "1.0", "maeStro");
}

public client_PreThink(id)
{
if(!is_user_alive(id) || !(get_user_flags (id) & PARASHUTE_FLAG))
return;

if(get_user_button(id) & IN_USE)
{
if(get_entity_flags(id) & FL_ONGROUND) return;
static Float:velocity[3];
entity_get_vector(id, EV_VEC_velocity, velocity);
if(velocity[2] < 0)
{
velocity[2] = (velocity[2] + 40.0 < -100) ? velocity[2] + 40.0 : -100.0;
entity_set_vector(id, EV_VEC_velocity, velocity);
}
}
}


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя qvadro
сообщение 7.9.2014, 2:32
Сообщение #10


Стаж: 16 лет

Сообщений: 358
Благодарностей: 147
Полезность: 579

Условие не верное:
Код:
if(!is_user_alive(id) && !(get_user_flags (id) & PARASHUTE_FLAG)) 

Игрок не жив и без флага доступа. Только при совпадении 2 условий функция прекратит действие.

Условие верное:
Код:
if(!is_user_alive(id) || !(get_user_flags (id) & PARASHUTE_FLAG)) 

Игрок не жив функция прекратит действие, или игрок без флага функция прекратит действие. Тут два в одном.

Отредактировал: qvadro, - 7.9.2014, 2:32


Достойно парировать, к сожалению, умеют далеко не многие. Нельзя наказывать людей за критику.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя csnet
сообщение 7.9.2014, 2:56
Сообщение #11
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

ололо кеп, я такое условие и дал во 2м посте.
зачем вы мусолите постоянно очевидное


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 7.9.2014, 7:58
Сообщение #12


Иконка группы

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

csnet,
Никтотне спорит :)

Просто автор и этого не понимает


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 7.9.2014, 9:58
Сообщение #13
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

qvadro,
Fred Perry уже подправил....
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
staff2517
сообщение 7.9.2014, 10:02
Сообщение #14
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Цитата(Fred Perry @ 7.9.2014, 1:03) *
Код:
#include <amxmodx>
#include <amxmisc>
#include <engine>

#define PARASHUTE_FLAG ADMIN_BAN //флаг d

public plugin_init()
{
register_plugin("Parachute", "1.0", "maeStro");
}

public client_PreThink(id)
{
if(!is_user_alive(id) || !(get_user_flags (id) & PARASHUTE_FLAG))
return;

if(get_user_button(id) & IN_USE)
{
if(get_entity_flags(id) & FL_ONGROUND) return;
static Float:velocity[3];
entity_get_vector(id, EV_VEC_velocity, velocity);
if(velocity[2] < 0)
{
velocity[2] = (velocity[2] + 40.0 < -100) ? velocity[2] + 40.0 : -100.0;
entity_set_vector(id, EV_VEC_velocity, velocity);
}
}
}

Спасибо
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя qvadro
сообщение 7.9.2014, 11:25
Сообщение #15


Стаж: 16 лет

Сообщений: 358
Благодарностей: 147
Полезность: 579

Orty_Hart,
Да-да, моя спасибка ему первая была. Тут скорее расширенный комментарий для автора темы чтобы не путался.


Достойно парировать, к сожалению, умеют далеко не многие. Нельзя наказывать людей за критику.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
staff2517
сообщение 7.9.2014, 13:55
Сообщение #16
Стаж: 12 лет

Сообщений: 275
Благодарностей: 5
Полезность: 0

Цитата(qvadro @ 7.9.2014, 11:25) *
Orty_Hart,
Да-да, моя спасибка ему первая была. Тут скорее расширенный комментарий для автора темы чтобы не путался.

Тебе тоже спасибо поставил :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя wer1K
сообщение 7.9.2014, 21:39
Сообщение #17
Стаж: 18 лет

Сообщений: 403
Благодарностей: 259
Полезность: 987

Меценат Меценат

Код
Цитата(Fred Perry @ 7.9.2014, 1:03) *
Код:
#include <amxmodx>
#include <amxmisc>
#include <engine>

#define PARASHUTE_FLAG ADMIN_BAN //флаг d

public plugin_init()
{
register_plugin("Parachute", "1.0", "maeStro");
}

public client_PreThink(id)
{
if(!is_user_alive(id) || !(get_user_flags (id) & PARASHUTE_FLAG))
return;

if(get_user_button(id) & IN_USE)
{
if(get_entity_flags(id) & FL_ONGROUND) return;
static Float:velocity[3];
entity_get_vector(id, EV_VEC_velocity, velocity);
if(velocity[2] < 0)
{
velocity[2] = (velocity[2] + 40.0 < -100) ? velocity[2] + 40.0 : -100.0;
entity_set_vector(id, EV_VEC_velocity, velocity);
}
}
}


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

Отредактировал: xxf3mzue, - 7.9.2014, 21:51
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 9art
сообщение 7.9.2014, 22:38
Сообщение #18


Стаж: 12 лет

Сообщений: 991
Благодарностей: 534
Полезность: 843

Цитата(xxf3mzue @ 7.9.2014, 23:39) *
[spoiler=Код][/spoiler]

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

Код:
#include <amxmodx>
#include <engine>
#include <hamsandwich>

public plugin_init()
{
register_plugin("Parachute", "1.0", "maeStro");
RegisterHam(Ham_ObjectCaps, "player", "FwdHamObjectCaps");
}

public FwdHamObjectCaps(id)
{
if (!is_user_alive(id)||get_entity_flags(id) & FL_ONGROUND) return;
static Float:velocity[3];
entity_get_vector(id, EV_VEC_velocity, velocity);
if(velocity[2] < 0)
{
velocity[2] = (velocity[2] + 40.0 < -100) ? velocity[2] + 40.0 : -100.0;
entity_set_vector(id, EV_VEC_velocity, velocity);
}
}

Только он для всех.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Krolik144
сообщение 13.5.2015, 12:34
Сообщение #19


Стаж: 11 лет

Сообщений: 251
Благодарностей: 20
Полезность: 68

Нагрузки даёт на сервер, можно как то оптимизировать плагин?

Отредактировал: Bloo, - 4.11.2015, 13:42
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Far4ikela
сообщение 4.11.2015, 13:34
Сообщение #20
Стаж: 10 лет

Сообщений: 3
Благодарностей: 1
Полезность: 0

А куда это добавлять?

Отредактировал: Bloo, - 4.11.2015, 13:42
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: