Проверка за ботове

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
southdivision
Извън линия
Потребител
Потребител
Мнения: 279
Регистриран на: 14 Окт 2016, 23:17
Местоположение: София
Се отблагодари: 8 пъти
Получена благодарност: 5 пъти
Обратна връзка:

Проверка за ботове

Мнение от southdivision » 25 Май 2017, 16:42

Здравейте,искам да направите този код да изпълнява функцията set_task(1.2, "rocket_liftoff", players[a]) ,но без да прихваща ботовете. Проблема е,че ако има наличен бот който е невидим прави така,че да експлодира без да спира и става като бъг.

Код за потвърждение: Избери целия код

public admin_rocket(id, level, cid) {

    if (!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED

    new arg[32]
    new name[32], name2[32], authid[36], authid2[36]
    read_argv(1, arg, 31)
    get_user_name(id, name, 31)
    get_user_authid(id, authid, 35)

    if (arg[0] == '@') {
        new players[32], inum
        if (equali("T", arg[1])) copy(arg[1], 31, "TERRORIST")
        if (equali("ALL", arg[1])) get_players(players, inum)
        else get_players(players, inum, "e", arg[1])
        translate_team_name(arg)

        if (inum == 0) {
            console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_NO_PLAYERS")
            return PLUGIN_HANDLED
        }

        for (new a = 0; a < inum; a++) {

            emit_sound(players[a], CHAN_WEAPON, "weapons/rocketfire1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
            set_user_maxspeed(players[a], 0.01)
            set_task(1.2, "rocket_liftoff", players[a])
        }

        console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_ROCKET_TEAM_MSG", arg[1])
        log_amx("%L", LANG_SERVER, "AMX_SUPER_ROCKET_TEAM_LOG", name, authid, arg[1])

    } else {

        new player = cmd_target(id, arg, 35)
        if (!player) return PLUGIN_HANDLED

        emit_sound(player, CHAN_WEAPON, "weapons/rocketfire1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
        set_user_maxspeed(player, 0.01)
        set_task(1.2, "rocket_liftoff", player)

        get_user_name(player, name2, 31)
        get_user_authid(player, authid2, 35)

        console_print(id, "%L", LANG_PLAYER, "AMX_SUPER_ROCKET_PLAYER_MSG", name2)
        log_amx("%L", LANG_SERVER, "AMX_SUPER_ROCKET_PLAYER_LOG", name, authid, name2, authid2)
    }
    return PLUGIN_HANDLED
}

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Re: Проверка за ботове

Мнение от OciXCrom » 25 Май 2017, 17:14

Във for loopa добавяш една проста проверка if(!is_user_bot(players[a])).

Аватар
southdivision
Извън линия
Потребител
Потребител
Мнения: 279
Регистриран на: 14 Окт 2016, 23:17
Местоположение: София
Се отблагодари: 8 пъти
Получена благодарност: 5 пъти
Обратна връзка:

Re: Проверка за ботове

Мнение от southdivision » 25 Май 2017, 19:06

Благодаря :) Лок

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 11 госта