Нет ничего проще. Открываем Pawno и нажимаем New. Вот он, Ваш первый скрипт.
Чтобы запустить его, надо сначала его сохранить (большинство людей сохраняют в
директорию "/samp/gamemodes/src/", но будет проще (для локального тестирования)
сохранить его в "/samp/gamemodes/"). Затем кликните по кнопке с изображением
синей стрелочки. Это действие компилирует Ваш файл .pwn в файл .amx, который
появится в том же каталоге, однако чтобы запустить его в игре, этот файл должен
лежать в "/samp/gamemodes/" (теперь понятно, зачем было сохранять Ваш скрипт в
этом каталоге - теперь не придется ничего никуда переносить в ручную, все уже на
своих местах после компиляции). Теперь, чтобы опробовать свой новый мод, Вы
должны настроить локальный сервер и сменить игровой режим (наберите "changemode
" в окне сервера).
Если все прошло удачно, когда подключитесь к своему
серверу через клиент sa-mp, в игре Вы окажетесь снаружи казино в Las Venturas. К
сожалению Вы не сможете выбрать себе персонажа, так как на данный момент
доступен только один, но это можно будет легко исправить в будущем. Кроме того
это не очень уж и интересный ДМ – из оружия у Вас только кулаки а вокруг ни
души. Но это локальный сервер и по поводу второй проблемы на данный момент
ничего нельзя поделать.
Следующим шагом, который Вы скорее всего захотите
сделать, будет добавление в игровой режим оружия (контролируется на основе
«каждому классу свое»). Каждый игрок, которого Вы выберете в начале игры (или
позже в случае замены) будет принимать значение "класса". У классов может быть
одинаковое оружие, или у всех разное, или комбинация. Вы назначаете оружие для
каждого класса отдельно. Поэтому, чтобы дать всем классам одинаковое оружие, Вам
просто нужно скопировать информацию об оружии и добавить ее к описанию каждого
из существующих в Вашем игровом режиме классов. Это действие обеспечит
сбалансированную игру, хотя играть будет не так интересно, если все будут бегать
с одинаковым оружием. Однако выбор остается за Вами. В редакторе найдите
следующую строку:
Это описание класса, параметры в том же
порядке: AddPlayerClass(Player model, X, Y, Z, A, Weapon 0, Ammo 0, Weapon 1,
Ammo 1, Weapon 2, Ammo 2);
Модель персонажа можно взять из файла
"peds.ide". "X", "Y" и "Z" – это координаты места появления игрока в игре, после
выбора персонажа. "A" – это угол, под которым игрок будет развернут (направление
камеры). Есть только одна точка появления для каждого класса, однако это можно
обойти с помощью других средств, которые будут рассмотрены позже. Номера оружия
можно узнать здесь. А цифры рядом с ammo – это точное количество патронов к
каждому оружию, которым будет располагать игрок (у оружия ближнего боя
количество патронов всегда 0).
Теперь скопируйте эту
строку: AddPlayerClass(102, 1958.3783, 1343.1572, 15.3746, 269.1425, 5, 0,
22, 100, 32, 50);
И поместите ее под той, что Вы нашли в Вашем скрипте.
Теперь в игре у Вас будет выбор между CJ (без оружия) и Balla (с бейсбольной
битой, пистолетом и Tec9). Если хотите, можете сами дать оружие для CJ или
добавить больше других классов с другим оружием.
Примечание: некоторое
оружие, которое перечислено на странице по ссылке выше, рядом с которым есть
пометка "(crashes if you try to fire)" или "(Unusable)" не работает в данной
версии SA-MP. В список оружия, которое нельзя использовать, входят и гранаты,
однако эта досадность будет исправлена в будущем.
Узнаём координаты, углы
и ID моделей
Вам, возможно, захочется изменить координаты появления
игроков, чтобы они все не появлялись в одном и том же месте. Если оставить как
есть, то ДМ выйдет не самый интересный, а так же это идеальная возможность для
кемперства. В этом деле нам поможет Режим Отладки. Запустите "samp_debug.exe" в
основном каталоге с игрой и когда бы Вам ни потребовалось, напишите "/save"
прямо в игре (для этого нажмите "t" или тильду, чтобы вызвать строку чата). Это
действие сохранит Ваше текущее положение в игре (в координатах), угол и ID
игрока в файл "savedpositions.txt" в основном каталоге игры SA. Чтобы изменить
персонажа в Режиме Отладки нажимайте F11 и F12, переключаясь по кругу между
доступными в данном моде моделями.
Знакомство с функциями и
callbacks
Прежде, чем мы продолжим, Вы должны узнать, что такое
callbacks, или callback`и. Это – массивы кода, внутри Вашего игрового режима,
представляющие из себя нечто похожее на следующее:
public
OnPlayerDisconnect(playerid) { printf("OnPlayerDisconnect(%d)",
playerid); return 1; } Это - OnPlayerDisconnect callback, который
означает, что эта секция кода будет запускаться при отключении игрока от
сервера. Если Вы захотите, чтобы появлялось большое сообщение о том, что тот или
иной игрок покидает сервер, то Вы добавляете для этого код именно в этот массив.
Все callback`и, которые использует игра (кроме 2, они используются в
filterscripts, а не в gamemodes. О них мы рассказывать не будем), находятся в
Вашем файле. Вы не сможете сделать другие. Большинство из них появляется так же,
как и та, что выше. Но некоторые из них ("OnPlayerCommandText",
"OnPlayerRequestClass", "OnGameModeInit" и "main" (который является не совсем
callback`ом и нигде больше не фигурирует, кроме как на титульном экране вашего
игрового режима)) призваны заставлять игровой режим работать или показать
игрокам, что нужно делать. Вы так же можете использовать и другие, похожие блоки
(на те, о которых ниже), которые выглядят так же, но являются вызываемыми
функциями. Они должны быть вызваны Вами самим. Вот функция "IMadeThis" (обратите
внимание на полное отсутствие пробелов).
public IMadeThis() { //
Это однострочный комментарий, он будет проигнорирован
/*
Это многострочный комментарий */
print("This will be printed to the
server window"); return 0; } Вы, должно быть, обратили внимание на
небольшое описание комментариев. Все, что находится в строке за "//" будет
игнорироваться. То же будет происходить и с текстом между "/*" и "*/". Так как
функция не вызывается игрой, мы должны вызвать ее сами с помощью callback, это
смертельно просто, совсем так же, как вы вызываете большинство команд в своем
коде. Итак, если вы добавите строку:
IMadeThis(); В Ваш
OnPlayerDisconnect callback (она должно находиться между "{" и "}", а так же
перед "return 1;") она должна запускаться как функция и печатать сообщение в
окне сервера, когда Вы покидаете сервер во время игры (помните, что другие вещи,
описанные там, будут игнорироваться). Мы не хотели, чтобы что-либо печаталось в
окне сервера и все "print" и "printf" функции, что были в файле, удалены
скриптером. Только строки, заключенные между фигурными скобками находятся в
функции/callback`е (функция относится к callback`ам так же, как будто они -
специальный случай функции), строка выше - имя функции. "public" подразумевает,
что функция может быть выполнена любым другим кусочком кода, это в основном
означает, что ваш код может быть выполнен, когда Вы вызываете функцию по имени.
Мы не волнуемся о частных функциях, поскольку они вообще не используются в
SA-MP. Скобки после имени функции включают список параметров, мы не охватили их
все, но Вы можете увидеть пример их использования в некоторых из callback`ов в
вашем чистом скрипте. Отметим, что эти параметры автоматически передаются, когда
игра вызывает функцию. Если мы используем сторонние функции (то есть не
callback`и), и мы хотим использовать некоторые параметры, мы должны будем
передать их непосредственно. Одна крошечная вещь, которая должна быть упомянута,
- то, что все строки, кроме строк с фигурными скобками (и даже они при
определенных обстоятельствах, но они будут охвачены позже), и строки
непосредственно перед открытой скобкой (фигурные скобки могут быть в конце той
строки или, как показано здесь, на новой строке), требуют постановки в своем
конце точки с запятой, чтобы обозначить конец процесса.
Дорогие игроки и любитель игры San Andreas Multiplayer!!!! С 25/05/2011 Открылся новый RPG сервер 176.32.37.94:7777 !!! У нас для вас есть всё чтоб вы смогли играть и наслаждаться игрой так как на небесах!!! """Описание Сервера""" Я думаю всем вам уже надоели обычные ДМ серверы!И поэтому я предлагаю к вашему вниманию совершенно новый сервер |RUS/UA| Vida Virtual [RPG] на нём играет много очень хороших и общительных людей,На сервере стоит RPG мод,который и делает весь игровой процесс реальной жизни!
"""Начало игры на сервере"""
На данном сервере вы должны вести себя как в жизни,например,ваши первые шаги-это поехать в местную Автошколу и получить Водительские права,Позже,когда вы освоитесь у вас возникнет вопрос,а как мне заработать денег? Ответ простой:вам просто нужно найти работу из представленных нами на нашем сервере. Когда вы сможете встать на ноги вы сможете вступить в какую либо Преступную банду или мафию,или вообще играть за закон(Копы) Игра на сервере даст вам много не Забываемых впечатлений и мы ждём всех к нам! В моде 21 фракция.
ЛСПД - Полиция штата ФБР Национальная Гвардия Министерство Здравоохранения Мэрия Лицензиары Хитманы Репортеры Таксисты
банды/мафии
Grove Street Ballas El Coronos Gang Los Santos Vagos Gang San Fiero Rifa Gang Русская Mафия Yakuza La Cosa Nostra Стритрейсеры Колхоз ЗАО Воcхождение """Информация о сервере""" HostName: |RUS/UA| Vida Virual [RPG]