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

 
Ray
Модератор

Откуда: Донецк,Украина
Регистрация: Янв. 2004

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

Возник такой вопрос - как самому задать стартовый тайл, на котором появится игрок при посищении карты. Очень нужно сделать это через скрипт. В принципе есть процедура - map_enter_p_proc
и так-же другая op_move_to. В теории  map_enter_p_proc вызывается при посищении карты, а op_move_to переносит игрока. Но если вписать op_move_to внутрь первой ничего не работает . Кто знает, как точно работает map_enter_p_proc?

И ещё. Если задавать стартовый тайл через маппер и привязывать при помощи скрипта, у кого из них приоритет выше.Что в итоге будет выполняться?  

Отправлено: 23:10 - 28 Окт., 2004
CrashBoom
Пользователь

Откуда: Москва
Регистрация: Авг. 2004

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

map_enter_p_proc этот скрипт задаёт первое место появления чузена.

Отправлено: 23:15 - 28 Окт., 2004
Mynah
Модератор

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

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

Ну вот и я обращаюсь за справкой :)

Кусок кода:

procedure move_pistols begin
  add_mult_objs_to_inven(self_obj, pistols,num_of_pistols);
  rm_mult_objs_from_inven(dude_obj, pistols,num_of_pistols);
  set_gunz_quest_complete;
end

При компиляции выдаёт "; expected"

Другой кусок кода:
procedure move_pistols begin
  test := add_mult_objs_to_inven(self_obj, pistols,num_of_pistols);
  test := rm_mult_objs_from_inven(dude_obj, pistols,num_of_pistols);
  set_gunz_quest_complete;
end

Компилируется без ошибок, хотя про add_mult_objs_to_inven и rm_mult_objs_from_inven в Доке указно, что это void, а не function... Я что-то не так делаю?

-----
Scio me nihil scire

Отправлено: 14:20 - 29 Окт., 2004
Wasteland Ghost
Маленькое Злое Привидение

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

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

Цитата:

Компилируется без ошибок, хотя про add_mult_objs_to_inven и rm_mult_objs_from_inven в Доке указно, что это void, а не function... Я что-то не так делаю?


Дебажишь ты неправильно :). На будущее: за один раз можно вносить только одно исправление ;). Вот это вполне компилится:

variable tmp;
add_mult_objs_to_inven(self_obj, 1, 1);
tmp := rm_mult_objs_from_inven(dude_obj, 1, 1);

add_mult_objs_to_inven, действительно, ничего не возвращает, а вот rm_mult_objs_from_inven возвращает целое, о чём написано в доке.

Отправлено: 15:11 - 29 Окт., 2004
Mynah
Модератор

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

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

Wasteland Ghost, спасибо :)
Надо в следующий раз внимательно читать... А то бьюсь головой об стенку.

Кстати, мой вариант компилился, но диалог после выполнения скрипта не закрывался. Видимо, из-за присвоения переменной значения процедуры :-/

-----
Scio me nihil scire

Отправлено: 15:40 - 29 Окт., 2004
Maximus
Пользователь

Откуда: RF
Регистрация: Нояб. 2004

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

Скажите где скачать скрипты от Fallout1?
Желательно от русской версии.


-----
Dura lex sad lex

Отправлено: 7:33 - 8 Ноября, 2004
Mynah
Модератор

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

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

Кусок декомпилированного скрипта:

     if ((op_global_var(639) == 1) or (op_global_var(639) == 2)) then
     begin
       op_start_gdialog(1307, op_self_obj(), 4, -1, -1);
       maybe_start_dialog();
       asm_push_value(6672); // помещаем в стэк значение 6672
       asm(0x800d);   // return? не знаю, что именно возвращает. видимо как-раз 6672 из "стэка возвратов"(?)
       asm_push_value(0);   // последовательно  помещаем
       asm_push_value(12);  //  в стэк 0 и 12 (как я понял, ссылка на процедуру)
       asm(0x8005); //call
       asm(0x801a); //удаление из стэка  
       maybe_close_dialog();
       maybe_op_end_gdialog();
     end

Я не очень большой специалист в асме. Скорее наоборот :)
Реально ли определить - какая именно функция вызывается в этом куске кода? И если реально - то каким образом?

(Отредактировал(а) Mynah - 14:34 - 9 Ноября, 2004)

(Отредактировал(а) Mynah - 14:35 - 9 Ноября, 2004)


(Добавление от 12:38 - 9 Ноября, 2004.)


2Maximus:
Цитата:
Скажите где скачать скрипты от Fallout1?

ЕМНИП, нигде. Их, вроде бы, не выставляли для открытого доступа (хотя... точно сказать не могу).
Пользуйся декомпилятором Noid'а, с ключом --fallout1.

-----
Scio me nihil scire

Отправлено: 12:28 - 9 Ноября, 2004
Alan Killenger
Пользователь

Откуда: Россия, Ижевск
Регистрация: Июль 2004

Всего: 404 сообщения

Есть функции, проверяющие, может ли один объект слышать(видеть) другой, есть функция, которая распологает криттера на заданной позиции, а если хекс блокирован - на ближайшем свободном хексе.

Есть ли функции, которые проверяют можно ли видеть/слышать/стоять непосредственно на этом хексе? Пример: требуется узнать, может ли криттер встать на заданный хекс; требуется узнать, если криттер отойдет на 1 хекс, то будет ли он виден другому криттеру?


-----
hit me, nail me, make me god

Отправлено: 12:37 - 16 Ноября, 2004
Raven
Пользователь

Откуда: Владик
Регистрация: Февр. 2004

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

>>Есть ли функции, которые проверяют можно ли видеть/слышать/стоять непосредственно на этом хексе?

Нет.

>>требуется узнать, если криттер отойдет на 1 хекс, то будет ли он виден другому криттеру?

Можно создать тестового критера, сделать critter_attempt_placement на нужный хекс и сравнить тайл-нум этого критера (куда его разместили на самом деле) с исходным тайлом. Если номера совпадут - всё ОК, размещение возможно. Иначе нет. Удаляем тестового критера и делаем всё остальное.

Криво, конечно, зато работать будет.

А первая задачка - вроде никак.

Отправлено: 13:35 - 16 Ноября, 2004
Alan Killenger
Пользователь

Откуда: Россия, Ижевск
Регистрация: Июль 2004

Всего: 404 сообщения

Спасибо Raven, именно это я и ожидал услышать. Обыдно - пропадает возможность для создания нормального ИИ криттерам, создавать тестового криттера IMHO никак не прет.

Еще такой ламмерский вопрос: как в скрипте узнать пол игрока?

-----
hit me, nail me, make me god

Отправлено: 14:11 - 16 Ноября, 2004
 

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