Вопрос Как сделать исчезание текста после нескольких строк?

life is cheap, death is free!
Эксперт
Статус
Оффлайн
Регистрация
9 Дек 2019
Сообщения
1,603
Реакции[?]
517
Поинты[?]
2K
Делаю все таки логи, но заметил прикол, мне нужно что бы при определенном количестве логов, они заменялись, а не продолжали рисоваться
 
Легенда форума
Статус
Онлайн
Регистрация
10 Дек 2018
Сообщения
4,381
Реакции[?]
2,284
Поинты[?]
189K
JavaScript:
for (var i = 0; ; ++i) {
    if (i > MaxMessagesCount)
    {
        Задержка();
        i = 0;
    }

}
Не знаю какие в жс есть функции вроде Sleep, вот, поэтому задержка() )
 
Последнее редактирование:
Nike.lua
Олдфаг
Статус
Оффлайн
Регистрация
13 Окт 2020
Сообщения
2,747
Реакции[?]
1,465
Поинты[?]
2K
Делаю все таки логи, но заметил прикол, мне нужно что бы при определенном количестве логов, они заменялись, а не продолжали рисоваться
Ну так если ты рендеришь через цикл, то нужно просто ограничить массив или цикл до определенного кол-ва строчек. И да, в таком случае тебе придется шифтить, а не пушить.
 
life is cheap, death is free!
Эксперт
Статус
Оффлайн
Регистрация
9 Дек 2019
Сообщения
1,603
Реакции[?]
517
Поинты[?]
2K
Если нужен код

JavaScript:
var logs = [];

const log = function(text, time){
    this.text = text
    this.time = time
}

const hitboxes = [ "generic", "head", "chest", "stomach", "left arm", "right arm", "left leg", "right leg", "body" ];

const get_hitbox = function(i){ return hitboxes[i] || "Generic" };

const hitlogs = function(){
    const uid = Entity.GetEntityFromUserID(Event.GetInt("userid"));
    const attacker = Entity.GetEntityFromUserID(Event.GetInt("attacker"));
    const text = "Hit " + Entity.GetName(uid) + " in the " + get_hitbox(Event.GetInt("hitgroup")) + " ("+Event.GetInt("health")+" remaining)";

    if(Entity.IsLocalPlayer(attacker) && attacker != uid) logs.push(new log(text, Globals.Tickcount()));
}
screen = Render.GetScreenSize();

const draw = function(){
    const font = Render.AddFont("Calibri", 10, 100);

    for (var i in logs){
        Render.StringCustom(screen[0] /2, screen[1] /2 - (i * -15) + 330, 1, logs[i].text, [255, 255, 255, 255], font);
        if (logs[i].time + 150 < Globals.Tickcount()) logs.shift();
    }
}

Cheat.RegisterCallback("Draw", "draw");
Cheat.RegisterCallback("player_hurt", "hitlogs");
//да взял у принца, ну а че тут такого?
 
Сверху Снизу