Выдача брони CS 1.6

Сообщения
21
Реакции
12
Всем доброй ночи.

Есть функция:

1) #define ARMOR 5

2) new isarmor[32]
isarmor[id] = get_user_armor(id)
set_user_armor(id,isarmor[id] + ARMOR)

Не могу понять. Как сделать выдачу этой функции всего 1 раз?
Т.к каждый новый раунд, или когда меня убили и опять при новом респавне. При перезаходе. Чило растет и растет на +5.

Подскажите:)
8 Июл 2021
Всем доброй ночи.

Есть функция:

1) #define ARMOR 5

2) new isarmor[32]
isarmor[id] = get_user_armor(id)
set_user_armor(id,isarmor[id] + ARMOR)

Не могу понять. Как сделать выдачу этой функции всего 1 раз?
Т.к каждый новый раунд, или когда меня убили и опять при новом респавне. При перезаходе. Чило растет и растет на +5.

Подскажите:)
Если поставить set_user_armor(id,isarmor[id] = ARMOR). То да! Значение будет 5. Но при каждом релоге или новом раунде оно будет опять =50.

А надо, что бы просто выдало игроку 5 брони и больше не трогало эту функцию.
 
Сообщения
219
Реакции
184
Помог
3 раз(а)
Зависит от логики плагина и того что тебе надо. Если ты хочешь при спавне выдать 5 дополнительной брони, то просто прибавляй к вновь полученной броне. Но если аккумулятор все же какую-то логику несет, то тебе нужно его обнулять там где тебе это необходимо
 
Сообщения
21
Реакции
12
Зависит от логики плагина и того что тебе надо. Если ты хочешь при спавне выдать 5 дополнительной брони, то просто прибавляй к вновь полученной броне. Но если аккумулятор все же какую-то логику несет, то тебе нужно его обнулять там где тебе это необходимо
Я хочу сделать выдачу брони или паков идиноразово при покупке вип. Если игрок VIP = выдать ему 50 брони и 50 паков. 1 раз в месяц или более.
 
Сообщения
219
Реакции
184
Помог
3 раз(а)
DargVeral, если ты хочешь сделать сам, то я предлагаю тебе разбить своб задачу на мелкие и искать ответы в гугле. Например, как получить steamid игрока и тд. Если не хочешь, то тебе в раздел заказов, халявы.нет. тут оказывается помощь
 
Сообщения
335
Реакции
93
Помог
2 раз(а)
DargVeral, если ты хочешь, чтоб вип мог использовать n-ое кол-во паков и n-ое кол-во раз броню в месяц, то мой совет - пойти в раздел покупки. Тебе надо будет работать с бд (другой способ не могу сказать), дабы запоминать, получать, менять и т.д. значения. Можно и без этого попробовать, но сомневаюсь, что будет приятно серверу.
Если хочешь сам, то его совет очень полезный:
DargVeral, если ты хочешь сделать сам, то я предлагаю тебе разбить своб задачу на мелкие и искать ответы в гугле. Например, как получить steamid игрока и тд. Если не хочешь, то тебе в раздел заказов, халявы.нет. тут оказывается помощь
Вспоминай блок-схемы. Самое простое)
Делаешь примерные наброски, потом меняешь/добавляешь/удаляешь нужное и уже код удобнее писать)
(В Figma Jam можно наброски сделать, но сама программа для веба. Можно и на сайте там работать в ней)
 

iPlague

♿️
Сообщения
230
Реакции
130
Помог
2 раз(а)
И ещё, почему массив 32, а не 33?
игроков максимум 32, от 1 до 32, 0 это "сервер".
Когда зайдет 32 игрок у тебя выбьет ошибкy "index out of bounds".
 
Сообщения
21
Реакции
12
Вопрос, выбил свой тупой просчет на выдачу.. Подскажите. Будет ли сильно грузить сервер...

public func(id)

{

if(g_iCooldown[id]) return;



if(zp_get_user_ammo_packs(id) != 0)

{

g_iCooldown[id] = 2678400;

zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + 750)

funcCooldown(id)

client_print(id,print_chat,"Вы получили 750 Coins")

}

}

public funcCooldown(id)

{

if(!is_user_connected(id)) return;

if(g_iCooldown[id] > 0)

{

g_iCooldown[id]--



set_task(1.0,"funcCooldown", id);

}

}
 
Сообщения
219
Реакции
184
Помог
3 раз(а)
DargVeral, другой вопрос другой топик
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу