Error 017 undefined symbol cmdtext

Описание: Я добавлял в команду /invite некие изменения при помощи урока: http://pawn-wiki.ru/...8554#entry58554 И возникла некая проблемка. Там не бы...


#1

Пользователь офлайн
 

Отправлено 06 мая 2013 — 11:28

  • Прохожий

Описание:
Я добавлял в команду /invite некие изменения при помощи урока: http://pawn-wiki.ru/…8554#entry58554
И возникла некая проблемка. Там не было «para1».Когда кто-то принимал приглашение, то вступал не он, а тот кто приглашал. Я вставил «para1», но там нужен был «tmp». Я и его вставил, но там понадобился «cmdtext» — а его я не нашел.

D:Games????? ?????WinRAR ZIP archiveSamp-Rp.RugamemodesRolePlay.pwn(8359) : error 017: undefined symbol "cmdtext"

Вот мой инвайт ( я кинул только часть с ФБР, дальше я пока не трогал):

if(strcmp(cmd, "/invite", true) == 0)
	{
		new para1;
		new ftext[32];
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp)) return	SendClientMessage(playerid, COLOR_WHITE, "Введите: /invite [id]");
			para1 = ReturnUser(tmp);
			if(GetDistanceBetweenPlayers(playerid, para1) < 5.0)
	        {
	 			if(PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2 && PlayerInfo[playerid][pRank] >= 7)
				{
				    if(IsPlayerConnected(para1))
				    {
				        if(para1 != INVALID_PLAYER_ID)
				        {
							if(IsPlayerInAnyVehicle(para1)) return SendClientMessage(playerid, COLOR_GREY, "Игрок в тс");
							if(PlayerInfo[para1][pMember] != 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок уже где-то состоит");
							if(PlayerInfo[para1][pWarns] >= 1) return SendClientMessage(playerid, COLOR_GREY, "У игрока Warn.");
							if(PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2 && PlayerInfo[playerid][pRank] == 7) { ftext = "FBI"; InviteSkin[para1] = 286;  }
							else { return true; }
							GetPlayerName(para1, giveplayer, sizeof(giveplayer));
							GetPlayerName(playerid, sendername, sizeof(sendername));
							format(string, sizeof(string), "Вы пригласили %s присоединиться %s", giveplayer,ftext);
							SendClientMessage(playerid, COLOR_BLUE, string);
							format(string, sizeof(string), "{ff0000}Вас пригласил(а) лидер{ffff00} %s.n{ff0000}Вы согласны вступить в {00ff7f}%s ",sendername,ftext);
                            ShowPlayerDialog(para1,9992,DIALOG_STYLE_MSGBOX,"Приглашение",string,"Вступить"
,"Отмена");
						}
					}
				}

А вот кейс:

case 9992:
        {
            new para1;//Я добавил 
            new sendername[MAX_PLAYER_NAME];//Я добавил 
            new tmp[512];//Я добавил 
            tmp = strtok(cmdtext, idx); //Я добавил                   ошибка тута))
			para1 = ReturnUser(tmp);//Я добавил 
			if(response)
			{
                format(string, sizeof(string), "Вы приняли приглашение от %s вступить в FBI", sendername);
                SendClientMessage(para1, 0x6495EDFF, string);
                SetPlayerSkin(para1, 286);
                FormaFrac[para1] = 2;
                PlayerInfo[para1][pMember] = 2;
                PlayerInfo[para1][pRank] = 1;
                PlayerInfo[para1][pJob] = 0;
                PlayerInfo[para1][pModel] = 286;
                SetPlayerToTeamColor(para1);
                OnPlayerUpdateAc(para1);
		    }
		    else
	       {
                format(string, sizeof(string), "Вы отклонили приглашение от %s вступить в FBI", sendername);
                SendClientMessage(para1, 0x6495EDFF, string);
		   }
		}

Я пытался вставить «new cmdtext;», но оно выбивало:

D:Games????? ?????WinRAR ZIP archiveSamp-Rp.RugamemodesRolePlay.pwn(8360) : error 035: argument type mismatch (argument 1)
D:Games????? ?????WinRAR ZIP archiveSamp-Rp.RugamemodesRolePlay.pwn(8359) : warning 203: symbol is never used: "cmdtext"

Сообщение отредактировал maddriver: 06 мая 2013 — 11:31

0


#2

Отправлено 06 мая 2013 — 11:43

  • Профессионал

В команде (новой) где у тебя cmdtext знамени на cmd

0


#3

Отправлено 06 мая 2013 — 11:48

  • Прохожий

Не помогло :

D:Games????? ?????WinRAR ZIP archive""""gamemodesRolePlay.pwn(8359) : error 017: undefined symbol "cmd"

0


#4

Отправлено 06 мая 2013 — 11:58

  • Пользователь

Я тебе ответил там вообще-то

Вставь в самом начале —
или даже в public OnPlayerCommandText(playerid, cmdtext[])

new cmd[256];

0


#5

Отправлено 06 мая 2013 — 12:53

  • Местный


public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[128], idx;
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, «/invite», true) == 0)
{

и поехала сама команда

0

Mirex

Mirex

Руководитель проекта


Ivan123411


  • #3

у меня такая же ошибка даже если я впишу cmdtext помгите мне

Mirex

Mirex

Руководитель проекта


  • #4

у меня такая же ошибка даже если я впишу cmdtext помгите мне

В начале public OnPlayerCommand объявите массив. new cmdtext[256];

TheSeLToN


  • #5

Здравствуйте.

Если не желаете удалять cmd, то просто в начала public OnPlayerCommandText, после открытой скобки, добавьте переменную new cmd[128];

Ivan123411


  • #6

Объясните нормально я не понял

если я добавлю переменую cmdtext то у меня выйдет еще еррор но уже 035 

C:UsersÏîëüçîâàòåëüDesktopÐàáî÷èé Ñåðâåðservice11059crmp03gamemodes2.pwn(2347) : error 035: argument type mismatch (argument 2)

 вот эта

TheSeLToN


  • #7

1) Переходите в public OnPlayerCommandText

2) Добавляете переменную new cmdtext[128];

Смотрите скриншот, я там этапы отметил цифрами.

ae73690aa781dee3ac6c2aa4c4178ec3.png

На if(PlayerLogged[playerid] == 0), не обращайте внимание. Это у меня так в моде сделано, чтобы игрок не мог вводить команды если он не авторизовался.

Basis

Basis

chto tut doljno bit`!?


  • #8

в начало onplayercommandtext добавь

  • #9

а так попробуй:

Ко всем new:

new cmdtext[128];

и в команду:

Код:

if(!strcmp(cmd, "/штрафстоянка", true))

Последнее редактирование модератором: 13.02.2015

Ivan123411


  • #10

но у меня нету public OnPlayerCommandText

  • #11

но у меня нету public OnPlayerCommandText

У вас в начале мода идут переменные (new), в них вставляйте new cmdtext[256];

CMD:lip(playerid, params[])
{
	if (PlayerInfo[playerid][pAdmin] >= 3)
	{
		new length = strlen(cmdtext);//ошибка тут
		while ((idx < length) && (cmdtext[idx] <= ' '))//и тут, как показывает компилятор
		{
			idx++;
		}
		new offset = idx;
		new result[20];
		while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
		{
			result[idx - offset] = cmdtext[idx];
			idx++;
		}
		result[idx - offset] = EOS;
		if(!strlen(result)) return SCM(playerid, COLOR_GRAD1, "Используй /lip [ip адрес]");
		new sttr[500];
		new namep[36];
		new lvl;
		if(PlayerInfo[playerid][pAdmin] >= 3)
		{
			new newstring[40], adminsa[128], rows, temp[64];
			mysql_real_escape_string(result, newstring);
			format(adminsa, sizeof(adminsa), "SELECT name,level FROM "TABLE_ACCOUNT" WHERE Lip LIKE '%s%%'", newstring);
			new Cache: resultCache = mysql_query(dbHandle,adminsa,true);
			rows = cache_num_rows();
			if(rows < 1) return SCM(playerid,COLOR_GRAD2, "Аккаунты с таким IP адресом не найдены.");
			else
			{
				for(new i = 0; i < rows; i++)
				{
				    cache_get_field_content(i, "name", temp),strmid(namep, temp, 0, strlen(temp), 255);
					cache_get_field_content(i, "level", temp),lvl = strval(temp);
					format(sttr,sizeof(sttr), "%s %s (Уровень: %d)n",sttr,namep,lvl);
				}
			}
			ShowPlayerDialog(playerid, 1277, DIALOG_STYLE_MSGBOX, result, sttr, "Закрыть", ""),cache_delete(resultCache);
		}
	}
	return true;
}

@Maks_Fabions огромное спасибо, можеш еще помочь я вот все сделал и как мне найти и протестить столы? Вот код с созданием столов

if(IsPlayerInRangeOfPoint(playerid, 51972.0977,1138.0585,5.9174))

это первое где корды

CreateObject(19781133.4000244141,6.0999999046326,1002.099975585900270200);//ÐÓËÅÒÊÀ-ÑÒÎË
    CreateObject(19791134.7501226.2999261002.059936000200);//ÐÓËÅÒÊÀ-ÑÒÎË

    Roullet[0] = CreateObject(19291985.90002441411054.0999755859332.1000061035227000200);//ÐÓËÅÒÊÀ-ÁÀÐÀÁÀÍ
    Roullet[1] = CreateObject(31061986.3084711054.135864332.35000610352000200);//ÐÓËÅÒÊÀ-ØÀÐÈÊ

        CreateObject(1456320051053330000,200);//ÊÀÇÈÍÎ
        CreateObject(1460720051053330000,200);//ÊÀÇÈÍÎ
        CreateObject(1461420051053330000,200);//ÊÀÇÈÍÎ
        CreateObject(15572053.19995117191051.5325.8847656250090,200);//ÊÀÇÈÍÎ
        CreateObject(15572053.19995117191054.5224609375325.87500270,200);//ÊÀÇÈÍÎ
}

это где создаются столы и я тпаюсь по ним и ничего

Posts: 84
Threads: 27
Joined: Jul 2011

Reputation:

0

error 017: undefined symbol «cmd»

any help heres my command

pawn Код:

if(strcmp(cmd, "/report", true) == 0)
{
    new str[200];
    GetPlayerName(playerid, str, 24);
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
        idx++;
    }
    new offset = idx;
    new result[96];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
        result[idx - offset] = cmdtext[idx];
        idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result)) return SendClientMessage(playerid, 0xFFFFFFFF, "USAGE: /report [text]");
    format(str, sizeof str, "Report from [%d] %s: %s", playerid, str, result);
    for(new i = 0; i < MAX_PLAYERS; i ++) { if(IsPlayerAdmin(i)) SendClientMessage(i, 0xFFFF00FF, str); }
    SendClientMessage(playerid, 0xFFFF00FF, "Your report message was sent to online administrators, thank you.");
    return 1;
}

Posts: 541
Threads: 60
Joined: Jul 2009

Reputation:

0

Posts: 781
Threads: 12
Joined: May 2011

Reputation:

0

This looks like something from the Godfather. Switch over to a command processor such as ZCMD or YCMD.

pawn Код:

if(strcmp(cmd, "/report", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            GetPlayerName(playerid, sendername, sizeof(sendername));
            new length = strlen(cmdtext);
            while ((idx < length) && (cmdtext[idx] <= ' '))
            {
                idx++;
            }
            new offset = idx;
            new result[64];
            while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
            {
                result[idx - offset] = cmdtext[idx];
                idx++;
            }
            result[idx - offset] = EOS;
            if(!strlen(result))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /report [reason]");
                return 1;
            }
            format(string, sizeof(string), "Report %s: %s", sendername, (result));
            ABroadCast(COLOR_YELLOW,string,1);
            SendClientMessage(playerid, COLOR_YELLOW, "Your report message has been sent to the Admins!");
        }
        return 1;
    }

As quoted from the godfather…

Posts: 2,197
Threads: 25
Joined: Apr 2011

Reputation:

0

PHP код:



new cmd[256];

cmd strtok(cmdtextidx);

if(
strcmp(cmd"/report"true) == 0)

{

    new 
str[200];

    
GetPlayerName(playeridstr24);

    new 
length strlen(cmdtext);

    while ((
idx length) && (cmdtext[idx] <= ' '))

    {

        
idx++;

    }

    new 
offset idx;

    new 
result[96];

    while ((
idx length) && ((idx offset) < (sizeof(result) - 1)))

    {

        
result[idx offset] = cmdtext[idx];

        
idx++;

    }

    
result[idx offset] = EOS;

    if(!
strlen(result)) return SendClientMessage(playerid0xFFFFFFFF"USAGE: /report [text]");

    
format(strsizeof str"Report from [%d] %s: %s"playeridstrresult);

    for(new 
0MAX_PLAYERS++) { if(IsPlayerAdmin(i)) SendClientMessage(i0xFFFF00FFstr); }

    
SendClientMessage(playerid0xFFFF00FF"Your report message was sent to online administrators, thank you.");

    return 
1;






Содержание

  1. Тема: error 017: undefined symbol «strtok»
  2. error 017: undefined symbol «strtok»
  3. Форум Pawn.Wiki — Воплоти мечту в реальность!: Error 017:undefined symbol — Форум Pawn.Wiki — Воплоти мечту в реальность!
  4. Форум Pawn.Wiki — Воплоти мечту в реальность!: Error 017, 029, 107 — Форум Pawn.Wiki — Воплоти мечту в реальность!
  5. Форум Pawn.Wiki — Воплоти мечту в реальность!: Помогите исправить — Форум Pawn.Wiki — Воплоти мечту в реальность!
  6. Error 017 undefined symbol strtok
  7. Маппинг для сервера
  8. Моды для сервера
  9. Программы для скриптера
  10. Dimazzzz
  11. Статистика форума

Тема: error 017: undefined symbol «strtok»

Опции темы
Поиск по теме

error 017: undefined symbol «strtok»

Ребята кто поможет исправить сделаю авку или шапку беслпатно:) А может то и то бесплатно:)

Вот ошибка :
C : Users Admin Desktop League 0.1.4h gamemodes League . pwn ( 1152 ) : error 017 : undefined symbol «strtok»
C : Users Admin Desktop League 0.1.4h gamemodes League . pwn ( 1153 ) : error 017 : undefined symbol «strtok»
C : Users Admin Desktop League 0.1.4h gamemodes League . pwn ( 1154 ) : error 017 : undefined symbol «strtok»

Вот код :
MainSpawns [ 0 ] = floatstr ( strtok ( string , idx , ‘,’ ));
MainSpawns [ 1 ] = floatstr ( strtok ( string , idx , ‘,’ ));
MainSpawns [ 2 ] = floatstr ( strtok ( string , idx , ‘,’ ));

Ошибка :
C : Users Admin Desktop League 0.1.4h gamemodes League . pwn ( 2519 ) : error 017 : undefined symbol «strtok»
C : Users Admin Desktop League 0.1.4h gamemodes League . pwn ( 2519 ) : error 033 : array must be indexed ( variable «tmp» )
C : Users Admin Desktop League 0.1.4h gamemodes League . pwn ( 2520 ) : error 017 : undefined symbol «strtok»
C : Users Admin Desktop League 0.1.4h gamemodes League . pwn ( 2520 ) : error 033 : array must be indexed ( variable «tmp2» )

Код :
tmp = strtok ( params , idx );
tmp2 = strtok ( params , idx );

Последний раз редактировалось Osetin; 10.09.2016 в 01:50 . Причина: Поправил название темы

Источник

Форум Pawn.Wiki — Воплоти мечту в реальность!: Error 017:undefined symbol — Форум Pawn.Wiki — Воплоти мечту в реальность!

  • Pawn скриптинг
  • Первая помощь
  • Проблемы с компилированием
  • Правила форума
  • Просмотр новых публикаций
  • (2 Страниц)
  • 1
  • 2
  • >
  • Вы не можете создать новую тему
  • Тема закрыта

  • Группа: Заблокированные
  • Сообщений: 437
  • Регистрация: 31 июля 14

Использовал даный скрипт: Динамическая система гонок
Вырезал из FS и поставил в свой Мод. Всё на ycmd (команды)

  • Группа: Vip
  • Сообщений: 1 764
  • Регистрация: 17 января 14

  • Группа: Активные пользователи
  • Сообщений: 416
  • Регистрация: 27 августа 14

Добавь в начало OnPlayerCommandText

и в конец мода если нету

  • Группа: Заблокированные
  • Сообщений: 437
  • Регистрация: 31 июля 14

Прежде чем написать эту тему я пойскал ищё в Google,выдало онологичное тема где iRusel отвечает парню:
В public OnPlayerCommandText(playerid, cmdtext[])

Но проблема в том что я использую ycmd и OnPlayerCommandText я не использую.
Сылка на тему: клик

Сообщение отредактировал Johhny™: 13 декабря 2014 — 15:40

  • Группа: Активные пользователи
  • Сообщений: 416
  • Регистрация: 27 августа 14

в чем проблема просто вот это:

В команды startRace, rkick вставь в начало.
============================
Дайте совет на чем лучше писать команды проще и быстрее, самый актуальный на данный момент?

Сообщение отредактировал Impulse99: 13 декабря 2014 — 15:45

Источник

Форум Pawn.Wiki — Воплоти мечту в реальность!: Error 017, 029, 107 — Форум Pawn.Wiki — Воплоти мечту в реальность!

  • Pawn скриптинг
  • Первая помощь
  • Проблемы с компилированием
  • Правила форума
  • Просмотр новых публикаций

  • Группа: Пользователи
  • Сообщений: 16
  • Регистрация: 09 сентября 13

  • Группа: Активные пользователи
  • Сообщений: 4 623
  • Регистрация: 02 августа 12

Когда вырезаешь по внимательнее будь.

В public OnPlayerCommandText(playerid, cmdtext[])

Подключи инклуд utils

  • Группа: Пользователи
  • Сообщений: 16
  • Регистрация: 09 сентября 13

  • Группа: Vip
  • Сообщений: 1 944
  • Регистрация: 17 января 13

Перед строкой с ошибкой

Сообщение отредактировал FastKiLL: 18 сентября 2013 — 15:01

Источник

Форум Pawn.Wiki — Воплоти мечту в реальность!: Помогите исправить — Форум Pawn.Wiki — Воплоти мечту в реальность!

  • Pawn скриптинг
  • Первая помощь
  • Проблемы с компилированием
  • Правила форума
  • Просмотр новых публикаций

  • Группа: Пользователи
  • Сообщений: 21
  • Регистрация: 20 апреля 12

Помогите иправить ошибки

  • Группа: Пользователи
  • Сообщений: 21
  • Регистрация: 20 апреля 12

  • Группа: Пользователи
  • Сообщений: 17
  • Регистрация: 28 марта 12

Ты бы хоть строки скинул

Ну а если это в команде
В начало паблика вставь

И в начало мода вставь строчку #include

Источник

Error 017 undefined symbol strtok

Быстрый переход в группу «Пользователи», без надобности написания постов и ожидания.

Покупка дает возможность:

Маппинг для сервера

Если вы хотите обновить Ваш сервер новыми доработками — то зайдите в наш раздел. Большой выбор готовых решений от наших пользователей

Моды для сервера

Огромный выбор различных модификаций для Вашего сервера. Пролистайте эти темы! Возможно именно там Вы найдете то, что искали уже давно.

Программы для скриптера

Подборка удобных программ для скриптера

Dimazzzz

Начинающий

Думаю бессмысленно вставлять сюда участок кода,где есть strtok.

Вообщем хотелось бы спросить:

Я скопировал из мода Рича в свой new.pwn команду /kick,и компилятор выдал ошибку,мол он не распознает,что такое strtok.

В самом моде Рича нигде кроме команд strtok не упоминается! Т.е. у него даже нету new strtok и т.п.

Пробовал скопировать все инклуды из мода Рича,но это тоже не дало никаких результатов!

Статистика форума

Created by Giness

Уважаемый Гость.
Пожалуйста — воздержитесь от любых комментариев на форуме относительно ситуации в мире.
В личных сообщениях, в темах и где бы то не было.
Помните — это закончится в любом случае, а слова, сказанные (или написанные) Вами — не забудутся никогда.
МЫ ЗА МИР.
(Любые сообщения относительно ситуации в мире(не важно с каким смыслом) буду удаляться. А пользователи — блокироваться безвозвратно. )

Источник

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

Сообщений: 15547

Благодарностей: 6971

Полезность: 1206



narkk3, amxx 1.8.2? Если да, пробуй так:
Код:

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <orpheu>
#include <nvault>
#include <colorchat>

#pragma semicolon 1

#define get_bit(%1,%2) (%1 & (1 << (%2 & 31)))
#define set_bit(%1,%2) %1 |= (1 << (%2 & 31))
#define clr_bit(%1,%2) %1 &= ~(1 << (%2 & 31))
#define inv_bit(%1,%2) %1 ^= (1 << (%2 & 31))

#define is_client(%0) (0 < (%0) <= max_players)
#define is_connected(%0) get_bit(ingame, %0)
#define is_alive(%0) is_user_alive(%0)
#define is_valid_client(%0) (is_client(%0) && is_connected(%0))
#define is_observer(%0) pev(%0, pev_iuser1)
#define is_vip(%0) (user_flags[%0] & _VIP)
#define is_admin(%0) (user_flags[%0] & _ADMIN)
#define is_spectator(%0) (user_team[%0] == TEAM_SPECTATOR)

#define PC PLUGIN_CONTINUE
#define PH PLUGIN_HANDLED
#define PH_MAIN PLUGIN_HANDLED_MAIN

#define printf_chat client_print_color
#define is_said_slash_mute (said[0] == '/' && said[1] == 'm' && said[2] == 'u' && said[3] == 't' && said[4] == 'e')

const MAX_CLIENTS = 32;
const NAME_LEN = 32;
const MSG_LEN = 191;
const ITEM_LEN = 128;
const ALL = 0;
const LOAD = 1;
const SAVE = 0;
const AUTH_LEN = 34;
const IP_LEN = 16;
const POST = 1;
const PRE = 0;

const m_iMenu = 205;
const MENU_OFF = 0;

const _IMMUNITY = ADMIN_IMMUNITY; // flag a
const _ADMIN = ADMIN_BAN; // flag d
const _MAIN_ADMIN = ADMIN_RCON; // flag l
const _VIP = ADMIN_LEVEL_H; // flag t

const LOAD_FLAGS_TASKID = 344733;

const MAX_GAGTIME_AGO = -1800; //время в секундах после которого запись в gag.vault будет считаться устаревшей
new const Float: GAG_TIME[] = {300.0, 600.0, 1200.0, 1800.0, 2700.0, 3600.0, 10800.0, 43200.0, 86400.0}; //время бана в секундах, через запятую можно добавить еще

enum
{
TEAM_UNASSIGNED = 0,
TEAM_TERRORIST = 1,
TEAM_CT = 2,
TEAM_SPECTATOR = 3
}

enum menu_prop
{
BACKNAME = 0,
NEXTNAME,
EXITNAME
}

stock const MENU_PROP_LIST[menu_prop][] = {
"Назад",
"След.",
"Выход"
};

stock const PLAYER[] = "player";
stock const PL_LEAVED[] = "Игрок покинул сервер";
stock const CHAT_INFO_PREFIX[] = "^3[Информация]^1";

stock user_team [MAX_CLIENTS + 1],
user_flags [MAX_CLIENTS + 1],
user_name [MAX_CLIENTS + 1][NAME_LEN],
user_steamid[MAX_CLIENTS + 1][AUTH_LEN],
user_ip [MAX_CLIENTS + 1][IP_LEN];

stock item_name[128], item_info[2], item_status, said[MSG_LEN],
max_players, players_num, ingame, isAlive, gmsgTeamInfo,fpv_gag,
is_gagged_by_admin, is_gagged_chat, is_voice_team, is_voice_vip,
is_gagged[MAX_CLIENTS + 1], gag_data[MAX_CLIENTS + 1], hso_voice,
Float: ungag_time[MAX_CLIENTS + 1], Float: can_speak_after_death_time[MAX_CLIENTS + 1],
Float: auth_delay_load_flags, pcv_auth_delay_load_flags,
Float: block_voice_delay, pcv_can_speak_after_death_delay,
sv_alltalk, pcv_alltalk,
alive_listen_dead, pcv_alive_listen_dead,
dead_listen_dead, pcv_dead_listen_dead,
player_listen_enemy, pcv_player_listen_enemy,
admin_listen_mode, pcv_admin_listen_mode;

native gag_menu_display(id);

public plugin_natives()
{
register_native("gag_menu_display", "_gag_menu_display");
}

public plugin_init()
{
register_plugin ("Gag Me", "1.0", "Free");
register_srvcmd ("amx_reloadcvars", "load_cvars");

fpv_gag = nvault_open("gag");

if (fpv_gag == INVALID_HANDLE) {
set_fail_state("Error opening file: /cstrike/addons/amxmodx/data/vault/gag.vault");
}

register_clcmd ("+voiceteam", "clcmd_voiceteam_plus");
register_clcmd ("-voiceteam", "clcmd_voiceteam_minus");
register_clcmd ("+voicevip", "clcmd_voicevip_plus");
register_clcmd ("-voicevip", "clcmd_voicevip_minus");

register_clcmd ("say", "hook_say");
register_clcmd ("say_team", "hook_say");
register_clcmd ("amx_gagmenu", "clcmd_gagmenu");

RegisterHam (Ham_Spawn, PLAYER, "player_Spawn_Post", POST);
RegisterHam (Ham_Killed, PLAYER, "player_Killed_Post", POST);

hso_voice = CreateHudSyncObj();

gmsgTeamInfo = get_user_msgid ("TeamInfo");
register_message (gmsgTeamInfo, "msg_TeamInfo");

register_forward (FM_SetClientKeyValue, "fwd_FM_SetClientKeyValue", PRE);
OrpheuRegisterHook(OrpheuGetFunction("Voice_SetClientListening"), "Voice_SetClientListening");

max_players = get_maxplayers();
}

public plugin_cfg()
{
load_cvars();
}

public load_cvars()
{
static is_cvars_registered;

if (!is_cvars_registered) {
pcv_auth_delay_load_flags = register_cvar ("auth_delay_load_flags" , "0.0");
pcv_can_speak_after_death_delay = register_cvar ("can_speak_after_death_delay", "5.0");

pcv_alive_listen_dead = register_cvar ("alive_listen_dead" , "0");
pcv_dead_listen_dead = register_cvar ("dead_listen_dead" , "1");
pcv_player_listen_enemy = register_cvar ("player_listen_enemy" , "1");
pcv_admin_listen_mode = register_cvar ("admin_listen_mode" , "2");

pcv_alltalk = get_cvar_pointer ("sv_alltalk");

is_cvars_registered = 1;
}

server_exec();
auth_delay_load_flags = get_pcvar_float (pcv_auth_delay_load_flags);
block_voice_delay = get_pcvar_float (pcv_can_speak_after_death_delay);

alive_listen_dead = get_pcvar_num (pcv_alive_listen_dead);
dead_listen_dead = get_pcvar_num (pcv_dead_listen_dead);
player_listen_enemy = get_pcvar_num (pcv_player_listen_enemy);
admin_listen_mode = get_pcvar_num (pcv_admin_listen_mode);

sv_alltalk = get_pcvar_num(pcv_alltalk);

if (!sv_alltalk) {
set_pcvar_num(pcv_alltalk, 1);
}
}

public client_putinserver(id)
{
clr_bit(is_gagged_by_admin, id);
clr_bit(is_gagged_chat, id);
clr_bit(isAlive, id);
clr_bit(is_voice_team, id);
clr_bit(is_voice_vip, id);

is_gagged[id] = 0;
can_speak_after_death_time[id] = 0.0;

players_num++;
set_bit(ingame, id);

get_user_name (id, user_name[id], NAME_LEN - 1);
get_user_authid (id, user_steamid[id], AUTH_LEN - 1);
get_user_ip(id, user_ip[id], IP_LEN - 1, 1);

if (auth_delay_load_flags > 0.0) {
set_task(auth_delay_load_flags, "delayed_load_flags", id + LOAD_FLAGS_TASKID);
}
else {
delayed_load_flags(id + LOAD_FLAGS_TASKID);
}
}

public delayed_load_flags(id)
{
id -= LOAD_FLAGS_TASKID;

if (is_valid_client(id)) {
user_flags[id] = get_user_flags(id);

if (is_user_bot(id)) {
user_flags[id] |= _VIP;
}

gag_vault(id, LOAD);
}
}

public client_disconnect(id)
{
if (is_connected(id)) {
if (get_bit(is_gagged_by_admin, id)) {
gag_vault(id, SAVE);
}

players_num--;
}

clr_bit(ingame,id);
}

public hook_say(id)
{
read_args (said, charsmax(said));
remove_quotes (said);

if (said[0] == 0) {
return PH;
}

if (get_bit(is_gagged_chat, id)) {
if (get_gametime() <= ungag_time[id]) {
printf_chat(id, print_team_default, "%s Вам запрещено писать в чат.", CHAT_INFO_PREFIX);
return PH;
}
else {
clr_bit(is_gagged_chat, id);
}
}

if (is_said_slash_mute) {
return mute_menu (id);
}

return PC;
}

public player_Spawn_Post(id)
{
if (is_alive(id)) {
set_bit(isAlive, id);
}
}

public player_Killed_Post(id, attacker, should_gib)
{
clr_bit(isAlive, id);

can_speak_after_death_time[id] = get_gametime() + block_voice_delay;
}

public OrpheuHookReturn: Voice_SetClientListening (listener, talker, can_hear)
{
if (listener != talker && is_valid_client(listener) && is_valid_client(talker)) {
if (!CanPlayerHearPlayer(listener, talker)) {
OrpheuSetParam(3, 0);
}
}
}

bool: CanPlayerHearPlayer(listener, talker)
{
static listener_alive, talker_alive;

if (get_bit(is_gagged_by_admin, talker)) {
if (get_gametime() <= ungag_time[talker]) {
return false;
}
else {
clr_bit(is_gagged_by_admin, talker);
}
}

if (get_bit(is_gagged[listener], talker)) {
return false;
}

if (admin_listen_mode == 1) {
if (is_admin(listener) || is_admin(talker)) {
return true;
}
}
else if (admin_listen_mode == 2) {
if (is_admin(listener) && is_spectator(listener)) {
return true;
}

if (is_admin(talker) && is_spectator(talker)) {
return true;
}
}

if (get_bit(is_voice_vip, talker) && is_vip(listener)) {
return true;
}

listener_alive = get_bit(isAlive, listener);
talker_alive = get_bit(isAlive, talker);

if (user_team[listener] != user_team[talker]) {
if (!player_listen_enemy && dead_listen_dead && !listener_alive && !talker_alive) {
return true;
}

if (user_team[listener] == TEAM_CT && user_team[talker] == TEAM_TERRORIST) {
return (player_listen_enemy && !get_bit(is_voice_team, talker));
}

if (user_team[listener] == TEAM_TERRORIST && user_team[talker] == TEAM_CT) {
return (player_listen_enemy && !get_bit(is_voice_team, talker));
}
}

if (is_observer(listener)) {
return true;
}

if (listener_alive) {
if (!talker_alive) {
return (alive_listen_dead || get_gametime() < can_speak_after_death_time[talker]);
}
}
else {
if (talker_alive) {
return true;
}
}

return listener_alive && talker_alive;
}

public clcmd_voiceteam_plus(id)
{
set_bit(is_voice_team, id);
client_cmd (id, "+voicerecord");

return PH;
}

public clcmd_voiceteam_minus(id)
{
clr_bit(is_voice_team, id);
client_cmd (id, "-voicerecord");

return PH;
}

public clcmd_voicevip_plus(id)
{
if (is_vip(id)) {
set_bit(is_voice_vip, id);
client_cmd (id, "+voicerecord");
}

return PH;
}

public clcmd_voicevip_minus(id)
{
if (is_vip(id)) {
clr_bit(is_voice_vip, id);
client_cmd (id, "-voicerecord");
}

return PH;
}

public msg_TeamInfo ()
{
static id, team_name_tmp[11];

id = get_msg_arg_int(1);
get_msg_arg_string(2, team_name_tmp, charsmax(team_name_tmp));

switch (team_name_tmp[0]) {
case 'T': user_team[id] = TEAM_TERRORIST;
case 'C': user_team[id] = TEAM_CT;
case 'S': user_team[id] = TEAM_SPECTATOR;
case 'U': user_team[id] = TEAM_UNASSIGNED;
}
}

public fwd_FM_SetClientKeyValue(id, infobuffer[256], key[32], value[32])
{
#define is_key_name (key[0] == 'n' && key[1] == 'a' && key[2] == 'm' && key[3] == 'e')

if (is_valid_client(id)) {
if (is_key_name && value[0]) {
copy(user_name[id], NAME_LEN - 1, value);
}
}
}
public clcmd_gagmenu(id)
{
return gag_menu(id);
}

public _gag_menu_display(plugin_id, argc)
{
return gag_menu(get_param(1));
}

gag_menu(id)
{
if (is_valid_client(id) && user_flags[id] & _ADMIN) {
new gag_menu_id = menu_create ("yЗаткнуть игрока","gag_menu_handler");

static gag_menu_callback_id;

if (!gag_menu_callback_id) {
gag_menu_callback_id = menu_makecallback ("gag_menu_callback");
}

menu_setprop (gag_menu_id, MPROP_BACKNAME, MENU_PROP_LIST[BACKNAME]);
menu_setprop (gag_menu_id, MPROP_NEXTNAME, MENU_PROP_LIST[NEXTNAME]);
menu_setprop (gag_menu_id, MPROP_EXITNAME, MENU_PROP_LIST[EXITNAME]);

new user2;
if (!is_alive(id)) {
user2 = pev(id, pev_iuser2);
if (user2 && is_alive(user2)) {
item_info[0] = user2;
menu_additem (gag_menu_id, user_name[user2], item_info, 0, gag_menu_callback_id);
}
}
for (new i = 1; i <= max_players; ++i){
if(is_connected(i) && i != user2){
item_info[0] = i;
menu_additem (gag_menu_id, user_name[i], item_info, 0, gag_menu_callback_id);
}
}

#if AMXX_VERSION_NUM < 183
set_pdata_int (id, m_iMenu, MENU_OFF);
#endif
menu_display (id, gag_menu_id);
}

return PH;
}

public gag_menu_callback (id, menu, item)
{
static access, callback, ITEM_STATUS, index;

ITEM_STATUS = ITEM_ENABLED;

menu_item_getinfo (menu, item, access, item_info, charsmax(item_info), item_name, charsmax(item_name), callback);
index = item_info[0];

if (id == index || !(user_flags[id] & _MAIN_ADMIN) && user_flags[index] & _IMMUNITY) {
formatex (item_name, charsmax(item_name), "%s r*", user_name[index]);
ITEM_STATUS = ITEM_DISABLED;
}
else if (get_bit(is_gagged_by_admin, index)) {
formatex (item_name, charsmax(item_name), "%s r[Молчун]", user_name[index]);
ITEM_STATUS = ITEM_ENABLED;
}
else if (user_flags[index] & _VIP) {
ITEM_STATUS = (user_flags[id] & (_ADMIN | _MAIN_ADMIN)) ? ITEM_ENABLED : ITEM_DISABLED;
}

menu_item_setname (menu, item, item_name);

return ITEM_STATUS;
}

public gag_menu_handler (id, menu, item) //изменить
{
static access, callback, index;

if (item != MENU_EXIT) {
menu_item_getinfo (menu, item, access, item_info, charsmax(item_info), item_name, charsmax(item_name), callback);

index = gag_data[id] = item_info[0];

if (is_valid_client(index)) {
if (get_bit(is_gagged_by_admin, index)) {
ungag_time[index] = 0.0;
clr_bit(is_gagged_by_admin, index);
printf_chat(ALL, print_team_default, "^4*^1 Администратор ^3%s ^1снял молчанку с ^3%s^1.", user_name[id], user_name[index]);
}
else {
gagtime_menu(id);
}
}
else {
printf_chat (id, print_team_default, PL_LEAVED);
}
}

menu_destroy(menu);
return PH;
}

gagtime_menu(id)
{
static gagtime_menu_id;

if (is_valid_client(id)) {
if (!gagtime_menu_id) {
gagtime_menu_id = menu_create ("yВыберите времени молчанки", "gagtime_menu_handler");
menu_setprop (gagtime_menu_id, MPROP_EXITNAME, MENU_PROP_LIST[EXITNAME]);

for (new i; i < sizeof GAG_TIME; ++i) {
formatex(item_name, charsmax(item_name), "%.0f минут", (GAG_TIME[i] / 60.0));
menu_additem (gagtime_menu_id, item_name);
}
}

#if AMXX_VERSION_NUM < 183
set_pdata_int (id, m_iMenu, MENU_OFF);
#endif
menu_display (id, gagtime_menu_id);
}

return PH;
}

public gagtime_menu_handler (id, menu, item)
{
if (item != MENU_EXIT) {
ungag_time[gag_data[id]] = get_gametime() + GAG_TIME[item];
set_bit(is_gagged_by_admin, gag_data[id]);
set_bit(is_gagged_chat, gag_data[id]);
printf_chat(ALL, print_team_default, "^4*^1 Администратор %s заткнул %s на^3 %.0f^1 минут.", user_name[id], user_name[gag_data[id]], (GAG_TIME[item] / 60.0));
}

return PH;
}

gag_vault(id, mode)
{
static Float: ctime, sys_time, ungag_systime, ungag_systime_str[11];

ctime = get_gametime();
sys_time = get_systime();

if (mode == LOAD) {
ungag_systime = nvault_get (fpv_gag, user_steamid[id]);

if (!ungag_systime) {
ungag_systime = nvault_get (fpv_gag, user_ip[id]);
}

if (ungag_systime > sys_time) {
set_bit(is_gagged_by_admin, id);
set_bit(is_gagged_chat, id);
ungag_time[id] = ctime + float(ungag_systime - sys_time);
}
}
else {
ungag_systime = floatround(ungag_time[id] - ctime) + sys_time;

if (ungag_systime > sys_time) {
num_to_str(ungag_systime, ungag_systime_str, charsmax(ungag_systime_str));
nvault_set (fpv_gag, user_steamid[id], ungag_systime_str);
nvault_set (fpv_gag, user_ip[id], ungag_systime_str);
}
}
}

mute_menu (id)
{
if (is_valid_client(id)) {
if (players_num < 2) {
printf_chat (id, print_team_default, "%s На сервере менее 2х игроков", CHAT_INFO_PREFIX);
return PH;
}

new mute_menu_id = menu_create ("yЗаглушить игрока","mute_menu_handler");

static mute_menu_callback_id;

if (!mute_menu_callback_id) {
mute_menu_callback_id = menu_makecallback ("mute_menu_callback");
}

menu_setprop (mute_menu_id, MPROP_BACKNAME, MENU_PROP_LIST[BACKNAME]);
menu_setprop (mute_menu_id, MPROP_NEXTNAME, MENU_PROP_LIST[NEXTNAME]);
menu_setprop (mute_menu_id, MPROP_EXITNAME, MENU_PROP_LIST[EXITNAME]);

new user2;
if (!is_alive(id)) {
user2 = pev(id, pev_iuser2);
if (user2 && is_alive(user2)) {
item_info[0] = user2;
menu_additem (mute_menu_id, user_name[user2], item_info, 0, mute_menu_callback_id);
}
}
for (new i = 1; i <= max_players; ++i){
if(is_connected(i) && i != id && i != user2){
item_info[0] = i;
menu_additem (mute_menu_id, user_name[i], item_info, 0, mute_menu_callback_id);
}
}

#if AMXX_VERSION_NUM < 183
set_pdata_int (id, m_iMenu, MENU_OFF);
#endif
menu_display (id, mute_menu_id);
}

return PH;
}

public mute_menu_callback (id, menu, item)
{
static access, callback;

item_status = ITEM_ENABLED;

if (item == 0) {
if (is_gagged[id] == -1) {
copy (item_name, charsmax(item_name), "Заглушить всех y[rВклy]^n");
}
else {
copy (item_name, charsmax(item_name), "Заглушить всех y[rВыклy]^n");
}
}
else {
menu_item_getinfo (menu, item, access, item_info, charsmax(item_info), item_name, charsmax(item_name), callback);

if (get_bit(is_gagged[id], item_info[0])) {
formatex (item_name, charsmax(item_name), "%s y[r+y]", user_name[item_info[0]]);
item_status = ITEM_ENABLED;
}
}

menu_item_setname (menu, item, item_name);

return item_status;
}

public mute_menu_handler (id, menu, item)
{
static need_announce, Float: ctime, Float: next_announce_time[MAX_CLIENTS + 1];

ctime = get_gametime();

need_announce = (ctime > next_announce_time[id]) ? 1 : 0;

if (item != MENU_EXIT) {
if (item == 0) {
if (is_gagged[id] == -1) {
is_gagged[id] = 0;

need_announce && printf_chat(ALL, print_team_default, "%s Игрок ^3%s^1 написал^3 /mute^1 (^4слышит всех^1)", CHAT_INFO_PREFIX, user_name[id]);
}
else {
is_gagged[id] = -1;
need_announce && printf_chat(ALL, print_team_default, "%s Игрок ^3%s^1 написал^3 /mute^1 (^4не слышит никого^1)", CHAT_INFO_PREFIX, user_name[id]);
}
}
else {
static access, callback;
menu_item_getinfo (menu, item, access, item_info, charsmax(item_info), item_name, charsmax(item_name), callback);

gag_data[id] = item_info[0];

if (is_connected(gag_data[id])) {
if (get_bit(is_gagged[id], gag_data[id])) {
clr_bit(is_gagged[id], gag_data[id]);
need_announce && printf_chat(ALL, print_team_default, "%s^3 Игрок %s^1 написал^3 /mute^1 (^4слышит %s^1)", CHAT_INFO_PREFIX, user_name[id], user_name[gag_data[id]]);
}
else {
set_bit(is_gagged[id], gag_data[id]);
need_announce && printf_chat(ALL, print_team_default, "%s^3 Игрок %s^1 написал^3 /mute^1 (^4не слышит %s^1)", CHAT_INFO_PREFIX, user_name[id], user_name[gag_data[id]]);
}
}
else {
printf_chat (id, print_team_default, PL_LEAVED);
}
}

menu_destroy(menu);
mute_menu (id);
}
else {
menu_destroy(menu);
}

next_announce_time[id] = ctime + 3.0;
return PH;
}

public plugin_end()
{
if (fpv_gag != INVALID_HANDLE) {
nvault_prune(fpv_gag, 0, get_systime(MAX_GAGTIME_AGO));
nvault_close(fpv_gag);
}

set_pcvar_num(pcv_alltalk, sv_alltalk);
}

В общем, исправлял опечатки в скрипте, в итоге не могу скомпилировать
Ошибки: Вы должны зарегистрироваться, чтобы видеть ссылки.

Все ошибки связаны с undefined symbol, смотрел строчки где вылезли эти ошибки, не могу понять что там не так, пожалуйста помогите, ну или хотябы покажите на примере 1 из этих ошибок, а дальше я сам как нибудь попробую
Сам код:

Код: Выделить всё
#include AmxModX
#include JBE_core
#include FakeMeta
#include HamSandwich

#define RegisterMenu(%1,%2,%3) register_menucmd(register_menuid(%1),%3,%2)

#define TaskId_Regen 12125
#define MAX_PLAYERS 32

/* -> Бит суммы для игроков -> */
#define SetBit(%0,%1)                 ((%0) |= (1 << (%1)))
#define ClearBit(%0,%1)             ((%0) &= ~(1 << (%1)))
#define IsSetBit(%0,%1)             ((%0) & (1 << (%1)))
#define InvertBit(%0,%1)             ((%0) ^= (1 << (%1)))
#define IsNotSetBit(%0,%1)             (~(%0) & (1 << (%1)))

/* -> Массивы для меню из игроков -> */

new g_iMenuPlayers[MAX_PLAYERS + 1][32], g_iMenuPosition[MAX_PLAYERS + 1];enum _: eBLOCK
{
    REGEN,
    MODE
};new g_iBitUserIsType[eBLOCK], g_iUserRespawnNum[MAX_PLAYERS], g_iGodModeType[MAX_PLAYERS + 1], g_iUserPoints[MAX_PLAYERS + 1],
g_iDayMode, g_iMaxPlayers, g_iSyncText;public plugin_natives()
{
    register_native( "Open_KnyazMenu", "Show_KnyazMenu", 1 );
    register_native( "Open_CreateMenu", "Show_CreatorMenu", 1 );
    register_native( "Open_GodModeMenu", "Show_GodModeMenu", 1 );
    register_native( "Open_Respawn_Menu", "Cmd_OpenResspawnMenu", 1 );
    register_native( "Open_StrongMenu", "Show_StrongMenu", 1 );
}
public plugin_init()
{
    get_license();
    register_plugin("[UJBL] Privileges Addon", "vk/krisiso", "ToJI9IHGaa");    new iBits = (1<<0|1<<1|1<<2|1<<9);
    
    RegisterMenu
("Show_KnyazMenu", "Handle_KnyazMenu", iBits);
    
    iBits 
|= (1<<3|1<<4);
    
    RegisterMenu
("Show_CreatorMenu", "Handle_CreatorMenu", iBits);
    RegisterMenu("Show_GodModeMenu", "Handle_GodModeMenu", iBits);    iBits |= (1<<5|1<<6|1<<7|1<<8);
    
    RegisterMenu
("Show_RespawnMenu", "Handle_RespawnMenu", iBits);
    RegisterMenu("Show_GodModeList", "Handle_GodModeList", iBits);
    RegisterMenu("Show_StrongMenu", "Handle_Strong1Menu", iBits);
        
    register_logevent
("LogEvent_RoundStart",2,"1=Round_Start");
    
    g_iMaxPlayers 
= get_maxplayers();
    g_iSyncText = CreateHudSyncObj();
}
public LogEvent_RoundStart()
{
    for( new pId = 1; pId <= g_iMaxPlayers; pId++ )
    {
        if( jbe_get_privileges_flags( pId ) & FLAGS_KNYAZ )
        {    
            if
( task_exists( pId + TaskId_Regen ) ) remove_task( pId + TaskId_Regen );
            static iMode, iInvisible; jbe_get_user_rendering( pId, iMode, iMode, iMode, iMode, iMode, iInvisible );
            if( iMode == kRenderTransAlpha && iInvisible == 70 ) jbe_set_user_rendering( pId, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 100 );        

                        g_iBitUserIsType

[ REGEN ] = 0;
            g_iUserRespawnNum[ pId ] = 3;
        }
    }
}
#define TaskId_UpPoints 12421
public client_putinserver( pId )
{
    if( jbe_get_privileges_flags( pId ) & FLAGS_STRONG ) 
    
{
        set_task( 300.0, "fnUpPoints", pId + TaskId_UpPoints, _, _, "b" );
        if( !is_linux_server() ) g_iUserPoints[ pId ] = 999;
    }
}
public client_disconnect( pId )
{
    if( task_exists( pId + TaskId_UpPoints ) )
    {
        remove_task( pId + TaskId_UpPoints );
        g_iUserPoints[ pId ] = 0;
    }
}
public fnUpPoints( pId ) 
{
    pId -= TaskId_UpPoints;
    new iNum = random_num( 1, 3 );
    g_iUserPoints[ pId ] += iNum;
    UTIL_SayText( pId, "Вы получили: !g%d !tPresent Points!y. Теперь их у Вас: !g%d", iNum, g_iUserPoints[ pId ] );
}
    
public Show_StrongMenu
( pId )
{
    #define PP[%1] g_iUserPoints[%1]
    #define AddItem(%1) iLen += formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, %1 )
    #define AddBit(%1) iKeys |= ( 1<<%1 )
    
    jbe_informer_offset_up
( pId );
    new szMenu[ 512 ], iLen, iKeys = ( 1<<);
    iLen = formatex( szMenu[ iLen ], charsmax( szMenu ) - iLen, "yStrong Menu^nВаши rPresentPoints: w%d^n^n", PP[ pId ] );
    
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////
//    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    if( PP[ pId ] > 0 )
    {
        AddItem( "r(1)y | w250$Rr[ 1PP ]^n" );
        AddBit( 0 );
    }
    else AddItem( "r(1)y | d250$Rr[ 1PP ]^n" );    
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////
//    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    if( pev( pId, pev_health ) >= 500.0 || pev( pId, pev_armorvalue ) >= 255.0 )
        AddItem("r(2)y | dHealth & Armor Packr(У Вас много HP/AP)R[ 1PP ]^n");
    else
    
{
        if( PP[ pId ] > 0 )
        {
            AddItem("r(2)y | wHealth & Armor PackRr[ 1PP ]^n");
            AddBit( 1 );
        }
        else AddItem("r(2)y | dHealth & Armor PackRr[ 1PP ]^n");
    }
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////
//    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    if( PP[ pId ] > 1 )
    {
        AddItem( "r(3)y | wСпец комплектRr[ 2PP ]^n" );
        AddBit( 2 );
    }
    else AddItem( "r(3)y | dСпец комплектRr[ 2PP ]^n" );
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////
//    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    if( PP[ pId ] > 0 )
    {
        AddItem( "r(4)y | wTeleport на spawnRr[ 1PP ]^n" );
        AddBit( 3 );
    }
    else AddItem( "r(4)y | dTeleport на spawnRr[ 1PP ]^n" );
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////
//    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    if( PP[ pId ] > 0 )
    {
        AddItem( "r(5)y | wOpen door (По прицелу)Rr[ 1PP ]^n" );
        AddBit( 4 );
    }
    else AddItem( "r(5)y | dOpen door (По прицелу)Rr[ 1PP ]^n" );
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////
//    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    if( PP[ pId ] > 1 )
    {
        AddItem( "r(6)y | wПодмена мест (Случайный игрок)Rr[ 2PP ]^n" );
        AddBit( 5 );
    }
    else AddItem( "r(6)y | dПодмена мест (Случайный игрок)Rr[ 2PP ]^n" );
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////
//    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    if( PP[ pId ] > 2 )
    {
        AddItem( "r(7)y | wСлучайное оружиеRr[ 3PP ]^n" );
        AddBit( 6 );
    }
    else AddItem( "r(7)y | dСлуайное оружиеRr[ 3PP ]^n" );
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////
//    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    static iMode, iInvisible; jbe_get_user_rendering( pId, iMode, iMode, iMode, iMode, iMode, iInvisible);
    if( iMode == kRenderTransAlpha && iInvisible == 100 )
        AddItem( "r(8)y | dПолная невидимость r(Активно)R[ 4PP ]^n" );
    else 
    
{
        if( PP[ pId ] > 3 )
        {
            AddItem( "r(8)y | wПолная невидимостьRr[ 4PP ]^n" );
            AddBit( 7 );
        }
        else AddItem( "r(8)y | dПолная невидимостьRr[ 4PP ]^n" );
    }
/// ////////////////////////////////////////////////////////////////////////////////////////////////////////
//    ////////////////////////////////////////////////////////////////////////////////////////////////////////
    AddItem( "^nr(0)y | wВыход^n" );
    
    return show_menu
( pId, iKeys, szMenu, -1, "Show_StrongMenu" );
}
public Handle_Strong1Menu( pId, iKey )
{
    switch( iKey )
    {
        case 0:
        {
            jbe_set_user_money( pId, jbe_get_user_money( pId ) + 250, 1 );
            g_iUserPoints[ pId ]--;
            return Show_StrongMenu( pId );
        }
        case 1: 
        
{
            set_pev( pId, pev_health, 500.0 );
            set_pev( pId, pev_armorvalue, 255.0 );
            g_iUserPoints[ pId ]--;
        }
        
        case 2
:
        {
            switch( jbe_get_user_team( pId ) )
            {
                case 1: 
                
{
                    drop_user_weapons( pId, 0 ); jbe_set_user_rendering( pId, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 20 );
                    fm_give_item( pId, "item_kevlar" ); set_pev( pId, pev_armorvalue, pev( pId, pev_armorvalue ) + 70.0 );
                    new iItemId = fm_give_item( pId, "weapon_usp" ); fm_give_item( pId, "weapon_flashbang" );
                    if( iItemId ) set_pdata_int( iItemId, 51, 30, 4 );    
                
}
                case 2:
                {
                    drop_user_weapons( pId, 1 ); set_pev( pId, pev_health, pev( pId, pev_health ) + 70.0 );
                    
                    if
( fm_give_item( pId, "weapon_hegrenade" ) ) 
                    
{
                        client_cmd( pId, "weapon_hegrenade" );
                        set_pdata_int( pId, 388, 5, 5 );
                    }
                    
                    if
( fm_give_item( pId, "weapon_m4a1" ) ) 
                    
{
                        client_cmd( pId, "weapon_m4a1" );
                        set_pdata_int( pId, 380, 200, 5 );
                    }
                }
            }
            
            g_iUserPoints
[ pId ] -= 2;
        }
        
        case 3
:
        {
            new iEntity;
            switch( jbe_get_user_team( pId ) )
            {
                case 1: iEntity = engfunc( EngFunc_FindEntityByString, iEntity, "classname", "info_player_deathmatch" );
                case 2: iEntity = engfunc( EngFunc_FindEntityByString, iEntity, "classname", "info_player_start" );
            }
            if( !iEntity ) return Show_StrongMenu( pId );
            new Float: vecOrigin[ 3 ]; pev( iEntity, pev_origin, vecOrigin );
            set_pev( pId, pev_origin, vecOrigin );
            
            g_iUserPoints
[ pId ]--;
        }
        
        case 4
:        
        
{
            new iEntity, iBody; get_user_aiming( pId, iEntity, iBody, 30 );
            if( !pev_valid( iEntity ) ) return Show_StrongMenu( pId );
            
            new szClassName
[ 32 ]; pev( iEntity, pev_classname, szClassName, charsmax( szClassName ) );
            if( szClassName[ 5 ] == 'd' && szClassName[ 6 ] == 'o' && szClassName[ 7 ] == 'o' && szClassName[ 8 ] == 'r' )
            {
                client_print( pId, print_center, "<<<< OPENED >>>>" );
                dllfunc( DLLFunc_Use, iEntity, pId );
            }
            else return Show_StrongMenu( pId );
            
            g_iUserPoints
[ pId ]--;
        }
        
        case 5
:
        {
            new iPlayers[ 32 ], iNum, pTarget;
            for( pTarget = 1; pTarget <= g_iMaxPlayers; pTarget++ )
            {
                if( !jbe_is_user_alive( pTarget ) || pTarget == pId ) continue;
                iPlayers[ iNum++ ] = pTarget;
            }
            
            if
( !iNum )
            {
                client_print( pId, print_center, "<<<< No Players >>>>" );
                return Show_StrongMenu( pId );
            }
            
            new Float
: vecOriginTarget[ 3 ], Float: vecOrigin[ 3 ]; pTarget = iPlayers[ random_num( 1, iNum - 1 ) ];
            pev( pTarget, pev_origin, vecOriginTarget ); pev( pId, pev_origin, vecOrigin );
            set_pev( pId, pev_origin, vecOriginTarget ); set_pev( pTarget, pev_origin, vecOrigin );
            
            client_print
( pTarget, print_center, "<<<< Кто-то поменялся с вами позициями! >>>>" );
            
            g_iUserPoints
[ pId ] -= 2;
        }
        
        case 6
:
        {
            drop_user_weapons( pId, 1 ); drop_user_weapons( pId, 0 );
            new szWeapons[][] = { "weapon_m4a1", "weapon_usp", "weapon_ak47", "weapon_glock18", "weapon_m249" };
            fm_give_item( pId, szWeapons[ random_num( 0, 4 ) ] );
            
            g_iUserPoints
[ pId ] -= 3;
        }
        
        case 7
:
        {
            jbe_set_user_rendering( pId, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 100 );
            client_print( pId, print_center, "<<<< Вы невидимы! >>>>" );
            
            g_iUserPoints
[ pId ] -= 4;
        }
    }
    return PLUGIN_HANDLED;
}
public Show_KnyazMenu( id )
{
    jbe_informer_offset_up(id);
    static iMode, iInvisible; jbe_get_user_rendering(id, iMode, iMode, iMode, iMode, iMode, iInvisible);
    
    new szMenu
[340], iLen, iKeys = (1<<0|1<<1|1<<9);
    iLen = formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y%L^n^n", id, "JBE_KNYAZ_TITLE");
    FormatMenu("r(1) y|  w%L^n", id, "JBE_KNYAZ_REGENERATION", IsSetBit(g_iBitUserIsType[REGEN], id) ? "Включено" : "Выключено");
    FormatMenu("r(2) y|  w%L^n", id, "JBE_KNYAZ_INVISIBLE", (iMode == kRenderTransAlpha && iInvisible == 70) ? "Включено" : "Выключено");
    
    if
(g_iUserRespawnNum[id] > 0)
    {
        FormatMenu("r(3) y| w %L r[%d]^n", id, "JBE_RESPAWN_MENU", g_iUserRespawnNum[id]);
        iKeys |= (1<<2);
    }
    else FormatMenu("r(3) y| d %L r(0) y| ^n", id, "JBE_RESPAWN_MENU");
    FormatMenu("^nr(0) y| w Выход");
    return ShowMenu("Show_KnyazMenu");
}
public Handle_KnyazMenu(id, iKey)
{
    switch(iKey)
    {
        case 0:
        {
            if(IsSetBit(g_iBitUserIsType[REGEN], id)) remove_task(id + TaskId_Regen);
            else set_task(10.0, "Regenerations", id + TaskId_Regen, _, _, "b");
            
            InvertBit
(g_iBitUserIsType[REGEN], id);
        }
        case 1:
        {
            static iMode, iInvisible;
            jbe_get_user_rendering(id, iMode, iMode, iMode, iMode, iMode, iInvisible);
            if(iMode == kRenderTransAlpha && iInvisible == 70) jbe_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 100);
            else jbe_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 70);
        }
        case 2: return Show_RespawnMenu(id, g_iMenuPosition[id] = 0);    
        case 9
: return PLUGIN_HANDLED;
    }
    return Show_KnyazMenu(id);
}
public Regenerations(id)
{
    id -= TaskId_Regen;
    if(jbe_get_status_duel() || jbe_get_day_mode() == 3 || !jbe_is_user_alive(id)) 
    
{
        remove_task(id + TaskId_Regen);
        return;
    }
    if(pev(id, pev_health) >= 100) 
    
{
        client_print(id, print_center, "[Князь Меню] Регенерация завершена.");
        remove_task(id + TaskId_Regen);
        return;
    }
    set_pev(id, pev_health, pev(id, pev_health) + 5.0);
}
public Show_CreatorMenu(id)
{
    jbe_informer_offset_up(id);    
    new szMenu
[516], iLen, iKeys = (1<<0|1<<1|1<<2|1<<3|1<<9), Float: fGravity;
    pev(id, pev_gravity, fGravity);
    iLen = formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y%L^n^n", id, "JBE_CREATOR_TITLE");
    
    iLen 
+= formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[1] w%L^n^n", id, "JBE_CREATER_TYPE", IsNotSetBit(g_iBitUserIsType[MODE], id) ? "Забрать" : "Дать");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[2] w%L^n", id, "JBE_CREATE_HEALTH", pev(id, pev_health));
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[3] w%L^n^n", id, "JBE_CREATE_ARMOR", pev(id, pev_armorvalue));
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[4] w%L^n^n", id, "JBE_CREATE_GRAVITY", fGravity);
    if(!jbe_is_user_alive(id))
    {
        iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[5] w%L^n^n",id, "JBE_RESPAWN_CREATE");
        iKeys |= (1<<4);
    }
    else iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[5] d%L^n^n",id, "JBE_RESPAWN_CREATE");
    FormatMenu("^nr(0) y| w Выход");
    return ShowMenu("Show_CreatorMenu");
}
public Handle_CreatorMenu(id, iKey)
{
    switch(iKey)
    {
        case 0: InvertBit(g_iBitUserIsType[MODE], id);
        case 1: 
        
{
            if(IsSetBit(g_iBitUserIsType[MODE], id))
            {
                if(pev(id, pev_health) >= 160) client_print(id, print_center, "У Вас много жизней!");
                else set_pev(id, pev_health, pev(id, pev_health) + 5.0);
            }
            else
            
{
                if(pev(id, pev_health) < 6) client_print(id, print_center, "У Вас мало жизней!");
                else set_pev(id, pev_health, pev(id, pev_health) - 5.0);
            }
        }
        case 2:
        {
            if(IsSetBit(g_iBitUserIsType[MODE], id))
            {
                if(pev(id, pev_armorvalue) >= 160) client_print(id, print_center, "У Вас много брони!");
                else set_pev(id, pev_armorvalue, pev(id, pev_armorvalue) + 5.0);
            }
            else
            
{
                if(pev(id, pev_armorvalue) < 6) client_print(id, print_center, "У Вас мало брони!");
                else set_pev(id, pev_armorvalue, pev(id, pev_armorvalue) - 5.0);
            }
        }
        case 3:
        {
            new Float: fGravity;
            pev(id, pev_gravity, fGravity);
            
            if
(IsSetBit(g_iBitUserIsType[MODE], id))
            {
                if(fGravity <= 0.5) client_print(id, print_center, "Слишком большая гравитация!");
                else 
                
{
                    fGravity -= 0.05;
                    set_pev(id, pev_gravity, fGravity);
                }
            }
            else
            
{
                if(fGravity >= 1.0) client_print(id, print_center, "Слишком маленькая гравитация!");
                else 
                
{
                    fGravity += 0.05;
                    set_pev(id, pev_gravity, fGravity);
                }
            }
        }
        case 4: ExecuteHam(Ham_CS_RoundRespawn, id);
        case 9: return PLUGIN_HANDLED;
    }
    return Show_CreatorMenu(id);
}
public Show_GodModeMenu(id)
{
    jbe_informer_offset_up(id);
    
    new szMenu
[700], iLen;
    iLen = formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y%L^n^n", id, "JBE_GODMODE_TITLE");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[1] w%L^n^n", id, "JBE_GODMODE_TYPE", IsNotSetBit(g_iBitUserIsType[MODE], id) ? "Забрать" : "Дать");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[2] w%L^n", id, "JBE_GODMODE_HEALTH");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[3] w%L^n^n", id, "JBE_GODMODE_ARMOR");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[4] w%L^n^n", id, "JBE_GODMODE_GRAVITY");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[5] w%sr%L^n^n", g_iDayMode ? "Ночь | ":"День | ", id, "JBE_GODMODE_DEYMODE");
    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^ny[0] w%L", id, "JBE_MENU_EXIT");    return show_menu(id, (1<<0|1<<1|1<<2|1<<3|1<<4|1<<9), szMenu, -1, "Show_GodModeMenu");    
}
public Handle_GodModeMenu(id, iNum)
{
    switch(iNum)
    {
        case 0:
        {
            InvertBit(g_iBitUserIsType[MODE], id);
            return Show_GodModeMenu(id);
        }
        case 1:
        {
            g_iGodModeType[id] = 1;
            return Show_GodModeList(id, g_iMenuPosition[id] = 0);
        }
        case 2:
        {
            g_iGodModeType[id] = 2;
            return Show_GodModeList(id, g_iMenuPosition[id] = 0);
        }
        case 3:
        {
            g_iGodModeType[id] = 3;
            return Show_GodModeList(id, g_iMenuPosition[id] = 0);
        }
        case 4:
        {
            DayMode_Setting();
            return Show_GodModeMenu(id);
        }
        case 5: return Show_RespawnMenu(id, g_iMenuPosition[id] = 0);
    }
    return PLUGIN_HANDLED;
}
public Cmd_OpenResspawnMenu(id) Show_RespawnMenu(id, g_iMenuPosition[id] = 0);
public Show_RespawnMenu(id, iPos)
{
    
    if
(iPos < 0) return PLUGIN_HANDLED;
    if(~jbe_get_privileges_flags(id) & FLAGS_GOD && !g_iUserRespawnNum[id])
    {
        client_print(0, print_center, "У Вас закончились попытки возрождения!");
        return Show_KnyazMenu(id);
    }    

    jbe_informer_offset_up

(id);
    new iPlayersNum;
    
    for
(new i = 1; i <= g_iMaxPlayers; i++)
    {
        if(!jbe_get_user_team(i) || jbe_get_user_team(i) >= 3 || jbe_is_user_alive(i)) continue;
        g_iMenuPlayers[id][iPlayersNum++] = i;    
    
}
    new iStart = iPos * 8;
    if(iStart > iPlayersNum) iStart = iPlayersNum;
    iStart = iStart - (iStart % 8);
    g_iMenuPosition[id] = iStart / 8;
    new iEnd = iStart + 8;
    if(iEnd > iPlayersNum) iEnd = iPlayersNum;
    new szMenu[1024], iLen, iPagesNum = (iPlayersNum / 8 + ((iPlayersNum % 8) ? 1 : 0));
    switch(iPagesNum)
    {
        case 0:
        {    
            client_print
(id, print_center, "%L", id, "JBE_CHAT_ID_PLAYERS_NOT_VALID");            
            return PLUGIN_HANDLED
;
        }
        default: iLen = formatex(szMenu, charsmax(szMenu), "y%L w[%d|%d]^n^n", id, "JBE_RESPAWN_MENU", iPos + 1, iPagesNum);
    }
    new szName[32], i, iKeys = (1<<9), b;
    for(new a = iStart; a < iEnd; a++)
    {
        i = g_iMenuPlayers[id][a];
        get_user_name(i, szName, charsmax(szName));
        iKeys |= (1<<b);
        iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[%d] w%s^n", ++b, szName);
    }
    for(new i = b; i < 8; i++) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n");
    if(iEnd < iPlayersNum)
    {
        iKeys |= (1<<8);
        formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^ny[9] w%L^ny[0] w%L", id, "JBE_MENU_NEXT", id, iPos ? "JBE_MENU_BACK" : "JBE_MENU_EXIT");
    }
    else formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n^ny[0] w%L", id, iPos ? "JBE_MENU_BACK" : "JBE_MENU_EXIT");
    return show_menu(id, iKeys, szMenu, -1, "Show_RespawnMenu");
}
public Handle_RespawnMenu(id, iKey)
{
    switch(iKey)
    {
        case 8: return Show_RespawnMenu(id, ++g_iMenuPosition[id]);
        case 9: return Show_RespawnMenu(id, --g_iMenuPosition[id]);
        default:
        {
            new iTarget = g_iMenuPlayers[id][g_iMenuPosition[id] * 8 + iKey];
            
            if
(jbe_is_user_alive(iTarget)) 
            
{
                client_print(id, print_center, "Игрок уже оживлён!");
                return Show_RespawnMenu(id, g_iMenuPosition[id] = 0);
            }
            
            if
(jbe_is_user_connected(iTarget))
            {                
                g_iUserRespawnNum
[id]--;
                ExecuteHam(Ham_CS_RoundRespawn, iTarget);
                new szName[2][32];
                get_user_name(id, szName[0], charsmax(szName[]));
                get_user_name(iTarget, szName[1], charsmax(szName[]));
                
                set_hudmessage
( 102, 69, 0, -1.0, 0.16, 0, 0.0, 0.9, 0.1, 3.0, -);
                for(new pPlayer = 1; pPlayer <= g_iMaxPlayers; pPlayer++)
                {
                    if(!jbe_is_user_connected(pPlayer)) continue;
                    ShowSyncHudMsg( pPlayer, g_iSyncText, "Администратор [ %s ] ^nвозродил игрока [ %s ]", szName[0], szName[1] );
                }            
            
}
            
            return Show_RespawnMenu
(id, g_iMenuPosition[id]);
        }
    }
    return PLUGIN_HANDLED;
}
Show_GodModeList(id, iPos)
{
    if( iPos < 0 ) return PLUGIN_HANDLED;
    jbe_informer_offset_up( id );
    
    new iPlayersNum
;
    for(new i = 1; i <= get_maxplayers(); i++)
    {
        if(!jbe_is_user_alive(i) || jbe_get_user_team(i) >= 3 || !jbe_get_user_team(i)) continue;
        g_iMenuPlayers[id][iPlayersNum++] = i;
    }
    new iStart = iPos * 8;
    if(iStart > iPlayersNum) iStart = iPlayersNum;
    iStart = iStart - (iStart % 8);
    g_iMenuPosition[id] = iStart / 8;
    new iEnd = iStart + 8;
    if(iEnd > iPlayersNum) iEnd = iPlayersNum;
    new szMenu[1024], iLen, iPagesNum = (iPlayersNum / 8 + ((iPlayersNum % 8) ? 1 : 0));
    switch(iPagesNum)
    {
        case 0:
        {
            UTIL_SayText( id, "%L", id, "JBE_CHAT_ID_PLAYERS_NOT_VALID" );
            return Show_GodModeMenu(id);
        }
        default: iLen = formatex(szMenu, charsmax(szMenu), "y%L w[%d|%d]^n^n", id, "JBE_GODMODE_BONUS_MENU", iPos + 1, iPagesNum);
    }
    new szName[32], i, iKeys = (1<<9), b;
    for(new a = iStart; a < iEnd; a++)
    {
        i = g_iMenuPlayers[id][a];
        get_user_name(i, szName, charsmax(szName));
        iKeys |= (1<<b);
        switch(g_iGodModeType[id])
        {
            case 1: iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[%d] w%s d[r%dd]^n", ++b, szName, pev(i, pev_health));
            case 2: iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[%d] w%sd[r%dd]^n", ++b, szName, pev(i, pev_armorvalue));
            case 3: 
            
{
                new Float: fGravity;
                pev(i, pev_gravity, fGravity);
                iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "y[%d] w%sd[r%fd]^n", ++b, szName, fGravity);
            }
        }
    }
    for(new i = b; i < 8; i++) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n");
    if(iEnd < iPlayersNum)
    {
        iKeys |= (1<<8);
        formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^ny[9] w%L^ny[0] w%L", id, "JBE_MENU_NEXT", id, iPos ? "JBE_MENU_BACK" : "JBE_MENU_EXIT");
    }
    else formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n^ny[0] w%L", id, iPos ? "JBE_MENU_BACK" : "JBE_MENU_EXIT");
    return show_menu(id, iKeys, szMenu, -1, "Show_GodModeList");
}
public Handle_GodModeList(id, iKey)
{
    switch(iKey)
    {
        case 8: return Show_GodModeList(id, ++g_iMenuPosition[id]);
        case 9: return Show_GodModeList(id, --g_iMenuPosition[id]);
        default:
        {
            new iTarget = g_iMenuPlayers[id][g_iMenuPosition[id] * 8 + iKey];
            
            if
(!jbe_is_user_connected(iTarget)) 
            
{
                client_print(id, print_center, "Игрок отключён!");
                return Show_GodModeList(id, g_iMenuPosition[id] = 0);
            }
            
            if
(!jbe_is_user_alive(iTarget)) 
            
{
                client_print(id, print_center, "Игрок мёртв!");
                return Show_GodModeList(id, g_iMenuPosition[id] = 0);
            }            switch(g_iGodModeType[id])
            {
                case 1:
                {
                    if(IsSetBit(g_iBitUserIsType[MODE], id))
                    {
                        if(pev(iTarget, pev_health) >= 160) client_print(id, print_center, "У игрока много жизней!");
                        else set_pev(iTarget, pev_health, pev(iTarget, pev_health) + 5.0);
                    }
                    else
                    
{
                        if(pev(iTarget, pev_health) < 6) client_print(id, print_center, "У игрока мало жизней!");
                        else set_pev(iTarget, pev_health, pev(iTarget, pev_health) - 5.0);
                    }
                    return Show_GodModeList(id, g_iMenuPosition[id]);
                }
                case 2:
                {
                    if(IsSetBit(g_iBitUserIsType[MODE], id))
                    {
                        if(pev(iTarget, pev_armorvalue) >= 160) client_print(id, print_center, "У игрока много жизней!");
                        else set_pev(iTarget, pev_armorvalue, pev(iTarget, pev_armorvalue) + 5.0);
                    }
                    else
                    
{
                        if(pev(iTarget, pev_armorvalue) < 6) client_print(id, print_center, "У игрока мало жизней!");
                        else set_pev(iTarget, pev_armorvalue, pev(iTarget, pev_armorvalue) - 5.0);
                    }
                    return Show_GodModeList(id, g_iMenuPosition[id]);
                }
                case 3:
                {
                    new Float: fGravity;
                    pev(iTarget, pev_gravity, fGravity);
                    
                    if
(IsSetBit(g_iBitUserIsType[MODE], id))
                    {
                        if(fGravity <= 0.5) client_print(id, print_center, "Слишком большая гравитация!");
                        else 
                        
{
                            fGravity -= 0.05;
                            set_pev(iTarget, pev_gravity, fGravity);
                        }
                    }
                    else
                    
{
                        if(fGravity >= 1.0) client_print(id, print_center, "Слишком маленькая гравитация!");
                        else 
                        
{
                            fGravity += 0.05;
                            set_pev(iTarget, pev_gravity, fGravity);
                        }
                    }
                }
            }
            return Show_GodModeList(id, g_iMenuPosition[id]);
        }
    }
    return PLUGIN_HANDLED;
}
stock DayMode_Setting()
{
    switch(g_iDayMode)
    {
        case false: 
        
{
            engfunc( EngFunc_MessageBegin, MSG_ALL, 143, { 0.0, 0.0, 0.0 }, 0 );
            write_byte(20);          // Red
            write_byte(20);         // Green
            write_byte(20);         // Blue
            write_byte(10);                         // SD
            write_byte(41);                          // ED
            write_byte(95);                          // D1
            write_byte(59);                          // D2
            message_end();    
            g_iDayMode 
= true;
        }
        case true:
        {
            engfunc( EngFunc_MessageBegin, MSG_ALL, 143, { 0.0, 0.0, 0.0 }, 0 );
            write_byte(0);  // Red
            write_byte(0);  // Green
            write_byte(0);  // Blue
            write_byte(0);     // SD
            write_byte(0);  // ED
            write_byte(0);  // D1
            write_byte(0);  // D2
            message_end();
            g_iDayMode = false;
        }
    }
}
stock UTIL_SayText(pPlayer, const szMessage[], any:...)
{
    new szBuffer[ 190 ], iLen = format( szBuffer, charsmax( szBuffer ), "%L ", LANG_PLAYER, "JBE_CHAT_PREFIX" );
    
    if
( numargs() > 2 ) vformat( szBuffer[ iLen ], charsmax( szBuffer ), szMessage, 3 );
    else copy( szBuffer[ iLen ], charsmax( szBuffer ), szMessage );
    
    while
( replace( szBuffer, charsmax( szBuffer ), "!y", "^1" ) ) {}
    while( replace( szBuffer, charsmax( szBuffer ), "!t", "^3" ) ) {}
    while( replace( szBuffer, charsmax( szBuffer ), "!g", "^4" ) ) {}
    
    switch
( pPlayer )
    {
        case 0:
        {
            for( new iPlayer = 1; iPlayer <= g_iMaxPlayers; iPlayer++ )
            {
                if( !jbe_is_user_connected( iPlayer ) ) continue;
                engfunc( EngFunc_MessageBegin, MSG_ONE_UNRELIABLE, 76, { 0.0, 0.0, 0.0 }, iPlayer );
                write_byte( iPlayer );
                write_string( szBuffer );
                message_end();
            }
        }
        default:
        {
            engfunc( EngFunc_MessageBegin, MSG_ONE_UNRELIABLE, 76, { 0.0, 0.0, 0.0 }, pPlayer );
            write_byte( pPlayer );
            write_string( szBuffer );
            message_end();
        }
    }
}
stock fm_give_item(pPlayer, const szItem[])
{
    new iEntity = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, szItem));
    if(!pev_valid(iEntity)) return 0;
    new Float:vecOrigin[3];
    pev(pPlayer, pev_origin, vecOrigin);
    set_pev(iEntity, pev_origin, vecOrigin);
    set_pev(iEntity, pev_spawnflags, pev(iEntity, pev_spawnflags) | SF_NORESPAWN);
    dllfunc(DLLFunc_Spawn, iEntity);
    dllfunc(DLLFunc_Touch, iEntity, pPlayer);
    if(pev(iEntity, pev_solid) != SOLID_NOT)
    {
        engfunc(EngFunc_RemoveEntity, iEntity);
        return -1;
    }
    return iEntity;
}
stock drop_user_weapons(pPlayer, iType)
{
    new iWeaponsId[32], iNum;
    get_user_weapons(pPlayer, iWeaponsId, iNum);
    if(iType) iType = (1<<CSW_GLOCK18|1<<CSW_USP|1<<CSW_P228|1<<CSW_DEAGLE|1<<CSW_ELITE|1<<CSW_FIVESEVEN);
    else iType = (1<<CSW_M3|1<<CSW_XM1014|1<<CSW_MAC10|1<<CSW_TMP|1<<CSW_MP5NAVY|1<<CSW_UMP45|1<<CSW_P90|1<<CSW_GALIL|1<<CSW_FAMAS|1<<CSW_AK47|1<<CSW_M4A1|1<<CSW_SCOUT|1<<CSW_SG552|1<<CSW_AUG|1<<CSW_AWP|1<<CSW_G3SG1|1<<CSW_SG550|1<<CSW_M249);
    for(new i; i < iNum; i++)
    {
        if(iType & (1<<iWeaponsId[i]))
        {
            new szWeaponName[24];
            get_weaponname(iWeaponsId[i], szWeaponName, charsmax(szWeaponName));
            engclient_cmd(pPlayer, "drop", szWeaponName);
        }
    }

P.S. Не знаю зачем пишу, просто на всякий случай, советую искать строки в Notepad++, чтобы не запутаться, да и быстрее

#1

azik215

    Новичок

  • Пользователь
  • Pip

  • 32 сообщений

Отправлено 12 Сентябрь 2014 — 18:29

Помогите , что за ошибка??

Упс. Компилирование

  • Наверх


#2


The

Отправлено 12 Сентябрь 2014 — 18:56

  • Помогите , что за ошибка??

    Упс. Компилирование

    error 017: undefined symbol «%s» — неизвестный символ «%s»;
    warning 217: loose indentation — не выровненная строка

Сообщение отредактировал The: 12 Сентябрь 2014 — 18:56

  • Наверх


#3


azik215

azik215

    Новичок

  • Пользователь
  • Pip

  • 32 сообщений

Отправлено 20 Сентябрь 2014 — 18:46

  • error 017: undefined symbol «%s» — неизвестный символ «%s»;
    с ним то , что делать с 2 я разобрался

  • Наверх


#4


FasT of boni

Отправлено 20 Сентябрь 2014 — 18:58

warning 217: loose indentation 
Проблема с отступами. Внутри функции отступы должны быть сделаны или с помощью TAB, или с помощью пробелов — нельзя их смешивать, выберите что-то одно. 

  • Наверх


#5


azik215

azik215

    Новичок

  • Пользователь
  • Pip

  • 32 сообщений

Отправлено 20 Сентябрь 2014 — 19:03

warning 217: loose indentation 
Проблема с отступами. Внутри функции отступы должны быть сделаны или с помощью TAB, или с помощью пробелов — нельзя их смешивать, выберите что-то одно

Я с этим разобрался мне нужно 

error 017: undefined symbol «%s» — неизвестный символ «%s»;

Что с ним делать?

Вот 93 строчка

LogMgr_Print(g_moduleCore, LogType_Debug, «PurchaseUpgrade», «Client %d tried to buy interlocked upgrade %s», client, name);

  • Наверх


#6


FasT of boni

Отправлено 20 Сентябрь 2014 — 19:08

Я с этим разобрался мне нужно 

error 017: undefined symbol «%s» — неизвестный символ «%s»;

Что с ним делать?

Вот 93 строчка

LogMgr_Print(g_moduleCore, LogType_Debug, «PurchaseUpgrade», «Client %d tried to buy interlocked upgrade %s», client, name);

error 017: undefined symbol «x» 
Используемый символ не найден. Или забыли переменную объявить, или не подключили модуль. Если это какая-то SourceMod команда, например, CS_RespawnPlayer, то зайдите в API и введите её в поле «Search:». Выше над командой жирным шрифтом будет указано имя модуля, например, «cstrike», и чтобы его подключить, добавьте в самый верх кода #include <cstrike> 

  • Наверх


#7


azik215

azik215

    Новичок

  • Пользователь
  • Pip

  • 32 сообщений

Отправлено 20 Сентябрь 2014 — 19:24

Я с этим разобрался мне нужно 

error 017: undefined symbol «%s» — неизвестный символ «%s»;

Что с ним делать?

Вот 93 строчка

LogMgr_Print(g_moduleCore, LogType_Debug, «PurchaseUpgrade», «Client %d tried to buy interlocked upgrade %s», client, name);

error 017: undefined symbol «x» 
Используемый символ не найден. Или забыли переменную объявить, или не подключили модуль. Если это какая-то SourceMod команда, например, CS_RespawnPlayer, то зайдите в API и введите её в поле «Search:». Выше над командой жирным шрифтом будет указано имя модуля, например, «cstrike», и чтобы его подключить, добавьте в самый верх кода #include <cstrike> 

Можно я в лс файл кину. Ты сделаешь??

  • Наверх


#8


FasT of boni

Отправлено 20 Сентябрь 2014 — 19:25

Можно я в лс файл кину. Ты сделаешь??

попробуй

  • Наверх


#9


azik215

azik215

    Новичок

  • Пользователь
  • Pip

  • 32 сообщений

Отправлено 20 Сентябрь 2014 — 19:28

  • Наверх


#10


FasT of boni

Отправлено 20 Сентябрь 2014 — 20:26

Это инклюд.

Кидай все инклюды и исходник.

  • Наверх


#11


Mattko

Отправлено 21 Сентябрь 2014 — 13:29

Нету переменной «name», объявите о ней в начале кода.
Используя вот-так: new name;
 

warning 217: loose indentation 
Проблема с отступами. Внутри функции отступы должны быть сделаны или с помощью TAB, или с помощью пробелов — нельзя их смешивать, выберите что-то одно. 

Не отступами, а с табуляции… Можно объявить #table, но проще соблюдать табуляцию, чтобы работа плагина была стабильна.

PS: Автору темы, кидай исходник мне в ЛС, или тут. Исправлю.

  • Mr.Credo это нравится
  • Наверх


Понравилась статья? Поделить с друзьями:

Читайте также:

  • Error 017 undefined symbol addfiletodownloadstable
  • Error 0x8001000d ps vita
  • Error 017 pawno как исправить
  • Error 0x80010002 ps vita
  • Error 0x80010002 opening ux0

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии