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

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

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

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

Проверку на к-во гранат

Статус пользователя Fred Perry
сообщение 16.4.2014, 22:37
Сообщение #1


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

Стаж: 16 лет

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

Всем здарова.

Как сделать проверку:
Код
Если к-во флешек 0, то...
Если к-во флешек 1, то...



You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя s0h
сообщение 16.4.2014, 22:52
Сообщение #2


Стаж: 17 лет

Сообщений: 670
Благодарностей: 897
Полезность: 1164

Паблик? ЗП?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 16.4.2014, 22:54
Сообщение #3


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

Стаж: 16 лет

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

Цитата(s0h @ 16.4.2014, 22:52) *
Паблик? ЗП?

ЗП, но в принципе под паблик тоже можно. Не вижу разницы. Сам мод переделает флешки в frost nade


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя s0h
сообщение 16.4.2014, 23:03
Сообщение #4


Стаж: 17 лет

Сообщений: 670
Благодарностей: 897
Полезность: 1164

Цитата(Fred Perry @ 16.4.2014, 22:54) *
ЗП, но в принципе под паблик тоже можно. Не вижу разницы. Сам мод переделает флешки в frost nade


1й способ
Код
new g_fb_c[33] = { 0 };

//..где идет покупка гранаты
g_fb_c[id]++;
//

public fw_SetModel(entity, const model[])
{
//в нужном if'e, когда выкидывает гранату
g_fb_c[id]--;
//
}

//Проверка на кол-во
if(g_fb_c[id] == 1) // 1 граната
{

}
else if(g_fb_c[id] == 2) // 2 гранаты
{

}
else // если нету гранат
{

}


2й способ

http://amxxmodx.ru/core/amxmodxinc/362-get...ka-v-rukah.html

Отредактировал: s0h, - 16.4.2014, 23:04
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 16.4.2014, 23:18
Сообщение #5


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

Стаж: 16 лет

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

Первый вопрос:
get_user_weapon проверяю то что в руках или то что в инвентаре ?

Второй вопрос:
Не понятный этот кусок
Код
public fw_SetModel(entity, const model[])
{
//в нужном if'e, когда выкидывает гранату
g_fb_c[id]--;
//
}

Как зафиксировать выкидывание гранаты?


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя s0h
сообщение 16.4.2014, 23:27
Сообщение #6


Стаж: 17 лет

Сообщений: 670
Благодарностей: 897
Полезность: 1164

Цитата(Fred Perry @ 16.4.2014, 23:18) *
Первый вопрос:
get_user_weapon проверяю то что в руках или то что в инвентаре ?

Код
Проверка на игрока идет, внизу по ссылке там есть пример.

А вот от меня как это сделать
//25 = CSW_FLASHBANG
//clip нужно смотреть, но вроде 0
//ammo = 0 или 1 или 2

new weapon = get_user_weapon(25,0,1) //проверка на 1 гранату

if(weapon == get_user_weapon(id,clip,ammo)) //проверка на 1 гранату в инвентаре
{

}


Цитата(Fred Perry @ 16.4.2014, 23:18) *
Второй вопрос:
Не понятный этот кусок
Код
public fw_SetModel(entity, const model[])
{
//в нужном if'e, когда выкидывает гранату
g_fb_c[id]--;
//
}

Как зафиксировать выкидывание гранаты?

Там где присваивается W_MODEL. Я дал пример из ZP4.3 исходника.

Отредактировал: s0h, - 16.4.2014, 23:27
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 16.4.2014, 23:41
Сообщение #7


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

Стаж: 16 лет

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

Все, я глянул код джамп гранаты и вроде бы понял.
Еще один вопрос, какая разница выдачи айтема методами, кроме того что это разные модули
Код
cs_set_user_bpammo

Код
give_item

Код
fm_give_item


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя s0h
сообщение 16.4.2014, 23:46
Сообщение #8


Стаж: 17 лет

Сообщений: 670
Благодарностей: 897
Полезность: 1164

Цитата(Fred Perry @ 16.4.2014, 23:41) *
Все, я глянул код джамп гранаты и вроде бы понял.
Еще один вопрос, какая разница выдачи айтема методами, кроме того что это разные модули
Код
cs_set_user_bpammo

Код
give_item

Код
fm_give_item

Разница между скоростью выдачи , 0.0000001 и 0.0000002 , не сильно большая разница)

Может еще что-то есть, но не замечал
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Surf
сообщение 17.4.2014, 0:33
Сообщение #9


Стаж: 14 лет

Сообщений: 1089
Благодарностей: 501
Полезность: 583

Код:
get_pdata_int(id, 387);
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 17.4.2014, 6:47
Сообщение #10
Стаж: 12 лет

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

есть еще варианты конечно под Hamsandwitch

http://amxxmodx.ru/hamsandwich/ham_constin...ddtoplayer.html

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


еще есть вариант с fw_setmodel

где нужно получить if(equal( ent, "w_flashbang.mdl") )

Отредактировал: csnet, - 17.4.2014, 6:48


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 17.4.2014, 10:59
Сообщение #11
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(Fred Perry @ 17.4.2014, 0:37) *
Как сделать проверку:
Код
Если к-во флешек 0, то...
Если к-во флешек 1, то...

Не указано главное: в какой момент эта проверка должна выполняться.

Для самого простого случая достаточно cs_get_user_bpammo() .
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 17.4.2014, 11:14
Сообщение #12
Стаж: 12 лет

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

я подозреваю что в момент покупки

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


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


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

Стаж: 16 лет

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

Цитата(csnet @ 17.4.2014, 11:14) *
я подозреваю что в момент покупки

Да правильно. Я не написал с самого начала т.к. про это что-то не подумал.

Проверка при покупке. Суть такова:
покупаю гранату, если это первая в инвентаре то цена А, если уже одна граната есть, то цена на вторую Б. Надо учитывать что гранаты могут выкидывать.


You become responsible, forever, for what you have tamed
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 17.4.2014, 13:44
Сообщение #14
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Проверка инвентаря выше написана. Осталась сложность с моментом проверки)
Какая практическая цель, конечная идея?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 17.4.2014, 13:52
Сообщение #15
Стаж: 12 лет

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

я писал ответ, как форум потух, какая трабла с dns
вобщем так вероятно надо сделать

Код:

#define kapusta 115
#define getman(%0) (get_pdata_int(%0,kapusta,5))
#define dadetka(%0) set_pdata_int(%0, kapusta, getman - твое число)

//проверка в addtoplayer

так как используется ent

new owner = pev(ent,pev_owner)

if(has_user_weapon(owner,CSW_FLASHBANG)) dadetka(owner)


можна и через 41й оффсет


если у игрока уже есть флешка то на 2й отнимется дополнительная сумма

Отредактировал: csnet, - 17.4.2014, 13:55


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Surf
сообщение 17.4.2014, 14:04
Сообщение #16


Стаж: 14 лет

Сообщений: 1089
Благодарностей: 501
Полезность: 583

Цитата(csnet @ 17.4.2014, 17:52) *
я писал ответ, как форум потух, какая трабла с dns
вобщем так вероятно надо сделать

Код:

#define kapusta 115
#define getman(%0) (get_pdata_int(%0,kapusta,5))
#define dadetka(%0) set_pdata_int(%0, kapusta, getman - твое число)

//проверка в addtoplayer

так как используется ent

new owner = pev(ent,pev_owner)

if(has_user_weapon(owner,CSW_FLASHBANG)) dadetka(owner)


можна и через 41й оффсет


если у игрока уже есть флешка то на 2й отнимется дополнительная сумма

худ капусты обновить не забыть
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя csnet
сообщение 17.4.2014, 14:36
Сообщение #17
Стаж: 12 лет

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

это я знаю . решил не писать ему message
игрок лучше пусть не знает что его обокрали

Отредактировал: csnet, - 17.4.2014, 14:39


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