Здравствуйте, уважаемые пользователи SampFiles.Ucoz.Ru!
С Вами Admin, и я буду вместе с Вами писать мод, на основе которого Вы сможете сделать свой сервер.
Знаю что уроков по написанию модов очень много, но решил что у меня это получится немного лучше.
Мод будет жанра Role Play, написан с нуля, с системой сохранения аккаунтов посредством базы данных.
Шаг первый. Начало начал.
Открываем pawno.exe и нажимаем "создать новый файл", и удаляем всё то, что нам не нужно:
Код
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
Шаг второй. Изменение основ.
астраиваем внутреннюю часть мода под себя. В паблике OnGameModeInit пишем:
Код
[color=#a64d79]SetGameModeText[/color]("P-W RP v0.1"); // Где "P-W RP v0.1" название вашего будущего мода. У нас будет P-W.
Код
SendRconCommand("hostname [RUS|UA] SampFilesUcozRu Role Play (0.3e)"); // Где "hostname" - означает изменение названи SampFilesUcozRu RUS|UA] SampFilesUcozRu Role Play (0.3e)" - само название
.
Так же, мы изменим спавн игрока, так как нам не нужен Las venturas:
Код
AddPlayerClass(299,1767.9595,-1667.1998,14.4126,90.9009,0,0,0,0,0,0);
вместо
Код
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
Ещё мы уберём стандартные желтые пикапы входов:
Код
DisableInteriorEnterExits();
А ещё, мы избавимся Stunt бонусов:
Код
EnableStuntBonusForAll(0); // Убираем Stunt бонусы
Сердце мода теперь работает, продолжим.
Здесь будет собрано самое сложное, по этому просьба, отнестись к этому шагу на повышенном внимании.
Для начала подключаем два необходимых инклюда:
Код
#include <a_mysql> // Жизненно необходимый инклюд для работы с MySQL
#include <sscanf2> // Для вывода информации
Объявляем данные для входа в базу данных (о ней чуть позже):
Код
#define SQL_HOST "127.0.0.1" // IP хостинга, на котором расположена БД, у нас локальный IP
#define SQL_DB "wow" // Название БД, у нас myrp
#define SQL_USER "root" // Это логин вашего аккаунта на хостинге, на котором расположена БД
#define SQL_PASS "" // Пароль того самого аккаунта, у нас пустой, так как запускаем локально
#define TABLE_ACCOUNT "accounts" // Название таблицы в которой хранятся аккаунты
Далее, создаём массив pInfo, это сердце аккаунта, вся статистика здесь:
Код
enum pInfo
{
pID,
pPassword[256],
pAdmin,
pLevel,
pMoney,
pVip,
pSkin,
pLeader,
pMember,
pBan,
pKills,
pDeaths,
pHealths,
pClass,
pLang
}
new Player[MAX_PLAYERS][pInfo];
Объявляем query, что бы не делать это при новом её использовании:
new query[500];
--------------------
Пока что все. Спасибо за внимание.
Удачи!