Большая просьба помочь со скриптами!!!!!!!
|
|
x_Alex_x | Дата: Воскресенье, 13.03.2011, 22:18 | Сообщение # 1 |
Подполковник
Группа: Проверенные
Сообщений: 119
Статус: Offline
| Проблема вот в чём: нужно написать скрипт для кнопки при разговоре с NPC, дающим квесты. При нажатии на кнопку с надписью типа "есть ли для меня работа?" должен выполняться скрипт выбора очередной миссии, приблизительно как у короля на случайной карте, далее NPC говорит описание квеста и две кнопки: одна-выход, другая с проверкой инвентаря на наличие оговоренных предметов, их удаление и добавлением в инвентарь награды с выводом текста типа "вы справились возьмите награду". Далее обновляется переменная номер квеста и закрывается окно диалога. Просьба писать подробные объяснения действий и описывать структуру команд (if (условие) {команда} elseif {команда} else {команда}) Если это нужно, то у меня dev mod.
|
|
| |
Worthis | Дата: Понедельник, 14.03.2011, 10:26 | Сообщение # 2 |
Генерал-майор
Группа: Проверенные
Сообщений: 387
Статус: Offline
| так и возьми за осноу скрипт этого короля)
Последняя версия моего патча для Stranded II здесь
|
|
| |
x_Alex_x | Дата: Понедельник, 14.03.2011, 13:43 | Сообщение # 3 |
Подполковник
Группа: Проверенные
Сообщений: 119
Статус: Offline
| Я пытался, но не разобрался в некокорых моментах. Например, пытался сделать саму кнопку, описанную выше вот что написал: button=work,Есть ли работа для меня? ............ page=work title=wwwВождь script=start "расположение файла","choice" script=end Этим я хотел направить программу на скрипт выбора номера квеста, но, как я понял, у меня ошибка в структуре. Поэтому пока не продвинулся. ............. теперь сам скрипт выбора квеста (его я взял из короля проблем вроде возникнуть не должно): //~choice script=start { if($nquest==1){ dialogue "start","расположение файла","quest_n1"; }elseif ($nquest==2){ dialogue "start","расположение файла","quest_n2"; }else{ dialogue "start","расположение файла","quest_n0"; } } script=end .............. И сама проверка на выполнение(тоже из короля): page=start title=_Король_ script=start if ((playergotitem(94)>19) && (playergotitem(95)>19)) { dialogue "q8y","расположение файла","quest_n1"; }else{ dialogue "q8n","расположение файла","quest_n1"; } script=end page=q8n text=start Иди и добудь мне 20 когтей и 20 зубьев! text=end button=action:close, Конечно. page=q8y text=start Отлично! Аборигены теперь на нашей стороне. Они мне принесли какие-то палки. Если хочешь то забери их все. Наверно они что-то значат. text=end button=action:close,Спасибо. script=start find 52,2; freestored "unit",1,94,20; freestored "unit",1,95,20; script=end
|
|
| |
lich | Дата: Понедельник, 14.03.2011, 15:59 | Сообщение # 4 |
Сержант
Группа: Пользователи
Сообщений: 38
Статус: Offline
| Я конечно не очень шарю но разветвления диалога у короля нет, но есть у тотема племени. Может это чем поможет.
|
|
| |
Worthis | Дата: Понедельник, 14.03.2011, 16:25 | Сообщение # 5 |
Генерал-майор
Группа: Проверенные
Сообщений: 387
Статус: Offline
| Quote (x_Alex_x) page=work title=wwwВождь script=start "расположение файла","choice" script=end Этим я хотел направить программу на скрипт выбора номера квеста, но, как я понял, у меня ошибка в структуре. Поэтому пока не продвинулся. на сколько я помню, для указания внешнего скрипта используется специальная команда. По всем вопросам рекомендую для начала ознакомиться с оффициальным сайтом игры Stranded, сайт англо-немецкий, но с переводчиком можно разобрать что и куда)
Последняя версия моего патча для Stranded II здесь
|
|
| |
x_Alex_x | Дата: Понедельник, 14.03.2011, 21:21 | Сообщение # 6 |
Подполковник
Группа: Проверенные
Сообщений: 119
Статус: Offline
| Quote (lich) Я конечно не очень шарю но разветвления диалога у короля нет, но есть у тотема племени. Может это чем поможет. На скрипте выбора квеста, думаю, проблем возникнуть не должно; а у короля разветвление диалога есть. Оно написано на нём самом, если посмотреть через редактор в игре.Добавлено (14.03.2011, 21:59) ---------------------------------------------
Quote (Worthis) По всем вопросам рекомендую для начала ознакомиться с оффициальным сайтом игры А раньше я почемуто не замечал там описание команд Разместил бы кто на этом сайте перевод тех статей с командами, ато сколько уже сайт существует, а перевели так мало Добавлено (15.03.2011, 01:21) --------------------------------------------- Ура!! Я пересмотрел скрипт короля и всё понял! А сайт на нерусском мне практически не помог. В конце недели выложу свой остров. Worthis, я те репутацию поднял. Спасибо.
|
|
| |
Worthis | Дата: Понедельник, 14.03.2011, 23:08 | Сообщение # 7 |
Генерал-майор
Группа: Проверенные
Сообщений: 387
Статус: Offline
| x_Alex_x, спасибо
Последняя версия моего патча для Stranded II здесь
|
|
| |
x_Alex_x | Дата: Вторник, 15.03.2011, 21:17 | Сообщение # 8 |
Подполковник
Группа: Проверенные
Сообщений: 119
Статус: Offline
| Решил немного изменить форму выдачи награды за квест. Я хочу, чтобы награда помещалась не в рюкзак, а в склад. Какая команда нужна? И ещё: что нужно написать, например, во флаге, чтобы убирать компас при каждой загрузке карты?
Сообщение отредактировал x_Alex_x - Вторник, 15.03.2011, 22:56 |
|
| |
Worthis | Дата: Среда, 16.03.2011, 00:59 | Сообщение # 9 |
Генерал-майор
Группа: Проверенные
Сообщений: 387
Статус: Offline
| Quote (x_Alex_x) Я хочу, чтобы награда помещалась не в рюкзак, а в склад. Какая команда нужна? помоему команда та же, но вместо игрока указывать ID склада. (команда store ItemID, "Class", ID [,Outside]) Quote (x_Alex_x) И ещё: что нужно написать, например, во флаге, чтобы убирать компас при каждой загрузке карты? скрипт, например: on:load{ compass(0); } или on:start{ compass(0); } его можно поместить не во флаге, а в скрипте самой карты.
Последняя версия моего патча для Stranded II здесь
Сообщение отредактировал Worthis - Среда, 16.03.2011, 01:00 |
|
| |
x_Alex_x | Дата: Среда, 16.03.2011, 13:49 | Сообщение # 10 |
Подполковник
Группа: Проверенные
Сообщений: 119
Статус: Offline
| Спасибо. Сейчас займусь. Добавлено (16.03.2011, 17:49) --------------------------------------------- Что-то не получается. Напиши пожалуйста команду, чтобы положить 4 шкуры(96) в склад(#333)? Как я понял, количество вещей тут указать не получится. ( Чтобы дать вещи игроку я пользовался другой командой: find 96,4; ) Quote (Worthis) on:load{ compass(0); } Раньше убирал компас этой же командой через флаг, но был какой-то глюк. Теперь нормально.
|
|
| |
Worthis | Дата: Среда, 16.03.2011, 13:59 | Сообщение # 11 |
Генерал-майор
Группа: Проверенные
Сообщений: 387
Статус: Offline
| Quote (x_Alex_x) положить 4 шкуры(96) в склад(#333) сначала надо сделать эти 4 шкуры функцией create (в ней можно указать кол-во) и уже командой store поместить их в склад, используя ID созданных шкур. p.s. посмотри код квестов деда с коноплей на 4 карте приключения
Последняя версия моего патча для Stranded II здесь
Сообщение отредактировал Worthis - Среда, 16.03.2011, 14:03 |
|
| |
x_Alex_x | Дата: Среда, 16.03.2011, 16:36 | Сообщение # 12 |
Подполковник
Группа: Проверенные
Сообщений: 119
Статус: Offline
| Разобрался благодаря деду (он не с 4, а с 5 карты). Только не понял одно: если в create "Class", Type [, X, Z] [, Amount] не указывать координаты, то как указать количество?
|
|
| |
Worthis | Дата: Среда, 16.03.2011, 17:35 | Сообщение # 13 |
Генерал-майор
Группа: Проверенные
Сообщений: 387
Статус: Offline
| x_Alex_x, так укажи координаты) в чем проблема то? например (0,0)
Последняя версия моего патча для Stranded II здесь
|
|
| |
x_Alex_x | Дата: Среда, 23.03.2011, 19:38 | Сообщение # 14 |
Подполковник
Группа: Проверенные
Сообщений: 119
Статус: Offline
| Да так, интересно просто. Та и в других командах может пригодиться. --------------------------------------------- Я тут кое где застрял: как на кнопку в диалоге поставить скрипт? На офсайте нашёл: button=script:xyz xyz это по идее сам скрипт, но как его писать стазу прям там или отдельно? И есть ли скрипт на уничтожение триггера/объекта...?
Сообщение отредактировал x_Alex_x - Пятница, 25.03.2011, 17:15 |
|
| |
Worthis | Дата: Пятница, 25.03.2011, 21:54 | Сообщение # 15 |
Генерал-майор
Группа: Проверенные
Сообщений: 387
Статус: Offline
| Quote (x_Alex_x) как на кнопку в диалоге поставить скрипт? вот кусок скрипта диалога с пиратом в приключении на первом острове: page=where title=Wo? text=start Ah, right... I'll better briskly mark it for you on this map. Hither we go. Harr! And now onwards! text=end button=okay,Okay script=start $findgold=1; showindicator 43; showindicator 44; showindicator 45; if (playergotitem(73)<1){ find 73; } if (playergotitem(84)<1){ find 84; } addscript "unit",$pirate,"maps\adventure\map02.s2s","pirate_findgold_script"; script=end выделил жирным подключение внешнего скрипта (если, конечно, этот скрипт относится к кнопке), либо: page=okay script=start diary "Pirate treasure","maps\adventure\map02.s2s","diary07"; closemenu; script=end в теле script подключить внешний файл той же функцией addscript. Quote (x_Alex_x) есть ли скрипт на уничтожение триггера/объекта объект можно убить а триггер отключить - starttrigger ID/stoptrigger ID
Последняя версия моего патча для Stranded II здесь
|
|
| |