Форма входа
Меню сайта
Категории раздела
Трюки в редакторе карт [3]
Проблемы и их решения [2]
Основное об игре [7]
О модах [2]
Рандомный опрос
Вам еще интересен этот сайт?
Всего ответов: 32
Наша кнопка
Полезное для CS2D
[ Показать код кнопки ]
Показать плеер
Пятница, 17.05.2024, 13:35
Приветствую Вас Гость

Каталог статей

Главная » Статьи » Основное об игре

Lua скрипты
Lua скрипты - своего рода сценарии, выполняемые сервером, когда в игре что-то происходит. Для того, чтобы выполнить что-то, надо "зацепиться" за происходящее в игре "крюком" (hook). С помощью крюков работает каждый скрипт. Например Adminchat основан на крюках "say" и "sayteam", более сложные скрипты, такие как SuperHero, ZombiePlague, CS2DTibia (aka Pokemon), используют гораздо больше крюков.
Для примера расскажу действия скрипта "Админчат". Когда кто-то пишет в чат, он проверяет, а админ ли написал. Если сообщение написал админ, он выводит белое сообщение: "(имя админа) (ADMIN): (то, что написал админ)" и удаляет сообщение (иначе текст будет двоиться). Когда админ пишет команде, естественно, сообщение увидит только команда.

Ставятся скрипты очень просто. В файл server.lua (Внимание! Иногда файлом, запускающимся при старте сервера может быть не server.lua. В этом случае, в вашей игре по какой-то причине были изменены настройки. Рекомендую вернуть прежнюю настройку. Как это сделать, описано ниже.) в папке sys/lua добавляется строка "dofile("путь к скрипту от корня")". Например: "dofile("sys/lua/adminchat.lua")".Так же есть некоторые готовые скрипты, в server.lua есть такая строка:
-------------------------------------------------------------------
-- Mod: sample.console                                           --
-- Adds console commands "myserverinfo" and "healthlist"         --
-- hooks: parse                                                 --
-------------------------------------------------------------------
-- dofile("sys/lua/samples/console.lua")

Готовый скрипт console.lua добавляет на сервер команды myserverinfo (показывает в консоли название сервера и количество слотов (максимального количества игроков)), healthlist (список игроков на сервере и сколько у каждого HP), encage (окружает всех стенами).
"--" - комментарий (текст справа от черты будет игнорироваться интерпретатором, т.е. можно написать там хоть "бла бла бла" и он не выдаст ошибку, это часто используется для временного отключения части кода или для комментирования кода), поэтому, для того, чтобы скрипт console.lua начал выполняться, нужно убрать две черточки.
Аналогичная ситуация и с другими готовыми скриптами.
Новые скрипты сервер загружает при перезапуске сервера (в  том числе смена карты).
В новой версии CS2D (b 0.1.2.1) добавлена папка sys/lua/autorun. Все скрипты в ней автоматически выполняются при старте сервера (это ВНЕЗАПНО осознают не читающие readme). Скоро он будет использоваться скриптерами. А если вам до сих пор не терпится, можете положить скрипт в папку autorun, но с этим будьте осторожны! Скрипт может быть рассчитан на то, чтобы вы положили его именно туда. Также можно создать в sys/lua/autorun .lua-файл, который будет запускать скрипт, как я и поступил в скрипте с шляпами.

Также можно изменить выполняемый файл, т.е. чтобы вместо server.lua выполнялся файл, скажем, start.lua. Для этого зайдите в настройки сервера (New Game или Server Settings), далее выберите вкладку More Settings. Теперь найдите mp_luaserver, выделите эту настройку и в поле вместо server.lua напишите желаемое название. Не забудьте, что файл с таким названием должен существовать, иначе ничего не заработает. Чтобы вернуть изначальное название, нажмите кнопку Default. Обратите внимание, выполняемый файл часто путают с server.lua, поэтому я рекомендую не менять этот параметр.

Существует также возможность поставить для каждой карты отдельный скрипт. Для этого в папку maps надо поместить скрипт с названием таким же, как у карты. Например, если наша карта называется MoyaKarta, скрипт у нас будет такой: MoyaKarta.lua. Этот скрипт будет выполнятся ПОСЛЕ server.lua (или другого выполняемого в начале файла).

Спасибо за то, что читали.


См. также: Форум, посвященный Lua-скриптам
Оцени:
Категория: Основное об игре | Добавил: NiconNeo (06.04.2010)
Просмотров: 11626 | Комментарии: 17 | Рейтинг: 5.0/8 | Прямые ссылки
Всего комментариев: 17
16 vlad113  
0
а можно сразу несколько скриптов сделать а то они конфликтуют =(?

17 NiconNeo  
0
к сожалению конфликты иногда бывают. если ты умеешь луа, можешь попробовать исправить

14 JENYOK777  
0
Подскажите какой-нибудь скрипт начисляющий деньги при тимкиле.

15 NiconNeo  
0
а не проще поставить Team Deathmatch! Если тебе это не подходит, читай раздел форума об Lua

13 H4RDoX  
1
Люди, если не получается даже с помощью этой статьи, не повод тут флудить
наберитесь терпения.

11 Oxyk  
0
фигня

12 NiconNeo  
0
Ну.. понимаешь, это для совсем чайников =)
Если ты не такой, зачем тогда читаещь? =)

9 «DoctoR»  
0
да блин нихера не получсается...Как поставить админ скрипт?!?!?

10 NiconNeo  
0
Сделал уточнение. Надеюсь поможет

8 ---FAST-KIllS---  
1
АДМИН РЕСПЕКТ ДАЛЬШЕ НЕКУДА!!!РУЛИШЬ!!! respect respect respect

7 kenny007  
0
извините очень сильно тупил,все норм сайту спасибо огромное помогли очень я давно понял как и серв работает круглосуточно но сейчас только ГОВОРЮ СПАСИБО up

5 kenny007  
0
не (ПРЕДУПРЕЖДЕНИЕ! МАТ!!!) не работает скрипты скинул прописал а не работают dry cry angry >( angry >( wacko

6 NiconNeo  
0
Если ты все сделал правильно, заработает.

3 Liste  
-2
Я чет все зделал скачал скрипт кинул его в папку потом прописал в server.lua то что надо убераю эти две черты и се ро вно не запускается

4 NiconNeo  
0
Надо убирать НЕ ЭТИ черты.
Короче:
dofile('sys/lua/~~твой скрипт~~')

1 FD_GoOD  
-1
чёт я ниче не понял ппц =( ктот помогите плиз скачал я готовый скрипт поков ну кинул все файлы куда надо там был екс файc s2d_dedicated.exe ну чё делать чтоб ЗАПУСТИТЬ ЕТОТ ГРЁБАНЫЙ ЛУА СКРИПТ?!?!?!?

2 NiconNeo  
1
Короче. Кидаешь все в папку с контрой. Потом запускаешь cs2d_dedicated и заходишь на свой сервер. Разве это трудно?

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
последняя новость
Сайт больше обновляться не будет

Подробнее
Друзья
Быстрый старт
Скачать CS2D 0.1.2.2 ZIP-архивом
Для установки просто распаковать в какую-нибудь папку

Скачать выделенный сервер для CS2D 0.1.2.2
Инструкция по ссылке.

Lua скрипты
Что такое и с чем едят

Получи USGN ID!
USGN ID используется для идентификации в игре

Новые файлы
Самые закачиваемые
Новые статьи
Самые читаемые
Поиск
Мини-чат
Статистика

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