#1
Отправлено 31 декабря 2018 — 01:30
-
- Новичок
-
Хмм, не могу понять что не так что компилятор начал орать на данные функции
(899) : error 017: undefined symbol "FixHour" (1839) : error 017: undefined symbol "PlayerToPoint" (1868) : error 017: undefined symbol "PlayerToPoint" (1887) : error 017: undefined symbol "PlayerToPoint" (1953) : error 017: undefined symbol "RemoveFromVehicle" (2491) : error 017: undefined symbol "PlayerToKvadrat" (2579) : error 017: undefined symbol "SetString" (2588) : error 017: undefined symbol "LoadStaticTextDraw" (2593) : error 017: undefined symbol "xaxa" (2594) : error 017: undefined symbol "Colorsxaxa" (2604) : error 017: undefined symbol "GetGangZoneColor" (2952) : error 017: undefined symbol "SetPlayerArmourAC" (2972) : error 017: undefined symbol "KickEx" (3006) : error 017: undefined symbol "OnPlayerSuperKey" (3009) : error 017: undefined symbol "KickEx" (3011) : error 017: undefined symbol "KickEx" (3023) : error 017: undefined symbol "ShowPlayerRegister" (3032) : error 017: undefined symbol "ShowPlayerRegister" (3037) : error 017: undefined symbol "ShowPlayerRegister" (3063) : error 017: undefined symbol "ShowPlayerLogin" (3065) : error 017: undefined symbol "OnPlayerLogin" (3182) : error 017: undefined symbol "TuneDialog" (3250) : error 017: undefined symbol "TuneDialog" (3261) : error 017: undefined symbol "TuneDialog" (3271) : error 017: undefined symbol "TuneDialog" (3332) : error 004: function "SaveCarTuning" is not implemented
Строки где эти функции находятся:
1.
public TmphourTimer(playerid) { new tmphour; new tmpminute; new tmpsecond; gettime(tmphour, tmpminute, tmpsecond); 899: FixHour(tmphour); tmphour = shifthour; if ((tmphour > ghour) || (tmphour == 0 && ghour == 23)) ghour = tmphour; if (realtime) SetWorldTime(tmphour); }
2.
return ShowPlayerDialog(playerid,999,DIALOG_STYLE_MSGBOX,"Ошибка","{FF6347}Вы были кикнуты с сервераnПричина: "Не верный ключ безопасности"nВведите "/q", чтобы выйти","Ок",""),KickEx(playerid);
Скину только 2, а теперь и сами функции:
1.
stock FixHour(hour) { hour = timeshift+hour; if (hour < 0) { hour = hour+24; } else if (hour > 23) { hour = hour-24; } shifthour = hour; return true; }
2.
stock KickEx(playerid) return SetTimerEx("PlayerKick",100,false,"d", playerid);
0
#2
Отправлено 31 декабря 2018 — 11:22
-
- Прохожий
-
Ошибка 17- неизвестный символ (неопределённая переменная),у тебя не задефайнены переменные,если они относятся к информации об игроке занеси их в enum по игрокам,если к серверу в enum сервера(меня щас палками бить будут)
0
#3
Отправлено 31 декабря 2018 — 11:25
-
- С кем ты?
-
0
#4
Отправлено 31 декабря 2018 — 11:35
-
- Новичок
-
Sharkwd (31 декабря 2018 — 11:25) писал:
Не уверен, но мог пропустить
0
#5
Отправлено 31 декабря 2018 — 18:01
-
- Новичок
-
0
#6
Отправлено 01 января 2019 — 17:11
-
- Новичок
-
Подниму, я понял что отсутствует скобка. но не знаю как её найти и исправить
0
#7
Отправлено 03 января 2019 — 12:59
-
- Новичок
-
0
#8
Отправлено 04 января 2019 — 10:40
-
- Прохожий
-
Мне кажется… что ты где-то забыл «;»
stock FixHour(hour) { hour = timeshift+hour; if (hour < 0) { hour = hour+24; }; else if (hour > 23) { hour = hour-24 }; shifthour = hour; return true; }
попробуй так
0
- ← Предыдущая тема
- Проблемы с компилированием
- Следующая тема →
- Вы не можете создать новую тему
-
Тема закрыта
1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей
From SA-MP Wiki
Jump to: navigation, search
Undefined symbol is a Pawn compiler error message. The Pawn Language Guide formally defines this error as error 017, and explains that the error means «The symbol (variable, constant or function) is not declared«.
The error will look roughly look like this: error 017: undefined symbol «WelcomePlayer»
Cause
The error occurs when a piece of code references a variable, constant or function that the compiler cannot find. Often, this error is encountered by scripters who recklessly copy and paste code from one script to another, not realizing that the code in question depends on other code in the original script. Another, more common mistake made by even the most experienced scripters, is misspelling symbols.
Example with a function
This is example where a function that does not exists is referenced. A reckless copy-paster is copying a piece for code from the original script (awesomeroleplay.pwn) to his or her own (supercoolrp.pwn). awesomeroleplay.pwn compiles without any warnings or errors.
The reckless copy-paster decides to copy this piece of code from the original script:
awesomeroleplay.pwn
public OnPlayerConnect(playerid) { WelcomePlayer(playerid); }
The reckless copy-paster replaces supercoolrp.pwn’s OnPlayerConnect callback with the one from awesomeroleplay.pwn and then attemps to compile it. The compiler will, however, throw an error: error 017: undefined symbol «WelcomePlayer». This is because the function WelcomePlayer does not exist the paster’s own script. In other words: the piece of code that the reckless copy-paster pasted, depends on other code in awesomeroleplay.pwn. The paster will need to copy the dependent script as well.
In the original script, the function WelcomePlayer is defined.
awesomeroleplay.pwn
WelcomePlayer(playerid) { SendClientMessage(playerid, "Welcome to Interactive Roleplay!", 0xFF0000AA); }
The reckless copy-paster will need to copy and paste this function into his own script as well to make the code compile correctly. If this function would also depend on other code, the paster will need to copy and paste that code as well. In fact, the paster would need to repeat this step until all dependencies are resolved.
Tips for resolving this error
- Use Ctrl + F to find the missing symbol (note that the compiler will tell you what symbol is missing after the words undefined symbol!) in the original script. If the symbol is a variable, you will have to copy all code that is relevant to its «ecosystem», that is to say, all code that modifies the variable. For beginning scripters and reckless copy-pasters, this may be hard, because it requires a deep understanding of the code and code paths.
- Look into the includes of the original script.
- Make sure you are adding the right includes.
- Make sure you are not misspelling the symbol.
Все привет!
У меня тут сложилась проблемка с компилированием и т.д
При компилировании у меня выскочило несколько ошибок. Помогите решить их
№1 Ошибка ( warning 202: number of arguments does not match definition )
format(fmt_msg, sizeof fmt_msg, «Streamer_GetVisibleItems(%s, playerid = %d) = %d», streame_type_name[type], to_playerid, Streamer_GetVisibleItems(type, playerid));
Если в 2 строки то вот так
format(fmt_msg, sizeof fmt_msg, «Streamer_GetVisibleItems(%s, playerid = %d) = %d», streame_type_name[type], to_playerid, Streamer_GetVisibleItems(type, playerid));
Send(playerid, 0xCECECEFF, fmt_msg);
№2 Следующая ошибка при компилировании (error 017: undefined symbol «Streamer_GetRadiusMultiplier»)
Streamer_GetRadiusMultiplier(type, multiplier, to_playerid);
Если полностью взять в 2 строки
new Float:multiplier;
Streamer_GetRadiusMultiplier(type, multiplier, to_playerid); <— Тут выдает ошибку
№3 ошибка при компилировании (warning 202: number of arguments does not match definition)
case 3:
{
if(sscanf(params, «{d}ddd», type, value, to_player)) return Send(playerid, 0xCECECEFF, «Используй: /st_set [3] [type] [items] [playerid]»);
if(!(0 <= to_player <= MAX_PLAYERS))
to_player = -1;
Streamer_SetVisibleItems(type, value, to_player); <— Тут выдает не известную ошибку
format(fmt_msg, sizeof fmt_msg, «Streamer_SetVisibleItems(%d, %d, %d);», type, value, to_player);
Send(playerid, 0xCECECEFF, fmt_msg);
}
№4 Ошибка при компилировании (error 017: undefined symbol «Streamer_SetRadiusMultiplier»)
case 4:
{
if(sscanf(params, «{d}dfd», type, f_value, to_player)) return Send(playerid, 0xCECECEFF, «Используй: /st_set [4] [type] [(Float) multiplier] [playerid]»);
if(!(0 <= to_player <= MAX_PLAYERS))
to_player = -1;
Streamer_SetRadiusMultiplier(type, f_value, to_player); <— Тут выдает ошибку
format(fmt_msg, sizeof fmt_msg, «Streamer_SetRadiusMultiplier(%d, %f, %d);», type, f_value, to_player);
Send(playerid, 0xCECECEFF, fmt_msg);
}
№5 Ошибка при компилировании (error 017: undefined symbol «Streamer_SetRadiusMultiplier»)
case 1:
{
if(Streamer_IsToggleIdleUpdate(playerid))
Streamer_ToggleIdleUpdate(playerid, false);
Streamer_SetRadiusMultiplier(STREAMER_TYPE_OBJECT, 0.5, playerid); <— Тут выдает не известную ошибку
}
№6 Ошибка при компилировании (error 017: undefined symbol «Streamer_SetRadiusMultiplier»)
case 2:
{
if(!Streamer_IsToggleIdleUpdate(playerid))
Streamer_ToggleIdleUpdate(playerid, true);
Streamer_SetRadiusMultiplier(STREAMER_TYPE_OBJECT, 1.0, playerid); <—- Тут выдает ошибку
}
№7 Ошибка при компилировании (error 017: undefined symbol «Streamer_SetRadiusMultiplier»)
case 3:
{
if(!Streamer_IsToggleIdleUpdate(playerid))
Streamer_ToggleIdleUpdate(playerid, true);
Streamer_SetRadiusMultiplier(STREAMER_TYPE_OBJECT, 2.0, playerid); <—— Тут выдает ошибку
}
№8 ошибка при компилировании (symbol is never used: «player_objects_removed»)
new player_anims_preloaded[MAX_PLAYERS char] = {0, …};
new player_objects_removed[MAX_PLAYERS char] = {0, …}; <— Тут выдает ошибку
Ребята прошу помогите решить проблему
17 минут назад, Nekit_Krut18 сказал:
@x_SkYAs_x Покажите код этих строк, на которых ошибки. Используйте для этого, спойлер и тег ‘ Код ‘.
8452: SetVehicleData(GetPlayerVehicleID(playerid),V_BAGAGE_AMOUNT_GUN,0); 10475: if GetVehicleData(vehicleid, V_BAGAGE_AMOUNT_GUN)+500 > 3000 *then SendClientMessage(playerid,-1,"Матовоз переполнен!"); 10478: SetVehicleData(vehicleid,V_BAGAGE_AMOUNT_GUN,GetVehicleData(vehicleid, V_BAGAGE_AMOUNT_GUN)+500); 10479: format(l_string,26,"Матовоз загружен: 0/%d",GetVehicleData(vehicleid,V_BAGAGE_AMOUNT_GUN)); 10594: if GetVehicleData(vehicleid, V_BAGAGE_AMOUNT_GUN)+500 > 3000 *then SendClientMessage(playerid,-1,"Матовоз переполнен!"); 10597: SetVehicleData(vehicleid,V_BAGAGE_AMOUNT_GUN,GetVehicleData(vehicleid, V_BAGAGE_AMOUNT_GUN)+500); 10598: format(l_string,26,"Матовоз загружен: 0/%d",GetVehicleData(vehicleid,V_BAGAGE_AMOUNT_GUN));
new V_BAGAGE_AMOUNT_GUN
Я все правильно сделал с этим?
Ну и в конце » ; » забыл дописать тут
Отредактировано 15 января, 2021 пользователем x_SkYAs_x
В общем, исправлял опечатки в скрипте, в итоге не могу скомпилировать
Ошибки: Вы должны зарегистрироваться, чтобы видеть ссылки.
Все ошибки связаны с 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<<9 );
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, -1 );
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++, чтобы не запутаться, да и быстрее
Добро пожаловать
Для полноценного пользования форумом и общения с его участниками, пройдите регистрацию ниже
Регистрация
- Статус темы:
-
Закрыта.
-
Тема для тех кто любит на досуге решать ребусы
,
то есть поправить плагин,
краткое описание плагина…
Покупка игровых денег (за $30000, купить $100000)
с определенным временным интервалом (с 180сек задержкой) взято из плагина resetscore
…
это надо для игрового процесса …
…
я уже начать, плагин компилируется но из-за ошибок роняет сервер, Всем спасибо за внимание ../hlds/web/www/amxxpc/work/scripting/money_speed_test.sma(21) : error 017: undefined symbol «reset_time»
/hlds/web/www/amxxpc/work/scripting/money_speed_test.sma(38) : error 029: invalid expression, assumed zero
/hlds/web/www/amxxpc/work/scripting/money_speed_test.sma(38) : error 035: argument type mismatch (argument 1)
/hlds/web/www/amxxpc/work/scripting/money_speed_test.sma(40) : error 017: undefined symbol «time_to_time»
/hlds/web/www/amxxpc/work/scripting/money_speed_test.sma(40) : warning 215: expression has no effect
/hlds/web/www/amxxpc/work/scripting/money_speed_test.sma(40) : error 001: expected token: «;», but found «]»
/hlds/web/www/amxxpc/work/scripting/money_speed_test.sma(40) : error 029: invalid expression, assumed zero
/hlds/web/www/amxxpc/work/scripting/money_speed_test.sma(40) : fatal error 107: too many error messages on one lineВложения:
Последнее редактирование: 19 янв 2017 -
Скобку забыл, на 37 строчку добавь «}»
-
добавил, ошибки и падение…
-
а, посмотрел плагин, жесть, эт типа нарочно такие ребусы для решения?))
в общем удалить строчку 21 и удалить от 38 до 49, либо написать нормально там код )) -
колдую ошибок стало меньше
…
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team/hlds/web/www/amxxpc/work/scripting/money_speed_test.sma(42) : error 029: invalid expression, assumed zero
/hlds/web/www/amxxpc/work/scripting/money_speed_test.sma(42) : error 035: argument type mismatch (argument 1)
/hlds/web/www/amxxpc/work/scripting/money_speed_test.sma(59) : error 029: invalid expression, assumed zero
/hlds/web/www/amxxpc/work/scripting/money_speed_test.sma(59) : error 017: undefined symbol «msg»
/hlds/web/www/amxxpc/work/scripting/money_speed_test.sma(64) : error 001: expected token: «}», but found «-end of file-«5 Errors.
Could not locate output file /hlds/web/www/amxxpc/work/plugins/money_speed_test.amx (compile failed).Вложения:
-
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <WPMGPrintChatColor> #define PLUGIN "wtf" #define VERSION "1.0" #define AUTHOR "[email protected]" /*========================================== Настройки ===========================================*/ #define PAY 30000 //Сколько отдаешь #define GIVE 100000 //Сколько получаешь #define DELAY 180 //Задержка /*========================================== Массивы ===========================================*/ new iPlayerDelay[33] /*========================================== Инициализация плагина ===========================================*/ public plugin_init() { //Регистрация плагина register_plugin(PLUGIN, VERSION, AUTHOR) //Регистрация команд register_clcmd("say /sm", "ClCmd_Bonus") } /*========================================== Обмен ы ===========================================*/ public ClCmd_Bonus(id) { if(iPlayerDelay[id] > get_systime()) { static iTime, iMin, iSec static szTime[32] iTime = iPlayerDelay[id] iMin = iTime / 60 iSec = iTime - (iMin * 60) if(iSec <= 9) { formatex(szTime, charsmax( szTime ), "!g%d!t:!g0%d", iMin, iSec) }else{ formatex(szTime, charsmax( szTime ), "!g%d!t:!g%d", iMin, iSec) } PrintChatColor(id, PRINT_COLOR_RED, "!yТребуется !tподождать!y: %s", szTime) return PLUGIN_HANDLED } if(cs_get_user_money(id) < PAY) { PrintChatColor(id, PRINT_COLOR_RED, "!yДля обмена !tтребуется !g%d$", PAY) return PLUGIN_HANDLED } cs_set_user_money(id, cs_get_user_money(id) - PAY) cs_set_user_money(id, cs_get_user_money(id) + GIVE) iPlayerDelay[id] = get_systime() + DELAY PrintChatColor(id, PRINT_COLOR_RED, "!yВы поменяли !g%d$ !tна !g%d$", PAY, GIVE) return PLUGIN_HANDLED }
-
iTime = iPlayerDelay[id]
=>
iTime = iPlayerDelay[id] — get_systime()сорян хД
- Статус темы:
-
Закрыта.
- Закрыть Меню
- На сайт
-
Форум
- Поиск сообщений
- Последние сообщения
-
Пользователи
- Выдающиеся пользователи
- Зарегистрированные пользователи
- Сейчас на форуме
- Недавняя активность
-
Правила
- Поиск
Стаж: 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 tconst 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);
}
Author |
Message |
|||
Member |
|
|||
|
Veteran Member Join Date: May 2014 Location: Morocco |
|
|||
|
Senior Member Join Date: May 2011 Location: Lima, Per� |
|
|||
|
Has a lovely bunch of coconuts Join Date: Apr 2006 Location: Texas |
|
|||
|
Member |
|
|||
|
Veteran Member Join Date: Sep 2007 Location: Flatland, USA |
|
|||
|
|
Eagle07 |
This message has been deleted by YamiKaitou. |