MaLoI | Дата: Понедельник, 23.12.2013, 20:03 | Сообщение # 1 |
Рядовой
Группа: Проверенные
Сообщений: 18
Статус: offline
| Здравствуйте посетители Сегодня специально для вас написал статью Как написать мод для samp с нуля. Жанр мода будет RP, с полной системой регистрации, и сохранение аккаунтов в базе.
Для написание мода используйте еще вот эти статьи:
ID Ошибок и Предупреждений в Pawno
ID Оружий в SA-MP
План по созданию мода . 1. Создаём новый файл в программе Pawno и удаляем всё не нужное. 2. Настраиваем мод под себя. 3. Пишем Регистрацию для своего мода. 4. Респавн новичков. 5. Пишем текстдравы для мода. 6. Делаем Дома и Бизнес
Итак, начинаем работу. Создаём свой мод.
1. Открываем программу Pawno.exe и создаём файл new.pwn Находим вот такой кусок кода
#if defined FILTERSCRIPT
public OnFilterScriptInit() { print("n--------------------------------------"); print(" Blank Filterscript by your name here"); print("--------------------------------------n"); return 1; }
public OnFilterScriptExit() { return 1; }
#else
#endif
И удаляем его он нам совсем не нужен.
2. Подстраиваем мод под себя. Пишем названия сервера и т.п. В паблике OnGameModeInit находим следующее:
SetGameModeText("Blank Script");- В место "Blank Script" напишите своё название вашего мода. Например: SetGameModeText("GoldState version 3v");
Теперь нам нужно удалить кусок кода, который даёт нам Stunt бонусы. EnableStuntBonusForAll(0); - Удаляем его
Так же мы уберём стандартные жёлтые пикапы входов DisableInteriorEnterExits();- Удаляем
3. Регистрация Mysql.
Нам нужны инклуды <a_mysql> и <sscanf2> если у вас их нет, то скачайте у нас. Теперь подключим эти инклуды в наш мод: #include <a_mysql> // Инклуд для работы с MySQL базой #include <sscanf2> // этот инклуд выводит нам информацию
После всех инклудов пишем код для входа в нашу базу данных.(Для новичков поясню, вам нужно установить на компьютер Denwer - если вы хотите держать базу данных на компьютере или заказать в интернете на предоставления такой услуги)
#define SQL_HOST "192.168.1.2" // - Это IP адрес на котором расположена наша база данных #define SQL_DB "GOLDSTATE" // - Название базы данных #define SQL_USER "username" // - Это пользователь базы данных #define SQL_PASS "123123" // - Пароль #define TABLE_ACCOUNT "akk" // - Название таблицы, где будут хранится аккаунты сервера
Теперь в любом месте мода вставим массив, в массиве хранится вся статистика аккаунта: пароль, лидерство, деньги, уровень. enum pInfo { pID, //- Ид pPassword[256], //- пароль от аккаунта pAdmin, //- уровень администратора pLevel, //- Игровой уровень pMoney, //- Деньги pVip, //- VIP Аккаунт pSkin, //- ID скина pLeader,// - Лидерство pMember,// - Фракция pBan, //- есть бан или нет pKills, //- Сколько раз убил pDeaths,// - Сколько раз погибал pHealths, //- Жизнь при спавне pClass, // pLang // } new Player[MAX_PLAYERS][pInfo]; new query[500];
В Паблик "OnPlayerConnect(playerid)" вставляем диалоговое окно с приветствием паблик OnPlayerConnect(playerid) - отвечает за действие когда игрок только, что присоединился.
for(new i; i < 20; i++) SendClientMessage(playerid, -1, ""); //
ShowPlayerDialog(playerid,111,DIALOG_STYLE_MSGBOX,"{DAA520}GOLDSTATE - Rp{DAA520}"," {0000FF}Добро Пожаловать на сервер GOLDSTATEn {0000FF}Дождитесь полной загрузкиn и нажмите OK","Ok","Exit");
Далее пишем само Диалоговое Окно. Оно у нас под Id-ом 111
if(dialogid == 111) { if(response) { new pname[256]
(с) MaLoI
|
|
| |