Главная | Мой профиль | Регистрация | Выход | ВходВы вошли как Юзерок | Группа "Гости"Приветствую Вас Юзерок | RSS
Меню сайта
Категории раздела
Клиент и сервер [1]
•••-=Сделай сервер=-•••
Gamemodes [2]
Создай мод••!!
Партнер сайта
ЛУЧШИЕ МОДЫ ДЛЯ GTA СО ВСЕГО РУНЕТА
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
» Зарег. на сайте
Всего: 157
Новых за месяц: 0
Новых за неделю: 0
Новых вчера: 0
Новых сегодня: 0
» Из них
Администраторов: 1
Модераторов: 0
Модератор форума:
Проверенных: 0
Обычных юзеров: 156
» Из них
Парней: 146
Девушек: 11
-=Top=-
ЛУЧШИЙ TOP ВСЕГО РУНЕТА Рейтинг сайтов от GTA-FAN.RU Top-uCoz GTA-Support TOP | www.GTA-Support.Ru Топ сайтов от Rash-Team ТОП САЙТОВ-igraGTA TOP SITES Game's TOP-100 Counter
Главная » Статьи » Gamemodes

Как создать свой мод для samp
                                       Как создать деатматч
Нет ничего проще. Открываем Pawno и нажимаем New. Вот он, Ваш первый скрипт. Чтобы запустить его, надо сначала его сохранить (большинство людей сохраняют в директорию "/samp/gamemodes/src/", но будет проще (для локального тестирования) сохранить его в "/samp/gamemodes/"). Затем кликните по кнопке с изображением синей стрелочки. Это действие компилирует Ваш файл .pwn в файл .amx, который появится в том же каталоге, однако чтобы запустить его в игре, этот файл должен лежать в "/samp/gamemodes/" (теперь понятно, зачем было сохранять Ваш скрипт в этом каталоге - теперь не придется ничего никуда переносить в ручную, все уже на своих местах после компиляции). Теперь, чтобы опробовать свой новый мод, Вы должны настроить локальный сервер и сменить игровой режим (наберите "changemode " в окне сервера).

Если все прошло удачно, когда подключитесь к своему серверу через клиент sa-mp, в игре Вы окажетесь снаружи казино в Las Venturas. К сожалению Вы не сможете выбрать себе персонажа, так как на данный момент доступен только один, но это можно будет легко исправить в будущем. Кроме того это не очень уж и интересный ДМ – из оружия у Вас только кулаки а вокруг ни души. Но это локальный сервер и по поводу второй проблемы на данный момент ничего нельзя поделать.

Следующим шагом, который Вы скорее всего захотите сделать, будет добавление в игровой режим оружия (контролируется на основе «каждому классу свое»). Каждый игрок, которого Вы выберете в начале игры (или позже в случае замены) будет принимать значение "класса". У классов может быть одинаковое оружие, или у всех разное, или комбинация. Вы назначаете оружие для каждого класса отдельно. Поэтому, чтобы дать всем классам одинаковое оружие, Вам просто нужно скопировать информацию об оружии и добавить ее к описанию каждого из существующих в Вашем игровом режиме классов. Это действие обеспечит сбалансированную игру, хотя играть будет не так интересно, если все будут бегать с одинаковым оружием. Однако выбор остается за Вами. В редакторе найдите следующую строку:

AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);

Это описание класса, параметры в том же порядке:
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`и), и мы хотим использовать некоторые параметры, мы должны будем передать их непосредственно. Одна крошечная вещь, которая должна быть упомянута, - то, что все строки, кроме строк с фигурными скобками (и даже они при определенных обстоятельствах, но они будут охвачены позже), и строки непосредственно перед открытой скобкой (фигурные скобки могут быть в конце той строки или, как показано здесь, на новой строке), требуют постановки в своем конце точки с запятой, чтобы обозначить конец процесса.
__________________
Категория: Gamemodes | Добавил: [Rk]Admin (16.11.2009)
Просмотров: 16774 | Комментарии: 39 | Рейтинг: 4.4/5
Всего комментариев: 39« 1 2 3 4
9 Скриптер ебть  
0
Продаю Valakas мод за 1000рублей Ну и могу отдать Vinewood ли larp ну за символическую цену . skype:tema181 при запросе писать "я нащёт мода."

8 syndicat  
0
[color=red][color=blue][size=8][u][i][b]
[/c][c]
[/r]
[r]

7 vip  
0
я непойму вот етот раздел! чё тут надо сделать? помогите плиз!!

AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);

Это описание класса, параметры в том же порядке:
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).


6 Александр  
0
КАК СОЗДАТЬ РП МОД!!!!!!!!!!!!!!!

5 Александр  
0
как создать свои рп МОД????

4 Александр  
0
Как создать РП мод?

3 syndicat  
0
Обьясню как сделать мод в самп...за 7 голосов ВКОНТАКТЕ.. учю всё росставлять тачки... делать команды...всё для мода!!! и что надо для мода ... Я ВКОНТАКТЕ skype:s1nezz

2 sd  
0
Блять на каждом сайте одна хуйня!!! Нет бы свою статью написали, нет надо с другого сайта скопировать и к себе вставить..

1 Веталик  
0
Оставляем коментарии

1-10 11-20 21-30 31-39
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Зарегистрируйтесь или войдите под свои логином
Мини-Профиль

Гость, мы рады вас видеть. Пожалуйста
зарегистрируйтесь или
авторизуйтесь!
Друзья клана
Наш опрос
Вы есть вконтакте
Всего ответов: 141
Музон
Поиск
Design by [KaSkaD]Syndicat by [KaSkaD]BuG_KilleR
Сделать бесплатный сайт с uCoz