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

Knife kill steal

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

Модератор: Leonidddd

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

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

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

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

Knife kill steal

Сообщение pro100web » 27 фев 2018, 17:37

Автор: pro100web
Версия: 0.1
Описание: Кража средств (бонус очков, при желании).
Добавляет в игру возможность красть некоторую часть средств у игрока, изначально плагин предназначался в роли кражи бонусов на CSDM. Прекрасно подойдет под классический сервер.
Можно настроить, у кого сколько своровать.
Код: Выделить всё
#define steal_user_admin 3000 // игрок убил админа
#define steal_user_vip 2500 // игрок убил вип
#define steal_vip_user 2000 // вип убил игрока
#define steal_other 1500 // в остальных случаях  


Так же флаги VIP, ADMIN и обычный игрок, ну и оружие за убийство с которого происходит метод кражи
Код: Выделить всё
#define VIPFLAG ADMIN_LEVEL_B
#define ADMINFLAG ADMIN_BAN
#define USERFLAG ADMIN_USER
#define WEAPONID CSW_KNIFE  
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Без труда и без проблем мы играем на Old-Game.org
А смотрим здесь -> GoldClips.ru
Аватара пользователя
pro100web
 
Сообщения: 32
Зарегистрирован: 12 мар 2016, 14:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Я некто.

Re: Knife kill steal

Сообщение KOTOKU » 28 фев 2018, 10:23

а как у тебя выполняется cs_get_user_money < 0?
Представим, что у меня изначально 5000, а у цели 3000, убиваю я цель, с него списывается 1000 и прибавляется мне, но у тебя идет условие money + 1000 < 0, то выдаем деньги. А как? Если 3000-1000=2000, а оно никак не меньше 0.
Код: Выделить всё
#define set_player_bonus(%1,%2) if(cs_get_user_money(%1)+%2<0) cs_set_user_money(%1, cs_get_user_money(%1) + %2) 
Аватара пользователя
KOTOKU
 
Сообщения: 766
Зарегистрирован: 10 фев 2013, 00:53
Благодарил (а): 10 раз.
Поблагодарили: 117 раз.

Re: Knife kill steal

Сообщение pro100web » 28 фев 2018, 10:48

Представим, что у противника 800$, то при краже 3000 мы получим -2200, это примерная проверка ,что бы у игрока деньги не уходили в минус. У меня в моде происходит кража бонусов. И выглядит native так
Код: Выделить всё
public native_set_player_bonus(id, amount){
    if(g_player_bonus[id]+amount<0 return g_player_bonus[id] = 0
    return g_player_bonus
[id]+=amount;
}

После того как совершаем манипуляции с бонусом, то мы сразу получаем текущее количество бонусов игрока, это удобно, когда нужно сразу же получить сколько у игрока бонусов
Без труда и без проблем мы играем на Old-Game.org
А смотрим здесь -> GoldClips.ru
Аватара пользователя
pro100web
 
Сообщения: 32
Зарегистрирован: 12 мар 2016, 14:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Я некто.

Re: Knife kill steal

Сообщение flymic24 » 28 фев 2018, 11:05

Код: Выделить всё
public native_set_player_bonus(idamount)    {
    return 
g_player_bonus[id] = clamp(g_player_bonus[iPlayer] + amount099999);


На будущее, как не изменяй - всё равно меньше 0 не выйдет.
Аватара пользователя
flymic24
 
Сообщения: 209
Зарегистрирован: 05 окт 2012, 17:29
Откуда: Bryansk
Благодарил (а): 4 раз.
Поблагодарили: 76 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Knife kill steal

Сообщение pro100web » 28 фев 2018, 12:08

Про clamp я в курсе, но он тут не подходит, так как максимального количества бонусов нет, так как он может быть и 1 000 000 и более
Без труда и без проблем мы играем на Old-Game.org
А смотрим здесь -> GoldClips.ru
Аватара пользователя
pro100web
 
Сообщения: 32
Зарегистрирован: 12 мар 2016, 14:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Я некто.

Re: Knife kill steal

Сообщение unrealfart » 28 фев 2018, 23:15

pro100web,
Код: Выделить всё
public native_set_player_bonus(id, amount)   
{
    return g_player_bonus[id] = clamp(g_player_bonus[iPlayer] + amount, 0, 2147483647);


:-)
Аватара пользователя
unrealfart
 
Сообщения: 264
Зарегистрирован: 23 фев 2016, 19:45
Благодарил (а): 53 раз.
Поблагодарили: 18 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn


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

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

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