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

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

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

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

> Правила форума

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

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Помогите С Плагином

Статус пользователя M1r3x
сообщение 26.2.2013, 16:13
Сообщение #1


Стаж: 13 лет

Сообщений: 276
Благодарностей: 80
Полезность: 3

Подскажите как исправить?
делал по примерам из этой темы http://amx-x.ru/viewtopic.php?f=9&t=85

ОШИБКА: плагин не был скомпилирован
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team

bhpk.sma(116) : error 001: expected token: ",", but found "-identifier-"
bhpk.sma(116) : error 017: undefined symbol "echo"
bhpk.sma(116) : error 088: number of arguments does not match definition
bhpk.sma(116) : fatal error 107: too many error messages on one line

.sma
#pragma semicolon 0
#pragma ctrlchar '\'

#include <amxmodx>
#include <amxmisc>
#include <chatcolor.inc>

#define AUTHOR "Lev"
#define PLUGIN "Better High Ping Kicker"
#define VERSION "2.6"
#define VERSION_CVAR "bhpk_version"

#define ALWAYS_KICK_MULTIPLIER 2 // Player will be kicked even there is less then or equal min_players if player's ping exceed night max ping by this factor.
#define DELAY_BEFORE_START_TESTING 20.0 // Delay before showing warning and start ping checking. Real testing starts after hpk_ping_time also passed.

const TASK_ID_BASE = 52635; // random number

const min_hpk_ping_max = 10;
const min_hpk_ping_time = 10;
const min_hpk_ping_tests = 4;

new pcvar_hpk_ping_max;
new pcvar_hpk_ping_max_night;
new pcvar_hpk_ping_time;
new pcvar_hpk_ping_tests;
new pcvar_hpk_min_players;
new pcvar_hpk_night_start_hour;
new pcvar_hpk_night_end_hour;

new ping_violations[33];

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_cvar(VERSION_CVAR, VERSION, FCVAR_SERVER);

pcvar_hpk_ping_max = register_cvar("hpk_ping_max", "175");
pcvar_hpk_ping_max_night = register_cvar("hpk_ping_max_night", "300");
pcvar_hpk_ping_time = register_cvar("hpk_ping_time", "10");
pcvar_hpk_ping_tests = register_cvar("hpk_ping_tests", "5");
pcvar_hpk_min_players = register_cvar("hpk_min_players", "3");
pcvar_hpk_night_start_hour = register_cvar("hpk_night_start_hour", "3");
pcvar_hpk_night_end_hour = register_cvar("hpk_night_end_hour", "9");
}

public client_putinserver(plrid)
{
ping_violations[plrid] = 0;
if (!is_user_bot(plrid) && !is_user_hltv(plrid))
set_task(DELAY_BEFORE_START_TESTING, "showInfo", TASK_ID_BASE + plrid);
return PLUGIN_CONTINUE;
}

public client_infochanged(plrid)
{
remove_task(TASK_ID_BASE + plrid);
if (!is_user_bot(plrid) && !is_user_hltv(plrid))
set_task(DELAY_BEFORE_START_TESTING, "showInfo", TASK_ID_BASE + plrid);
return PLUGIN_CONTINUE;
}

public client_disconnect(plrid)
{
remove_task(TASK_ID_BASE + plrid);
return PLUGIN_CONTINUE;
}

public showInfo(taskid)
{
new plrid = taskid - TASK_ID_BASE;
if (access(plrid, ADMIN_IMMUNITY) || access(plrid, ADMIN_RESERVATION))
client_print_color(plrid, GREEN, " ^4[Пинг] Проверка пинга отключена благодаря ^4иммунитету...");
else
{
client_print_color(plrid, GREEN, " ^4[Пинг] Игроки с пингом выше чем ^4%dед. будут кикнутыы!", get_hpk_ping_max());
set_task(float(get_hpk_ping_time()), "checkPing", TASK_ID_BASE + plrid, _, _, "b");
}
return PLUGIN_CONTINUE;
}

public checkPing(taskid)
{
new plrid = taskid - TASK_ID_BASE;
new ping, loss;

get_user_ping(plrid, ping, loss);

if (ping > get_hpk_ping_max()) ping_violations[plrid]++;
else if (ping_violations[plrid] > 0) ping_violations[plrid]--;

new hpk_ping_tests = get_hpk_ping_tests();
if (ping_violations[plrid] >= hpk_ping_tests)
{
static players[32];
new playerCount;
get_players(players, playerCount, "ch");
// Allow player to stay if there is less or equal than 'min_players' players and player ping is not too high.
if (playerCount <= get_pcvar_num(pcvar_hpk_min_players) &&
ping < get_pcvar_num(pcvar_hpk_ping_max_night) * ALWAYS_KICK_MULTIPLIER)
{
ping_violations[plrid] = hpk_ping_tests;
return PLUGIN_CONTINUE;
}
kickPlayer(plrid);
}

return PLUGIN_CONTINUE;
}

kickPlayer(plrid)
{
new name[33], ip[15];
get_user_name(plrid, name, sizeof(name) - 1);
get_user_ip(plrid, ip, charsmax(ip), 1);

client_cmd(plrid, ""echo \"Извините но у вас слишком большой пинг, попробуйте зайти позже...\"; disconnect");
server_cmd("addip 1 %s", ip);
client_print_color(plrid, GREEN, " ^4[Пинг] %s был отсоединен из за большого пинга!", name);
return PLUGIN_CONTINUE;
}

get_hpk_ping_max()
{
new ping_max;
new hour, minute, second;

time(hour, minute, second);

// At night we use different CVAR
if (hour >= get_pcvar_num(pcvar_hpk_night_start_hour) &&
hour < get_pcvar_num(pcvar_hpk_night_end_hour))
ping_max = get_pcvar_num(pcvar_hpk_ping_max_night);
else
ping_max = get_pcvar_num(pcvar_hpk_ping_max);
// Check to be no less then minimum value
if (ping_max < min_hpk_ping_max) return min_hpk_ping_max;
return ping_max;
}
get_hpk_ping_time()
{
new time = get_pcvar_num(pcvar_hpk_ping_time);
// Check to be no less then minimum value
if (time < min_hpk_ping_time) return min_hpk_ping_time;
return time;
}
get_hpk_ping_tests()
{
new tests = get_pcvar_num(pcvar_hpk_ping_tests);
// Check to be no less then minimum value
if (tests < min_hpk_ping_tests) return min_hpk_ping_tests;
return tests;
}


Отредактировал: kovalyov, - 26.2.2013, 16:16
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Safety1st
сообщение 26.2.2013, 17:28
Сообщение #2
Стаж: 14 лет
Город: Moscow

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

Для начала идите в топик по плагину и попросите прикрутить к новой версии цветной чат по образу и подобию.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 26.2.2013, 17:36
Сообщение #3


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Надо быть гениальным человеком,чтоб промазать так темой:

Counter-Strike Support Community > PHP-скрипты, оформление и веб-дизайн > Вопросы и помощь по скриптам и оформлению > Помогите С Плагином


Отредактировал: Andrei, - 26.2.2013, 17:36
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя M1r3x
сообщение 26.2.2013, 17:59
Сообщение #4


Стаж: 13 лет

Сообщений: 276
Благодарностей: 80
Полезность: 3

Цитата(Andrei @ 26.2.2013, 19:36) *
Надо быть гениальным человеком,чтоб промазать так темой:

Counter-Strike Support Community > PHP-скрипты, оформление и веб-дизайн > Вопросы и помощь по скриптам и оформлению > Помогите С Плагином

упс
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: