awp off / limit error

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
142
Реакции
8
Ошибка
[ReAPI] SetHookChainReturn: trying to set return value with incompatible type, expected 'ATYPE_BOOL'; got 'ATYPE_INTEGER'
[AMXX] Run time error 10 (plugin "awp_off.amxx") (native "SetHookChainReturn") - debug not enabled!
ОС
Linux
Amx Mod X
AMX Mod X 1.9.0.5263
Билд
Build date: 03:13:55 Oct 25 2021 (2753)
ReGamedll
ReGameDLL version: 5.21.0.540-dev
Версия Metamod
Metamod-r v1.3.0.128, API (5:13)
Список метамодулей
[ 1] Reunion          RUN   -    reunion_mm_i386.so          v0.1.92d         ini  Start Never
[ 2] AMX Mod X RUN - amxmodx_mm_i386.so v1.9.0.5263 ini Start ANY
[ 3] VoiceTranscoder RUN - VoiceTranscoder.so v2017RC5 ini ANY ANY
[ 4] ReSemiclip RUN - resemiclip_mm_i386.so v2.3.9 ini Chlvl ANY
[ 5] MySQL RUN - mysql_amxx_i386.so v1.9.0.5263 pl2 ANY ANY
[ 6] SQLite RUN - sqlite_amxx_i386.so v1.9.0.5263 pl2 ANY ANY
[ 7] Fun RUN - fun_amxx_i386.so v1.9.0.5263 pl2 ANY ANY
[ 8] Engine RUN - engine_amxx_i386.so v1.9.0.5263 pl2 ANY ANY
[ 9] FakeMeta RUN - fakemeta_amxx_i386.so v1.9.0.5263 pl2 ANY ANY
[10] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.9.0.5263 pl2 ANY ANY
[11] ReAPI RUN - reapi_amxx_i386.so v5.21.0.252-dev pl2 ANY Never
[12] ReAimDetector RUN - reaimdetector_amxx_i386.so v0.2.2 pl2 ANY Never
[13] CStrike RUN - cstrike_amxx_i386.so v1.9.0.5263 pl2 ANY ANY
[14] CSX RUN - csx_amxx_i386.so v1.8.3-Re pl2 ANY ANY
Список плагинов
[  1] admin_loader            0.5.7       kanagava          admin_loader-05  running  
[ 2] FreshBans 1.4.6b kanagava fresh_bans_143_ running
[ 3] WebHS 0.1 kanagava fb_web_online.a running
[ 4] ReAimDetector API 0.2.2 ReHLDS Team reaimdetector.a running
[ 5] Admin Commands 1.9.0.5263 AMXX Dev Team admincmd.amxx running
[ 6] Commands Menu 1.9.0.5263 AMXX Dev Team cmdmenu.amxx running
[ 7] Players Menu 1.9.0.5263 AMXX Dev Team plmenu.amxx running
[ 8] Maps Menu 1.9.0.5263 AMXX Dev Team mapsmenu.amxx running
[ 9] Admin Chat 1.9.0.5263 AMXX Dev Team adminchat.amxx running
[ 10] Anti Flood 1.9.0.5263 AMXX Dev Team antiflood.amxx running
[ 11] Scrolling Message 1.9.0.5263 AMXX Dev Team scrollmsg.amxx running
[ 12] Info. Messages 1.9.0.5263 AMXX Dev Team imessage.amxx running
[ 13] Admin Votes 1.9.0.5263 AMXX Dev Team adminvote.amxx running
[ 14] Stats Configuration 1.9.0.5263 AMXX Dev Team statscfg.amxx running
[ 15] Restrict Weapons 1.9.0.5263 AMXX Dev Team restmenu.amxx running
[ 16] CS Misc. Stats 1.9.0.5263 AMXX Dev Team miscstats.amxx running
[ 17] CS Stats Logging 1.9.0.5263 AMXX Dev Team stats_logging.a running
[ 18] Anti-Ad 0.1 Mati antiad.amxx running
[ 19] Menu 1.2 NEXT menu.amxx running
[ 20] Knife kill 1.0.0 next knife_kill_soun running
[ 21] Admin Spectator ESP 1.3 KoST admin_spec_esp. running
[ 22] [ReAPI] Healthnade 0.0.2 F@nt0M reapi_healthnad running
[ 23] Admin Prefixes 3.0 m0skVi4a ;] AdminPrefixes.a running
[ 24] Print VIP Connection 0.0.6 Albertio print_vip_conne running
[ 25] CSX Easy Stats 1.5 neugomon csx_easy_stats. running
[ 26] [ReAPI] Custom Models 1.6.1 neugomon custom_models.a running
[ 27] Auto recording demo 2.0 IzI | Bonaqua (R amx_autodemorec running
[ 28] [Customizable] AmxModM 0.0.5 Albertio amxmodmenu.amxx running
[ 29] Advanced Ultimate Weap 0.0.3-Alph steelzzz advanced_ultima running
[ 30] DM BlockRadio 1.0 NEXT block_sound.amx running
[ 31] Mode 2x2 2.5re s1lent mode.amxx running
[ 32] HeadShot Blood 1.1 tuty hs_blood.amxx running
[ 33] Team Balance Control 1.3.9 gyxoBka TeamBalanceCont running
[ 34] Lite VoteBan 1.4 neygomon LiteVoteban.amx running
[ 35] Simple Damager 2.1.0 fl0wer simple_damager. running
[ 36] [GM] Weapon Models 0.0.1.0 [GM] NWC gm_weapon_model running
[ 37] [ReAPI] Hint blocker 0.1.0 F@tn0M reapi_hint_bloc running
[ 38] [ReAPI] No Team Flash 0.0.3 Vaqtincha no_team_flash.a running
[ 39] Multiple Game Names 1.0 mforce game_name.amxx running
[ 40] Parachute Lite [ReAPI] 11.0 Leo_[BH] parachute_lite. running
[ 41] dhud advert 1.0 DUKKHAZ0R dhud_advert.amx running
[ 42] [ReAPI] AWPoff 1.3 PAffAEJIkA :3 awp_off.amxx stopped
[ 43] Advanced Experience Sy 0.5.9 [REA serfreeman1337/s aes_main.amxx running
[ 44] AES: CStrike Addon 0.5.9 [REA serfreeman1337/s aes_exp_cstrike running
[ 45] AES: Informer 0.5 Vega serfreeman1337 aes_informer.am running
[ 46] AES: Admin Tools 0.5.9 [REA serfreeman1337/s aes_exp_editor. running
[ 47] AES: Bonus System 0.5.9 Vega serfreeman1337/s aes_bonus_syste stopped
[ 48] AES: Bonus CSTRIKE 0.5.9.1 [R serfreeman1337/s aes_bonus_cstri stopped
[ 49] Map Manager: Core 3.1.5 Mistrick map_manager_cor running
[ 50] Map Manager: Scheduler 0.1.10 Mistrick map_manager_sch running
[ 51] Map Manager: Rtv 0.1.1 Mistrick map_manager_rtv running
[ 52] Map Manager: Nominatio 0.2.1 Mistrick map_manager_nom running
[ 53] Map Manager: BlockList 0.0.4 Mistrick map_manager_blo running
[ 54] Map Manager: Online so 0.0.4 Mistrick map_manager_onl running
[ 55] Map Manager: Effects 0.1.1 Mistrick map_manager_eff running
[ 56] Map Manager: Informer 0.0.5 Mistrick map_manager_inf running
[ 57] Map Manager: Sounds 0.0.2 Mistrick map_manager_sou running
Автор плагина
PAffAEJIkA :3
Версия плагина
1.3
Исходный код
#include < amxmodx >
#include < reapi >

#if AMXX_VERSION_NUM < 183
#include < colorchat >
#define MAX_PLAYERS 32
#endif

#define IsPlayer(%0) (0 < %0 < 33)

//■■■■■■■■■■■■■■■■■■■■■■■ CONFIG START ■■■■■■■■■■■■■■■■■■■■■■■//
// ^4 - зелёный | ^3 - цвет тимы (КТ - синий | Т - красный | SPEC - серый) | ^1 - жёлтый
#define MSG_PREFIX "^3[^4Young^3]"
#define MSG_LOWONLINE "У вас^4 отобрано^3 AWP. Причина:^4 низкий онлайн."
#define MSG_LIMIT "У вас^4 отобрано^3 AWP. Причина:^4 превышен лимит."

#define ALLPLAYERS
/*
Закоментируйте, чтобы для проверки на онлайн брались только КТ и ТТ(ботов, хлтв и спектаров считать не будет).

Пример:
Допустим на сервере 5 ботов и 2 человека 1 хлтв.
Дефайн закоментирован: Посчитает, что на сервере 2 из Максимально возможных игроков.
Дефайн раскоментирован: Посчитает, что на сервере 8 игроков из Максимально возможных игроков (5 ботов + 2 человека + 1 хлтв).

Отбирать авп будет ТОЛЬКО У ЛЮДЕЙ в любом случае.
*/

#define FLAG ADMIN_BAN //Флаг для иммунитета от лимита

#define RETURN_MONEY //Возвращать деньги при отборе авп в конце раунда из-за низкого онлайна? (Закоментируйте, если не хотите, чтобы возвращало деньги)
#if defined RETURN_MONEY
#define MONEY_AWP 4750 //Сколько денег возвращать?
#endif

//#define PERCENT_PLAYERS
/*
Разкоменитруйте, если хотите чтобы лимит зависил от процента игроков [I am chetko ob'yasnyat']

Например: Онлайн = 10, Процент в кваре(awp_limit_max) = 20
10/100*20 = 2 авп на тиму (2 у терров и 2 у кт)
*/
//■■■■■■■■■■■■■■■■■■■■■■■■ CONFIG END ■■■■■■■■■■■■■■■■■■■■■■■■//

enum ECVARS {
CVAR_ONLINE = 0,
CVAR_LIMIT_AWP_STATUS,
CVAR_LIMIT_MAX_AWP,
CVAR_LIMIT_IMMUN
};

enum {
AWP_NONE = 0,
AWP_BUY,
AWP_PICK_UP
};

new sAwp[TeamName: TEAM_SPECTATOR], gCount, gCvar[ECVARS], gAwp[MAX_PLAYERS + 1], TeamName: gTeam[MAX_PLAYERS + 1];

#if defined PERCENT_PLAYERS
new gLimit;
#endif

public plugin_init(){
register_plugin("[ReAPI] AWPoff", "1.3", "PAffAEJIkA :3");

new mapname[32];
get_mapname(mapname, charsmax(mapname));

new maps[][] = { "awp", "aim", "35hp" };
for(new i; i < sizeof maps; i++){
if(containi(mapname, maps[i]) != -1){
pause("ad");
return;
}
}

RegisterHookChain(RG_CBasePlayer_AddPlayerItem, "AddItem");
RegisterHookChain(RG_CBasePlayer_HasRestrictItem, "RestrictItem");
RegisterHookChain(RG_CBasePlayer_RemovePlayerItem, "RemoveItem");
RegisterHookChain(RG_CBasePlayer_Spawn, "SpawnPlayer", true);

register_logevent("EventRoundEnd", 2, "1=Round_End");
register_logevent("EventRestartRound", 2, "1&Restart_Round_");

gCvar[CVAR_ONLINE] = register_cvar("awp_players_low", "10"); //Если онлайн ниже указнного в кваре, в конце раунда у всех отберет авп, и запретит ее. (Что бы отключить поставьте 0) [стандартно: при онлайне меньше 8]
gCvar[CVAR_LIMIT_AWP_STATUS] = register_cvar("awp_limit", "1"); //Включить|Выключить лимит авп [Стандартно: включен]
gCvar[CVAR_LIMIT_MAX_AWP] = register_cvar("awp_limit_max", "5"); //Сколько АВП разрешено при лимите [Стандартно по 2 авп на команду] | Если раскоментирован PERCENT_PLAYERS, то сюда вписывать нужный процент
gCvar[CVAR_LIMIT_IMMUN] = register_cvar("awp_limit_immun", "0"); //Включить|Выключить иммунитет от лимита(Людей с флагом не учитывает вообще) [Стандартно включен]
}

public client_disconnected(id) if(IsPlayer(id)) minus_awp(id);

public EventRestartRound(){
sAwp[TEAM_CT] = 0;
sAwp[TEAM_TERRORIST] = 0;
arrayset(gAwp, AWP_NONE, sizeof gAwp);
}

public EventRoundEnd(){
new players[32];
#if defined ALLPLAYERS
get_players(players, gCount);
#else
new players1[32], gTT, gCT;
get_players(players, gCT, "che", "CT");
get_players(players1, gTT, "che", "TERRORIST");

gCount = gTT + gCT;
#endif

#if defined PERCENT_PLAYERS
const MAX_PERCENT = 100;
gLimit = gCount * get_pcvar_num(gCvar[CVAR_LIMIT_MAX_AWP]) / MAX_PERCENT;
#endif

if(gCount >= get_pcvar_num(gCvar[CVAR_ONLINE]))
return PLUGIN_CONTINUE;

#if defined ALLPLAYERS
for(new i = 0, id; i < gCount; i ++){
id = players[i];

if(!is_user_valid(id))
continue;

return_awp(id);
}
#else
for(new i = 0; i < gTT; i ++)
return_awp(players1[i]);

for(new i = 0; i < gCT; i ++)
return_awp(players[i]);
#endif

EventRestartRound();
return PLUGIN_CONTINUE;
}

return_awp(id){
if(gAwp[id] == AWP_NONE)
return;

rg_remove_item(id, "weapon_awp");
#if defined RETURN_MONEY
if(gAwp[id] == AWP_BUY)
rg_add_account(id, MONEY_AWP);
#endif
client_print_color(id, false, "%s %s", MSG_PREFIX, MSG_LOWONLINE);
}

public RestrictItem(id, ItemID:item, ItemRestType:type){
if(item != ITEM_AWP || !is_user_valid(id) || gAwp[id] != AWP_NONE || type != ITEM_TYPE_BUYING)
return HC_CONTINUE;

/* * * Первая "покупка" при нехватке денег проскакивает >< * * */
const COST_AWP = 4750;
new gMoney = get_member(id, m_iAccount);
if(gMoney < COST_AWP)
return HC_CONTINUE;
/* * * Можете удалить этот "чудофикс", если он вам не нравится * * */

gAwp[id] = AWP_BUY;

if(check_awp(id, false))
return HC_CONTINUE;

gAwp[id] = AWP_NONE;

SetHookChainReturn(ATYPE_INTEGER, true);
return HC_SUPERCEDE;
}

public AddItem(id, pItem){
if(get_member(pItem, m_iId) != WEAPON_AWP || gAwp[id] != AWP_NONE || !is_user_valid(id))
return HC_CONTINUE;

if(check_awp(id, false)){
gAwp[id] = AWP_PICK_UP;
return HC_CONTINUE;
}

SetHookChainReturn(ATYPE_INTEGER, false);
return HC_SUPERCEDE;
}

public SpawnPlayer(id){
if(!is_user_alive(id))
return HC_CONTINUE;

gTeam[id] = get_member(id, m_iTeam);
return HC_CONTINUE;
}

//Native's
public plugin_natives()
register_native("awpoff_check", "check_native", true);

public check_native(id)
return check_awp(id, true);
//Native's

bool: check_awp(id, check){
if(gCount < get_pcvar_num(gCvar[CVAR_ONLINE]))
client_print_color(id, false, "%s %s", MSG_PREFIX, MSG_LOWONLINE);
else if(get_pcvar_num(gCvar[CVAR_LIMIT_AWP_STATUS])){

if(get_pcvar_num(gCvar[CVAR_LIMIT_IMMUN]) && get_user_flags(id) & FLAG)
return true;

#if defined PERCENT_PLAYERS
if(sAwp[gTeam[id]] < gLimit)
#else
if(sAwp[gTeam[id]] < get_pcvar_num(gCvar[CVAR_LIMIT_MAX_AWP]))
#endif
{
if(!check)
sAwp[gTeam[id]] ++;
return true;
}else
client_print_color(id, false, "%s %s", MSG_PREFIX, MSG_LIMIT);
}else
return true;

return false;
}

public RemoveItem(id, pItem){
if(get_member(pItem, m_iId) == WEAPON_AWP)
minus_awp(id);
}

minus_awp(id){
if(!is_user_valid(id) || gAwp[id] == AWP_NONE)
return;

gAwp[id] = AWP_NONE;

if(!get_pcvar_num(gCvar[CVAR_LIMIT_AWP_STATUS]))
return;

if(get_pcvar_num(gCvar[CVAR_LIMIT_IMMUN]) && get_user_flags(id) & FLAG)
return;

sAwp[gTeam[id]] --;
}

bool: is_user_valid(id){
if(is_user_bot(id)) return false;
if(is_user_hltv(id)) return false;
return true;
}
Здравствуйте . Установил плагин AWP Off Limit .
В логах сервера пошли ошибки , может быть я что то не так настроил в исходнике ?
 
В этой теме было размещено решение! Перейти к решению.

Вложения

Последнее редактирование модератором:
Сообщения
2,809
Реакции
1,658
Помог
74 раз(а)
NEXT1M, [ReAPI] SetHookChainReturn: trying to set return value with incompatible type, expected 'ATYPE_BOOL'; got 'ATYPE_INTEGER'

переведи и отредактируй плагин
 
Сообщения
542
Реакции
50
Предупреждения
2
Помог
4 раз(а)
NEXT1M, обнови rehlds, regamedll, ну и reapi тоже. если ничего не поменяется, напиши debug, и скинь сюда то что выведет с дебагом.
 

Albertio

скриптизёр
Сообщения
336
Реакции
392
Предупреждения
5
Помог
7 раз(а)
Код:
-SetHookChainReturn(ATYPE_INTEGER, true);
+SetHookChainReturn(ATYPE_BOOL, true);
-SetHookChainReturn(ATYPE_INTEGER, false);
+SetHookChainReturn(ATYPE_BOOL, false);
И вообще что за гавнокод, после sethookchainreturn еще раз return... там этот код лопатить и перелопатить надо
 

RockTheStreet

Саппорт года
Сообщения
1,744
Реакции
349
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
  • Нравится
Реакции: b0t.
Сообщения
331
Реакции
172
Помог
11 раз(а)
RockTheStreet, опечатался :)
Максимальное кол-во игроков с AWP в команде*
 
Сообщения
142
Реакции
8
b0t., спасибо забрал )
 
Последнее редактирование модератором:
Сообщения
104
Реакции
23
Помог
2 раз(а)
b0t., чет у меня в чат ничего не пишет. Просто не дает купить авп и все... покупаю через вип-меню
 
Сообщения
142
Реакции
8
b0t., заменим . спасибо
 
Последнее редактирование модератором:

RockTheStreet

Саппорт года
Сообщения
1,744
Реакции
349
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
b0t., Ещё для хомяков добавь проверку на кастомное авп(макрос можешь найти в примере Фантома). И жди когда начнут продавать)
 
Сообщения
331
Реакции
172
Помог
11 раз(а)
RockTheStreet, мне уже предложили добавить уйму тучу настроек по типу:
Как вести подсчёт общего кол-ва игроков:

  • Учитывая ботов;
  • Учитывая спекторов;
  • Учитывая только тех кто в командах;

Сделать поддержку кастомных оружий для плагинов VIP_RBS и ещё чего-то :D

По мне так он станет похож на "rs", со свои меню, настройками и сохранениями xD

P.S.
Но почему-то идея мне начинает нравиться... Может быть моя фляга начинает подсвистывать :D
 
Сообщения
104
Реакции
23
Помог
2 раз(а)
оу... раз тут пошло такое дело, если можно добавьте пожалуйста еще ограничение не только в количественном но и в процентном соотношении... т.е. разрешено например 20% АВП от кол-ва в команде. А то ставишь например 3.... и при 6 игроках в команде можно 3 авика и при 16 тоже 3) Спасибо.
 
  • Нравится
Реакции: b0t.
Сообщения
142
Реакции
8
прошу прощение за наглость . а возможно как то сделать блокировку взятия AWP через anew меню .
 
Последнее редактирование модератором:
Сообщения
101
Реакции
-11
Помог
2 раз(а)
@NEXT1M,Включать и отключать блокировку оружия?
 
Сообщения
142
Реакции
8
Nemec, та вот парень плагин подогнал . Плагин блокирует AWP при малом онлайне через меню закупки AWP купить не реально .
Через Ultimate Weapons тоже блокирует а вот если игрок берет через меню anew то там не блокирует ....
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу