Сайт посвящен игре 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]
Форма входа
Быстрая навигация
Мини-чат
Главная » Статьи » Скрипты

Скрипты - Переменные

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

Скрипты -Переменные

Рассмотрим использование переменных в скриптах.
Переменные это своего рода контейнеры для хранения чисел и знаков.
Изменим пример используемый в предыдущей статье вывода на экран сообщения Hello World. Для того чтобы использовать переменную нужно написать знак доллара "$" и после него поставить имя переменной. Имя это любое слово или символ.
К примеру создадим переменную myvalue и присвоим ей значение 5. И выведем это значение на экран.

on:start {
$myvalue=5;
msg "Hello World! $myvalue";
}

строка $myvalue=5 означает что мы резервируем переменную и присваиваем ей значение равное 5.
следующая строка выводит сообщение Hello World и через пробел написано имя переменной. Это означчает что на экран будет произведен вывод не слов myvalue а значение переменной. В нашем случае на экране должно появиться сообщение "Hello World 4"

С переменными можно производить различные операции. В первую очередь это математические операции. к примеру попробуем в программе увеличить нашу переменную в двое.

on:start {
$myvalue=5;
msg "Beforehands: $myvalue";
$myvalue=$myvalue*2;
msg "Afterwards: $myvalue";
}

В начале нашего примера мы создали переменную $myvalue и присвоили ей значение равное 5. Далее мы вывели на экран сообщение Beforehands: и значение самой переменной.
Следующая строка $myvalue=$myvalue*2 означает, что мы в нашу переменную записываем значение самой же нашей переменной но умноженной на 2.
После выполнения команды msg"Afterwards: $myvalue"; На экране появится сообщение Afterwards: 10.

Для облегчения работы с переменными применяют специальную комбинацию математических символов.

++ увеличить значение переменной на 1.
+= прибавить к значению переменной величину стоящую после данных знаков.
-- уменьшить значение переменной на 1.
-= отнять от значения переменной величину стоящую после данных знаков.

Пример:

on:start {
//Устанавливаем значение переменной 10 (-> 10)
$var=10;
//Вычитаем из переменной число 3 (-> 7)
$var-=3;
//Увеличиваем значение переменной на 1 (-> 8)
$var++;
//Прибавляем к значению переменной саму переменную (-> 16)
$var+=$var;
//Выводим на экран значение переменной
msg $var;
}

Вы могли заметить что в скрипте я использую две косые черты //. Они говорят интерпретатору не выполнять команды расположенные после этих символов. Такой способ очень эффективен для вставки комментариев. Если необходимо комментировать несколько строк то используют сначала сочетание символов /* и для окончания комментария */ в скриптах настоятельно рекомендуется использовать подобные комментария, т.к. они облегчают понимание кода.

Локальные и глобальные переменные

Все переменные создаваемые пользователем автоматически являются глобальными. Т.е. переменные написанные в одном скрипте будут доступны и в другом. Но это не всегда удобно. Часто приходится создавать локальные переменные действие которых ограничивается одним лишь скриптом. Рассмотрим пример:

  • Откройте файл "objects_palms.inf" в папке "mods\Stranded II\sys"
  • Вставьте следующий скрипт непосредственно под строкой "script=start":

on:hit {
$hits++;
msg "Hits on the palm: $hits";
}

Сохраните файл и запустите игру. Если игра была уже запущена то перезапустите ее.
Создайте карту с несколькими пальмами типа 1 и запустите карту на тестирование.

Теперь подойдите к пальме и нанесите удар (левая кнопка мыши). На экране будет отображаться сообщение Hits on the palm: а далее число которое будет постоянно увеличиваться с каждым ударом. Теперь если мы перейдем к другой пальме и ударим счетчик продолжит увеличиваться.

Если в том же файле добавить еще одну строчку до строки $hits++;

local $hits;

То переменная станет локальной. Если теперь подойти к пальме и ударить ее то счетчик начнет увеличиваться. Перейдя к другой пальме счетчик начнется с нуля.

Временные переменные

В скриптах кроме локальных и глобальных переменных можно использовать временные переменные. Их отличие заключается в том что при загрузке и при сохранении карты они не сохраняются. Эти переменные создаются в момент начала игры и уничтожаются в момент закрытия программы.

Команды вывода

Эта тема, возможно, не фактически принадлежит переменным, но о ней также нужно здесь сказать, потому что команды, которые выдают значения вывода, ведут себя точно так же как переменные.
Команды имеющие вывод как правило записываются с круглыми скобками. нормальной переменной заменено значением переменной. Примером может служить команда генерирования случайной величины random(100). Эта команда выводит случайным образом число от 0 до 99. Этот вывод можно записать непосредственно в переменную например $myvalue=random(100) но можно воспользоваться временной переменной.
Вот, пример:

on:start {
msg random(100);
}

В памяти компьютера создалась переменная со случайным значением и команда вывела эту переменную на экран. После использования данной команды временная переменная удаляется т.к. она больше не нужна.

Итог

Скрипты в Stranded II могут использовать локальные и глобальные переменные. Эти переменные должны начинаться со знака доллара "$". Любая переменная может быть сохранена в "savegames". Кроме того существуют временные переменные обслуживающие скрипты в момент вывода на экран сообщений.

Источник http://stranded.unrealsoftware.de/s2_scripting3.php

Категория: Скрипты | Добавил: devi409 (16.02.2010)
Просмотров: 4541 | Рейтинг: 5.0/1 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
Наш опрос
Оцените мой сайт
Всего ответов: 1658
Статистика

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