» TeamX (Архив Форума)«


Форум TeamX » Тех. поддержка » Проблема лишних стволов. (Как избежать их накопления у игрока...)

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 1 2 3 4 5 6 7 8 ] Все собщения

 
Raven
Пользователь

Откуда: Владик
Регистрация: Февр. 2004

Всего: 408 сообщений

Mynah

>>А про то, чтобы хранить указатели в битах, я вообще молчу

Небольшой полуофтопец. При извесном желании можно в вару запихнуть оч. много указателей. Каким образом:
"12345678:87654321:6892020"...
Т.е. - самодельный char-массив. atoi написан. Естественно, это подходит только для динамического хранения вар. И работает не слишком шустро. Зато - массивы :-) И куча указателей "в одной варе" :-)


(Добавление от 17:18 - 30 Июня, 2005.)


>>Нужно ставить проверку на каждый раз, когда чуз использует ствол.

Есть идея - чекать не использование ствола, а расход патронов.

1. Смотрим инвентарь, отбираем всё с subtype==ammo. Запоминаем количество.
2. Периодически чекаем инвентарь. Если quantity уменьшилось - снижаем прочность стволов в руках.

Нечто подобное:
----------------------------
procedure set_gun begin
 while i<=inven_count(dude_obj) do begin
   ptr:=inven_cmds(dude_obj,13,i);
   if obj_item_subtype(ptr)==4 then begin
    set_global_var(15,ptr);
    set_global_var(16,obj_is_carrying_obj_pid(dude_obj, obj_pid(ptr)));
    i:=inven_count(dude_obj)+1;
   end
 i+=1;
end
end

<...>
procedure combat_p_proc begin
variable i:=1; variable ptr;
if (fixed_param == COMBAT_SUBTYPE_TURN) then begin
 if obj_is_carrying_obj_pid(dude_obj, obj_pid(global_var(15)))<global_var(16) then begin
  display_msg("Lowering durability";
  <...> //уменьшаем прочность
  set_global_var(16,obj_is_carrying_obj_pid(dude_obj, obj_pid(global_var(15))));
 end else display_msg("Do nothing";
end
end
----------------------------

Проблем полно:
- типов боеприпасов много. В принципе, можно зафиксировать диапазон GVAR под все типы и обойтись без хранения указателей.
- прочность будет уменьшатся только по расходованию всей обоймы ("кучки" - 24 патрона для 10 мм)
- если в слоте будут два оружия одновременно - неопределённость. Хотя, в принципе, можно и по калибру поглядеть.

Отправлено: 16:44 - 30 Июня, 2005
Sam Laury
Пользователь

Откуда: Обнинск
Регистрация: Июнь 2005

Всего: 13 сообщений

Raven, а это не ты ли делал разрушаемую броню? Если ты, то пришли плиз инфу или файл с прототипом.

Отправлено: 18:29 - 30 Июня, 2005
Mynah
Модератор

Откуда: Пермь
Регистрация: Окт. 2004

Всего: 469 сообщений

Raven
Патроны я тоже обдумывал... Не понравилась именно идея "обоймы". Например, в обойме 4.7 мм. - 50 патронов. я буду стрелять из ХК г11-е по 1 патрону - дооолго будет пушка портится.
Чуть-чуть точнее - определять по весу. Пушка, которая заряжена наполовину, весит меньше, чем та, которая заряженна полностью.
И ещё... я когда отыгрывал "энергетического" чуза, у меня в одной руке было laser rifle, в другой plasma rifle. С определением - из какой стреляли возникнут траблы.
Но зато, используя "патронный" вариант, мы избавляемся от "привыкания" чуза к пушке, без которого не обойтись в моем скрипте.
Совершенных решений нет. Есть только полумеры. :(

-----
Scio me nihil scire

Отправлено: 18:56 - 30 Июня, 2005
binyan
Пользователь

Откуда: Israel
Регистрация: Март 2005

Всего: 292 сообщения

>>Нужно ставить проверку на каждый раз, когда чуз использует ствол.
Есть идея - чекать не использование ствола, а расход патронов.
Идея хороша,но есть одно но.
Как уже сказал Mynah,если в слотах стоят два оружия,которые используют одни и
те же патроны,то как ты определишь,какому оружию уменьшать износ?
Можно конечно же поставить запрет на ношение двух однокаллиберных оружий одновременно, но это нерационально.
ПЫ.СЫ. а про массив я бы не додумался

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

Отправлено: 21:07 - 30 Июня, 2005
Wasteland Ghost
Маленькое Злое Привидение

Откуда: Россия, Самара
Регистрация: Дек. 2002

Всего: 2251 сообщение

2Raven Нам с тобой пора на пенсию. Ибо сие есть ни что иное, как массовые галлюцинации. После тщательно проделанных проверок мне остаётся только подтвердить правдивость слов Mynah: указатель на активный предмет получить можно, а вот на неактивный уже нельзя . Хотя и тут я теперь поберегусь . Функция оказалась с подковыркой. Мне - позор за использование непроверенных данных, Mynah'у - решпект.

Отправлено: 21:23 - 30 Июня, 2005
binyan
Пользователь

Откуда: Israel
Регистрация: Март 2005

Всего: 292 сообщения

Хмм..не значит ли это,что ели при каждом уменьшении патронов сделать чек на активное оружие,то можно будет определить какому оружию уменьшать износ?
Отвечу сам себе.Нет,не значит.Потому что заряжать можно и неактивное оружие через инвентарь.Если я не прав,поправьте.

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

Отправлено: 21:39 - 30 Июня, 2005 | ИСПРАВЛЕНО: binyan - 21:40 - 30 Июня, 2005
Sam Laury
Пользователь

Откуда: Обнинск
Регистрация: Июнь 2005

Всего: 13 сообщений

Цитата:

Мне - позор за использование непроверенных данных, Mynah'у - решпект.


Самокритика. Уважаю. А то все нельзя да нельзя...

Отправлено: 21:43 - 30 Июня, 2005
Mynah
Модератор

Откуда: Пермь
Регистрация: Окт. 2004

Всего: 469 сообщений

И заряжать можно неактивное. И выстрелить можно сначала из одного, потом из другого...

2WG:
Это не массовые галюцинации, это массовая потеря памяти.
Вырезка из ФМОД-FAQ 9 месячной давности:
Цитата:

Не можем (на текущий момент ;-):

Редактировать и создавать полноценные перки (прошиты в движке)
Репутация в городах - берется движком из GVAR'ов, т.е. жестко прошито количество этих GVAR'ов
Изменять координаты начального города на карте мира - или, как минимум, это место (Арройо) все равно остается "подсвеченным"
Добавлять новые типы амуниции
Получить указатель на предмет в неактивной руке
Инвентарь. Полностью движковая вотчина.



Я у кого учился-то, по вашему? :))

-----
Scio me nihil scire

Отправлено: 21:45 - 30 Июня, 2005
binyan
Пользователь

Откуда: Israel
Регистрация: Март 2005

Всего: 292 сообщения

Ну так как я не ошибся ,то вопрос остаётся открытым.

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

Отправлено: 21:47 - 30 Июня, 2005
Mynah
Модератор

Откуда: Пермь
Регистрация: Окт. 2004

Всего: 469 сообщений

А по-моему, уже никакого открытого вопроса не осталось.
Три способа:
1) Записывание указателей в гвары. Заставлять чузена "привыкать" к пушке, пока она не сломается. Ставить запрет на использование аналогичной. Способ, позволяющий высчитывать прочность точнее всего, но при этом накладывающий ограничения.
2) Количество патронов. Не точный способ. Необходимо так же учитывать количество подобранных/истраченных другим оружием пуль.
3) Вес. Чуть-чуть более точный,  опирающийся так же на трату пуль, но сложный в реализации.

Имхо, вариантов больше нет.

-----
Scio me nihil scire

Отправлено: 21:55 - 30 Июня, 2005
 

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 1 2 3 4 5 6 7 8 ] Все собщения


Powered by Ikonboard 2.1.9 RUS
Modified by RU.Board Team
© 2000 Ikonboard.com