|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Это-то я понимаю . Но всё равно не понимаю, зачем тебе невидимость нужна. Из мап_энтер всё и так нормально делается, т.к. картинка потом обновляется. А вообще... Блин, долго же до меня доходило, что такое "плотный криттер" . Вообще-то испокон веков под "плотными" объектами понимали объекты с флагом "TransNone" в прошнике . То, о чём говорит Alan Killenger, это не "неплотность", это отсутствие блокиратора под криттером, т.е. фактически флаг "NoBlock". Если мы делаем криттера невидимым, то блокиратор под ним автоматически убирается, чтобы через невидимого криттера можно было ходить. Далее действительно баг: если мы сначала перемещаем криттера, а затем делаем его видимым, то блокиратор под ним так и не появляется. Если же сначала сделать криттера видимым, а потом переместить куда надо, всё будет нормально. ЗЫ Попробуйте в Ф1 не выходя с карты рейдеров "встать на" Танди после её освобождения. Глюк-с .
|
Отправлено: 13:15 - 23 Марта, 2006
|
|
Alan Killenger
Пользователь
Откуда: Россия, Ижевск Регистрация: Июль 2004
Всего: 404 сообщения
|
Цитата: Это-то я понимаю . Но всё равно не понимаю, зачем тебе невидимость нужна. Из мап_энтер всё и так нормально делается, т.к. картинка потом обновляется.
А кто сказал, что мой криттер будет целый день торчать на одной карте? Вот именно для того мне невидимость и нужна, в том числе.
----- hit me, nail me, make me god
|
Отправлено: 18:26 - 23 Марта, 2006
|
|
binyan
Пользователь
Откуда: Israel Регистрация: Март 2005
Всего: 292 сообщения
|
И я опять со своими ФИДами =) Как известно, имея указатель на криттера, мы можем получить всю информацию о нем. НО как имея только ПИД, мы можем получить ФИД? Поидее нужно с помощью ПИДа получить указатель, и с помощью указателя получить ФИД. Но отсюда возникает вопрос - как получить указатель с помощью ПИДа? Может меня конечно сильно проглючило, и существует обычная функция для этого, но ИМХО нет. Так может попытаться сделать это с помощью creat_obj? Создаём криттера с определённым ПИДом, и...А на него то как указатель получить?
----- ...выражая озадаченность, граничащую с озабоченностью..
|
Отправлено: 21:55 - 11 Апр., 2006
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Доки читать надо . int (string) proto_data(int pid, int data_member) - возвращает значение данных из прототипа объекта Аргументы: pid - идентификатор прототипа объекта (см. CRITRPID.H - PID криттеров, ITEMPID.H - PID предметов, SCENEPID.H - PID элементов пейзажа) data_member - номер данных (см. Приложение) Возвращаемое значение: значение указанного поля из файла прототипа FID под номером 3 .
|
Отправлено: 7:15 - 12 Апр., 2006
|
|
Alexer
Пользователь
Откуда: Россия Владивосток Регистрация: Апр. 2006
Всего: 11 сообщений
|
Не мог бы кто привести пример, как пошагово сделать так, чтобы при попадании чузена на (к примеру нарисованную) карту один из выбранных критеров начал двигаться к определенной координате. Меня интересует содержание скрипта, а так же поправки в вспомогательных файлах. Заранее спасибо.
----- "Вы сильно промахнулись и случайно попали"
|
Отправлено: 11:07 - 19 Апр., 2006
|
|
Sokil
Пользователь
Откуда: Омск Регистрация: Март 2004
Всего: 120 сообщений
|
Посмотри скрипт того чувачка, которвй на выходе из Храма испытаний предлагает Чузу подраться. Очень интересный скрипт. Ответ на твой вопрос в нем содержится. Название скрипта не помню, чтобы узнать, открой в мэппере соответствующую карту и опцию "Show all scripts" - ту, что в верхнем меню. Для приличного совоения скриптового языка и его хитростей достаточно проштужировать всего 4 скрипта: наркомана из Дэна, Лару оттуда же, Мецгера и этого... вожака бандитов, охраняющих наркотики в церкви. Ну и торговца какого-нибудь. Например, Тубби.
|
Отправлено: 17:39 - 19 Апр., 2006
|
|
Alan Killenger
Пользователь
Откуда: Россия, Ижевск Регистрация: Июль 2004
Всего: 404 сообщения
|
Цитата: как пошагово сделать так
Что значит пошагово? В боевом режиме? Если "да", то никак - во время боя криттерами управлять почти невозможно, их действия определяются сугубо их статистикой и пакетом AI. Если "нет", т.е. в обычном режиме, то в скрипте "выбранного критера" пишем
Код:
procedure critter_p_proc begin if tile_distance(tile_num(obj_tile(dude_obj)), /* номер вашего тайла */) < /* расстояние до вашего тайла */ then begin animate_move_obj_to_tile(self_obj, /* куда идти */, /* скорость */); end end
----- hit me, nail me, make me god
|
Отправлено: 17:42 - 19 Апр., 2006
|
|
Alexer
Пользователь
Откуда: Россия Владивосток Регистрация: Апр. 2006
Всего: 11 сообщений
|
Круто, скрипт пашет. Но у меня появилась опять проблемка. Я в мапере создал карту, при входе чузена на которую в диалоговом появляется :"Вы стоите перед великим мостом и т. д. ..." . Че за фигня. У меня к карте привязан конкретный скрипт. который должен выдавать свою подпись к карте, что он собственно и делает, но после него следует фактически сразу вот это вот:"Вы стоите перед великим мостом и т. д. ..." . Функция script_overrides не помогает.
----- "Вы сильно промахнулись и случайно попали"
|
Отправлено: 15:15 - 22 Апр., 2006
|
|
Volk
Пользователь Регистрация: Июнь 2005
Всего: 79 сообщений
|
Что не так? Когда if (party_member_obj(obj_pid(your_slave)) != 0) не выполняется все нормально, а когда выполняется игра входут в ступор, т.е. менюшка диалога остаеттся без текска и навсегда
Код:
if (party_member_obj(obj_pid(your_slave)) != 0) then begin if (((global_var(719) bwand 1) != 0) == 1) then begin set_local_var(8, (2 * random(100, 150) * ((160.00000 + has_skill(dude_obj, 15)) / (160.00000 + has_skill(self_obj, 15))))); if (get_critter_stat(your_slave, 34) == 0) then begin gsay_reply(121, message_str(121, 271) + local_var(8) + message_str(121, 270)); end else begin gsay_reply(121, message_str(121, 272) + local_var(8) + message_str(121, 270)); end end else begin set_local_var(8, (2 * random(50, 100) * ((160.00000 + has_skill(dude_obj, 15)) / (160.00000 + has_skill(self_obj, 15))))); if (get_critter_stat(your_slave, 34) == 0) then begin gsay_reply(121, message_str(121, 273) + local_var(8) + message_str(121, 270)); end else begin gsay_reply(121, message_str(121, 274) + local_var(8) + message_str(121, 270)); end end end else begin ... прододжение диалога
|
Отправлено: 22:34 - 23 Апр., 2006
|
|
Aman
Пользователь
Откуда: Киев Регистрация: Апр. 2005
Всего: 208 сообщений
|
Скорее всего переменная "your_slave" не успела объявиться как экспортируемая, так как я это делал в скрипте Дюда, а не в скрипте карты. Это проявляется в маппере, если загрузить карту с подобным скриптом и сразу ничего не делая начать диалог. Но если открыть дверь, или юзнуть умение, то всё ок. В игре этого не видно. Если всё-таки виснет в игре, значит где-то есть импорт, но нет экспорта.
----- Ибо логично предположить, что если недостаточно чего-либо для запуска чего-либо, то второе чего-либо, а именно то, для которого не хватает - вообще не должно запускаться. (неизвестный)
|
Отправлено: 0:14 - 24 Апр., 2006
|
|
|
|