gamecreator
Posts: 7107
|
|
19.01.2011 17:39 |
|
Sav
Posts: 2180
|
Здесь довольно неприятная штука - нужно хранить информацию о посещении каждого объекта (вроде есть предел их количества) в w-переменных каждого героя, либо инфу о всех героях в PO каждого объекта. Причём в любом случае побитно.
|
|
19.01.2011 18:20 |
|
gamecreator
Posts: 7107
|
|
19.01.2011 19:11 |
|
Barin
Posts: 804
|
Может быть попробовать оттолкнуться от этого варианта:
!?OB63/48;
!!IF:W-1;
!!POv998/v999/v1000:H?y10;
!!VRw50&y10<>y2:S0; (здесь непонятно значение y2, ноль? Она же не может иметь значение, установленное в конце скрипта.)
!!FU&y10=y2/w50=1:E;
!!IF:M^Сообщение^;
!!HE-1:O?y1 N?y2;Номер текущего героя.
!!OB998:T?y3 U?y4 ;
!!PO998:Hy2 Oy1 Ty3 Sy4;
!!VRw50:S1;
Скрипт работает в течении 1 дня. Запускаем карту, у нас есть герои и 4 объекта, начинаем всеми посещать объекты и добиваемся того, чего хотели - каждый герой посетивший конкретный объект, больше не мог его посетить, и даже так - посетил 1-й герой объект, потом 2-й герой этот же объект и снова посещаю 1-ым, для которого объект уже
недоступен. Т.е. в течении 1 дня всё работает, но наступает новый день (2-й) и герои вновь могут посетить объекты. (вроде бы даже 1-й посещает объект и следующий доступ как положено закрывается, а 2-й вообще не может посетить этот же объект).
Значит когда наступает новый день, все настройки сбрасываются. Что ещё можно добавить в этот скрипт?
Так, выяснилось ещё кое-что... работает хорошо, если каждый герой пробежится сразу по всем объектам. А если в тот же 1 день посетит 1 герой, за ним 2-й этот же объект, потом 1-й герой посещает другой объект, за ним посетивший этот другой объект уже вообще не может посетить.
Моя страница в ВК
Моя разработка мода
(This post was last modified: 19.01.2011 23:04 by Barin.)
|
|
19.01.2011 22:52 |
|
Sav
Posts: 2180
|
Этот скрипт не рабочий, т. к. y2 не устанавливается перед проверкой. День тут не при чём.
Здесь всё должно быть гораздо сложнее. Если хочешь, я напишу тебе правильный скрипт, но не сразу и с ограничениями на число объектов.
|
|
19.01.2011 23:04 |
|
Barin
Posts: 804
|
(19.01.2011 23:04)Sav Wrote: Этот скрипт не рабочий, т. к. y2 не устанавливается перед проверкой. День тут не при чём.
Как этот скрипт работает я написал выше, вот и сам не пойму про y2, когда устанавливал перед проверкой, скрипт так не работал, а он ближе кажется для реализации идеи.
Quote:Здесь всё должно быть гораздо сложнее. Если хочешь, я напишу тебе правильный скрипт, но не сразу и с ограничениями на число объектов.
Напиши скрипт. И сколько объектов предполагается?
Моя страница в ВК
Моя разработка мода
|
|
19.01.2011 23:15 |
|
Sav
Posts: 2180
|
Diman Master Wrote:Как этот скрипт работает я написал выше, вот и сам не пойму про y2, когда устанавливал перед проверкой, скрипт так не работал, а он ближе кажется для реализации идеи.
Поскольку ты её не устанавливаешь, у неё просто становится неизвестное значение, которое к тому же меняется при передаче хода. Приближение к реализации задумки в данном случае - случайность.
Чисто логически - если ты не давал переменной никакого значения, как ты можешь её с чем-то сравнивать?
Diman Master Wrote:Напиши скрипт. И сколько объектов предполагается?
Хорошо, только не сразу.
По поводу объектов - у каждого героя по 200 w-переменных (ну 100, если учитывать стандартные скрипты). Каждая переменная - 32 объекта.
Соответственно, объектов можно сделать очень много, но не неограниченно. Ну и, конечно, всё сильно упростилочь бы, если бы объектов было не более 32.
|
|
19.01.2011 23:29 |
|
Barin
Posts: 804
|
|
20.01.2011 00:01 |
|
Sav
Posts: 2180
|
Diman Master, вот скрипт. Не тестировал, но по идее должен работать. Посещён или нет каждый объект - записано побитно в переменной w116 каждого героя. Номера объектов записываются в PO:H в начале игры (Для поставленного ERM объекта его придётся записывать вручную).
Подробные комментарии писать неохота, извини.
*Присваиваем номер каждому нужному объекту в PO:H.
!?PI; !!VRy-2:Sv2; !!VRy-3:Sv3; !!VRy-4:Sv4; !!UN:U63/48/?y-1; !!VRy-1:-1; !!VRv2:S-1; !!DO22100/0/y-1/1:P; !!VRv2:Sy-2; !!VRv3:Sy-3; !!VRv4:Sy-4;
*При посещении объекта...
!?OB63/48; !!POv998/v999/v1000:H?y-1; !!VRy-2:S1; !!DO22101/1/y-1/1:P=y-2/?y-2; !!IF:W-1; !!VRy-3:Sw116&y-2; !!FU&y-3=0:E; !!IF:M^Сообщение.^; !!VRw116:|y-2;
*Функция, устанавливающая PO:H объекту..
!?FU22100; !!UN:U63/48/-1/2; !!POv2/v3/v4:Hx16;
*Функция, вычисляющая степень 2-ки.
!?FU22101; !!VRx2:Sx1*2;
|
|
23.01.2011 20:48 |
|
Barin
Posts: 804
|
Sav, спасибо. Но скрипт не включается вообще. Можно оставить эту идею и не заморачиваться. Я сам долго долбил этот скрипт. Для конкретного объекта !!OBx/y/l; легко сделать, чем для !!OB63/48;
Моя страница в ВК
Моя разработка мода
(This post was last modified: 23.01.2011 22:31 by Barin.)
|
|
23.01.2011 22:28 |
|
Sav
Posts: 2180
|
Чтобы работал:
1. ZVSE.
2. Замени !!FU&y-3=0:E; на !!FU&y-3=1:E;.
|
|
24.01.2011 01:36 |
|
Barin
Posts: 804
|
|
25.01.2011 00:01 |
|
Sav
Posts: 2180
|
Опять я ошибся с условием.
Замени !!FU&y-3=1:E; на !!FU&y-3<>0:E;.
Это точно правильное условие.
|
|
25.01.2011 12:20 |
|
Barin
Posts: 804
|
|
25.01.2011 12:37 |
|
Bes
Posts: 5454
|
Неприятную вещь обнаружил :(
Все попытки изменить в сетевой битве для удалённого ПК величину маны героям заканчиваются неудачей :( Т.е. на моём ПК мана нормально меняется, а да другом конце показатели даже не знают что что-то должно было измениться.. Даже если поменять ману обеим сторонам на ходе удалённого ПК, то у него ничего а у меня всё измениться.
Меняю командой HE:I в теле триггера BG. Попытки использовать FU:D дают тот же результат - ничего. :(
Опытным путём убедился в том, что данная операция неработает для стороны с флагом "-999". Т.е. мана меняется только для игрока-инициатора.
И как тогда менять ману в таком случае?
Может кто напишет ф-цию, где мана будет меняться непосредственно через память (UN:C)? вдруг такой способ подействует?
Буду очень благодарен.. :sorry:
(This post was last modified: 30.01.2011 01:35 by Bes.)
|
|
30.01.2011 01:27 |
|