|
Akkella
Пользователь Регистрация: Авг. 2006
Всего: 175 сообщений
|
Цитата: global_var(776)==self_obj Это нормально ? Может тут процесс прерывается? Глобальные вары, там всегда работают. Просто вары тоже variable eklmn тоже.
Все нормально. В эту гвару указатель записывается.... Но мар апдейт не работает в принципе, посольку даже тестовое сообщение не выводит, которое должно выводиться при любых условиях. Может еще есть идеи?
|
Отправлено: 18:05 - 10 Июля, 2007
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Если мне не изменяет мой склероз, map_update во время боя не работает. А вообще, для предметов, находящихся в инвентаре, не вызываются очень даже многие обработчики. Инвентарь практически полностью обрабатывает движок. Кстати, многое зависит от подтипа предмета. Для misc-предметов, например, обработчик use вызывается, а для drug -- нет.
|
Отправлено: 9:15 - 12 Июля, 2007
|
|
Jordan 63
Пользователь
Откуда: Россия, Самара Регистрация: Июль 2007
Всего: 228 сообщений
|
Wasteland Ghost > Большая просьба грамотно, чётко и полно формулировать вопросы. Если не можешь сформулировать свой вопрос, это означает, что ты сам пока не понимаешь, что тебе нужно. Когда dude перемещается по карте мира то происходят случайные встречи грузится такая то карта и такие то персонажи а я хотел это так сказать отследить и переделать случайные встречи через скрипт только неспрашивайте зачем через недельку увидите. Так вот сообственно вопрос делаем скрипт и привязываем к картам случайных встреч пример в процедуре map_enter_p_proc пишем if (cur_map_index == MAP_RND_DESERT_1) and dude находиться в токой то координате на карте мира then Зато для раздачи команд можно использовать интерфейсные команды. Я так и делаю а вот насчет проигрываещь анимацию скриптово, а если сделать так lvar_bit(1,bit_1) set_lvar_bit_on(1,bit_1) set_gvar_bit_off(1, bit_1) приказ ко мне set_lvar_bit_on(1,bit_1) if lvar_bit(1,bit_1) then begin animate_move_to_tile(tile_num(dude_obj)) set_gvar_bit_off(1, bit_1) end Хотел реализовать если у персонажа клинта в руке пулемет и дистанция то есть если dude стоит рядом с врагом примерно <= 3 tile тогда клинт убирает оружие и идет в рукопашку. Ктонибудь знет как это сделать? И последний вопрос ктонибудь пришлите английские текста fallout1 точнее папку game ну очень надо У меня готовы все скрипты fallout1 то есть приведены к более менее исходному коду но осталось сделать CRITRPID.H а для этого нужно pro_crit.msg и maps.н
|
Отправлено: 15:24 - 12 Июля, 2007
|
|
Akkella
Пользователь Регистрация: Авг. 2006
Всего: 175 сообщений
|
Прошу прощение за дезу. map_update работает во время боя и у криттеров и у предметов. Как обычно, дело в элементарной ошибке, не тот скрипт подключил. Все нормально, указатель и флаг передается в скрипт редмета, где, если указатели совпадают происходит расчет износа по флагу (кол-во выстрелов/ударов) Если износ критический предмет исчезает. Проблема износа теперь полностью решена, но остались еще две. 1 Оружие или броня разлетаются во время обновления (примерно два-три раза в минуту), а не во время удара/попадания 2 Серьезней.ю Теперь оружие и броню в кучи не складируешь, они занимают отдельный слот. Боюсь эти задачи нерешеные и если с первым можно мириться (Ну, ударил, а нож разлетелся через несколько секунд), то вторая портит геймплей. Впрочем, эта задача нерешаемая. И ее можно стерпеть, тем более этот способ позволяет использовать максимум 8 гвар...
|
Отправлено: 18:03 - 12 Июля, 2007
|
|
JSilver
Пользователь
Откуда: Moscow Регистрация: Июль 2007
Всего: 20 сообщений
|
есть такая функция: tile_contains_pid_obj (tile, elev, pid) "Возвращает указатель на первый объект с идентификатором прототипа (pid) находящийся на заданном тайле и этаже." вопрос: 1. существует ли возможность получить указатель не на первый, а на второй и далее объекты? 2. если не существует - тогда существует ли хотя бы возможность узнать - а есть ли в этом тайле еще другие объекты того же pid'а? условие: верхний объект, естественно, нельзя передвигать, уничтожать и прочее, т.е. делать второй - первым (вследствие отсутствия бывшего первого) и обрабатывать его уже как первый.
|
Отправлено: 7:27 - 14 Июля, 2007
|
|
binyan
Пользователь
Откуда: Israel Регистрация: Март 2005
Всего: 292 сообщения
|
Цитата: Quote: from Akkella on 18:03 - 12 Июля, 2007 2 Серьезней.ю Теперь оружие и броню в кучи не складируешь, они занимают отдельный слот.
Вот об этом я тебе и говорил, когда говорил почитай темы. Эта проблема уже обсуждалась.
----- ...выражая озадаченность, граничащую с озабоченностью..
|
Отправлено: 23:03 - 14 Июля, 2007
|
|
JSilver
Пользователь
Откуда: Moscow Регистрация: Июль 2007
Всего: 20 сообщений
|
"будь проклят тот день, когда я сел за баранку этого пылесоса!" (C) проблема. прочитав где-то мимолетом про "stored_node", захотел ее поюзать. запоминалку оной ноды вешаю на timed_event. почему? потому что мне нравится, когда моргание экрана на черный и обратно не сопровождается дополнительным морганием диалогового окна. сам же разговор всегда завершаю обнулением этой переменной, на всякий случай, чтобы грязи не было (перед эндом critter_talk_proc'ы). все хорошо, все прекрасно работает, если бы не одно "но": если я выхожу из разговора по "нулю" - то таймер_евент, вызванный в последней ноде, до которой дошел разговор, - не запускается. startcritical-endcritical пробовал, поднять строчку add_timer_event в самый верх процедуры - тоже пробовал, ничего не получается! прописывать эту сторед_ноде в самой процедуре вместо вызова таймер_евента - не хочу: все остальные моменты работают хорошо, а думать где у меня может мусор остаться в разговоре и в следующий раз он начнется не сначала - тоже не хочу. если, конечно, есть какие-то шансы это не хочу сохранить. что за пакость такая с нулем?
|
Отправлено: 16:33 - 21 Июля, 2007
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Выход из диалога после нажатия кнопки 0 - это злой баг. Долго рассписывать не буду, но там видимо проблемы из-за того, что ранее запланированная фича для фолла была обрезана. При нажатии на ноль функция вылетает с ошибкой и из-за этого диалог закрывается. Для своего будущего (надеюсь) мода я эту пакость исправил. В двиге достаточно поменять один байт. На память не помню - посмотрю в записях, напишу.
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 19:42 - 21 Июля, 2007
|
|
Akkella
Пользователь Регистрация: Авг. 2006
Всего: 175 сообщений
|
Цитата: Выход из диалога после нажатия кнопки 0 - это злой баг. Долго рассписывать не буду, но там видимо проблемы из-за того, что ранее запланированная фича для фолла была обрезана. При нажатии на ноль функция вылетает с ошибкой и из-за этого диалог закрывается. Для своего будущего (надеюсь) мода я эту пакость исправил. В двиге достаточно поменять один байт. На память не помню - посмотрю в записях, напишу.
Напиши плз. Вообще в Исследования побольше информации о движке, наверняка много нарыл. Делиться надо)
|
Отправлено: 21:05 - 21 Июля, 2007
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Выключение кнопки 0 в диалогах: Offset: 0x36C48 Старое значение: 0x30 Новое значение: 0x31 P.S О результатах доложить
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 21:40 - 21 Июля, 2007
|
|
|
|