Steve_Johnson
Компетентный
Доброго Времени Суток Ув.Пользователи P-I!
Сегодня мне пришла в голову идея создать систему прочтения книг и тем самым прокачивать навыки.
Приступим.
Для начала сделаем команду для покупки книг(она будет у нас действовать по всей карте, в следующий версиях сделаю место)
Ищем свободное место в моде и вставляем туда
Команда на ZCMD
Простая команда в public OnPlayerCommandText
Затем ищем public OnDialogResponse и прописываем
Теперь сделаем команду прочтения книги
Команда на ZCMD
Простая команда в public OnPlayerCommandText
Теперь нам нужно сделать переменные навыков.У вас их может быть много, а у меня будет лишь один
Вставляем в public OnPlayerRegister, public OnPlayerLogin, SaveAccounts переменную
Далее создаем
и так же
Дальше идем в наш созданный public Book(playerid) и вписываем туда вот такое
Вот, пользуйтесь.
P.S Писал для своего мода, если будут ошибки выкладывайте сюда!
Как можно использовать?
Прием во фракцию или банду с определенными навыками
Понравилось?Нажми на "Спасибо", не бойся!
Сегодня мне пришла в голову идея создать систему прочтения книг и тем самым прокачивать навыки.
Приступим.
Для начала сделаем команду для покупки книг(она будет у нас действовать по всей карте, в следующий версиях сделаю место)
Ищем свободное место в моде и вставляем туда
Команда на ZCMD
PHP:
CMD:buybook(playerid)
{
if(IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Вы не зашли на сервер!")
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Покупка Книг", "1.Уголовный Кодекс\n 2.Тут можете придумать свою книгу\n 3. И тут", "Купить", "Отмена"); // (можете выбрать свой ид диалога, вместо "1")
}
PHP:
if(strcmp(cmd, "/buybook", true) == 0)
{
if(IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Вы не зашли на сервер!")
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Покупка Книг", "1.Уголовный Кодекс\n 2.Тут можете придумать свою книгу\n 3. И тут", "Купить", "Отмена"); // (можете выбрать свой ид диалога, вместо "1")
}
PHP:
if(dialogid == 1)
{
if(response)
{
if(listitem == 0 || PlayerInfo[playerid][pMoney] >= 100) return PlayerInfo[playerid][pBook] = 1;GivePlayerMoney(playerid, -100)
if(listitem == 1 || PlayerInfo[playerid][pMoney] >= 100) return PlayerInfo[playerid][pBook] = 1;GivePlayerMoney(playerid, -100)
if(listitem == 2 || PlayerInfo[playerid][pMoney] >= 100) return PlayerInfo[playerid][pBook] = 1;GivePlayerMoney(playerid, -100)
}
else
{
SendClientMessage(playerid,0x88AA88AA,"Вы не стали покупать книгу");
return 1;
}
}
Команда на ZCMD
PHP:
CMD:read(playerid)
{
if(IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Вы не зашли на сервер!")
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "Чтение Книг", "1.Уголовный Кодекс\n 2.Тут можете придумать свою книгу\n 3. И тут", "Прочитать", "Отмена"); // (можете выбрать свой ид диалога, вместо "2")
new sendername[32];
SetPlayerChatBubble(playerid,"Смотрит каталог книг",COLOR_PURPLE,30.0,10000);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s смотрит каталог книг", sendername);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
PHP:
if(strcmp(cmd, "/readbook", true) == 0)
{
if(IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Вы не зашли на сервер!")
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "Чтение Книг", "1.Уголовный Кодекс\n 2.Тут можете придумать свою книгу\n 3. И тут", "Прочитать", "Отмена"); // (можете выбрать свой ид диалога, вместо "2")
new sendername[32];
SetPlayerChatBubble(playerid,"Смотрит каталог книг",COLOR_PURPLE,30.0,10000);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s смотрит каталог книг", sendername);
ProxDetector(10.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
PHP:
if(dialogid == 2)
{
if(response)
{
if(listitem == 0 || PlayerInfo[playerid][pBook] == 1) return SetTimer("Book", 1000*60*1,);
if(listitem == 1 || PlayerInfo[playerid][pBook] == 1) return SetTimer("Book", 1000*60*1,);
if(listitem == 2 || PlayerInfo[playerid][pBook] == 1) return SetTimer("Book", 1000*60*1,);
}
else
{
SendClientMessage(playerid,0x88AA88AA,"Вы не стали читать книгу");
return 1;
}
}
Вставляем в public OnPlayerRegister, public OnPlayerLogin, SaveAccounts переменную
PHP:
pUK,
pBook,
PHP:
forward Book(playerid);
PHP:
public Book(playerid)
PHP:
new string[64];
new book = random(2);
switch(random(2)) // генерируем число от 0 до 2 (включая)
{
case 0:
{
PlayerInfo[playerid][pUK] = 1;
SendClientMessage(playerid,COLOR_GREEN,"Вы прочитали книгу и получили навык знания Уголовного Кодекса");
}
case 1:
{
SetTimer("Book", 1000*60*1,);
SendClientMessage(playerid,COLOR_GREEN,"Вам нужно еще больше читать, что-бы повысить свой навык знания Уголовного Кодекса");
}
P.S Писал для своего мода, если будут ошибки выкладывайте сюда!
Как можно использовать?
Прием во фракцию или банду с определенными навыками
Понравилось?Нажми на "Спасибо", не бойся!
Последнее редактирование:
