|
Volk
Пользователь Регистрация: Июнь 2005
Всего: 79 сообщений
|
С помошью 1 и 0 хранить информацию о том что ствол в рабочем состоянии\нет
|
Отправлено: 2:37 - 30 Июня, 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Ребятишечки, вы все забываете об одной принципиальной проблеме, которая в своё время остановила не одного исследователя данного вопроса: невозможно получить указатель на активный предмет (предмет в активной руке). Это означает, что отследить именно ту пушку, которая стреляет, не получится, а значит, не получится и реализовать тот самый износ. Так что дальнейшие пустопорожние разговоры на эту тему будут приравниваться к флуду. Утверждаете, что можете реализовать износ оружия? Скрипт в студию. Управление же из скрипта оружия характеристиками перса во-первых страшно выглядит, а во-вторых невозможно по точно той же причине: вам не узнать, какое оружие в данный момент используется.
|
Отправлено: 8:21 - 30 Июня, 2005
|
|
Aman
Пользователь
Откуда: Киев Регистрация: Апр. 2005
Всего: 208 сообщений
|
Во-во. И я о том же вначале намекал. Единственное можно сделать случайный износ оружия, не зависящий от действий игрока (минимально зависящий). Но надо ли оно ? P.S. Указатель на объект - это число состоящее не из одного бита , около 24 битов (навскидку) будет один указатель.
----- Ибо логично предположить, что если недостаточно чего-либо для запуска чего-либо, то второе чего-либо, а именно то, для которого не хватает - вообще не должно запускаться. (неизвестный)
|
Отправлено: 8:38 - 30 Июня, 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Указатель хранит все 32 бита адреса. Вот так вот.
|
Отправлено: 11:01 - 30 Июня, 2005
|
|
Mynah
Модератор
Откуда: Пермь Регистрация: Окт. 2004
Всего: 469 сообщений
|
Цитата: Quote: from Wasteland Ghost on 10:21 - 30 Июня, 2005 невозможно получить указатель на активный предмет (предмет в активной руке). Это означает, что отследить именно ту пушку, которая стреляет, не получится
Серьёзно что ли? :) Вообще-то наоборот. Вот кусочек кода, правда он не для износа оружия, а несколько других целей, но, тем не менее, успешно получает указатель на активное оружие.
Код:
procedure mech_inven_check begin variable tmp_r_hand; variable tmp_l_hand; variable tmp_rm_r; variable tmp_rm_l; variable pid_to_create; tmp_r_hand:=critter_inven_obj(self_obj, INVEN_TYPE_RIGHT_HAND); tmp_l_hand:=critter_inven_obj(self_obj, INVEN_TYPE_LEFT_HAND); if obj_item_subtype(tmp_r_hand)==item_type_weapon and not(is_mech_weapon(tmp_r_hand)) then begin display_msg("Right hand"); pid_to_create:=obj_pid(tmp_r_hand); rm_obj_from_inven(self_obj, tmp_r_hand); add_obj_to_inven(self_obj, create_object(pid_to_create, tile_num(self_obj), elevation(self_obj))); end if obj_item_subtype(tmp_l_hand)==item_type_weapon and not(is_mech_weapon(tmp_l_hand)) then begin display_msg("Left hand"); pid_to_create:=obj_pid(tmp_l_hand); rm_obj_from_inven(self_obj, tmp_l_hand); add_obj_to_inven(self_obj, create_object(pid_to_create, tile_num(self_obj), elevation(self_obj))); end end
PS: А управлять характеристиками из скрипта оружия никто и не собирался. Для этого есть скрипт obj_dude.
----- Scio me nihil scire
|
Отправлено: 12:00 - 30 Июня, 2005 | ИСПРАВЛЕНО: Mynah - 14:31 - 30 Июня, 2005
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Цитата: Серьёзно что ли? Вообще-то наоборот.
Абсолютно серьёзно. Твой код не работает. Точнее, он не работает как надо. И вот почему. Ты рассуждаешь так: у нас две руки, в одной из них есть пушка, из которой мы и стреляем. Ну значит мы сейчас посмотрим, что у нас там в руках, найдём пушку и подменим её на другую. Ну или ещё чего сделаем. И-рун-да, уж прости. Во-первых, у меня может быть две пушки в руках, и фих твой скрипт поймёт, из какой я только что стреляла. Портить сразу обе? Хорошенькое решение . Более того, у меня в руке может быть пушка, но я ведь могу и ногой ударить. И пушка получит повреждения? Гуд, зерр гуд . Точно та же причина не позволит тебе менять характеристики Чузена из какого бы то ни было скрипта. Ну и на сладкое. У неписей активной рукой считается левая. Анимация меняется при помещении оружия именно в эту руку, подозреваю, что wield_obj помещает оружие туда же. Но это не повод считать леворуким Чузена. А среди доступных нам опкодов, повторюсь, нет опкода, дающего указатель на предмет в активной руке. Нету. Не завезли. Или моль похавала.
|
Отправлено: 12:51 - 30 Июня, 2005
|
|
Mynah
Модератор
Откуда: Пермь Регистрация: Окт. 2004
Всего: 469 сообщений
|
2Wasteland Ghost: Вот этот код:
Цитата:
variable zzzz; variable zzzz2; zzzz:=critter_inven_obj(self_obj, INVEN_TYPE_LEFT_HAND); zzzz2:=critter_inven_obj(self_obj, INVEN_TYPE_RIGHT_HAND); display_msg("Left hand pid is: "+obj_pid(zzzz)); display_msg("right hand pid is: "+obj_pid(zzzz2));
вставь в critter_p_proc чуза, потом возьми в руки два оружия и любуйся на своё поражение. Указатель можно получить только на предмет в активной руке. Вдобавок, учитывая это, можно определить - которая из рук сейчас актвна. А мой код работает. Не надо его называет И-рун-дой, пожалуйста. PS: Набросал скрипт поломки оружия. Надо кому-нибудь?
----- Scio me nihil scire
|
Отправлено: 13:53 - 30 Июня, 2005
|
|
Sam Laury
Пользователь
Откуда: Обнинск Регистрация: Июнь 2005
Всего: 13 сообщений
|
Цитата:
Во-первых, у меня может быть две пушки в руках, и фих твой скрипт поймёт, из какой я только что стреляла. Портить сразу обе? Хорошенькое решение
А зачем ему понимать из какой именно стреляли? Стереть любую из них наугад, и выдать сообщение, что снаряжению пришел конец. Мне лично не нужна математическая точность при учете износа. Поломки вполне можно считать случайным процессом. Даже свежеотремонтированные вещи могут отдать концы очень быстро, если в процессе ремонта была допущена ошибка. Я хочу создать в игре какой-нибудь механизм, который уравняет два потока стволов: входящих в игровое поле и выходящих из него.
Цитата:
Вы не можете использовать оружие.Причина : оружие неразблокировано
Это уже слишком, так как в самоделки таких систем ни кто не ставит. А идея про то, что оружее сначала надо исследовать (типа как в Дьябло "определить") , а уже потом идти всех гасить это очень неплохо. (Добавление от 14:17 - 30 Июня, 2005.)
Цитата:
Набросал скрипт поломки оружия. Надо кому-нибудь?
Ask?? Естественно. Кидай на мыло (Alexpr11@yandex.ru), или пости сюда на форум. З.Ы. Комментарии приветствуются.
|
Отправлено: 14:08 - 30 Июня, 2005
|
|
Mynah
Модератор
Откуда: Пермь Регистрация: Окт. 2004
Всего: 469 сообщений
|
Цитата:
Ask?? Естественно. Кидай на мыло (Alexpr11@yandex.ru), или пости сюда на форум.
Это не полноценный скрипт. Это алгоритм. Там ещё нужно делать привязку к PID'ам и GVAR'ам. Я сам этим заниматься не хочу. http://avega.nightmail.ru/obj_dude.zip
----- Scio me nihil scire
|
Отправлено: 14:54 - 30 Июня, 2005
|
|
Sam Laury
Пользователь
Откуда: Обнинск Регистрация: Июнь 2005
Всего: 13 сообщений
|
Спасыба
|
Отправлено: 15:00 - 30 Июня, 2005 | ИСПРАВЛЕНО: Sam Laury - 15:03 - 30 Июня, 2005
|
|
|
|