Последние рекорды серверов
Pro Nub

KZ-Rush Public Bot

  1. Плагин бота, проигрывающего top1 рекорд на сервере. Мы у себя на серверах такой не используем, так как он даёт ощутимую нагрузку, а кроме него у нас уже есть бот с мировым рекордом.

    Форварды, которые нужно зарегистрировать и затем вызывать из основного плагина (id - идентификатор игрока):

    fwPubStarted(id) - вызывать в момент, когда игрок запускает таймер

    fwPubRejected(id) - вызывать в момент, когда игрок делает в ране гочек, либо уходит с сервера, не сделав savepos

    fwPubPaused(id) - вызывать в момент, когда таймер ставится на паузу (при этом у игрока 0 гочеков)

    fwPubUnpaused(id) - вызывать в момент, когда таймер снимается в паузы (при этом у игрока 0 гочеков)

    fwPubFinished(id, Float:flTime) - вызывать в момент, когда игрок проходит карту без гочеков; если это не top1, то flTime передавать 0.0, если же top1, то flTime должен быть равен времени прохождения в секундах

    Подразумевается, что savepos ставит игрока в паузу, а при заходе на сервер автоматически загружается позиция из savepos, причём игрок находится в паузе (так сделано на наших серверах, например).

    Скачать плагин

    Как использовать форварды
    Отредактировано Kpoluk 08.06.24 09:27
  2. Бот обновлён:
    В начале исходника есть два define:

    //#define define BOT_USE
    #define BOT_PREFIX ""

    Если перед первым удалить //, то бот будет использовать команду +use, то есть нажимать на кнопку. Будьте осторожнее с этим, бот может помешать прохождению других игроков, если откроет какую-нибудь дверь например. Кроме того, позаботьтесь о том, чтобы прохождение бота не попало в топ15 сервера.

    Второй define это префикс в имени бота, например это может быть "[REC] ".
    Отредактировано Kpoluk 07.10.23 10:44
  3. Im use that plugin , working very very good , tanks dude
    best plugin for all kz/bhop servers
  4. не работает
    https://imgur.com/a/AQG8qYw
    Отредактировано MaVo^ 22.05.20 07:21
  5. @Mavo^

    Все работает. Добавь в свой kreedz main plugin где у тебя таймер - форварды от бота.

    Пример:

    new MultiForward, MultiForward_1, MultiForward_2, MultiForward_3, MultiForward_4;
    new iRetValue;
    new Float: time_top_bot[33];

    public plugin_init()
    {
    MultiForward = CreateMultiForward("fwPubStarted",ET_IGNORE,FP_CELL);
    MultiForward_1 = CreateMultiForward("fwPubRejected",ET_IGNORE,FP_CELL);
    MultiForward_2 = CreateMultiForward("fwPubPaused",ET_IGNORE,FP_CELL);
    MultiForward_3 = CreateMultiForward("fwPubUnpaused",ET_IGNORE,FP_CELL);
    MultiForward_4 = CreateMultiForward("fwPubFinished",ET_IGNORE, FP_CELL, FP_FLOAT);
    }

    public Pause(id)
    ExecuteForward(MultiForward_2, iRetValue, id);

    public UnPause(id)
    ExecuteForward(MultiForward_3, iRetValue, id)

    public GoCheck(id)
    ExecuteForward(MultiForward_1, iRetValue, id)

    public fwdUse(ent, id)
    ExecuteForward(MultiForward, iRetValue, id)

    public GetNewRank_QueryHandler(iFailState, Handle:hQuery, szError[], iErrnum, cData[], iSize, Float:fQueueTime)
    {
    ...
    if( i == 1 && cData[1] == PRO_TOP)
    {
    ExecuteForward(MultiForward_4, iRetValue, id, time_top_bot[id]);
    }

    ExecuteForward(MultiForward_4, iRetValue, id, 0.0);
    ...
    }
    Отредактировано medusa 04.06.20 17:33
  6. Че то у меня тоже ничего не работает
  7. It works, good plugin, but i wonder why isn't it smoothly like other bots i've seen
    something about movements, maybe is it cause the bot doesn't act like normal bot ?

    only theoretically, what if you'll create bot zbot or anything, and apply & run the save (nav file) on the bot
    it'd be better ? or the same.
    idk if you still support this plugin, but i think it worth to try!
  8. @Calcs not sure what you mean by smoothness, same logic is used in lan bot and it looks ok for me.

    The only case when pubbot fails is when server fps when record was done differes from server fps when it is played. To avoid it *.nav files need have another format with taking server time into consideration, but I wanted the format to be the same as for lan bot. The thing is that lan bot *.nav files were very common in use back in the days cause lan plugins downloaded them from our FTP server. Now they're created automatically and I actually can change the format but firstly I need to be 100% sure there's a need for it and exact reason.

    As for executing movement on bot (with coordinate correction of course, if you just force the bot to repeat commands from demo, it won't go far), it was the first method I tried and it lead to periodic lags, so now the bot just recreates angles and coordinates from the demo every frame, at that animations are executed manually based on the player state.
  9. @Calcs not sure what you mean by smoothness, same logic is used in lan bot and it looks ok for me.

    The only case when pubbot fails is when server fps when record was done differes from server fps when it is played. To avoid it *.nav files need have another format with taking server time into consideration, but I wanted the format to be the same as for lan bot. The thing is that lan bot *.nav files were very common in use back in the days cause lan plugins downloaded them from our FTP server. Now they're created automatically and I actually can change the format but firstly I need to be 100% sure there's a need for it and exact reason.

    As for executing movement on bot (with coordinate correction of course, if you just force the bot to repeat commands from demo, it won't go far), it was the first method I tried and it lead to periodic lags, so now the bot just recreates angles and coordinates from the demo every frame, at that animations are executed manually based on the player state.


    i just said what i seen, other bots that may not use .nav way / format at all and private work better.
    i checked the bot at surf 131fps, also at bhop 100fps, sure at 100fps it's running better but still not the best and smoothly like them.
    maybe there's another way to record and make it done better, i'm not sure since i've ZERO knowledge, it'd be nice if there is..

    thanks for your reply and ofc for this plugin, i didn't see anyone else actually bother to make good one as you did, thank you! 🙂
    Отредактировано Calcs 12.08.23 17:01
  10. при первом появлении бота после установления рекорда, всё ок. но после смены карты, бот спавнится без оружия в руках (даже ножа). так же бывает, что двигается спиной или боком, это проходит с течением времени. с чем это может быть связано?
  11. @gsg6 насчёт оружия может быть конфликт с основным плагином, сам бот оружие получает при каждом создании, если это не блокируется чем-то со стороны. Разворотов спиной и боком на моём боте быть не должно, это обычно происходит на ботах, которые ведутся по карте через имитацию команд, этот же бот просто повторяет сохранённые координаты и углы. Поэтому сначала мне нужно увидеть, что выводит в консоль по команде amxx plugins.
    Отредактировано Kpoluk 01.09.23 17:54
  12. @Kpoluk я провёл несколько тестов и наблюдений, что бы дать более точный репорт о проблеме.
    нож действительно появляется в руках бота при его спавне и пропадает спустя несколько секунд. причина оказалась в следующем. у меня стоит "sv_restart 5" в начале карты. рестарт происходит для применения настроек мода, но бот на этот рестарт никак не реагирует и продолжает движение по карте. то есть проблема в том, что во время рестарта игра у него забирает оружие, а сам бот не спавнится повторно в отличии от игрока и продолжает движение с пустотой в руках.

    теперь по поводу движения спиной или боком. возможно я не так выразился. он действительно следует траектории, как и проложен маршрут в файле nav. но в момент, когда я переключаюсь в наблюдатели, что бы посмотреть за ним, камера от его лица смотрит в одну точку будто зависла, иногда это противоположное направление его движению, иногда просто в бок, вверх или низ карты. через время камера приобретает нормальное положение и повторяет движения. не смог найти закономерности возникновения этого бага.

    вам нужен список amxx plugins, что бы убедится что я использую вашего бота? изначально я скачал сборку kz плагинов куда входил ваш бот версии 1.3. В поисках устранения проблемы я наткнулся на эту тему и скачал уже отсюда версию 1.6, потом с помощью онлайн сервиса сравнил два исходника и перенес все изменения новой версии сохранив форварды от сборки автора, проблему это не решило. могу предоставить исходник если хотите.
  13. @gsg6 с рестартом лучше тогда действовать через тот плагин, который его организует, пройтись в нём по списку ботов и выдать им оружие. Можно конечно и в самом боте по рестарту вызвать функции удаления и создания ботов, тут зависит от того, зачем вообще этот рестарт нужен. У себя я рестарты не использую (за исключением одной карты, где он нужен для нормального функционирования mpbhop), так как на kz в них необходимости возникать не должно.

    Про косяк с камерой звучит всё ещё подозрительно, так как он был возможен разве что на старых версиях, я бы хотел всё же посмотреть на этот собранный из разных версий исходник. Вообще не знал, что этот плагин вошёл в какие-то сборки, надеюсь там хотя бы создали текстовый файл с инструкцией из поста, я в архив такой положить не догадался.
  14. я оставлю ссылку на сборку для ознакомления https://github.com/Theggv/Kreedz/releases . надеюсь это не запрещено, не нашел как установить хайд.

    вот плагин бота, который получился у меня https://disk.yandex.ru/d/rnYZa5GL0F1vCg

    забыл уточнить один момент, так как внес одну правку давно и уже успел забыть про нее.
    у меня на сервере некорректно работает модуль cstrike и я заменил его в плагине на reapi.
    -cs_set_user_team(g_iBotID, CS_TEAM_CT);
    +rg_set_user_team(g_iBotID, 2);
    вряд ли это могло что-то сломать, но на всякий случай решил заранее уведомить.
  15. @gsg6 сравнил с ботом, который используется в сборке и у нас на серверах (он проигрывает мировой рекорд и обновлялся чаще), заметил что пабботу не хватает функции fmAddToFullPack, возможно дело именно в ней. Обновил загрузку на сайте (ссылка в первом посте осталась та же).