Гипат.org

MODный форум - Мой квест ( public : Script )

Conan Fedr - 04 сентября 2005, 20:08
Вот скрипт моего квста :

*************************************************************

GlobalVars (
NULL : object,
VSS#i#val : object,
i : object
)

DeclareScript VCheck#3#2 ( this : object )
DeclareScript VTriger#3#3 ( this : object )
DeclareScript VTriger#3#4 ( this : object )
DeclareScript VTriger#3#5 ( this : object )

Script VCheck#3#2
(
if
(
IsEqual( GetLeverState( "GetObject(5636)" ) , 1 )
)
then
(
KillScript( )
VTriger#3#3( this )
)
)

Script VTriger#3#3
(
if
(
)
then
(
KillScript( )
ConsoleString( "Ворота открыты - забрать ключ" )
EraseQuestItem( 0, 29 )
)
)

Script VCheck#3#4
(
if
(
IsEqual( GetLeverState( "GetObject(right_crystal1)" ) , 1 )
IsEqual( GetLeverState( "GetObject(right_crystal2)" ) , 1 )
IsEqual( GetLeverState( "GetObject(right_crystal3)" ) , 1 )
IsEqual( GetLeverState( "GetObject(right_crystal4)" ) , 1 )
)
else
(
ConsoleString( "Все кристалы собраны образец готов" )
GiveQuestItem(0,"leftcrystal")
)
)

Script VTriger#3#5
(
if
(
)
then
(
KillScript( )
QStart( "z12q6" )
QObjGetItem(29)
QObjUse( "GetObject(5636)", 1 )
QObjGetItem(21)
QFinish( )
)
)

WorldScript
(
Sleep( 2 )
VTriger#3#1( NULL )
VCheck#3#2( NULL )
VTriger#3#4( NULL )
VTriger#3#5( NULL )
)

*************************************************************
Снайпер - 04 сентября 2005, 20:11
Молодец... Лучше, чем Артём, однако можно было бы состряпать нечто более убедительное и с МРТ ;)
Conan Fedr - 04 сентября 2005, 20:11
сорри тут одна ошибка я забыл удалить :) вызов функции AddMob

*********************

WorldScript
(
Sleep( 2 )
Вот это удалено VTriger#3#1( NULL )
VCheck#3#2( NULL )
VTriger#3#4( NULL )
VTriger#3#5( NULL )
)

************************
Снайпер - 04 сентября 2005, 20:17
Это все равно работать не будет - ПЗ не поддерживает else.
Conan Fedr - 04 сентября 2005, 20:21
GlobalVars (
NULL : object,
VSS#i#val : object,
i : object
)

DeclareScript VCheck#3#2 ( this : object )
DeclareScript VTriger#3#3 ( this : object )
DeclareScript VTriger#3#4 ( this : object )
DeclareScript VTriger#3#5 ( this : object )

Script VCheck#3#2
(
if
(
IsEqual( GetLeverState( GetObject(5636) ) , 1 )
)
then
(
KillScript( )
VTriger#3#3( this )
)
)

Script VTriger#3#3
(
if
(
)
then
(
KillScript( )
ConsoleString( "Ворота открыты - забрать ключ" )
EraseQuestItem( 0, 29 )
)
)

Script VTriger#3#4
(
if
(
IsEqual( GetLeverState( GetObject(right_crystal1) ) , 1 )
IsEqual( GetLeverState( GetObject(right_crystal2) ) , 1 )
IsEqual( GetLeverState( GetObject(right_crystal3) ) , 1 )
IsEqual( GetLeverState( GetObject(right_crystal4) ) , 1 )
)
then
(
ConsoleString( "Все кристалы собраны образец готов" )
GiveQuestItem(0,"leftcrystal")
)
)

Script VTriger#3#5
(
if
(
)
then
(
KillScript( )
QStart( "z12q6" )
QObjGetItem(29)
QObjUse( "GetObject(5636)", 1 )
QObjGetItem(21)
QFinish( )
)
)

WorldScript
(
Sleep( 2 )
VCheck#3#2( NULL )
VTriger#3#4( NULL )
VTriger#3#5( NULL )
)
Conan Fedr - 05 сентября 2005, 07:56
Я вот хочу узнать правильно ли я думаю как ПЗ скрипт пашет :

ЗАГРУЗКА МОБА
1. Выполняется Блок GlobalVars( обьявление переменных ) .
2. Выполняется Блок WorldScript( Присваивания , вызов функций ) . помоему блок WorldScript( ) идентичен void main{ while(true){ код } } вот такому коде на С++ , тоесть это бесконечный цикл .
3. Выполняются вызываимые функции после конаца кода функции если из нее не происходило вызова другой функции , вызывается функция которая следует за это в WorldScript( ) а не которая стоит ниже этой физически .

Правильно я думаю ? Подскажите не побрезгайте пожалуйста .
Conan Fedr - 05 сентября 2005, 08:03
А вот теперь я хотел бы узнать если я надеюсь я правильно думаю как работает скрипт ПЗ почему неработает блок скрипта у меня ? Сейчас все обьясню . Только пожалуйста неговорите " сначала сам попробуй разок другой а затем у нас спрашивай " так как я просмотрел скрипты практически всех мобов .
Вот приведу кусок кода который меня интерисует :

НАЧАЛО КОДА
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Script VTriger#3#1
(
if
(
)
then
(
KillScript( )
AddMob( "z12q6_c1.mob" )
AddMob( "z12q6_c2.mob" )
AddMob( "z12q6_c3.mob" )
AddMob( "z12q6_c4.mob" )
)
)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

КОД

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

WorldScript
(
Sleep( 2 )
VTriger#3#1( NULL )
VCheck#3#2( NULL )
VTriger#3#4( NULL )
VTriger#3#5( NULL )
)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
КОНЕЦ

Почему мобы неподгружаются ? Через консоль подгружаются а следовательно мобы рабочие , а через скрипт неподгружаются . Подскажите пожалуйста что нетак .
Sagrer - 05 сентября 2005, 12:56
а ты уверен что скрипт вообще работает?
Conan Fedr - 05 сентября 2005, 14:13
Как я могу быть уверен в том что он работает если он неработает ?
Conan Fedr - 05 сентября 2005, 14:50
Вот полный скрипт :

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GlobalVars (
NULL : object,
VSS#i#val : object,
i : object
)

DeclareScript VTriger#3#1 ( this : pbject )
DeclareScript VCheck#3#2 ( this : object )
DeclareScript VTriger#3#3 ( this : object )
DeclareScript VTriger#3#4 ( this : object )
DeclareScript VTriger#3#5 ( this : object )

Script VTriger#3#1
(
if
(
)
then
(
KillScript( )
AddMob( "z12q6_c1.mob" )
AddMob( "z12q6_c2.mob" )
AddMob( "z12q6_c3.mob" )
AddMob( "z12q6_c4.mob" )
)
)

Script VCheck#3#2
(
if
(
IsEqual( GetLeverState( GetObject(5636) ) , 1 )
)
then
(
KillScript( )
VTriger#3#3( this )
)
)

Script VTriger#3#3
(
if
(
)
then
(
KillScript( )
ConsoleString( "Ворота открыты - забрать ключ" )
EraseQuestItem( 0, 29 )
)
)

Script VTriger#3#4
(
if
(
IsEqual( GetLeverState( GetObject(1890) ) , 1 )
IsEqual( GetLeverState( GetObject(1891) ) , 1 )
IsEqual( GetLeverState( GetObject(1892) ) , 1 )
IsEqual( GetLeverState( GetObject(1893) ) , 1 )
)
then
(
ConsoleString( "Все кристалы собраны образец готов" )
GiveQuestItem(0,"rightcrystal")
)
)

Script VTriger#3#5
(
if
(
)
then
(
KillScript( )
QStart( "z12q6" )
QObjGetItem(29)
QObjUse( "GetObject(5636)", 1 )
QObjGetItem(21)
QFinish( )
)
)

WorldScript
(
Sleep( 2 )
VTriger#3#1( NULL )
VCheck#3#2( NULL )
VTriger#3#4( NULL )
VTriger#3#5( NULL )
)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sagrer - 05 сентября 2005, 19:17
кириллицу нельзя выводить в консоль. Тоесть в теории можно, иногда выводится, а иногда скрипт перестает выполняться...
Снайпер - 05 сентября 2005, 20:06
Потому, что русские символы не считаются типом string ;)
Sagrer - 05 сентября 2005, 21:37
Цитата:

Потому, что русские символы не считаются типом string


ну это хз.... иногда текст выводится, и текст в кавычках воспринимается правильно.....
Снайпер - 05 сентября 2005, 21:59
Я в консоли проверял эту команду - оно говорило:
string value expected!
На основании чего я и сделал этот вывод :D
Conan Fedr - 06 сентября 2005, 14:41
Все скрипт пашет Етить . Плиз примите меня в ГГ я хочу клевые квесты делать ! :) Этот квест пашет тока он еще неотшлифован . Примите меня в ГГ плизззз
Android Alpha - 06 сентября 2005, 20:24
Квесты типа "Голимо, чувак" никому не нужны.

Стремление произвести качественный продукт - ценится. А ацтой - он и есть ацтой, хоть ты над текстом не парился, а сделал только скрипт (и то, с многочисленными подсказками).

Реализуй нормальный квест, я тебе уже сказал. И реализуй сам, благо, основам тебя научили уже.

Какой квест?.. Можно провести голосование. Или просто попросить модератора форума ткнуть на вменяемый квест (уж это вообще не сложно).
MX - 06 сентября 2005, 23:29
Комментирую по частям...
Цитата:
Все скрипт пашет

Спасибо всем жителям Гипата(за этой фразой должен идти низкий поклон)
Цитата:
Етить

Уровень образованности и культуры, видимо...
Цитата:
Плиз примите меня в ГГ я хочу клевые квесты делать ! :)

Раз хочешь- сделай, а потом уже будет видно...
Цитата:
Этот квест пашет тока он еще неотшлифован

Правильно! Не царское это дело- горшки подмывать... Пущай другие шлифуют, а ты у нас клевые квесты будешь делать...
Цитата:
Примите меня в ГГ плизззз

Сколько не говори халва...

АА умные вещи говорит. Сделай хороший самостоятельно...
Conan Fedr - 07 сентября 2005, 07:36
Уважаемый MX я несказал , что несобираюсь квеста доделывать , и несказал что я собираюсь давать его комуто на отшлифовку ,но а что насчет моих фраз - мне проста нравиться так говорить и прошу это больше не коминтировать .
MX - 07 сентября 2005, 11:12
Не могу удержаться...
Цитата:
несказал

не сказал
Цитата:
несобираюсь

не собираюсь
Цитата:
несказал

не сказал
Цитата:
комуто

кому-то
Цитата:
проста

просто
Цитата:
коминтировать

а это совсем замечательно! :roll:

Продолжать можно долго, есть еще знаки препинания и построение предложений... Хотя о чем это я... у нас же свобода слова...
Conan Fedr - 07 сентября 2005, 12:20
MX я смотрю ты вумный як вутка :) етить
Часовой пояс: GMT +4:00
Форумы Поселка созданы на базе phpBB2 2.0.4 © phpBB Group