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 есть такая строка:
Готовый скрипт 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 (или другого выполняемого в начале файла). Спасибо за то, что читали.
извините очень сильно тупил,все норм сайту спасибо огромное помогли очень я давно понял как и серв работает круглосуточно но сейчас только ГОВОРЮ СПАСИБО
чёт я ниче не понял ппц =( ктот помогите плиз скачал я готовый скрипт поков ну кинул все файлы куда надо там был екс файc s2d_dedicated.exe ну чё делать чтоб ЗАПУСТИТЬ ЕТОТ ГРЁБАНЫЙ ЛУА СКРИПТ?!?!?!?