Сайт посвящен игре Stranded
Пятница, 19.04.2024
Меню сайта
Категории раздела
Stranded 3 [22]
Stranded 2 [7]
Stranded 2 S2Ext [10]
Stranded 2 Lost in Space [6]
Stranded 2 DevMod [8]
Stranded 2 Massive Mod [6]
Stranded 2 The Survivalist [8]
Stranded 2.5 Desert Island [8]
Скрипты [6]
FEOLPA [1]
Модинг [7]
Команды [1]
Архив [6]
Форма входа
Быстрая навигация
Мини-чат
Главная » Статьи » Скрипты

Переведенные команды скрипта с примерами

  
Многопользовательская онлайн игра 'Герои битвы'

addscript "class", ID, "source"

Группа: objects

Прикрепляет внешний скрипт. Данная команда делает внешний скрипт как бы внутренним. Для того чтобы не писать команды в самой игре их можно написать в файле и потом с помощью данной команды прикрепить.

Пример - при создании юнита:

$id=create("unit",12,$x,$y);
addscript "unit",$id,"sys/script/s.s2s";

Содержимое файла может содержать обработку события use т.е. воздействие с юнитом при нажатии клавиши Е. Таким образом после прикрепления файла созданный юнит будет реагировать на клавишу Е. Все что будет написано в скрипте s.s2s станет частью юнита.

Скрипты можно прикреплять ко всем объектам. Например

$id=create("object",193,$x,$y);
addscript "unit",$id,"sys/script/s.s2s";

У команды три параметра.
1 - тип объекта (объект, предмет, юнит, инфо соответственно "object", "item","unit","info")
2 - идентификатор к чему присоединяем скрипт.
3 - Путь к скрипту относительно папки с модом.

create "Class", Type [, X, Z] [, Amount]

Группа: objects, return

Команда для создания на карте предметов, объектов юнитов, инфо.

Использование:

$id=create("item",66);
Создает предмет

$id=create("object",193,$x,$y);
Создает объект 193 и располагает его на карте с координатами $x,$y.

Функция возвращает идентификатор созданного и помещает его в переменную $id. Переменную можно назвать по другому.
Переменную нужно обязательно указывать, иначе будет ошибка.

Чаще всего используют присваивание к переменной для того чтобы обратиться к созданному и что-либо с ним сделать.

Для создания нескольких предметов или объектов пользуются:

$id=create("item",66,0,0,20); // создает 20 печеников
$id=create("object",193,$x,$y,2); // создает 2 бамбуковые башни (в этом нет необходимости и практической значимости)

currentid

Группа: return

Команда возвращает идентификатор объекта, предмета, юнита в котором обрабатывается скрипт.

Например для того, чтобы присвоить скрипт какому либо объекту при загрузки карты используют событие on:load и в нем прописывают команду присваивания скрипта addscript. Одним из параметров команды является идентификатор объекта, т.е. к кому именно на карте нужно присвоить скрипт. Строка $id=currentid(); присваивает переменной $id значение идентификатора объекта в котором было вызвано данное событие on:load

Пример:

on:load{
$id=currentid();
addscript "object",$id,"sys/script/test.s2s";
}

msg "Message" [,Font] [,Duration]

Группа: interfase

Данная команда выводит текстовое сообщение на слева на экран.

Пример:

msg "Всем привет!",3,3000;

Выводит сообщение "Всем привет!" шрифтом 3 на 3 сек.

Варианты шрифтов:


Команду можно вызывать без второго и третьего параметра. Тогда значения будут по умолчанию. шрифт 0 на 3 сек.

Пример

msg "Всем привет!";

damage "Class", ID, Value

Группа: objects

Данная команда может применяться в трех различных случаях. Во всех трех она указывает наносимый урон.

В первом случае можно рассмотреть скрипт описание предмета стрелы:

### Arrow
id=53
name=Стрела
...
damage=16
...

Здесь damage указывает какое количество урона наносит стрела если попадает в объект, предмет, юнита.

Рассмотрим скрипт описание предмета лук:

### Longbow
id=60
name=Длинный лук
...
damage=1.1
...

Здесь damage - это множитель, на который домножается базовое значение урона наносимого боеприпасом: у лука - 1, у длинного лука - 1.1, у золотого лука - 1.9

И третий способ применения команды, это явное указание какому объекту нужно нанести урон.

damage "Class", ID, damage_value;

Class - класс объекта, которому наносится урон ( object, unit, item );
ID - идентификатор этого объекта на карте;
damage_value - значение наносимого урона.
batiscaff

distance "Class", ID, "Class"

Группа: return

Возвращает число, расстояние между объектами.
Пример:

$a=distance("object",$id1,"object",$id2) // Переменная $a будет равна расстоянию между объектом с идентификатором $id1 и объектом с идентификатором $id2
$a=distance("object",$id1,"unit",1) // Переменная $a будет равна расстоянию между объектом с идентификатором $id1 и игроком (Для определенния дистанции между игроком и другими объектами имеется специальная функция playerdistance)
$a=distance("object",$id1,"info",$id2) // Переменная $a будет равна расстоянию между объектом с идентификатором $id1 и инфо с идентификатором $id2


Команды вывода текстовых окон.

add "Text"

Группа: interface

Добавляет строку в текстовый буфер.

clear
Группа: interface

Очищает текстовый буфер

msgbox "Title", ["Text"]
Группа: interface

Показывает окно с текстом.
Title - заголовок окна;
Text - текст выводимый в окне;
Если параметр Text не указан, то выводится содержимое текстового буфера.

Пример:
// Скрипт подвешенный на отмычку из первой карты Adventure
on:drop {
      clear;    // Очищаем буфер
      // Заполняем буфер двумя строчками
      add "Ээй... Что-то мне подсказывает, что эта штука мне ещё пригодится! Пожалуй, я её оставлю.";
      add "Думаю, на этом острове есть что-то, что этой штуковиной можно открыть. Нужно просто найти!";
      msgbox "Не выбрасывай!";   // Выводим содержимое буфера в окне
      skipevent; // Останавливает событие drop, чтобы не выкинуть отмычку
}

Вызываемые события методом on

on:Event { Commands }
Categories: basic

C помощью команды "on", вы выбираете секцию скрипта выполнятся будет только в этом событии.

пример:

on:start {msg "sdsad"}//на старт карты (не загрузку игры сохраненной а именно на начало новой игры) выведет сообщение

Вообще встречается повсеместно, так что пример можете найти практически в любом скриптовом файле.

events //собственно события
start - старт новой карты
load - загрузка или старт новой
presave - перед сохранением
postsave - послесохранения
create - на создание (обьекта,юнита,...) но не в случае с загрузкой а именно на создание
use - на кнопку использования(е), или в случае с вещами на кнопку использовать в инвентаре
hit - на любые повреждения нанесенные игроком(нужно оговорится, сачок к примеру бьет на 0 , но это тоже считается) фактически - на удар
kill - когда уничтоженно/убито
collect - когда вещь подобранна с помощью(е) хотя я понимаю что в случае добавления с помощь юскрипта чего то в инвентарь событие это же
drop - когда выброшена вещь
trigger - когда условия инфо триггера совпадают(триггер активируется)
changeday - во время смены дня(00:00 часов)
sleep - во время сна
dig -когда игрок использует лопату(роет) (behaviour=spade)
fish - когда использует удочку(ловит рыбу) (behaviour=fishingrod)
useground - когда использует землю
usesea - когда использует пресную воду\море
impact - столкновение метательного\огнестрельного снаряда с обьектом
timer - когда таймер окончился(0)
getoff - слезть с "ездабельного =)" животного или с техники
attack1 - если вещь в руке используется с помощью левой кнопки
attack2 - если вещь в руке используется с помощью правой кнопки
ai_attack - когда игрок атакован враждебным юнитом
ai_idle1 - когда анимация 1 для юнитов проигрывается
ai_idle2 - когда анимация 2 для юнитов проигрывается
ai_idle3 - когда анимация 3 для юнитов проигрывается
nodeXXXX - когда юнит двигающийся по пути достигает точки пути(инфо) с ID XXXX
reach - когда юнит двигающийся по пути достигает инфо(как правило это начало\конец(если зациклен) пути)
selectplace - когда кликаем на землю в режиме размещения
cracklock_success - когда успешно ломаем замок
cracklock_failure - когда не получается сломать замок
build_setup - когда здание выбрано из списка задний
build_start - когда установлено место постройки
build_finish - когда здание построено
keyhitXX - когда клавиша скрипта нажата??? (only in the script from game.inf)
keydownXX - когда удерживается скриптовая клавиша (only in the script from game.inf)
keyreleaseXX - когда отпущенна(именно момент отпускания) скрипт клавиша (only in the script from game.inf)
spawn - когда создается у spawn-info(спаунится)
addstate - на добавление статуса
freestate - на удаление статуса
seperate - when an attached item is hit
edset - когда объект размещен в редакторе
inhand - when an item is drawn
noammo - на попытку стрельбы\метания без патронов

skipevent//пропуск события(выход из него)
Categories: basic 


для некоторых событий, Stranded II автоматически предпринимает действия в случае вашего с ними взаимодейтсвия. к примеру вещи лежащие на острове(камни, листья, палки т.д.), их всегда можно будет подобрать когда вы нажмете использовать - даже если это не описывается в скрипте.
Skipevent позволяет миновать,отключить,пропустить , простые функции для некоторых событий.команда может быть помещена где угодно в скобках события.

поддерживаемые события
collect - вещь не будет подобрана
combine (only for scripts in combinations.inf) - комбинация не будет успешной
use - действие относительно вещей,окружения,мертвых животных будет недоступно
drop - вещь не будет выброшена
getoff - игрок не слезет с животного\техники
attack1 - атаки не будет
attack2 - не будет дополнительного действия
build_setup - игра не переключится в режим размещения зданий
build_start - строительство на выбранном участке не начнется
separate - на удар вещь не отделится от объекта которому принадлежит
Категория: Скрипты | Добавил: devi409 (28.02.2010)
Просмотров: 11636 | Комментарии: 24 | Рейтинг: 4.5/2 |
Всего комментариев: 231 2 »
21 Petr  
0
А неможете готовые скрипты залить? Т.к новичок я в этом не силен.

20 vkusnoda  
-3
Всем здравствуйте, пора уже, васс познакомить с [url=http://vkusno-vse.ru/fruit/]содержание витамина с в ягодах
[/url] так же там есть [url=http://vkusno-vse.ru/cooking/]барби онлайн готовить еду
[/url]но самое главное не упусттие это [url=http://vkusno-vse.ru/drink/]производство алкогольных напитков
[/url]
[b]Внатуре[/b] уже там есть ваот [url=http://vkusno-vse.ru/vegetables/]низкокалорийные овощи
[/url]
Очень спс за внимательнотсь

19 skyrimmass  
-1
Всем фанатам скайрима и приколов рекомендую [url=http://fus-ro-dah.ru/]skyrim графика
[/url]

23 Semalander  
-1
СКАЙРИМ РУЛИТ! cool

18 etoesheche  
-2
Всем здравствуйте, пора уже вас позпакомить с [url=http://vkusno-vse.ru/fruit/]детям рассказать о ягодах
[/url] так жен там есть [url=http://vkusno-vse.ru/cooking/]игры готовим еду 2
[/url]но самое гланвое не упустите это [url=http://vkusno-vse.ru/drink/]энергетики напитки
[/url]
[b]Внатуре[/b] уже там есть вот [url=http://vkusno-vse.ru/pie/]рецепты выпечки с маргарином
[/url]
Очень спс за пару секунд внимания

22 Semalander  
0
ОБЛОЖАЛСЯ ТЫ СО ССЫЛКАМИ ШКОЛОЛО ТУПОЙ! biggrin

15 dimaso  
0
непойму ниче с командой создания объекта и размещения по кординатам.
$te=create("object",15,100,500); но ничё неполучяется может я нетам пишу или что?

17 devi409  
0
возможно координаты такие что вы просто не видите объект

14 Eraser  
0
я ни как не пойму, скрипт с ключом и дверью(сундуком, ящиком), можете написать(dev mod) "красный ключ открывает дверь"?заранее спс))

13 turb  
0
Есть вопросик, вроде написал пару простейших скриптов с сообщениями, а они не работают. Я скрипты писал так:

on:start {
msg "Igra na4alas'!",0,10000;
}
on:changeday {
msg "Ese odiH deHb! ypa!",0,10000;
}
on:build_setup {
msg "Gde CTPoiTb bydeM?",0,10000;
}
on:build_finish {
msg "BliH, Hy HakoHecto! yry!",0,10000;
}
on:noammo {
msg "5aTPoHoB HeTy! =(",0,10000;
}
Это правильно, или у меня какие-то ошибки есть? просто впервые
smile surprised


16 Fazazan  
0
Все правильно 0_0
Скорее всего не там написал, где надо.

12 Fazazan  
0
да ну, все максимально просто и понятно
а можно на on:addstate прописать id
on:addstate 17 {
...
}

11 werwoolf  
0
у меня вопрос ..
А что ето за херня? блин не каких пояснений и тд(((
былибы пояснения нормальные а то токо перевод и все ((
очень плохо sad

7 Fazazan  
0
А как использовать команду getplayervalue
А то на офф сайте написано только wert

8 Dr@koN  
0
При проверке условия

if (getplayervalue(3)<=60){...} /если жажда (3ий бар) больше 60

где-то видел, но могу ошибаться. Надо поэкспериментировать.


9 Fazazan  
0
Огромное спс, если верить тому что у тебя написано, то это то что мне нужно!

10 Dr@koN  
0
Да, именно так. Я сделал скрипт разного времени сна для разной степени усталости.

1-10 11-13
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
Наш опрос
Желаете ли вы участвовать в разработке нового мода?
Всего ответов: 1875
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright MyCorp © 2024