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

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

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

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

[Урок] Делаем особый список clist'ov

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

Ulkiorra

Умник
Здравствуйте. Сделал список клистов(не samp rp) . На мой взгляд больше подойдет для ДМ сервера.
Это моя первая работа с таймерами.
1. Ко всем forward:
Код:
forward TimerInvisibleColor();
forward TimerBlackColor();
2. Ко всем define:
Код:
#define INVISIBLE_COLOR 0xFFFFFF00
#define BLACK_COLOR 0x000000AA
#define BLUE_COLOR 0x3300FFAA
#define YELLOW_COLOR 0xCCFF00AA
#define ORANGE_COLOR 0xFF9900AA
#define PINK_COLOR 0xFF66CCAA
#define PURPLE_COLOR 0x330099AA
#define GREEN_COLOR 0x33CC00AA
3. В public OnDialogResponce:
Код:
if(dialogid == 100)
{
if(responce)
{
if(listitem == 0)
{
ShowPlayerDialog(playerid, 101, DIALOG_STYLE_LIST, "Обычные цвета", "1. Синий\n2. Желтый\n3. Оранжевый\n4. Розовый\n5. Фиолетовый\n6. Зеленый", "Выбрать", "Назад");
}
if(listitem == 1)
{
ShowPlayerDialog(playerid, 102, DIALOG_STYLE_LIST, "Уникальные цвета", "1. Невидимый  |  Цена: 5.000$ / 5 минут\n2. Черный  |  Цена: 2.000$ / 5 минут", "Выбрать", "Назад");
}
}
else
{
//...
}
}
if(dialogid == 101)
{
if(responce)
{
if(listitem == 0)
{
SetPlayerColor(playerid, BLUE_COLOR);
SendClientMessage(playerid, 0xFFFFFFFF, "Вы изменили цвет своего ника на: BLUE_COLORСиний);
}
if(listitem == 1)
{
SetPlayerColor(playerid, YELLOW_COLOR);
SendClientMessage(playerid, 0xFFFFFFFF, "Вы изменили цвет своего ника на: YELLOW_COLORЖелтый);
}
if(listitem == 2)
{
SetPlayerColor(playerid, ORANGE_COLOR);
SendClientMessage(playerid, 0xFFFFFFFF, "Вы изменили цвет своего ника на: ORANGE_COLORОранжевый);
}
if(listitem == 3)
{
SetPlayerColor(playerid, PINK_COLOR);
SendClientMessage(playerid, 0xFFFFFFFF, "Вы изменили цвет своего ника на: PINK_COLORРозовый);
}
if(listitem == 4)
{
SetPlayerColor(playerid, PURPLE_COLOR);
SendClientMessage(playerid, 0xFFFFFFFF, "Вы изменили цвет своего ника на: PURPLE_COLORФиолетовый);
}
if(listitem == 5)
{
SetPlayerColor(playerid, GREEN_COLOR);
SendClientMessage(playerid, 0xFFFFFFFF, "Вы изменили цвет своего ника на: GREEN_COLORЗеленый);
}
}
else
{
ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Выберите интересующий тип цвета:", "1. Обычный цвет\n2. Уникальный цвет", "Выбрать", "Отмена");
}
}
if(dialogid == 102)
{
if(responce)
{
if(listitem == 0)
{
ShowPlayerDialog(playerid, 103, DIALOG_STYLE_MSGBOX, "Необходимо подтверждение", "Вы собираетесь установить цвет: Невидимый\n\nGREEN_COLORЦена: 0xFFFFFFFF5.000$\nGREEN_COLORВремя действия: 0xFFFFFFFF5 минут\n\nВы подтверждаете данное действие?", "Да", "Нет");
}
if(listitem == 1)
{
ShowPlayerDialog(playerid, 104, DIALOG_STYLE_MSGBOX, "Необходимо подтверждение", "Вы собираетесь установить цвет: Черный\n\nGREEN_COLORЦена: 0xFFFFFFFF2.000$\nGREEN_COLORВремя действия: 0xFFFFFFFF5 минут\n\nВы подтверждаете данное действие?", "Да", "Нет");
}
}
else
{
ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Выберите интересующий тип цвета:", "1. Обычный цвет\n2. Уникальный цвет", "Выбрать", "Отмена");
}
}
if(dialogid == 103)
{
if(responce)
{
GivePlayerMoney(playerid, -5000);
SetTimer("TimerInvisibleColor", 300000, false);
SendClientMessage(playerid, 0xFFFFFFFF, "Вы изменили цвет своего ника на: Невидимый\nGREEN_COLORВремя действия: 0xFFFFFFFF5 минут. Отсчет начат..."
}
else
{
ShowPlayerDialog(playerid, 102,
 DIALOG_STYLE_LIST, "Уникальные цвета", "1.
Невидимый | Цена: 5.000$ / 5 минут\n2. Черный
   | Цена: 2.000$ / 5 минут", "Выбрать", "Назад");
}
}
if(dialogid == 104)
{
if(responce)
{
GivePlayerMoney(playerid, -2000);
SetTimer("TimerBlackColor", 300000, false);
SendClientMessage(playerid, 0xFFFFFFFF, "Вы изменили цвет своего ника на: BLACK_COLORЧерный\nGREEN_COLORВремя действия: 0xFFFFFFFF5 минут. Отсчет начат..."
}
else
{
ShowPlayerDialog(playerid, 102,
 DIALOG_STYLE_LIST, "Уникальные цвета", "1.
Невидимый | Цена: 5.000$ / 5 минут\n2. Черный
   | Цена: 2.000$ / 5 минут", "Выбрать", "Назад");
}
}
4. В самом низу мода создаем два public'a:
Код:
public TimerInvisibleColor()
{
SetPlayerColor(playerid, ORANGE_COLOR);
SendClientMessage(playerid, 0xFFFFFFFF, "Внимание! Время действия цвета "Невидимый" истекло.
return 1;
}
и
Код:
public TimerBlackColor()
{
SetPlayerColor(playerid, ORANGE_COLOR);
SendClientMessage(playerid, 0xFFFFFFFF, "Внимание! Время действия цвета "Черный" истекло.
return 1;
}
5. последнее в public OnPlayerCommandText:
Код:
if(strcmp( cmd, "/clist", true) == 0)
ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Выберите интересующий тип цвета:", "1. Обычный цвет\n2. Уникальный цвет", "Выбрать", "Отмена");
P.S прошу прощения, табуляцию не делал.
Автор: UlkiorraJeezy
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу