Бустеры

Terosirtri

Участник
Регистрация
4 Май 2023
Сообщения
52
Как сделать такую штуку чтобы когда игрок купил бустер в бос баре писало сколько осталось и от кого бустер, и сколько он даёт например х2 и с каждой секундой, бос бар, тип его хп уменьшалось, этот бустер глобальный,
И ещё как личный сделать
 

maxim34a

Эксперт
Регистрация
10 Июн 2023
Сообщения
551
Так. Ещё вчера тебе писал 2 кода, но терял их. Вот обычная система бустеров(Вчера ты просил):
Код:
# - пометки в коде, их переписывать никуда не надо

Событие игрок кликает правой кнопкой
    #%player%Point - то, сколько игрок получит за клик с учетом бустеров
    Присвоить значение переменной * (Динам. переменная: %player%Points; Число: 1; Числа: %player%Booster)
    Присвоить значение переменной * (Динам. переменная: %player%Points; Число: %player%Points; Числа: globalBooster)
    #%player%Money - баланс игрока, к которому мы будем прибавлять накликанное
    Присвоить значение переменной += (Динам. переменная: %player%Money; Число: %player%Points)
    Отправить сообщение игроку("Вам начислено " %player%Points " очков!")

#Тут команды для установки бустеров
Событие игрок пишет в чат
    #Установим глобальный бустер, чтобы сделать бустер x2 надо ввести "@setGlobalBooster 2"
    Если текст содержит(Текст: Игровое значение -> Значение события -> Сообщение игрока; Тексты: "@setGlobalBooster") {
        Парсить текст(Динам. переменная: globalBooster; Текст: Игровое значение -> Значение события -> Сообщение игрока)
    }
    #Установим персональный бустер, чтобы сделать бустер x2 надо ввести "@setPersonalBooster 2"
    Если текст содержит(Текст: Игровое значение -> Значение события -> Сообщение игрока; Тексты: "@setPersonalBooster") {
        Парсить текст(Динам. переменная: %player%Booster; Текст: Игровое значение -> Значение события -> Сообщение игрока)
    }

Теперь задача посложнее: Сделать боссбар для этих бустеров. Вот код для боссбара глобального бустера

Код:
    #Установим глобальный бустер, чтобы сделать бустер x2 на 60 секунд надо ввести "@setGlobalBooster 2 60"
    Если текст содержит(Текст: Игровое значение -> Значение события -> Сообщение игрока; Тексты: "@setGlobalBooster") {
        #Остановка цикла - предосторожность, чтобы не сломалось если поставят новый глобальный бустер пока первый не закончился
        Остановить цикл("globalBooster")
        Парсить текст(Динам. переменная: globalBooster; Текст: Игровое значение -> Значение события -> Сообщение игрока)
        Создать боссбар(Имя: "globalBoosterBossbar"; Титл: "Null"; цвет любой; стиль впринципе любой, но лучше возьми 10 или 20)
        #Если есть HERO - можно и разделить текст на элементы
        Обрезать текст(Динам. переменная: globalBoosterTime; Текст: Игровое значение -> Значение события -> Сообщение игрока; Первое число: 0; Второе число: 20)
        Парсить число(Динам. переменная: globalBoosterTime; Текст: globalBoosterTime)
        Запустить цикл("globalBooster")
    }

Цикл "globalBooster", задержку: 20
    Объединить тексты(Динам. переменная: globalBoosterText; Тексты: "Глобальный бустер: " globalBooster ". Время: " globalBoosterTime)
    Установить титл боссбара(Имя: "globalBoosterBossbar"; Текст: globalBoosterText)
    #Зажимаешь шифт и кликаешь пкм по табличке, выбираешь "Все игроки"
    Показать боссбар(Имя: "globalBoosterBossbar")
    Присвоить значение переменной -=(Динам. переменная: globalBoosterTime)
    Если значение переменной(globalBoosterTime = 0) {
        #Зажимаешь шифт и кликаешь пкм по табличке, выбираешь "Все игроки"
        Скрыть боссбар
        Остановить цикл("globalBooster")
    }

Теперь проблемы кода боссбара. Первое, нету перевода секунд в минуты и так далее(Надеюсь, сможешь сделать сам, там код по идеи не сложный). Второе - нету движения скорборда. Можно было бы сделать так, что когда отнимается 1 секунда от времени - полоски на боссбаре немного уменьшаются. Сделать тоже можно, я не писал это.

чуть не потерял и этот код)0)
 
Последнее редактирование:

Terosirtri

Участник
Регистрация
4 Май 2023
Сообщения
52
Так. Ещё вчера тебе писал 2 кода, но терял их. Вот обычная система бустеров(Вчера ты просил):
Код:
# - пометки в коде, их переписывать никуда не надо

Событие игрок кликает правой кнопкой
    #%player%Point - то, сколько игрок получит за клик с учетом бустеров
    Присвоить значение переменной * (Динам. переменная: %player%Points; Число: 1; Числа: %player%Booster)
    Присвоить значение переменной * (Динам. переменная: %player%Points; Число: %player%Points; Числа: globalBooster)
    #%player%Money - баланс игрока, к которому мы будем прибавлять накликанное
    Присвоить значение переменной += (Динам. переменная: %player%Money; Число: %player%Points)
    Отправить сообщение игроку("Вам начислено " %player%Points " очков!")

#Тут команды для установки бустеров
Событие игрок пишет в чат
    #Установим глобальный бустер, чтобы сделать бустер x2 надо ввести "@setGlobalBooster 2"
    Если текст содержит(Текст: Игровое значение -> Значение события -> Сообщение игрока; Тексты: "@setGlobalBooster") {
        Парсить текст(Динам. переменная: globalBooster; Текст: Игровое значение -> Значение события -> Сообщение игрока)
    }
    #Установим персональный бустер, чтобы сделать бустер x2 надо ввести "@setPersonalBooster 2"
    Если текст содержит(Текст: Игровое значение -> Значение события -> Сообщение игрока; Тексты: "@setPersonalBooster") {
        Парсить текст(Динам. переменная: %player%Booster; Текст: Игровое значение -> Значение события -> Сообщение игрока)
    }

Теперь задача посложнее: Сделать боссбар для этих бустеров. Вот код для боссбара глобального бустера

Код:
    #Установим глобальный бустер, чтобы сделать бустер x2 на 60 секунд надо ввести "@setGlobalBooster 2 60"
    Если текст содержит(Текст: Игровое значение -> Значение события -> Сообщение игрока; Тексты: "@setGlobalBooster") {
        #Остановка цикла - предосторожность, чтобы не сломалось если поставят новый глобальный бустер пока первый не закончился
        Остановить цикл("globalBooster")
        Парсить текст(Динам. переменная: globalBooster; Текст: Игровое значение -> Значение события -> Сообщение игрока)
        Создать боссбар(Имя: "globalBoosterBossbar"; Титл: "Null"; цвет любой; стиль впринципе любой, но лучше возьми 10 или 20)
        #Если есть HERO - можно и разделить текст на элементы
        Обрезать текст(Динам. переменная: globalBoosterTime; Текст: Игровое значение -> Значение события -> Сообщение игрока; Первое число: 0; Второе число: 20)
        Парсить число(Динам. переменная: globalBoosterTime; Текст: globalBoosterTime)
        Запустить цикл("globalBooster")
    }

Цикл "globalBooster", задержку: 20
    Объединить тексты(Динам. переменная: globalBoosterText; Тексты: "Глобальный бустер: " globalBooster ". Время: " globalBoosterTime)
    Установить титл боссбара(Имя: "globalBoosterBossbar"; Текст: globalBoosterText)
    #Зажимаешь шифт и кликаешь пкм по табличке, выбираешь "Все игроки"
    Показать боссбар(Имя: "globalBoosterBossbar")
    Присвоить значение переменной -=(Динам. переменная: globalBoosterTime)
    Если значение переменной(globalBoosterTime = 0) {
        #Зажимаешь шифт и кликаешь пкм по табличке, выбираешь "Все игроки"
        Скрыть боссбар
        Остановить цикл("globalBooster")
    }

Теперь проблемы кода боссбара. Первое, нету перевода секунд в минуты и так далее(Надеюсь, сможешь сделать сам, там код по идеи не сложный). Второе - нету движения скорборда. Можно было бы сделать так, что когда отнимается 1 секунда от времени - полоски на боссбаре немного уменьшаются. Сделать тоже можно, я не писал это.

чуть не потерял и этот код)0)
Я честно сказать почти ничего не понял
Сообщение объединено:

Я честно сказать почти ничего не понял
Сможешь сделать?
 
Сверху