Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Система кейсов - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

  • (2 Страниц) +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Scr ][ All ]
Система кейсов отлично подойдёт для DRIFT + DM
Оценка: -----

#1
Пользователь офлайн   Rodger_Camillo 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Привет всем, сегодня хочу выложить для вас готовое решение
Система кейсов, данная система отлично подойдёт для сервера с жанром drift + dm
Начнём же.

Ко всем переменным new
new Text:SystemCase[13];



Теперь текстдравы
OnGameModeInit текстдравы [Показать]


Добавляем команду
Команда [Показать]


Нажатие на подарочки.
public OnPlayerClickTextDraw(playerid, Text:clickedid) [Показать]


Скриншоты: https://imgur.com/a/hfViX
Если вам понравилось моё готовое решение поставьте "+сик"
Автор: Rodger_Camillo

Сообщение отредактировал Rodger_Camillo: 05 Ноябрь 2017 - 20:21

0

#2
Пользователь офлайн   Skiffi 

  • Worst
  • Вставить ник
  • Раскрыть информацию
Click
Click2

Сообщение отредактировал Skiffi: 05 Ноябрь 2017 - 20:17

1

#3
Пользователь офлайн   Rodger_Camillo 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияSkiffi (05 Ноябрь 2017 - 20:17) писал:



Спасибо.
0

#4
Пользователь офлайн   m1n1vv 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию
Переделал один ТД. Остальные аналогично.

        if(clickedid == SystemCase[5])
        {
                static const
                        str[] = "[Система Кейсов]{FF0000} Игрок %s[%d] открыл VIP CASE {7BFFFF}(/case)",
                        str_t[][] =
                        {
                                !"Ты открыл кейс и тебе выпала {FFFF00}(VIP-1)",
                                !"Ты открыл кейс и тебе выпала {FFFF00}(VIP-2)",
                                !"Ты открыл кейс и тебе выпала {FFFF00}(VIP-3)",
                                !"Тебе не чего не выпало :("
                        };

                new 
                        string[sizeof str + MAX_PLAYER_NAME + 11 - 2*2],
                        PlayerName[MAX_PLAYER_NAME],
                        g = random(4);

                GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
                
                if (GetPVarInt(playerid, !"PlMon") < 15000000)//проверка на деньги у каждого своя
                        return SendClientMessage(playerid, COLOR_RED, !"У Вас недостаточно денег.");

                SetPVarInt(playerid, !"PlMon", GetPVarInt(playerid, !"PlMon") - 15000000);//переменная денег у каждого своя
                format(string, sizeof(string), str, PlayerName, playerid);
                SendClientMessage(playerid, COLOR_WHITE, string);

                SendClientMessage(playerid, 0x9E7BFFFF, str_t[g]);
                PlayerInfo[playerid][pVIP] = (g < 3) ? (g+1) : (0);
                        
                TextDrawHideForPlayer(playerid, SystemCase[0]);
                TextDrawHideForPlayer(playerid, SystemCase[1]);
                TextDrawHideForPlayer(playerid, SystemCase[2]);
                TextDrawHideForPlayer(playerid, SystemCase[3]);
                TextDrawHideForPlayer(playerid, SystemCase[4]);
                TextDrawHideForPlayer(playerid, SystemCase[5]);
                TextDrawHideForPlayer(playerid, SystemCase[6]);
                TextDrawHideForPlayer(playerid, SystemCase[7]);
                TextDrawHideForPlayer(playerid, SystemCase[8]);
                TextDrawHideForPlayer(playerid, SystemCase[9]);
                TextDrawHideForPlayer(playerid, SystemCase[10]);
                TextDrawHideForPlayer(playerid, SystemCase[11]);
                TextDrawHideForPlayer(playerid, SystemCase[12]);
                CancelSelectTextDraw(playerid);
        }

Сообщение отредактировал m1n1vv: 05 Ноябрь 2017 - 20:30

0

#5
Пользователь офлайн   Rodger_Camillo 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияm1n1vv (05 Ноябрь 2017 - 20:28) писал:

Переделал один ТД. Остальные аналогично.

        if(clickedid == SystemCase[5])
        {
                static const
                        str[] = "[Система Кейсов]{FF0000} Игрок %s[%d] открыл VIP CASE {7BFFFF}(/case)",
                        str_t[][] =
                        {
                                !"Ты открыл кейс и тебе выпала {FFFF00}(VIP-1)",
                                !"Ты открыл кейс и тебе выпала {FFFF00}(VIP-2)",
                                !"Ты открыл кейс и тебе выпала {FFFF00}(VIP-3)",
                                !"Тебе не чего не выпало :("
                        };

                new 
                        string[sizeof str + MAX_PLAYER_NAME + 11 - 2*2],
                        PlayerName[MAX_PLAYER_NAME],
                        g = random(4);

                GetPlayerName(playerid, PlayerName, MAX_PLAYER_NAME);
                
                if (GetPVarInt(playerid, !"PlMon") < 15000000)//проверка на деньги у каждого своя
                        return SendClientMessage(playerid, COLOR_RED, !"У Вас недостаточно денег.");

                SetPVarInt(playerid, !"PlMon", GetPVarInt(playerid, !"PlMon") - 15000000);//переменная денег у каждого своя
                format(string, sizeof(string), str, PlayerName, playerid);
                SendClientMessage(playerid, COLOR_WHITE, string);

                SendClientMessage(playerid, 0x9E7BFFFF, str_t[g]);
                PlayerInfo[playerid][pVIP] = (g < 3) ? (g+1) : (0);
                        
                TextDrawHideForPlayer(playerid, SystemCase[0]);
                TextDrawHideForPlayer(playerid, SystemCase[1]);
                TextDrawHideForPlayer(playerid, SystemCase[2]);
                TextDrawHideForPlayer(playerid, SystemCase[3]);
                TextDrawHideForPlayer(playerid, SystemCase[4]);
                TextDrawHideForPlayer(playerid, SystemCase[5]);
                TextDrawHideForPlayer(playerid, SystemCase[6]);
                TextDrawHideForPlayer(playerid, SystemCase[7]);
                TextDrawHideForPlayer(playerid, SystemCase[8]);
                TextDrawHideForPlayer(playerid, SystemCase[9]);
                TextDrawHideForPlayer(playerid, SystemCase[10]);
                TextDrawHideForPlayer(playerid, SystemCase[11]);
                TextDrawHideForPlayer(playerid, SystemCase[12]);
                CancelSelectTextDraw(playerid);
        }



Спасибо.
0

#6
Пользователь офлайн   Skiffi 

  • Worst
  • Вставить ник
  • Раскрыть информацию
m1n1vv,
for(new i; i != 13; i ++) TextDrawHideForPlayer(playerid,SystemCase[i]);

не?

Автор, настрой цвета в гл.сообщении, глаза режет.

Сообщение отредактировал Skiffi: 05 Ноябрь 2017 - 22:30

0

#7
Пользователь офлайн   m1n1vv 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияSkiffi (05 Ноябрь 2017 - 22:29) писал:

m1n1vv,
for(new i; i != 13; i ++) TextDrawHideForPlayer(playerid,SystemCase[i]);
не?

Я советую как можно меньше использовать циклы
0

#8
Пользователь офлайн   Skiffi 

  • Worst
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияm1n1vv (05 Ноябрь 2017 - 22:30) писал:

Я советую как можно меньше использовать циклы

Что плохого в использовании таких циклов?
Он ведь не много в себе несет
0

#9
Пользователь офлайн   m1n1vv 

  • Эксперт
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияSkiffi (05 Ноябрь 2017 - 22:32) писал:

Что плохого в использовании таких циклов?
Он ведь не много в себе несет

Но ведь без цикла будет быстрее же
0

#10
Пользователь офлайн   Макс 

  • Местный
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияSkiffi (05 Ноябрь 2017 - 22:32) писал:

Что плохого в использовании таких циклов?
Он ведь не много в себе несет


Код будет выполнятся дольше на 0.0000001 мс.
0

Поделиться темой:


  • (2 Страниц) +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика