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

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

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

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

Сохранение bpammo

Статус пользователя csnet
сообщение 28.10.2014, 7:39
Сообщение #1
Стаж: 12 лет

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

Редко я работаю с патронами, вобщем обнаружил что если дать человеку bpammo
а потом дать оружие то bpammo пропадает...
соответственно надо хранить его где то
предположу что двумерный массив типа

store[id][0] = getbp(CSW_P228)
store[id][1] = getbp(CSW_UMP45)

еще есть варианты?



go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя SISA
сообщение 28.10.2014, 11:29
Сообщение #2
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

Цитата(csnet @ 28.10.2014, 9:39) *
Редко я работаю с патронами, вобщем обнаружил что если дать человеку bpammo
а потом дать оружие то bpammo пропадает...
соответственно надо хранить его где то
предположу что двумерный массив типа

store[id][0] = getbp(CSW_P228)
store[id][1] = getbp(CSW_UMP45)

еще есть варианты?


С чего это вдруг оно пропадает ? После перезарядки обоймы так же, по нулям ? Вообще, с начала выдают оружие, а потом патроны.

Отредактировал: SISA, - 28.10.2014, 11:29
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
kritik
сообщение 28.10.2014, 11:34
Сообщение #3
Стаж: 12 лет

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

Новая энтити = новая приватдата.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 28.10.2014, 11:39
Сообщение #4
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

Цитата(kritik @ 28.10.2014, 13:34) *
Новая энтити = новая приватдата.


Это понятно, но задача ТС всё равно не ясно. Если он выдает оружие повторно, не сбросив предыдущего с тем же аммоид, тогда и патроны видимо придется повторно выдать. Если он хочет сохранять патроны на энтити weaponbox сброшенной на землю, тогда надо сохранять их в EV_INT_weapons
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 28.10.2014, 11:43
Сообщение #5
Стаж: 12 лет

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

В моде поднимаешь патроны, потом оружие, можно и наоборот
т.е довольно много проверок. еще чекать надо сколько патронов в стволе.

Если оружия нет, выдаем + 10 в ствол
Если оружия не было а были BP поднятые
Делаем 10 в ствол + BP, обнуляем BP
Если BP было менее 10 а Clip <= 10 оставляем 10 в стволе

Если оружие уже есть, но оно не "current" а на слоте каком то,
чекаем патроны

если меньше 10 а в запасе 10, убирать запас, оставляя 10 в стволе
Если в стволе больше 10 а в запасе что то есть то складываем
если в стволе до 10 а запаса нет то +1
Если в стволе менее 10 а в запасе более 10 то clip + stored

Голова щас распухнет fuck.gif
но я сделаю), возможно это еще не все проверки xDD

не патроны сохранить надо любые поднятые, для разного оружия,
просто я не знал что они обнулятся после выдачи собственно оружия...

сам разберусь.

Отредактировал: csnet, - 28.10.2014, 11:52


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 28.10.2014, 11:52
Сообщение #6


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

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

Код:
enum _:AMMO
{
AMMO_357SIG,
AMMO_762NATO,
...
}

new g_ammoname[ AMMO ][]
{
"ammo_357sig",
"ammo_762nato",
...
}

new g_userammo[ AMMO ][ 33 ]




g_userammo[ AMMO_357SIG ][ id ] = ammo


У меня такая идея возникла, если что, мож кто-то што поумнее скажет C:


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


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

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

А не, что-то не то. Что-то я не совсем то написал.


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 28.10.2014, 23:28
Сообщение #8
Стаж: 12 лет

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

разрулил, bpammo теперь не нужно, так как сразу пишем в массив соотв он не уничтожается

Код:


new idrob = has_user_weapon(id, CSW_P228)

if(!idrob)
{
give_item(id,"weapon_p228")
engclient_cmd(id,"weapon_p228")
set_pdata_int( cw , Clipoffs, 10)
if(store[id][0] > 10) set_pdata_int(cw, Clipoffs, 1 + store[id][0])
}

if(idrob)
{
if(bClip(idrob) >= 10) set_bammo(idrob, 1) // macro - clip of not active weapon + 1
if (bClip(idrob) < 10) set_pdata_int( idrob , Clipoffs, 10)
}

store[id][0] = 0



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


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 29.10.2014, 8:23
Сообщение #9


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

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

csnet,
че у тебя строки скачут? :D


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

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

у меня в акельпаде и в amxx studio разный формат почему то, после работы в studio приходится руками форматировать еще в акельпаде


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: