» 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 ] Все собщения

 
Pavel
Модератор

Откуда: Одесса Украина
Регистрация: Май 2004

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

Итак, вот и назрел вопрос у меня.
Есть у нас говорящие головы и картинки за ними. Все бы хорошо, если бы не попытался я прикрепить это к сценери. Вот тут то и поджидал меня облом. Вылет в винду со страшной силой. Кто нить может подсказать в чем проблема?
Вы спросите меня: - А зачем это тебе надо? Все и так работает.
Ответ будет прост. Есть у нас машинка, та самая злополучная машинка, которая потребляя массу драгоценного электричества в бутылке, а точнее в коробке, треся всеми не дозаржавелыми внутренностями носит нас по всему вастленду и даже не поламается, пока не поламается...
И вот поставим мы в неё рацию и будем иметь связь со всеми имеющими подобные передающе-принимающими аппараты. И все было бы здорово, если бы так и оставить, но как не поставить к этому красивую картинку внутренности этого технического чуда?
Конечно можно извратиться и создать пораждающий скрипт, либо сделать просто создание криттера с другим скриптом, но хочется все же решить это спокойным простым способом.
Но это еще не всё. Если создать пораждающийся скрипт - все работает отлично, до тех пор пока не вставить в него говорящую голову. А криттера, который может говорить за машину нельзя сделать невидимым, фалл падает. Но это мелочи по сравнению с тем, что диалог нельзя вызвать принудительно. Как только в диалоге появляется говорящая голова: call talk_p_proc перестает нормально работать, итог фалл падает. Если сделать машину криттером то последствия плохи, она пытается реагировать на бой и это влечет за собой тотализацию последней, а как только у неё начинается смерть - фалл падает.
Фалл падает, падает и еще раз падает.
Хто поможет?

-----
В жизни нельзя быть уверенным на 100%, ведь никогда не знаешь когда...

Отправлено: 0:02 - 21 Сент., 2005 | ИСПРАВЛЕНО: Pavel - 9:40 - 21 Сент., 2005
Wasteland Ghost
Маленькое Злое Привидение

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

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

Во-первых, вместо call talk_p_proc для принудительного входа в диалог используется команда dialogue_system_enter.
Во-вторых, объясни подробнее, что конкретно ты делаешь.
В-третьих, если не получается со сценери, сделай криттера, который выглядит как машина .

И, кстати, что означает "порождающий скрипт"? Ты часом не до spawn добрался?

Отправлено: 10:13 - 21 Сент., 2005
Pavel
Модератор

Откуда: Одесса Украина
Регистрация: Май 2004

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

1) Ой, моя тупой..  Да, ночь видать мозги отшибла
2) Есть машина, я почти определися, что наилегчайшим будет создавать криттера при начале диалога и убивать его по окончании. Криттер - мышь, за машиной не видно, видимость не убираю дабы багов не было. При начале диалога выходит задний фон: торпеда Крайслера /спасибо доброму человеку/ и на его фоне действует, мигает разными лампочками радиостанция. А все остальное диалог.
3) Думаю, что проблема как раз в 1м пункте закралась.

Да, он самый.  spawn конечно хорошо, но модочки в нем вроде не работают, хотя... опять же трабла может быть в первом пункте.
Спасибо.

-----
В жизни нельзя быть уверенным на 100%, ведь никогда не знаешь когда...

Отправлено: 11:16 - 21 Сент., 2005
Wasteland Ghost
Маленькое Злое Привидение

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

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

О! spawn не привязывает скрипт ни к чему, поэтому я почти уверена, что диалоговый режим и прочая и прочая, связанная с прошниками и свойствами объекта будет глючить немеряно. Вообще криттера надо не спауном порождать, а просто через create_object_sid.

Отправлено: 13:54 - 21 Сент., 2005
Pavel
Модератор

Откуда: Одесса Украина
Регистрация: Май 2004

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

Полностью согласен, просто перед написанием сообщения я все перепробовал.
Вечером отпишусь об успехах

-----
В жизни нельзя быть уверенным на 100%, ведь никогда не знаешь когда...

Отправлено: 18:05 - 21 Сент., 2005
Pavel
Модератор

Откуда: Одесса Украина
Регистрация: Май 2004

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

WG еще раз спасибо, а то запарился  из-за этой мелочи

Если кому интересно будет, то текст ниже:

В машине..
procedure use_obj_on_p_proc begin
....
обычный текст
....
// добавка
 if (obj_pid(obj_being_used_with)==PID_RIPPER) then    /*116-риппер, просто пример предмета*/
 begin
 create_object_sid(16777227,self_tile,0,1496); /*создадим криттера мышь, потому, что маленькая и за машиной не видна*/
 end
//
end

в скрипте самого диалога, у меня 1496

procedure start begin
check_set_obj_visiblility(self_obj,true); /*сделаем криттера не видимым всегда, хотя всегда понятие растяжимое, 1 из 100 раз может и проявиться если бой начинается, а криттер только появился из предыдущего скрипта и еще не успел инициализироваться и двиг не запустил start*/
end

procedure critter_p_proc begin
if vs==0 then  /* как только криттер появился, то начинается диалог,  в конце диалога vs:=1 */
     begin
     dialogue_system_enter;  /*начало диалога*/
     end
     else begin
     destroy_object(self_obj);  /*и по завершению диалога он убивается.*/
     end
end
....
procedure Node999 begin
vs:=1; /*конец диалога, убиение криттера*/
end

-----
В жизни нельзя быть уверенным на 100%, ведь никогда не знаешь когда...

Отправлено: 20:08 - 21 Сент., 2005
Mynah
Модератор

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

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

>>1 из 100 раз может и проявиться если бой начинается

Вообще-то, start должен срабатывать всегда. Но если возникают проблемы, то исправляется так:

В машине..
procedure use_obj_on_p_proc begin

variable smart_rat;
....
обычный текст
....
// добавка
if (obj_pid(obj_being_used_with)==PID_RIPPER) then    /*116-риппер, просто пример предмета*/
begin

 smart_rat:=create_object_sid(16777227,self_tile,0,1496); /*создадим криттера мышь, потому, что маленькая и за машиной не видна*/
 check_set_obj_visiblility(smart_rat, true);  
end
//
end


А из крыскиного start'a установку невидимости убрать.

-----
Scio me nihil scire

Отправлено: 0:50 - 22 Сент., 2005
Pavel
Модератор

Откуда: Одесса Украина
Регистрация: Май 2004

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

Спасибо Mynah, то что нужно.
Теперь вообще не красота, а просто заглядение

-----
В жизни нельзя быть уверенным на 100%, ведь никогда не знаешь когда...

Отправлено: 10:12 - 22 Сент., 2005
Sokil
Пользователь

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

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

Ребята, очередной вопрос. Как от произвольного (гуманоидного) криттера добиться, чтобы он шевелил ручками, как будто что-то юзая? Хочется сделать такой прикол: мальчика на побегушках, который бы в баре постоянно шастал из кухни к столикам и обратно. Подходит к столу, шевелит руками, вроде как выпивку берет, и убегает. Аналогичную штуку видел только в "Новом Взгляде", где Виски Боб(?) бухает с Чузом. Исходников у меня нет, а декомпиллировать -- увольте-с.

Отправлено: 17:34 - 29 Сент., 2005
Wasteland Ghost
Маленькое Злое Привидение

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

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

В НВ честный use . Тебе же нужна команда anim и примерно такие параметры:
#define ANIM_magic_hands_ground      (10)
#define ANIM_magic_hands_middle      (11)
#define ANIM_magic_hands_up          (12)
Подробнее читай в доке .

Отправлено: 19:22 - 29 Сент., 2005
 

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 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