Не верная выдача бонусов

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
460
Реакции
68
Помог
7 раз(а)
Ошибка
Выдаёт не 200hp бонуса а 255hp
Проблема не пропала после редактирования bonus.ini
ОС
Windows
Билд
Protocol version 48
Exe version 1.1.2.7 (cstrike)
ReHLDS version: 3.4.0.639-dev
Build date: 17:47:13 Feb 21 2018 (1411)
Build from: https://github.com/dreamstalker/rehlds/commit/822df9a
ReGamedll
ReGameDLL version: 5.7.0.295-dev
Build date: 15:10:22 Feb 19 2018
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/aa329db
Список метамодулей
description      stat pend  file                    vers             src  load  unload
[ 1] VoiceTranscoder RUN - voicetranscoder.dll v2017RC3 ini ANY ANY
[ 2] Reunion RUN - reunion_mm.dll v0.1.0.89 ini Start Never
[ 3] ReSemiclip RUN - resemiclip_mm.dll v2.3.9 ini Chlvl ANY
[ 4] AMX Mod X RUN - amxmodx_mm.dll v1.8.3-dev+5151 ini Start ANY
[ 5] WHBlocker RUN - whblocker_mm.dll v1.5.695 ini Chlvl ANY
[ 6] Rechecker RUN - rechecker_mm.dll v2.5 ini Chlvl ANY
[ 7] ReAuthCheck RUN - reauthcheck_mm.dll v0.1.6 ini Start Never
[ 8] CStrike RUN - cstrike_amxx.dll v1.8.3-Re pl4 ANY ANY
[ 9] SQLite RUN - sqlite_amxx.dll v1.8.3-Re pl4 ANY ANY
[10] ReAimDetector RUN - reaimdetector_amxx.dll v0.2.2 pl4 ANY Never
[11] hackdetector RUN - hackdetector_amxx.dll v0.15.328.lite pl4 ANY ANY
[12] ReAPI RUN - reapi_amxx.dll v5.5.0.150-dev pl4 ANY Never
[13] Fun RUN - fun_amxx.dll v1.8.3-Re pl4 ANY ANY
[14] FakeMeta RUN - fakemeta_amxx.dll v1.8.3-Re pl4 ANY ANY
[15] Engine RUN - engine_amxx.dll v1.8.3-Re pl4 ANY ANY
[16] Ham Sandwich RUN - hamsandwich_amxx.dll v1.8.3-Re pl4 ANY ANY
16 plugins, 16 running
Список плагинов
name                    version     author            file             status   
[ 1] ReAimDetector API 0.2.2 ReHLDS Team reaimdetector.a running
[ 2] CSStatsX SQL 0.7.4 serfreeman1337 csstatsx_sql.am running
[ 3] Advanced Client Checke 0.3.4 Mistrick cmdchecker.amxx running
[ 4] FreshBans 1.3.8b kanagava fresh_bans_138_ running
[ 5] ScreenMaker 1.1 neygomon screen_maker.am running
[ 6] RC BaseChanger 1.0 phe rc_basechanger. stopped
[ 7] ReChecker Logging 1.0 phe rc_logging.amxx running
[ 8] Lite Admin ESP 1.0 neygomon admin_esp.amxx running
[ 9] Admin Base 1.8.2 AMXX Dev Team admin.amxx running
[ 10] Ping Control 0.1.5 Freedo.m | neygo Ping_Control_2. running
[ 11] Afk Control 0.5.1 neygomon afk_control.amx running
[ 12] AES: StatsX 0.5.9 [REA serfreeman1337/s aes_statsx_cstr running
[ 13] Stats Configuration 1.8.2 AMXX Dev Team statscfg.amxx running
[ 14] Say me and Say hp 1.4 neygomon sayme_reapi.amx running
[ 15] Advanced Gag 1.9.0 neygomon amx_gag.amxx running
[ 16] Map Manager 2.5.61 Mistrick mapmanager.amxx running
[ 17] lastround_hud 1.00 Mistrick mapmanager_last running
[ 18] Lite Translit 2.8 neygomon lite_translit_c running
[ 19] [ReAPI] No Team Flash 0.0.2 Vaqtincha no_team_flash.a running
[ 20] Menus Front-End 1.5 neugomon menufront.amxx running
[ 21] Items Restrict 1.0 s1lent items_restrict. running
[ 22] resetscore(ReAPI) 1.0 Phantom resetscore.amxx running
[ 23] Maps Menu 1.4.1 neugomon mapsmenu.amxx running
[ 24] Block grande info 1.0 neygomon BlockGrenadeInf running
[ 25] Server Menu [INI] 1.0 Leo_[BH] server_menu.amx running
[ 26] SF Bets 0.1.5 serfreeman1337 sf_bets.amxx running
[ 27] Parachute for ALL [ReA 3.0 Leo_[BH] parachute.amxx running
[ 28] c4 timer 1.1 cheap_suit c4timer.amxx running
[ 29] Plugins Controller 1.0 neygomon plugins_control stopped
[ 30] DemoRecoder 1.1 neygomon amx_demorec.amx running
[ 31] Rock to Ban 1.02 Safety1st rock2ban.amxx running
[ 32] [ReAPI] AWPoff 1.3 PAffAEJIkA :3 awp_off.amxx running
[ 33] Players Menu 1.7 neugomon players_menu.am running
[ 34] Grab 2.5 Support123 grab_new.amxx running
[ 35] Steam Models 0.1b+mod.l Freedo.m steam_models.am running
[ 36] Team Grenade Trail 1.2 Numb team_grenade_tr running
[ 37] Kills Counter 0.3 serfreeman1337 kills_counter.a running
[ 38] [ReAPI] Random Weapons 2.4.4 neugomon random_weapons_ running
[ 39] Killer ScreenFade 0.0.5 Vaqtincha reapi_killer_sc running
[ 40] Ultimate KillStreak Ad 0.7 SAMURAI ut_killstreak_a running
[ 41] Adverts 1.0 pUzzlik adverts_message running
[ 42] Super Bunny Hopper 1.2 Cheesy Peteza bunnyhop.amxx stopped
[ 43] ProKreedz Hook v2.3 vato loco [GE-S] dr_hook.amxx stopped
[ 44] V.I.P Custom Weapons 1.0.0 Vaqtincha vip_custom.amxx debug
[ 45] V.I.P Custom DEAGLE 1.0.0 Vaqtincha custom_deagle.a debug
[ 46] V.I.P Custom M4A1 1.0.0 Vaqtincha custom_m4a1.amx debug
[ 47] V.I.P Custom AK-47 1.0.0 Vaqtincha custom_ak47.amx debug
[ 48] V.I.P Custom AWP 1.0.0 Vaqtincha custom_awp.amxx debug
[ 49] Advanced Experience Sy 0.5.9 [REA serfreeman1337/s aes_main.amxx running
[ 50] AES: CStrike Addon 0.5.9 [REA serfreeman1337/s aes_exp_cstrike running
[ 51] AES: Informer 0.5.9 [REA serfreeman1337/s aes_informer.am running
[ 52] AES: Admin Tools 0.5.9 [REA serfreeman1337/s aes_exp_editor. running
[ 53] AES: Bonus System 0.5.9 Vega serfreeman1337/s aes_bonus_syste running
[ 54] AES: Bonus CSTRIKE 0.5.9 [REA serfreeman1337/s aes_bonus_cstri running
54 plugins, 50 running
Исходный код
/*
Advanced Experience System
by serfreeman1337 http://gf.hldm.org/
*/

/*
Random CSTRIKE Bonuses
*/

#include <amxmodx>
#include <aes_v>
#include <engine>
#include <reapi>

#define PLUGIN "AES: Bonus CSTRIKE"
#define VERSION "0.5.9 [REAPI]"
#define AUTHOR "serfreeman1337/sonyx"
#define LASTUPDATE "12, March (03), 2018"

#if AMXX_VERSION_NUM < 183
#include <colorchat>

#define print_team_default DontChange
#define print_team_grey Grey
#define print_team_red Red
#define print_team_blue Blue

#define MAX_NAME_LENGTH 32
#define MAX_PLAYERS 32

#define client_disconnected client_disconnect
#endif

enum _:
{
SUPER_NICHEGO,
SUPER_NADE,
SUPER_DEAGLE
};

enum DamagerModes
{
Disable,
ModeAll,
ModeIfVisible
};

new g_PlayerPos[MAX_PLAYERS + 1], g_iSyncMsg, g_iSyncMsg2, DamagerModes:g_ModeDam[MAX_PLAYERS + 1];
new const Float:g_flCoords[][] = { {0.55, 0.55}, {0.5, 0.55}, {0.55, 0.5}, {0.45, 0.5}, {0.45, 0.45}, {0.5, 0.45}, {0.55, 0.45}, {0.45, 0.55} };
new g_players[MAX_PLAYERS + 1];
new bool: g_PointDam[MAX_PLAYERS + 1] = false;

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);

RegisterHookChain(RG_CBasePlayer_TakeDamage, "CBasePlayer_TakeDamage", false);
RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed_Post", true);
register_event ("Damage", "EventDamage", "b", "2!0");

g_iSyncMsg = CreateHudSyncObj();
g_iSyncMsg2 = CreateHudSyncObj();
}

public client_disconnected(id)
g_players[id] = SUPER_NICHEGO; // сбрасываем возможности на дисконнекте

public CBasePlayer_Killed_Post(const victim, const killer)
g_players[victim] = SUPER_NICHEGO; // сбрасываем возможности при смерти

public CBasePlayer_TakeDamage(const id, idinflictor, idattacker, Float:damage)
{
if(!is_user_connected(idattacker))
return HC_CONTINUE;

if(g_players[idattacker])
{
if(idattacker == idinflictor && get_member(get_member(idattacker, m_pActiveItem), m_iId) == WEAPON_DEAGLE && (g_players[idattacker] & (1 << SUPER_DEAGLE)))
{
damage *= 2.0;
}
else if(FClassnameIs(idinflictor, "grenade") && (g_players[idattacker] & (1 << SUPER_NADE)))
{
set_task(0.5,"deSetNade",idattacker);
damage *= 3.0;
}

SetHookChainArg(4, ATYPE_FLOAT, damage);
}
return HC_CONTINUE;
}

public EventDamage(iVictim)
{
static iKiller;
iKiller = get_user_attacker(iVictim);

if(!iKiller || iKiller > MAX_PLAYERS) return;

new iPos = ++g_PlayerPos[iKiller];

if(iPos == sizeof(g_flCoords))
iPos = g_PlayerPos[iKiller] = 0;

if (g_PointDam[iKiller] && iVictim != iKiller)
{
if (g_ModeDam[iKiller] == ModeAll || (g_ModeDam[iKiller] == ModeIfVisible && is_visible(iVictim, iKiller)))
{
set_hudmessage(0, 100, 200, Float:g_flCoords[iPos][0], Float:g_flCoords[iPos][1], 0, 0.0, 1.0, 0.0, 0.0);
ShowSyncHudMsg(iKiller, g_iSyncMsg, "%i^n", read_data(2));
}
}
if (g_PointDam[iVictim])
{
set_hudmessage(200, 100, 0, Float:g_flCoords[iPos][0], Float:g_flCoords[iPos][1], 0, 0.0, 1.0, 0.0, 0.0);
ShowSyncHudMsg(iVictim, g_iSyncMsg2, "%i^n", read_data(2));
}
}

public deSetNade(id)
g_players[id] &= ~(1<<SUPER_NADE);

public roundBonus_GiveDefuser(id,cnt)
{
if(!cnt)
return false;

if(get_member(id, m_iTeam) != TEAM_CT)
return false;

rg_give_item(id, "item_thighpack");

return true;
}

public roundBonus_GiveNV(id,cnt)
{
if(!cnt)
return false;

set_member(id, m_bHasNightVision, 1);

return true;
}

public roundBonus_Dmgr(id,DamagerModes:cnt)
{
if(cnt <= Disable)
return false;

g_PointDam[id] = true;
g_ModeDam[id] = (ModeAll < cnt <= ModeIfVisible) ? cnt : ModeAll;

return true;
}

public GiveArmor(id,cnt)
{
if(!is_user_alive(id))
{
client_print_color(id,0,"%L %L",id,"AES_TAG",id,"AES_ANEW_ALIVE");
return false;
}

if(!cnt)
return false;

new iArmor = rg_get_user_armor(id);

switch(cnt)
{
case 1:rg_set_user_armor(id, max(100, iArmor), ARMOR_KEVLAR);
case 2:rg_set_user_armor(id, max(100, iArmor), ARMOR_VESTHELM);
default:rg_set_user_armor(id, max(cnt, iArmor), ARMOR_VESTHELM);
}

return true;
}

public GiveHP(id,cnt)
{
if(!is_user_alive(id))
{
client_print_color(id,0,"%L %L",id,"AES_TAG",id,"AES_ANEW_ALIVE");
return false;
}

if(!cnt)
return false;

set_entvar(id, var_health, (Float:get_entvar(id, var_health) + float(cnt)));
return true;
}

public GiveMoney(id,cnt)
{
if(!cnt)
return false;

rg_add_account(id, cnt);

return true;
}


public pointBonus_Dmgr(id)
{
g_PointDam[id] = true;

return true;
}


public pointBonus_GiveMegaGrenade(id)
{
if(!is_user_alive(id))
{
client_print_color(id,0,"%L %L",id,"AES_TAG",id,"AES_ANEW_ALIVE");
return false;
}

if(!user_has_weapon(id,CSW_HEGRENADE))
{
rg_give_item(id, "weapon_hegrenade");
}

g_players[id] |= (1<<SUPER_NADE);

client_print_color(id,0,"%L %L",id,"AES_TAG",id,"AES_BONUS_GET_MEGAGRENADE");

return true;
}

public pointBonus_GiveMegaDeagle(id){
if(!is_user_alive(id))
{
client_print_color(id,0,"%L %L",id,"AES_TAG",id,"AES_ANEW_ALIVE");
return false;
}

rg_give_item(id, "weapon_deagle", GT_REPLACE);
rg_set_user_bpammo(id, WEAPON_DEAGLE, 35);

g_players[id] |= (1<<SUPER_DEAGLE);
client_print_color(id,0,"%L %L",id,"AES_TAG",id,"AES_BONUS_GET_MEGADEAGLE");

return true;
}


/**
* Совместимость со старым bonus.ini
*/
public pointBonus_Give10000M(id)
GiveMoney(id, 10000);

public pointBonus_Set200HP(id)
GiveHP(id, 200);

public pointBonus_Set200CP(id)
GiveArmor(id, 200);
Проблема не пропала даже после обновления bonus.ini
Исходник не трогал.
PHP:
;
;    Advanced Experinece System
;    by serfreeman1337
;
;
; Расположение файла: addons/amxmodx/configs/aes/bonus.ini
;
; [menu] - меню
;    <menu> - регистрация нового меню
;        title - заголовок меню, используйте приставку LANG_ для словаря
;        say - команда в чате для вызова меню
;        console - команда в консоли для вызова этого меню
;        list - список предметов в этом меню из [items]
;
; [items] - предметы для меню
;    <call> - регистрация предмета с вызовом функции другого плагина
;        name - название предмета в пункте меню, используйте приставку LANG_ для словаря
;        plugin - название файла плагина
;        function - название функции в плагине
;        points - кол-во бонусов (число)
;        exp - требуемый опыт (float или число)
;        level - требуемый уровень (число)
;        time - в течении скольки секунд с начала раунда доступен предмет
;        round - раунд, с которого будет доступен этот предмет (число)
;        flag - флаг, допускающий выдачу (t - выдавать только имеющим флаг t, ~t - выдавать всем, кроме, тех у кого есть флаг t, a~t - выдавать только имеющим флаг a, но не имеющим флаг t)
;    <give> - регистрация предмета с функцией give
;        name - название предмета в пункте меню, используйте приставку LANG_ для словаря
;        item - название предмета
;        points - кол-во бонусов (число)
;        exp - требуемый опыт (float или число)
;        level - требуемый уровень (число)
;        time - в течении скольки секунд с начала раунда доступен предмет
;        round - раунд, с которого будет доступен этот предмет (число)
;        flag - флаг, допускающий выдачу (t - выдавать только имеющим флаг t, ~t - выдавать всем, кроме, тех у кого есть флаг t, a~t - выдавать только имеющим флаг a, но не имеющим флаг t)
; [spawn] - бонусы на спавне
;    <call> - регистрация предмета с вызовом функции другого плагина
;        name - название предмета в пункте меню, используйте приставку LANG_ для словаря
;        plugin - название файла плагина
;        function - название функции в плагине
;        points - кол-во бонусов (число)
;        exp - требуемый опыт (float или число)
;        level - требуемый уровень (число)
;        levels - кол-во для каждого уровня (все уровни через пробел)
;        round - раунд, с которого будет доступен этот предмет (число)
;        flag - флаг, допускающий выдачу (t - выдавать только имеющим флаг t, ~t - выдавать всем, кроме, тех у кого есть флаг t, a~t - выдавать только имеющим флаг a, но не имеющим флаг t)
;    <give> - регистрация предмета с функцией give
;        name - название предмета в пункте меню, используйте приставку LANG_ для словаря
;        item - название предмета
;        points - кол-во бонусов (число)
;        exp - требуемый опыт (float или число)
;        level - требуемый уровень (число)
;        levels - кол-во для каждого уровня (все уровни через пробел)
;        round - раунд, с которого будет доступен этот предмет (число)
;        flag - флаг, допускающий выдачу (t - выдавать только имеющим флаг t, ~t - выдавать всем, кроме, тех у кого есть флаг t, a~t - выдавать только имеющим флаг a, но не имеющим флаг t)
;
;
;    Значения levels:
;        0 - не давать
;        для item = weapon_* кол-вопатрон(гранат)
;        для дамагера 1 - обычный, 2 - показывается лишь если противник виден
;        для roundBonus_GiveArmor 1 - выдать kevlar 100, 2 - полная броня 100, > 2 полная броня свое значение

[menu]

<menu>
title = LANG_AES_BONUS_MENU
say = /anew
console = anew
list = 1 2 3 4 5 6 7 8

[items]

<call>
plugin = aes_bonus_cstrike.amxx
name = LANG_AES_BONUS_MEGADEAGLE
function = pointBonus_GiveMegaDeagle
points = 3
round = 1

<call>
plugin = aes_bonus_cstrike.amxx
name = LANG_AES_BONUS_MEGAGRENADE
function = pointBonus_GiveMegaGrenade
points = 3
round = 3
time = 15

<call>
plugin = aes_bonus_cstrike.amxx
name = 200 HP
function = GiveHP
value = 200
points = 20
round = 3
time = 15

<call>
plugin = aes_bonus_cstrike.amxx
name = 200 Брони
function = GiveArmor
value = 200
points = 20
round = 3
time = 15
;flag = ~t

<call>
plugin = aes_bonus_cstrike.amxx
name = 10000$
function = GiveMoney
value = 10000
points = 3
round = 3
;flag = ~t

<give>
item = weapon_m4a1
name = LANG_AES_BONUS_M4A1
points = 3
round = 3
time = 15

<give>
item = weapon_ak47
name = LANG_AES_BONUS_AK47
points = 3
round = 3
time = 15

<give>
item = weapon_awp
name = LANG_AES_BONUS_AWP
points = 3
round = 5
time = 15

;<call>
;plugin = aes_bonus_flags.amxx
;name = LANG_AES_BONUS_GIVE_FLAGS
;function = pointBonus_GiveFlags
;points = 500
;flags = a
;days = 1


;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[spawn]

;<give>
;item = weapon_smokegrenade
;name = Smoke
;levels = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1

;<give>
;item = weapon_hegrenade
;name = HE
;levels = 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

;<give>
;item = weapon_flashbang
;name = Flash
;levels = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2

;<call>
;plugin = aes_bonus_cstrike.amxx
;name = LANG_AES_BONUS_DEFKIT
;function = roundBonus_GiveDefuser
;levels = 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

;<call>
;plugin = aes_bonus_cstrike.amxx
;name = LANG_AES_BONUS_ARMOR
;function = roundBonus_GiveArmor
;levels = 5 10 15 20 30 40 50 2 2 2 2 2 2 2 2 2 2 2 2 2

;////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
;<give>
;item = weapon_deagle
;name = Deagle
;levels = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

;<give>
;item = weapon_ak47
;name = AK47
;levels = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

;<call>
;plugin = aes_bonus_cstrike.amxx
;name = Damager
;function = roundBonus_Dmgr
;levels = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

;<call>
;plugin = aes_bonus_cstrike.amxx
;name = LANG_AES_BONUS_NV
;function = roundBonus_GiveNV
;levels = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

;<call>
;plugin = aes_bonus_cstrike.amxx
;name = LANG_AES_BOUNS_HP
;function = roundBonus_GiveHP
;levels = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
Help pleas!!!
 
В этой теме было размещено решение! Перейти к решению.
Сообщения
2,291
Реакции
1,737
Помог
31 раз(а)
Best777,
Код:
<call>
plugin = aes_bonus_cstrike.amxx
name = 200 HP
function = GiveHP
value = 100
points = 20
round = 3
time = 15
 
Сообщения
460
Реакции
68
Помог
7 раз(а)
Pokemoshka, value = 100 это начальное значение?
В броне так само надо?
Просто в самой теме https://dev-cs.ru/resources/362/extra в bonus.ini указанно value = 200 вот я и спрашивавшую.
И там кстати не указали что делает эта функция.
 
Последнее редактирование:
Сообщения
2,291
Реакции
1,737
Помог
31 раз(а)
Best777, value - значение на сколько увеличить хп или армор. Если надо 150хп то нужно выставить значение value = 50
 
Сообщения
460
Реакции
68
Помог
7 раз(а)
Pokemoshka, ааа вот она коварная штуковина какая))) Спасибо вам большое и извиняюсь за повтор. Просто не указали значение данного параметра.
 
Сообщения
957
Реакции
1,184
Помог
52 раз(а)
Сообщения
2,291
Реакции
1,737
Помог
31 раз(а)
Sonyx, обычно все на респе берут во время закупа.)
 
Сообщения
957
Реакции
1,184
Помог
52 раз(а)
Pokemoshka, ну и дурни) я бы наоборот при критически малом хп покупал бы отхилку)
 
Сообщения
2,291
Реакции
1,737
Помог
31 раз(а)
Sonyx, ну вот лично моё мнение - считаю бредом разрешать использовать бонусы в любое время раунда и в любом месте карты. Я сторонник использования бонусов только на респе и только во время закупа.Так более правильно считаю, но это лишь мое мнение
 
Сообщения
400
Реакции
147
Помог
11 раз(а)
Pokemoshka, тоже считаю так правильней (использование бонусов на респе во время закупа, а не по "середине" игры (cмотря какой мод сервера стоит на сервере(паблик), а не csdm и т.д.))
 
Статус
В этой теме нельзя размещать новые ответы.

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

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