Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

3 страниц V   1 2 »

Zbot 1.5 для Linux сервера

, Установка и настройка ботов
Статус пользователя Tarum
сообщение 10.11.2015, 21:18
Сообщение #1


Стаж: 16 лет

Сообщений: 88
Благодарностей: 15
Полезность: 285

Меценат Меценат

Подробный мануал пишу впервые, прошу сильно не пинать.

ZBot - это не официальное название бота Official CSBot (официальный бот для Counter-Strike Condition Zero). Когда-то давно он был (да и есть даже сейчас) в первых версиях Counter-Strike 1.6 Beta. Оба игровых мода используют одну и туже библиотеку - mp.dll / cs.so (cs_i386.so) для Windows и Linux соответственно. Если быть точнее, то данные библиотеки для CS 1.6 и CS Condition Zero полностью идентичны. Вот в них-то сам бот и находится, только запускается он если запущен мод Condition Zero, а в 1.6 не работает. Для того, что бы бот запустился для CS 1.6, внутри библиотеки через любой Hex-редактор меняется идентификатор мода и производятся другие манипуляции.
Что нужно для установки:

1) Установленный сервер cs 1.6 на Linux (Мой билд 6153)
2) Установленный метамод (Протестировано на metamod-p-1.21p37 взять можно отсюда)
Работа ботов стабильна так же при включенном AmxModX 1.8.2
3) Файлы из аттачмента, а именно: Прикрепленный файл  csbot_enable_mm.rar ( 3,56 килобайт ) Кол-во скачиваний: 699
и Прикрепленный файл  BotProfile.rar ( 2,08 килобайт ) Кол-во скачиваний: 603

(Важно! Ваш фтп клиент при заказчке может автоматически переводить названия файлов в нижний регистр, в таком случае необходимо будет привести название файла BotProfile.db к изначальному виду с двумя заглавными!)
4) SSH/FTP доступ к вашему серверу

Управление ботами

bot_add - добавить бота (опционально можно писать ники)
bot_add_t - добавить за Т
bot_add_ct - добавить за СТ
bot_kill all - убить всех ботов
bot_kill name - убить бота
bot_kick all - кикнуть всех ботов, можно указать ник, но у меня по нику не кикает почему-то

cvar 'ы в server.cfg
Полный список ссылка

Цитата
//Сложность ботов 0-3
bot_difficulty 2

//Боты на кол-во игроков. При значении 4, при заходе 1 игрока будет 4 бота.
//bot_quota_match 1

//Освобождать места для игроков при заполнении сервера
bot_auto_vacate 1

//Префикс ботов в игре
bot_prefix [zBot]

//За какую команду могут заходить боты ct t any
bot_join_team any

//Боты появляются только при заходе игрока 1 0
bot_join_after_player 0

//Общения в чате и по радио. Лучше вообще вырубать.
bot_chatter off

//Управление снаряжением ботов.
//Допустимые значения 1 и 0.
//bot_knives_only
//bot_pistols_only
//bot_snipers_only
//bot_all_weapons
//bot_allow_pistols
//bot_allow_shotguns
//bot_allow_sub_machine_guns
bot_allow_rifles 0
//bot_allow_snipers
//bot_allow_machine_guns
//bot_allow_grenades
bot_allow_shield 0

//Максимальное кол-во ботов которое может быть на сервере.
bot_quota 10

Баг с уроном и радиусом поражения гранат у ботов

Юзеры так же доложили о том, что есть баг у ботов с гранатами, решить это можно двумя способами.
1. Использовать квар на запрещение использования гранат у ботов bot_allow_grenades 0
2. Для тех кто решил пойти путем джедая юзер MisterFake написал плагин который фиксит этот баг, за что ему отдельное спасибо.
Код:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>

#define PLUGIN "HE Damage Fix"
#define VERSION "0.1"
#define AUTHOR "Denis Yuriev"

#define DMG_HEGRENADE (1<<24)

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
RegisterHam(Ham_TakeDamage,"player","hefix",0)
register_cvar("amx_hefix", "0")
}

public hefix(victim, weapon, attacker, Float:damage, damagebits) {
if(damagebits != DMG_HEGRENADE)
return
new Float:hedmg=(get_cvar_num("amx_hefix") == 1) ? 0.6667 : 1.0
SetHamParamFloat(4, damage * hedmg)
}

CVAR в server.cfg
amx_hefix 0 - 1/0 включить/выключить исправление урона от гранат

Реальный PING для ботов
По умолчанию у ботов вместо пинга будет надпись BOT.
Чтобы ее заменить на эмулятор пинга, Вы можете воспользоваться плагином (AMX) Ping Fucker
у меня ошибок не выдает, но пока нихрена пинг не заменяет но больше никто не жаловался, поэтому пока курю на тему из-за чего не работает..

Поместить Прикрепленный файл  fakepings.rar ( 231 байт ) Кол-во скачиваний: 156
в addons/amxmodx/configs/

CVAR amxx.cfg
pingfake_enable 1 - Вкл/Выкл (1/0)
pingfake_ping 25 - Пинг (min: 0 // max: 4095)
pingfake_flux 7 - В каком диапозоне будет меняться (0 = будет статичный)
pingfake_bots 2 - 2 Только боты, 0 все, 1 хз


Код:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

new const FAKEPINGS_FILE[] = "fakepings.ini"
const TASK_ARGUMENTS = 100

new cvar_enable, cvar_ping, cvar_flux, cvar_target, cvar_bots, cvar_multiplier, cvar_fileonly, cvar_showactivity
new g_maxplayers, g_connected[33], g_isbot[33], g_argping[33]
new g_loaded_counter, g_pingoverride[33] = { -1, ... }
new Array:g_loaded_authid, Array:g_loaded_ping

public plugin_init()
{
register_plugin("Ping Faker", "1.5a", "MeRcyLeZZ")

cvar_enable = register_cvar("pingfake_enable", "1")
cvar_ping = register_cvar("pingfake_ping", "1337")
cvar_flux = register_cvar("pingfake_flux", "0")
cvar_target = register_cvar("pingfake_target", "1")
cvar_bots = register_cvar("pingfake_bots", "0")
cvar_multiplier = register_cvar("pingfake_multiplier", "0.0")
cvar_fileonly = register_cvar("pingfake_fileonly", "0")
cvar_showactivity = get_cvar_pointer("amx_show_activity")

g_maxplayers = get_maxplayers()

// If mod is CS, register some additional events to fix a bug
new mymod[16]
get_modname(mymod, charsmax(mymod))
if (equal(mymod, "cstrike") || equal(mymod, "czero"))
{
register_event("DeathMsg", "fix_fake_pings", "a")
register_event("TeamInfo", "fix_fake_pings", "a")
}

register_forward(FM_UpdateClientData, "fw_UpdateClientData")

register_concmd("amx_fakeping", "cmd_fakeping", ADMIN_KICK, "<target> <ping> - Toggle fake ping override on player (-1 to disable)")

g_loaded_authid = ArrayCreate(32, 1)
g_loaded_ping = ArrayCreate(1, 1)

// Load list of IP/SteamIDs to fake pings for
load_pings_from_file()

// Calculate weird argument values regularly in case we are faking ping fluctuations or a multiple of the real ping
set_task(2.0, "calculate_arguments", TASK_ARGUMENTS, _, _, "b")
}

// After some events in CS, the fake pings are overriden for some reason, so we have to send them again...
public fix_fake_pings()
{
static player
for (player = 1; player <= g_maxplayers; player++)
{
// Player not in game?
if (!g_connected[player])
continue;

// Resend fake pings
fw_UpdateClientData(player)
}
}

public client_authorized(id)
{
check_for_loaded_pings(id)
}

public client_putinserver(id)
{
g_connected[id] = true
if (is_user_bot(id)) g_isbot[id] = true
check_for_loaded_pings(id)
}

public client_disconnect(id)
{
g_connected[id] = false
g_isbot[id] = false
g_pingoverride[id] = -1
}

public fw_UpdateClientData(id)
{
// Ping faking disabled?
if (!get_pcvar_num(cvar_enable)) return;

// Scoreboard key being pressed?
if (!(pev(id, pev_button) & IN_SCORE) && !(pev(id, pev_oldbuttons) & IN_SCORE))
return;

// Send fake player's pings
static player, sending, bits, bits_added
sending = false
bits = 0
bits_added = 0

for (player = 1; player <= g_maxplayers; player++)
{
// Player not in game?
if (!g_connected[player])
continue;

// Fake latency for its target too?
if (!get_pcvar_num(cvar_target) && id == player)
continue;

// Fake pings enabled for players on .INI file ONLY and this guy is not listed
if (get_pcvar_num(cvar_fileonly) && g_pingoverride[player] < 0)
continue;

// Only do these checks if not overriding ping for player
if (g_pingoverride[player] < 0)
{
// Is this a bot?
if (g_isbot[player])
{
// Bots setting disabled?
if (!get_pcvar_num(cvar_bots)) continue;
}
else
{
// Bots only setting?
if (get_pcvar_num(cvar_bots) == 2) continue;
}
}

// Start message
if (!sending)
{
message_begin(MSG_ONE_UNRELIABLE, SVC_PINGS, _, id)
sending = true
}

// Add bits for this player
AddBits(bits, bits_added, 1, 1) // flag = 1
AddBits(bits, bits_added, player-1, 5) // player-1 since HL uses ids 0-31
AddBits(bits, bits_added, g_argping[player], 12) // ping
AddBits(bits, bits_added, 0, 7) // loss

// Write group of 8 bits (bytes)
WriteBytes(bits, bits_added, false)
}

// End message
if (sending)
{
// Add empty bit at the end
AddBits(bits, bits_added, 0, 1) // flag = 0

// Write remaining bits
WriteBytes(bits, bits_added, true)

message_end()
}
}

public cmd_fakeping(id, level, cid)
{
// Check for access flag
if (!cmd_access(id, level, cid, 3))
return PLUGIN_HANDLED;

// Retrieve arguments
static arg[32], player, ping
read_argv(1, arg, sizeof arg - 1)
player = cmd_target(id, arg, CMDTARGET_ALLOW_SELF)
read_argv(2, arg, sizeof arg - 1)
ping = str_to_num(arg)

// Invalid target
if (!player) return PLUGIN_HANDLED;

// Update ping overrides for player
g_pingoverride[player] = min(ping, 4095)

// Get player's name for displaying/logging activity
static name1[32], name2[32]
get_user_name(id, name1, sizeof name1 - 1)
get_user_name(player, name2, sizeof name2 - 1)

// Negative value means disable fakeping
if (ping < 0)
{
// Show activity?
switch (get_pcvar_num(cvar_showactivity))
{
case 1: client_print(0, print_chat, "ADMIN - fake ping override disabled on %s", name2)
case 2: client_print(0, print_chat, "ADMIN %s - fake ping override disabled on %s", name1, name2)
}

// Log activity
static logdata[100], authid[32], ip[16]
get_user_authid(id, authid, sizeof authid - 1)
get_user_ip(id, ip, sizeof ip - 1, 1)
formatex(logdata, sizeof logdata - 1, "ADMIN %s <%s><%s> - fake ping override disabled on %s", name1, authid, ip, name2)
log_amx(logdata)
}
else
{
// Show activity?
switch (get_pcvar_num(cvar_showactivity))
{
case 1: client_print(0, print_chat, "ADMIN - fake ping override of %d enabled on %s", ping, name2)
case 2: client_print(0, print_chat, "ADMIN %s - fake ping override of %d enabled on %s", name1, ping, name2)
}

// Log activity
static logdata[100], authid[32], ip[16]
get_user_authid(id, authid, sizeof authid - 1)
get_user_ip(id, ip, sizeof ip - 1, 1)
formatex(logdata, sizeof logdata - 1, "ADMIN %s <%s><%s> - fake ping override of %d enabled on %s", name1, authid, ip, ping, name2)
log_amx(logdata)
}

return PLUGIN_HANDLED;
}

// Calculate argument values based on target ping
public calculate_arguments()
{
static player, ping, loss
for (player = 1; player <= g_maxplayers; player++)
{
// Calculate target ping (clamp if out of bounds)
if (g_pingoverride[player] < 0)
{
if (get_pcvar_float(cvar_multiplier) > 0.0)
{
get_user_ping(player, ping, loss)
g_argping[player] = clamp(floatround(ping * get_pcvar_float(cvar_multiplier)), 0, 4095)
}
else
g_argping[player] = clamp(get_pcvar_num(cvar_ping) + random_num(-abs(get_pcvar_num(cvar_flux)), abs(get_pcvar_num(cvar_flux))), 0, 4095)
}
else
g_argping[player] = g_pingoverride[player]
}
}

load_pings_from_file()
{
// Build file path
new path[64]
get_configsdir(path, sizeof path - 1)
format(path, sizeof path - 1, "%s/%s", path, FAKEPINGS_FILE)

// File not present, skip loading
if (!file_exists(path)) return;

// Open file for reading
new linedata[40], authid[32], ping[8], file = fopen(path, "rt")

while (file && !feof(file))
{
// Read one line at a time
fgets(file, linedata, sizeof linedata - 1)

// Replace newlines with a null character to prevent headaches
replace(linedata, sizeof linedata - 1, "^n", "")

// Blank line or comment
if (!linedata[0] || linedata[0] == ';') continue;

// Get authid and ping
strbreak(linedata, authid, sizeof authid - 1, ping, sizeof ping -1)
remove_quotes(ping)

// Store data into global arrays
ArrayPushString(g_loaded_authid, authid)
ArrayPushCell(g_loaded_ping, clamp(str_to_num(ping), 0, 4095))

// Increase loaded data counter
g_loaded_counter++
}
if (file) fclose(file)
}

check_for_loaded_pings(id)
{
// Nothing to check for
if (g_loaded_counter <= 0) return;

// Get steamid and ip
static authid[32], ip[16], i, buffer[32]
get_user_authid(id, authid, sizeof authid - 1)
get_user_ip(id, ip, sizeof ip - 1, 1)

for (i = 0; i < g_loaded_counter; i++)
{
// Retrieve authid
ArrayGetString(g_loaded_authid, i, buffer, sizeof buffer - 1)

// Compare it with this player's steamid and ip
if (equali(buffer, authid) || equal(buffer, ip))
{
// We've got a match!
g_pingoverride[id] = ArrayGetCell(g_loaded_ping, i)
break;
}
}
}

AddBits(&bits, &bits_added, value, bit_count)
{
// No more room (max 32 bits / 1 cell)
if (bit_count > (32 - bits_added) || bit_count < 1)
return;

// Clamp value if its too high
if (value >= (1 << bit_count))
value = ((1 << bit_count) - 1)

// Add new bits
bits = bits + (value << bits_added)
// Increase bits added counter
bits_added += bit_count
}

WriteBytes(&bits, &bits_added, write_remaining)
{
// Keep looping if there are more bytes to write
while (bits_added >= 8)
{
// Write group of 8 bits
write_byte(bits & ((1 << 8) - 1))

// Remove bits we just sent by moving all bits to the right 8 times
bits = bits >> 8
bits_added -= 8
}

// Write remaining bits too?
if (write_remaining && bits_added > 0)
{
write_byte(bits)
bits = 0
bits_added = 0
}
}



Установка ботов на сервер Linux
Прежде всего необходимо разблокировать самих ботов для cs. Для этого нужно установить metamod плагин:

Цитата
Заливаем csbot_enable_mm.so в папку addons/metamod/


Пишем в конец файла plugins.ini (создаем при отсутствии):

Цитата
linux addons/metamod/csbot_enable_mm.so


При создании ботов, Вы можете получить ошибку no profile exists и all bot profiles at this difficulty level are in use.
Чтобы этого не было:

Цитата
Файл с профилями ботов BotProfile.db необходимо поместить в корень папки /cstrike (!Соблюдая регистр названия файла!)


Для корректной работы вам необходимо в папке с hlds_run создать папки /czero/maps
Именно там боты будут в будущем хранить свои навигационные данные к картам. P.S. по идее оно должно создаваться все само, но у меня этого не произошло из-за чего валились ошибки.
Поэтому я создал необходимые директории сам и выстовил права.
!Важно! Папка /czero/maps должна иметь Права на запись (chmod 777)

Цитата
$ cd /home/имя_вашего_юзера/папка_с_сервером_hlds/
$ mkdir czero
$ mkdir czero/map
$ chmod 777 czero/maps


Теперь открываем server.cfg и прописываем в конце (в дальнейшем вы отредактируете конфиг под себя), сохраняем и выходим:

Цитата
bot_difficulty 2
bot_prefix "[zbot]"
bot_chatter off
bot_quota 1


И так последний шаг, осталось создать навигационные файлы для ботов. Процедура не сложная, и так:
Запускаем сервер с параметром +map de_dust (или другой карты для которой надо сделать навигацию, вообще для каждой карты на которой будут боты нужно такое сделать один раз)
После прогрузки, если Вы все сделали правильно, нужно дождаться следующей надписи (не сразу скорее всего):


Цитата
Connection to Steam servers successful.
VAC secure mode disabled.
Connecting navigation areas...
Merging navigation areas...


Как только она появилась, значит боты создали себе карту, теперь ее надо сохранить.
Пишем в консоле:

Цитата
bot_nav_save [Enter]
Size of bsp file 'maps\de_inferno.bsp' is 6269880 bytes.
Navigation map 'czero/maps/de_inferno.nav' saved.


Если вы увидели запись выше (я делал на инферно, но с даст2 будет похоже), теперь перегружаем карту и спавним ботов, они бегают и улыбаются вам и вашим друзьям))

Как по мне очень удобно, что можно на кв сервер подключить только метамод и поставить этот плагин для тренировки команды...

Статья была подготовлена на основе материалов из смежных тем: Про пинг и Модуль Zbot
Отдельное спасибо за вклад в развитие ботов на серверах пользователям: Safety1st за сошку и MisterFake за fix плагин


p.S. Статья еще не закончена...

Отредактировал: Tarum, - 11.11.2015, 15:25
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 4 раз
   Цитировать сообщение
Safety1st
сообщение 10.11.2015, 21:31
Сообщение #2
Стаж: 12 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Так закинь профайлы в папку cstrike smile.gif

[attachment=36568:BotProfile.zip]

Отредактировал: Safety1st, - 10.11.2015, 22:46
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Tarum
сообщение 10.11.2015, 21:31
Сообщение #3


Стаж: 16 лет

Сообщений: 88
Благодарностей: 15
Полезность: 285

Меценат Меценат

РЕШЕНО
Не хватало BotProfile.db и BotChatter.db в папке cstrike
по умолчанию не качается через стимцмд.
На заметку всем кто ботов хочет.
загуглил и качнул первый попаввшийся
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Tarum
сообщение 10.11.2015, 22:43
Сообщение #4


Стаж: 16 лет

Сообщений: 88
Благодарностей: 15
Полезность: 285

Меценат Меценат

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

Отредактировал: Tarum, - 10.11.2015, 22:44
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 10.11.2015, 22:44
Сообщение #5
Стаж: 12 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Отсюда материал захвати.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Vaqtincha
сообщение 10.11.2015, 22:58
Сообщение #6
Стаж: 9 лет 3 месяца

Сообщений: 981
Благодарностей: 352
Полезность: < 0

если хочешь сделать общую тему может пригодится новый патчер(bot enаbler) но только для вин. Дллка отличается от этого

Отредактировал: Vaqtincha, - 10.11.2015, 23:03
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Tarum
сообщение 11.11.2015, 15:27
Сообщение #7


Стаж: 16 лет

Сообщений: 88
Благодарностей: 15
Полезность: 285

Меценат Меценат

Надо почистить наверно и в мануалы перенести, завтра закончу есть еще пара штрихов, особо времени нет, да и вопрос с пинг факером не решил еще.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 11.11.2015, 17:49
Сообщение #8
Стаж: 12 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(Tarum @ 10.11.2015, 22:13) *
После прогрузки, если Вы все сделали правильно, нужно дождаться следующей надписи (не сразу скорее всего)

По дефолту боты сами на карту не заходят, надо ставить bot_join_after_player 0.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Tarum
сообщение 11.11.2015, 18:41
Сообщение #9


Стаж: 16 лет

Сообщений: 88
Благодарностей: 15
Полезность: 285

Меценат Меценат

Цитата(Safety1st @ 11.11.2015, 18:45) *
По дефолту боты сами на карту не заходят, надо ставить bot_join_after_player 0.

Да, я завтра доправлю все, я еще пару фишек не успел дописать, на работе просто запарили, завтра постараюсь уже закончить)) все будет огонь)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 1hp
сообщение 11.11.2015, 19:11
Сообщение #10
Стаж: 8 лет 10 месяцев

Сообщений: 422
Благодарностей: 82
Полезность: 169

Цитата(Tarum @ 11.11.2015, 21:36) *
Да, я завтра доправлю все, я еще пару фишек не успел дописать, на работе просто запарили, завтра постараюсь уже закончить)) все будет огонь)

красавчик ) а поведение ботов какое? агрессивно себя ведут или так себе?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Landir163
сообщение 11.11.2015, 19:42
Сообщение #11


Стаж: 9 лет 7 месяцев

Сообщений: 203
Благодарности: выкл.

Может глупость скажу, а мониторинги за это не забанят?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 11.11.2015, 19:44
Сообщение #12
Стаж: 9 лет 9 месяцев

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Цитата(Landir163 @ 11.11.2015, 19:38) *
Может глупость скажу, а мониторинги за это не забанят?

С чего бы?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Landir163
сообщение 11.11.2015, 19:51
Сообщение #13


Стаж: 9 лет 7 месяцев

Сообщений: 203
Благодарности: выкл.

voed, да тут как-то обсуждали примерно то же самое. Говорил кто-то, что могут бан за такое дать серверу некоторые мониторинги.. Спасибо, теперь буду знать, что не будут давать бан)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 11.11.2015, 19:59
Сообщение #14
Стаж: 9 лет 9 месяцев

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Цитата(Landir163 @ 11.11.2015, 19:46) *
voed, да тут как-то обсуждали примерно то же самое. Говорил кто-то, что могут бан за такое дать серверу некоторые мониторинги.. Спасибо, теперь буду знать, что не будут давать бан)

У меня сервера нет, так что я не могу уотверждать, что точно не банят. Но, по-моему, если мониторинг за это банит, то и пользоваться им не стоит
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Vaqtincha
сообщение 11.11.2015, 20:12
Сообщение #15
Стаж: 9 лет 3 месяца

Сообщений: 981
Благодарностей: 352
Полезность: < 0

вот пингфэйкер но только для ботов (вырезали из pingfaker)
отличия в том что не нужно никаких кваров или ини файлов
Прикрепленные файлы:
Прикрепленный файл  BOT_PING.SMA ( 2,91 килобайт ) Кол-во скачиваний: 57
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя igas
сообщение 11.11.2015, 21:31
Сообщение #16


Стаж: 11 лет

Сообщений: 107
Благодарностей: 52
Полезность: 361

вопрос к автору, поддержка билда 5787 будет?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Konoplia
сообщение 11.11.2015, 23:52
Сообщение #17


Стаж: 8 лет 4 месяца

Сообщений: 71
Благодарностей: 4
Полезность: 48

Такой вопрос: А если я не хочу, чтобы у ботов был префикс? Просто "bot_prefix "[zbot]" там где [zbot] оставить поле пустым?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Vaqtincha
сообщение 12.11.2015, 0:10
Сообщение #18
Стаж: 9 лет 3 месяца

Сообщений: 981
Благодарностей: 352
Полезность: < 0

Konoplia, bot_prefix "" blush2.gif

Отредактировал: Vaqtincha, - 12.11.2015, 0:10
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Konoplia
сообщение 12.11.2015, 0:13
Сообщение #19


Стаж: 8 лет 4 месяца

Сообщений: 71
Благодарностей: 4
Полезность: 48

Цитата(Vaqtincha @ 12.11.2015, 0:05) *
Konoplia, bot_prefix "" blush2.gif

Спасибо! Я об этом и спрашивал derisive.gif Сейчас протестирую на домашнем сервере, так как некоторые моменты не совсем понимаю, а как протестирую то уже на основной поставлю))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Vaqtincha
сообщение 12.11.2015, 0:29
Сообщение #20
Стаж: 9 лет 3 месяца

Сообщений: 981
Благодарностей: 352
Полезность: < 0

плагины для управление ботами

Отредактировал: Vaqtincha, - 12.11.2015, 0:32
Прикрепленные файлы:
Прикрепленный файл  amx_czbotmenu.sma ( 26,49 килобайт ) Кол-во скачиваний: 81
Прикрепленный файл  czbot_control.sma ( 18,67 килобайт ) Кол-во скачиваний: 78
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
3 страниц V   1 2 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: