Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

[Урок] Создание полноценного мода. [Урок первый]

Статус
В этой теме нельзя размещать новые ответы.

I'm Cobra

Специалист

Здравствуйте, уважаемые пользователи pawno-info!​

С Вами I'm Cobra, и я буду вместе с Вами писать мод, на основе которого Вы сможете сделать свой сервер.
Знаю что уроков по написанию модов очень много, но решил что у меня это получится немного лучше.
Мод будет жанра Role Play, написан с нуля, с системой сохранения аккаунтов посредством базы данных.
Автор: Stich.

[hr][/hr]
Итак, начнём.

Шаг первый. Начало начал.
Открываем pawno.exe и нажимаем "создать новый файл", и удаляем всё то, что нам не нужно:
PHP:
#if defined FILTERSCRIPT

public OnFilterScriptInit()
{
	print("\n--------------------------------------");
	print(" Blank Filterscript by your name here");
	print("--------------------------------------\n");
	return 1;
}

public OnFilterScriptExit()
{
	return 1;
}

#else
PHP:
#endif
--------------------
Шаг второй. Изменение основ.
Настраиваем внутреннюю часть мода под себя. В паблике OnGameModeInit пишем:
PHP:
SetGameModeText("P-I RP v0.1"); // Где "P-I RP v0.1" название вашего будущего мода. У нас будет P-I.
PHP:
SendRconCommand("hostname [RUS] Pawno-Info Role Play (0.3e)"); // Где "hostname" - означает изменение названия сервера, а "[RUS] Pawno-Info Role Play (0.3e)" - само название.
Так же, мы изменим спавн игрока, так как нам не нужен Las venturas:
PHP:
AddPlayerClass(299,1767.9595,-1667.1998,14.4126,90.9009,0,0,0,0,0,0);
вместо
PHP:
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
Ещё мы уберём стандартные желтые пикапы входов:
PHP:
DisableInteriorEnterExits();
А ещё, мы избавимся Stunt бонусов:
PHP:
EnableStuntBonusForAll(0); // Убираем Stunt бонусы
Сердце мода теперь работает, продолжим.

--------------------
Шаг третий. Начало регистрации.
Здесь будет собрано самое сложное, по этому просьба, отнестись к этому шагу на повышенном внимании.

Для начала подключаем два необходимых инклюда:
PHP:
#include <a_mysql> // Жизненно необходимый инклюд для работы с MySQL
#include <sscanf2> // Для вывода информации
Объявляем данные для входа в базу данных (о ней чуть позже):
PHP:
#define SQL_HOST		"127.0.0.1" // IP хостинга, на котором расположена БД, у нас локальный IP
#define SQL_DB    		"wow"       // Название БД, у нас wow
#define SQL_USER  		"root"      // Это логин вашего аккаунта на хостинге, на котором расположена БД
#define SQL_PASS  		""          // Пароль того самого аккаунта, у нас пустой, так как запускаем локально
#define TABLE_ACCOUNT	"accounts"  // Название таблицы в которой хранятся аккаунты
Далее, создаём массив pInfo, это сердце аккаунта, вся статистика здесь:
PHP:
enum pInfo
{
    pID,
    pPassword[256],
    pAdmin,
    pLevel,
    pMoney,
    pVip,
    pSkin,
    pLeader,
    pMember,
    pBan,
    pKills,
    pDeaths,
    pHealths,
    pClass,
    pLang
}
new Player[MAX_PLAYERS][pInfo];
Объявляем query, что бы не делать это при новом её использовании:
PHP:
new query[500];
--------------------
Пока что все. Спасибо за внимание.

Удачи!

[hr][/hr]


​
[hr][/hr]



Еще раз напомню что автор: Stich. При копировании указывать автора - обязательно.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу