Current time: 22.11.2024, 22:30 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Ваши вопросы по ERM-скриптам
Author Message
Sav Offline

Posts: 2180
Post: #886

GhostManSD, вот, на основе скрипта Dracolichа.

!?OBx/y/l;При посещении объекта....
!!UN : U54/-1/?y1;Считаем количество бродячих монстров.
!!DO15/1/y1/1&y1>0 : P;Вызываем цикл, находящий и обрабатывающий бродячих монстров.

;Функция нахождения и обработки бродячего монстра.
!?FU15;Функция нахождения и обработки бродячего монстра.
!!UN : U54/-1/x16/1;Находим координаты бродячего монстра.
!!MO1 : G?y1;Считываем количество монстров.
!!OB : U?y2;Считываем номер мрнстра.
!!MA : Ly2/?y3;Считываем уровень монстра.
!!VRy4&y3<6 : S7-y3;Если монстр 1 - 6 уровня, вычисляем коэффициент для монстров 1 - 6 уровня.
!!VRy1&y3<6 : Sy1*y4;Если монстр 1 - 6 уровня, считаем новое количество монстров.
!!VRy1&y3=6 : Sy1*3:2;Если монстр 7 уровня, считаем новое количество монстров.
!!MO1 : Gy1;Устанавливаем новое количество монстров.
Добавлено:
М. А. К. С., я всё понял, оказывается я не все if-ы убрал.
Сейчас исправлю.
(This post was last modified: 03.08.2010 18:42 by Sav.)
03.08.2010 18:38
Find all posts by this user Quote this message in a reply
M.A.K.C. Offline

Posts: 472
Post: #887

(03.08.2010 18:38)Sav Wrote:  М. А. К. С., я всё понял, оказывается я не все if-ы убрал.
Сейчас исправлю.

Спасибо


Все свежие обновления я выкладываю на своем сайте здесь.
03.08.2010 18:51
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #888

М. А. К. С., я всё понял, оказывается я не все if-ы убрал.
Исправил.


Добавлено:
Извини, повторился - у меня просто инет лагает.
(This post was last modified: 03.08.2010 19:00 by Sav.)
03.08.2010 18:59
Find all posts by this user Quote this message in a reply
M.A.K.C. Offline

Posts: 472
Post: #889

(03.08.2010 18:59)Sav Wrote:  М. А. К. С., я всё понял, оказывается я не все if-ы убрал.
Исправил.

СПС, все работает


Все свежие обновления я выкладываю на своем сайте здесь.
(This post was last modified: 03.08.2010 22:41 by M.A.K.C..)
03.08.2010 20:10
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #890

Sav, долго скрипт не пахал. Потом вник, в чем дело. Вместо !!OB:... должно быть !!OBv1/v2/v3:... Добавил еще пару десятков строк, дабы число монстров увеличивалось по дробному коэффициенту (3 знака после запятой).


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
04.08.2010 02:59
Visit this user's website Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #891

GhostManSD, извини, я сам потестить не мог - потому и ошибся.Ab
04.08.2010 11:02
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #892

М. А. К. С., в моём скрипте, делающим битву со случайным монстром была ошибка. Здесь исправленный вариант.
(This post was last modified: 04.08.2010 15:49 by Sav.)
04.08.2010 11:23
Find all posts by this user Quote this message in a reply
DracoLich Offline

Posts: 251
Post: #893

2ая строка
Quote:!!OWx/y/l : M-1/1/0;
OB все-таки?
Quote:!!HE-1&y-1=2 : A48;Если номер награды равен 3, даём герою Голубку удачи.
A4/48 нужно. во избежание

Да и вообще, стиль написания сильно напоминает индусов :^^:
04.08.2010 15:21
Visit this user's website Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #894

Первое - конечно.
Второе - вроде действительно лучше, тебе лучше знать.
Сейчас поправлю предыдущий пост.

По поводу стиля написания не понял, что тебе не нравится? И, кстати, что значит ^^?
04.08.2010 15:40
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #895

Sav, даже лучше, что ошибся: есть возможность самому разобраться. Заодно можно детально разобрать скрипт и вникнуть в его суть. Так потихоньку и учусь, благодаря замечательным людям с этого форума. Взял скрипт готовый, открыл ERM-Help и вникаешь. По-моему, это просто замечательный способ учиться. Ab
Dracolich, а чем плох !!HE-1:Ax? Справки просто нет под рукой. Артефакт коряво добавляется? Или одна команда добавляет в рюкзак, а другая - в слот (если тот не занят, иначе - в рюкзак)?
Добавлено:
^^ - один из кавайных эмотиконов. Или, например, ^_~. Или даже d^,^b.


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
(This post was last modified: 04.08.2010 16:11 by GhostManSD.)
04.08.2010 16:09
Visit this user's website Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #896

Вот, опять донимаю вас вопросами. Как сделать такую финтифлюшку: при начале новой недели, если это - неделя монстров, проверить количество появившихся монстров. Далее, если монстр 1-го уровня, то установить кол-во 80-100. Если второго - 70-90.


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
04.08.2010 16:33
Visit this user's website Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #897

GhostManSD, вот.
Может, можно сделать это и лучше, но я не смог.
Не гарантирую, что сработает. Может тормозить игру. При постановке или удлении объекта надо установить PO-тип объекта на номер поставленного объекта или сбросить его в 0 с помощью PO : T.
04.08.2010 22:36
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #898

Ого, как сложно. А это не будет задевать старых монстров, оставшихся с прошлых дней?
Sav, по идее, можно сделать иначе. В начале игры я уже пробежался циклом по монстрам и установил их минимальное количество. Можно добавить еженедельный таймер, включающий в себя цикл, который бы проверял всех монстров на количество. Если монстр первого левела с количеством менее 80, то установить кол-во от 80 до 100. Для второго и прочих уровней тоже считать.
По идее, это проще реализовать. Я сейчас понял, что это могу реализовать даже я. Если быть точным, я это уже реализовал в самом начале карты. Просто надо добавить в цикл проверку монстра в цикле на количество, а затем запускать еженедельный таймер, содержащий этот цикл.


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
04.08.2010 22:49
Visit this user's website Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #899

То есть все появляющиеся монсты будут иметь количество менее 80, 70 и т. д.?
Тогда можно и просто проверять монстров в каждой неделе. Но тогда стоящие в начале игры монстры должны иметь количестово 80, 70 и т. д. и более.


У меня была пара недочётов, исправил.
Смысл моего скрипта в том, что он в начале игры устанавливает PO-переменные для жёлтых (со входом, с монстром и т. д.) клеток карты на типы объектов, на них стоящих. В начале недели скрипт проверяет все клетки карты и, если видит, что на этой клетке есть монстр, но PO-тип этой клетки карты не соответсвует типу "монстр" (54), то скрипт считает такого монстра появившимся в начале недели и устанавливает его количество, а также устанавливает PO-переменную для этой клетки в 54 (чтобы больше этих монстров не трогать). Если какой-либо монстр побеждён в битве, скрипт сбрасывает PO-переменную на его клетке в 0. Всех поставленных скриптом монстров мой скрипт будет считать появившимися в начале недели, поэтому для каждой постановки объекта надо устанавливать PO-переменную в тип поставленного объекта, а для каждого удаления - в 0.

Вот только будет ли работать -не знаю.Sm
05.08.2010 08:06
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #900

Sav, если запустить таймер с первого дня в теле пост-инструкции, все сработает отлично.
Сейчас в голову пришла другая мысль. У меня было два цикла.
1. Первый цикл следовал непосредственно в теле !?PI и устанавливал количество монстров (1-й уровень - 100-125, 2-й - 75-100, 3-й - 60-75, 4-й - 45-60, 5-й - 30-45, 6-й - 15-30, 7-й - 5-15).
2. Второй цикл был включен в тело !?TM, сам же таймер выполнялся ежедневно. Цикл умножал количество монстров в зависимости от сложности на определенный коэффициент, устанавливая также значение !!PO:B (это оказалось необходимым, чтобы домножать количество монстров на дробный коэффициент, например, 1.033, не теряя при этом цифры за запятой).

Это - что было. Как я хочу сделать сейчас? Нужно включить второй цикл в еженедельный таймер. В цикле проверять кол-во найденных монстров и устанавливать их численность не менее и не более нужной мне.
Т.о., в теле !?PI будет два таймера: первый будет выполняться раз в неделю с первого дня и устанавливать кол-во монстров не менее нужного мне, а также заносить для новых монстров данные в !!PO:B. Второй таймер будет увеличивать число имеющихся монстров ежедневно, исходя из значения, выставленного в !!PO:B.


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
05.08.2010 09:40
Visit this user's website Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group