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

 
Wasteland Ghost
Маленькое Злое Привидение

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

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

Неправильно: map_update_p_proc. При переходе на новый левел обязана сработать.

ЗЫ Если не секрет... зачем тебе это?!? 8-( )

Отправлено: 13:22 - 10 Янв., 2005
Ray
Модератор

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

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

2 Wasteland Ghost
Большое спасибо. Это я как-то не досмотрел. Но spatial скрипты всё-равно придется использовать, а то перса 4 раза в 10 игровых минут будет переносить на заданый hex.
P.S Не секрет, но пока не доделал не хочу просто трепаться, а "spatial" for you отвечу в мыло.

Отправлено: 15:18 - 10 Янв., 2005
Wasteland Ghost
Маленькое Злое Привидение

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

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

Если всё правильно сделаешь, то не будет ;).

Отправлено: 18:29 - 10 Янв., 2005
Ray
Модератор

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

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

Ещё одна мелочь. У меня есть такой кусок кода в скрипте карты

procedure map_update_p_proc
begin
 if (op_global_var(644) != 0) then
 begin
   op_critter_attempt_placement(op_dude_obj(), op_global_var(644), op_elevation(op_dude_obj()));
   op_move_to(op_dude_obj(), op_tile_num(op_dude_obj()), op_elevation(op_dude_obj()));
   op_set_global_var(644, 0);
 end
 else
   op_set_light_level(100);
end

В spatial script записано следующее

procedure spatial_p_proc
begin
 op_set_global_var(644,26304);
end

Тоесть, когда перс проходит по spatial скрипту присваивается значение гваре - куда надо перенестись. Потом выполняется перенос и гвара обнуляется что-бы не работать всё время. НО! Перенос происходит нормально, как и надо, но не срабатывает op_move_to перемещение экрана за персом. Ежели использовать всё тоже но не из map_update то всё работает. В чём дело понятно(так же как и с вызовом боя из разговора).Но как добиться рабочего результата?

Отправлено: 19:03 - 10 Янв., 2005
ChosenOne
Пользователь

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

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

Здравствуйте, многоуважаемые TeamX!
Перво-наперво, хочу извиниться, за то что записался в бетатестеры так и не протестировал... Конечно, виной тому плохой коннект 19200, плохой комп 1999 года и крайне нестабильная политичекая обстановка в Гондурасе. Ну и я,  вместо того что б посвятить себя тестингу, делал очень-много-другого... Вообщем простите, засранца и ответьте на вопрос...
Вообщем маплю я уже сто лет... ещё до оффициального появления маппера БиСа... Занялся графикой... Вообщем всё идёт хорошо, но ОНИ... Скрипты всмысле... И дело не в том что я не могу что то понять в самом языке - у меня не работает компилятор. Скачал я ватком крутил вертел, добился того что откомпилировал пару скриптов - но в большенстве случаев он пишет нечто вроде "неизвестен символ S"(в родных скриптах... если бы в моих можно было пожаловаться на кривые руки)...
Люди добрые... Помогите! А то город мёртв =)...

P.S. Не могу не сказать о Доке по скриптам - отличная вещь... Прямо супер... Но не рауют ошибки в исходниках - это конечно помогает начинающему скриптеру наметать глаз, но я уж собирался винду сносить от того что скрипты не компилировались =)))
Если будете дальше заниматься - вы там подкорректируйте для таких как я - нас много =)

-----
Иди и впредь твори добро, но остерегайся соблазнов и красивых интерфейсов. Потому как не все золото, что блестит. [PNWORLD] - Post Nuclear World!
LISTEN TO BLACK SABBATH

Отправлено: 21:07 - 10 Янв., 2005
Net
Пользователь

Откуда: Samara
Регистрация: Дек. 2004

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

Raven.
Ты, как я понял скрипт-убийца. Но ничего не работает И использовал MVAR Lvar просто variables, но не атакует меня и все тут. Что делать? И еще вопрос.

newland.h
***
#define MVAR_KILL_HIM (x)
***
x - что значит? Отчего зависит

еще

В arvillag.h MVAR'ы с "индексами" от 0 до 4.
Далее смотрим acwarrior.ssl и видим LVAR'ы объявляются с "индексом" начиная с 4. Как это можно объяснить?

Отправлено: 22:14 - 10 Янв., 2005
Alan Killenger
Пользователь

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

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

Цитата:
Скачал я ватком крутил вертел, добился того что откомпилировал пару скриптов - но в большенстве случаев он пишет нечто вроде "неизвестен символ S"(в родных скриптах... если бы в моих можно было пожаловаться на кривые руки)...

Пошлите в приват некомпилируемый скрипт.

P.S. Насчет ошибок в исходниках, вы точно не путаете это с необновленными скриптами?

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

Отправлено: 0:34 - 11 Янв., 2005
Raven
Пользователь

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

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

to Ray

>>не срабатывает op_move_to перемещение экрана за персом.
--------------------------------------------------------
int move_to(ObjectPtr obj, int tile_num, int elev) - переместить объект

Аргументы:
obj - указатель на объект
tile_num - позиция (tile_num = 200 * y + x)
elev - уровень (этаж) - 0, 1 или 2
--------------------------------------------------------
--------------------------------------------------------
void tile_set_center(int tileNum) - центрировать экран на заданном хексе

Аргументы:
tileNum - номер хекса (200 * y + x)

Возвращаемое значение:
Нет

Примечания:
макрос от metarule3(METARULE3_TILE_SET_CENTER, tileNum, 0, 0)
центрирует экран на указнном хексе нулевого этажа, для того, чтобы центрировать экран на хексе не нулевого этажа, нужно воспользоваться функцией metarule3(METARULE3_TILE_SET_CENTER, tileNum, elevation, 0)
--------------------------------------------------------

to Chosen One

>>Если будете дальше заниматься - вы там подкорректируйте для таких как я - нас много =)

А можно озвучить? Чтобы я знал чего править. Лучше в личку, наверное.

to Net

>>#define MVAR_KILL_HIM (x)
>>x - что значит? Отчего зависит

Доку читал? Глава "Препроцессор"?

Кстати, не забыл, что при использовании МВАР/ЛВАР их надо прописывать?

>>Но ничего не работает

А тестишь, часом, не в Мапере? Там attack не вызывается. Добавь критера на artemple.map, начни новую игру и проверь (или любая другая карта, через ctrl+R, save, Ctrl+R, load). Только что набросал простой скрипт - работает. В игре. В мапере - нет. Если всё равно не заработает - пиши, запостю скрипт.

>>Далее смотрим acwarrior.ssl и видим LVAR'ы объявляются с "индексом" начиная с 4.

В заинклюденых файлах могут быть объявления первых 4-ёх.

Да и вообще - ничего не мешает мне сделать так:
scr.ssl
----------------------------------------------
#define My_lvar(11)
<...>
----------------------------------------------
scripts.ssl
----------------------------------------------
<...>
scr.int     ; <...>            # local_vars=12
----------------------------------------------

Работать будет. Место мне выделять под 12 ЛВАР. Сколько из них я буду реально использовать - моё дело. Так могли и БИСы поступить. Например, у них вары по смыслу расписаны. Какая-то всегда Hostile. Какая-то - HereBefore. Место резервируем под все, используем только те, что необходимы.

Отправлено: 2:41 - 11 Янв., 2005
Ray
Модератор

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

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

>>void tile_set_center(int tileNum) - центрировать экран на заданном хексе

Примечания:
макрос от metarule3(METARULE3_TILE_SET_CENTER, tileNum, 0, 0)
центрирует экран на указнном хексе нулевого этажа, для того, чтобы центрировать экран на хексе не нулевого этажа, нужно воспользоваться функцией metarule3(METARULE3_TILE_SET_CENTER, tileNum, elevation, 0)

По поводу metarule3(.....    я так понимаю это обозначение бралось из define.h? Но к сожалению я не нашёл ни одного раза использования в родных скриптах или может я просто не нашел. Я не юзаю бисовский компилятор, так-что это не работает.
А по поводу void tile_set_center(int tileNum)
что-то я раньше в скриптах не замечал описания функций. И опять таки нигде в скриптах не нашел tile_set_center(int tileNum) , а как же родные op_critter_attempt_placement(.....) ?

Отправлено: 10:48 - 11 Янв., 2005
ChosenOne
Пользователь

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

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

Цитата:

P.S. Насчет ошибок в исходниках, вы точно не путаете это с необновленными скриптами?



Скрипты от 1.02d, всё равно не работает пишет
undefined symbol S.(ПОчти во всех исходных, например в том же Джордане)
Вот что в препроцессеных исходниках *.i на строчке где ошибка(В Джордане 9588)

Цитата:

... else if ((global_var((38)) == 1)) then Static_Reaction:=S\ ... <- ВОт она ета S судя по всему, от которой он ломается




Не компилируемости пошлю Raven'у... Вроде как он писал, ему интересней =)...(есси не ошибаюсь)


-----
Иди и впредь твори добро, но остерегайся соблазнов и красивых интерфейсов. Потому как не все золото, что блестит. [PNWORLD] - Post Nuclear World!
LISTEN TO BLACK SABBATH

Отправлено: 14:26 - 11 Янв., 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