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


Форум TeamX » Тех. поддержка » Скрипты (Все вопросы по скриптингу - сюда)

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 ] Все собщения

 
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
 

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 ] Все собщения


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