Serega_Blink
Компетентный
Всем привет, с вами BLINK!
Решил написать урок для новичков которые мало знают.
Сразу предупреждаю, я взял несколько хороших уроков и объединил их в один.
Решил написать урок для новичков которые мало знают.
Сразу предупреждаю, я взял несколько хороших уроков и объединил их в один.
Часто на форумах сыпятся вопросы с чего начать и т.п.Ну что приступим.
*
Лучше всего брать: GF, new.pwn, SenseGame
**
Как запустить :
Для создания сервера у вас должен быть хороший провайдер соединения с интернетом.
Алгоритм создания сервера:
*открываем файл server.cfg c помощью блокнота и видим там такой текст...
echo Executing Server Config...
lanmode 0 - (1) чтобы сервер был доступен пользователям из локальной сети
maxplayers 32 - число игроков.
port 7777 - порт
hostname Unnamed Server - имя сервера
gamemode0 lvdm 1 - стартовый мод(местность) ~ как поменять напишу далее....
gamemode1 rivershell 1
gamemode2 area51 1
gamemode4 sftdm 1
weburl
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
rcon_password changeme - пароль от админки на сервер
4- Выбор мода
* в паке "gamemodes" лежат файлы с расширением АМХ это и есть те самые моды местноси карты как хотите
Чтобы сменить мод просто надо прописать в строчку gamemode0 имя файла к примеру....
gamemode0 monster 1...
5- запускаем приложение samp-server.exe
6- Узнаем свой IP
7- Запускаем SA-MP и добавляем в Favorites свой ip aдрес + номер порта должно быть так:
Например: 12.123.12.123:7777
Если у вас дома стоит wi-fi роутер то используйте этот IP : 127.0.0.1:7777
8- Сервер готов, можно приступать к игре.
Стандартные команды администрирования сервера:
(вводить в строке чата):
/rcon login - вход в режим администратора. Необходимо для выполнения следующих команд.
/rcon exec - запустить конфиг.
/rcon cmdlist - отобразить список всех команд.
/rcon varlist - отобразить список всех переменных.
/rcon exit - выход.
/rcon kick [id] - kick player по id. Выбрасывает игрока.
/rcon ban [id] - ban player по id. Выбрасывает игрока перманентно.
/rcon gmx - перезапуск сценария.
/rcon changemode - смена текущей карты.
/rcon say - напечатать в чате "text" от админа.
/rcon echo - напечатать текст на стороне консоли.
/rcon reloadbans - reloads bans.
/rcon password - установка или изменение пароля на сервер.
Если вы все сделали согласно данному FAQ проблем с сервером быть не должно.
Если все таки возникли проблемы с установкой SA-MP сервера то пишите вашу проблему на форум.
***
Начинаем скриптинг.
1) Вот это папка с программой Pawno (открывать желтую пешку):
2) Когда мы ее открываем то видим вот это:
3) С верху мы видим папочку со стрелочками, открываем ее ,далее выбираем наш мод (он находится в папке гейммоделс):
Вот мы выбрали мод:
4) Самый распространенный вопрос "Куда вставлять эту команду" Команду вставлять всегда в public OnPlayerCommandText
5) Далее когда вы поработали с модом, вам надо перевести его в файл AMX (скомпилировать) для этого вам надо нажать на верхней панели синий треугольник, похожей на play.
****
Теперь про скобки.
Такой темы не было, поэтому я хочу уделить ей внимание, так как я сам долго путался в этих скобках:
Для начала возьмем команду, которая написана правильно и разберем ее:
PHP:
if (strcmp("/repair", cmdtext, true, 10) == 0)
{
if(GetPlayerMoney(playerid) < 1000)
{
SendClientMessage(playerid, 0x00FF00AA, " Не достаточно денег. Нужно $1000 ");
return 1;
}
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0xFF0000AA," Ошибка: Вы должны находится в машине. ");
RepairVehicle(GetPlayerVehicleID(playerid));
GivePlayerMoney(playerid,-1000);
PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0);
return SendClientMessage(playerid,0xFFFF00AA," Вы починились! ");
}
Скобка } - является закрывающей скобкой
В данной команде открылось две скобки { и закрылось две скобки }
Но если бы, предположим, открылось две скобки { и закрылась одна скобка}, то павно просто бы вылетел(вот из-за чего эти вылеты!). Поэтому если такое случается - всегда знайте, вы где-то забыли поставить закрывающую скобку }.
После строки return 1; или return 0; ставится закрывающаяся скобка }, иначе при компиляции павно будет выдавать варрнинг. Мой вам совет: "Не спешите, лучше проверьте все 5 раз, а потом компилируйте. Проверяйте равенство скобок { и }.
*****
Хостинг.
Если же вы хотите хороший хостинг то советую ИгроХост.
Если у вас малый бюджет то Google вам поможет!
******
Раскрутка сервера.
Уникальность сервера
Сколько бы вы не рекламировали свой сервер на различных сайтах и других web ресурсах, при заходе игрока на ваш сервер он уже сам выбирает: остаться или уйти, как бы вы не рекламировали свой сервер.
Для того, что бы заинтересовать потенциального игрока, мод должен быть интересен. Согласитесь, что запустив мод, который в точности повторяет другой, может быть более популярный, сервер, вы ничем не привлечете потенциального игрока, который в любом случае сделает выбор в сторону более популярного сервера. Поэтому не копируйте другие сервера и их идеи, а создавайте что-то своё.
Администрация
Многие начинающие владельцы серверов используют, во истину, дурацкий способ "заманухи" : "Свободные админки", "Добрая администрация" и др. Игрок, который хочет развлечься на сервере, не хочет, что бы его судил человек, который просто так получил свою должность, только из-за того, что просто зашел на сервер. И "добрая администрация" - информирует, что администрация более лояльно относиться к нарушениям правил и соответственно не жестко, а иногда вовсе не, наказывает игроков за "шалости". И кому хочется играть с читерами\баггерами\нарушителями?
Информированность
Помимо самого сервера, так же приветствуется web страничка(сайт, блог, форум и т.д.). На сайте можно подробнее ознакомиться с модом, узнать что, где и как.
Удовольствие
Игрок, в первую очередь, заходит на сервер, что бы расслабиться и получить удовольствие. Сейчас, с большим количеством серверов с модом The Godfather, курс обучения просто не может не вызвать отвращение. Читать текст, который тебя уже ничему не учит (вы уже знакомы с режимом), довольно унылое занятие и по большинство просто "сворачивается" или занимается другими делами, во время, якобы, курса обучения. Придумайте более динамичное обучение, включите фантазию.
Не используйте спам, для раскрутки сервера. Как правило от такого складывается не самое лучшее мнение о сервере.
Удачи вам и вашим серверам!
Part Two Как начать программировать.
Еще раз приветствую вас!
Сегодня я расскажу как правильно писать функции.
Ну что, начнем!
Первым делом откроем мод и попытаемся понять что-нибудь.
Я взял маленький мод Grand Larc там всего где то 400 строк.
И что мы видим:
Разжуем....
Инклуды это опора мода. Там прописаны функции которые изменяются со временем и + улучшаются..
Дефайн эта строка содержит в себе многое то есть можно вписать ID цвета ID диалога и другое
Форвард это опора нового паблика без нее будет выводиться ошибка о том что не известен символ
Ню это переменная тоже содержит в себе многое... Если на пример делать общаки то эта функция поможет нам в создании пикапа и отдельных диалогов
Паблик ну это и есть практически главное!
В нем прописаны те функции которые пикап\диалог и многое другое будет прописано в нем
Ну возьмем к примеру
Далее я взял код с тем что дает деньги вот его код:
так что мы видим? Первая строчка: switch(pCheckpoint[playerid]) переводим : переключатель чекпоинта игрока
что это значит то что когда мы подойдем к нему он начнет с нами действовать.И даст денег!
Как узнал что даст денег?
Ответ прост: следующая функция case CHECKPOINT_MONEY:
подходим и :
Вот,тут уже ясно что если там что то написано,то это переводится. И не бойтесь писать сами... Я просто тупо списывал коды от разных штуковин и набрался опытности....
Ну вот и все! Сегодня мы разобрали как писать... Ну это только начало а остальное практика....
Еще раз приветствую вас!
Сегодня я расскажу как правильно писать функции.
Ну что, начнем!
Первым делом откроем мод и попытаемся понять что-нибудь.
Я взял маленький мод Grand Larc там всего где то 400 строк.
И что мы видим:
PHP:
#Include
#define
forward
new
public
Инклуды это опора мода. Там прописаны функции которые изменяются со временем и + улучшаются..
Дефайн эта строка содержит в себе многое то есть можно вписать ID цвета ID диалога и другое
Форвард это опора нового паблика без нее будет выводиться ошибка о том что не известен символ
Ню это переменная тоже содержит в себе многое... Если на пример делать общаки то эта функция поможет нам в создании пикапа и отдельных диалогов
Паблик ну это и есть практически главное!
В нем прописаны те функции которые пикап\диалог и многое другое будет прописано в нем
Ну возьмем к примеру
PHP:
public OnPlayerEnterCheckpoint(playerid)
PHP:
{
switch(pCheckpoint[playerid])
{
case CHECKPOINT_MONEY:
{
GivePlayerMoney(playerid,500);
SendClientMessage(playerid,0x00FF00FF,"-! Чувак, вот тебе 500$");
DisablePlayerCheckpoint(playerid);// Если мы хотим, чтобы чекпоинт после этого исчез, то вставляем эту функцию.
return 1;
}
case CHECKPOINT_HEALTH:
{
new Float:health;
GetPlayerHealth(playerid,health);
SetPlayerHealth(playerid,health+10.0);
SendClientMessage(playerid,0x00FF00FF,"-! Чувак, вот тебе не много здоровья");
DisablePlayerCheckpoint(playerid);// Если мы хотим, чтобы чекпоинт после этого исчез, то вставляем эту функцию.
return 1;
}
}
return 1;
}
что это значит то что когда мы подойдем к нему он начнет с нами действовать.И даст денег!
Как узнал что даст денег?
Ответ прост: следующая функция case CHECKPOINT_MONEY:
подходим и :
PHP:
GivePlayerMoney(playerid,500); //дает деньги игроку понятно по коду [ДатьИгрокуДеньги(идигрока,500)] 500 это сумма!
SendClientMessage(playerid,0x00FF00FF,"-! Чувак, вот тебе 500$");// вот тут передаем игроку сообщение [ОтправитьКлиенту Сообщение(идигрока,цвет(тут белый),"Держи бабло!(Собственно само сообщение!)"]
DisablePlayerCheckpoint(playerid);//тут я думаю кто знает английский то поймет что [ОтключитьЧекпоинт от Игрока]
return 1; //возвращает это действие обратно
Ну вот и все! Сегодня мы разобрали как писать... Ну это только начало а остальное практика....
Автор : Serega_Blink
Последнее редактирование:
