Сайт посвящен игре Stranded
Воскресенье, 20.08.2017
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Многопользовательская онлайн игра 'Герои битвы'
Страница 1 из 151231415»
Модератор форума: Malzar 
Форум » Создание модов Stranded II » О том как создавать моды » Большая просьба помочь со скриптами!!!!!!!
Большая просьба помочь со скриптами!!!!!!!
x_Alex_xДата: Воскресенье, 13.03.2011, 22:18 | Сообщение # 1
Подполковник
Группа: Проверенные
Сообщений: 119
Репутация: 7
Статус: Offline
Проблема вот в чём: нужно написать скрипт для кнопки при разговоре с NPC, дающим квесты. При нажатии на кнопку с надписью типа "есть ли для меня работа?" должен выполняться скрипт выбора очередной миссии, приблизительно как у короля на случайной карте, далее NPC говорит описание квеста и две кнопки: одна-выход, другая с проверкой инвентаря на наличие оговоренных предметов, их удаление и добавлением в инвентарь награды с выводом текста типа "вы справились возьмите награду". Далее обновляется переменная номер квеста и закрывается окно диалога. Просьба писать подробные объяснения действий и описывать структуру команд (if (условие) {команда} elseif {команда} else {команда}) Если это нужно, то у меня dev mod.
 
WorthisДата: Понедельник, 14.03.2011, 10:26 | Сообщение # 2
Генерал-майор
Группа: Проверенные
Сообщений: 387
Репутация: 12
Статус: Offline
так и возьми за осноу скрипт этого короля)

Последняя версия моего патча для Stranded II здесь
 
x_Alex_xДата: Понедельник, 14.03.2011, 13:43 | Сообщение # 3
Подполковник
Группа: Проверенные
Сообщений: 119
Репутация: 7
Статус: 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
Репутация: 0
Статус: Offline
Я конечно не очень шарю но разветвления диалога у короля нет, но есть у тотема племени. Может это чем поможет.
 
WorthisДата: Понедельник, 14.03.2011, 16:25 | Сообщение # 5
Генерал-майор
Группа: Проверенные
Сообщений: 387
Репутация: 12
Статус: 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
Репутация: 7
Статус: Offline
Quote (lich)
Я конечно не очень шарю но разветвления диалога у короля нет, но есть у тотема племени. Может это чем поможет.

На скрипте выбора квеста, думаю, проблем возникнуть не должно; а у короля разветвление диалога есть. Оно написано на нём самом, если посмотреть через редактор в игре.

Добавлено (14.03.2011, 21:59)
---------------------------------------------

Quote (Worthis)
По всем вопросам рекомендую для начала ознакомиться с оффициальным сайтом игры

А раньше я почемуто не замечал там описание команд happy
Разместил бы кто на этом сайте перевод тех статей с командами, ато сколько уже сайт существует, а перевели так мало sad

Добавлено (15.03.2011, 01:21)
---------------------------------------------
Ура!! Я пересмотрел скрипт короля и всё понял! biggrin А сайт на нерусском мне практически не помог.
В конце недели выложу свой остров.
Worthis, я те репутацию поднял. Спасибо.

 
WorthisДата: Понедельник, 14.03.2011, 23:08 | Сообщение # 7
Генерал-майор
Группа: Проверенные
Сообщений: 387
Репутация: 12
Статус: Offline
x_Alex_x, спасибо ok

Последняя версия моего патча для Stranded II здесь
 
x_Alex_xДата: Вторник, 15.03.2011, 21:17 | Сообщение # 8
Подполковник
Группа: Проверенные
Сообщений: 119
Репутация: 7
Статус: Offline
Решил немного изменить форму выдачи награды за квест. Я хочу, чтобы награда помещалась не в рюкзак, а в склад. Какая команда нужна?
И ещё: что нужно написать, например, во флаге, чтобы убирать компас при каждой загрузке карты?


Сообщение отредактировал x_Alex_x - Вторник, 15.03.2011, 22:56
 
WorthisДата: Среда, 16.03.2011, 00:59 | Сообщение # 9
Генерал-майор
Группа: Проверенные
Сообщений: 387
Репутация: 12
Статус: 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
Репутация: 7
Статус: 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
Репутация: 12
Статус: 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
Репутация: 7
Статус: Offline
Разобрался благодаря деду (он не с 4, а с 5 карты). Только не понял одно: если в create "Class", Type [, X, Z] [, Amount] не указывать координаты, то как указать количество?
 
WorthisДата: Среда, 16.03.2011, 17:35 | Сообщение # 13
Генерал-майор
Группа: Проверенные
Сообщений: 387
Репутация: 12
Статус: Offline
x_Alex_x, так укажи координаты) в чем проблема то? biggrin например (0,0)

Последняя версия моего патча для Stranded II здесь
 
x_Alex_xДата: Среда, 23.03.2011, 19:38 | Сообщение # 14
Подполковник
Группа: Проверенные
Сообщений: 119
Репутация: 7
Статус: Offline
Да так, интересно просто. biggrin Та и в других командах может пригодиться.
---------------------------------------------
Я тут кое где застрял: как на кнопку в диалоге поставить скрипт? На офсайте нашёл: button=script:xyz xyz это по идее сам скрипт, но как его писать стазу прям там или отдельно? И есть ли скрипт на уничтожение триггера/объекта...?


Сообщение отредактировал x_Alex_x - Пятница, 25.03.2011, 17:15
 
WorthisДата: Пятница, 25.03.2011, 21:54 | Сообщение # 15
Генерал-майор
Группа: Проверенные
Сообщений: 387
Репутация: 12
Статус: 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)
есть ли скрипт на уничтожение триггера/объекта

объект можно убить biggrin а триггер отключить - starttrigger ID/stoptrigger ID


Последняя версия моего патча для Stranded II здесь
 
Форум » Создание модов Stranded II » О том как создавать моды » Большая просьба помочь со скриптами!!!!!!!
Страница 1 из 151231415»
Поиск:

Copyright MyCorp © 2017