Неправильная работа плагина Yek_combosprite

Статус
В этой теме нельзя размещать новые ответы.

GIT

Сообщения
82
Реакции
6
Помог
2 раз(а)
Ошибка
НЕТ
ОС
Linux
Amx Mod X
Compiled: Jul 11 2021 22:22:58
Built from: https://github.com/alliedmodders/amxmodx/commit/5e7e177
Build ID: 5281:5e7e177
Core mode: JIT+ASM32
Билд
ReHLDS version: 3.11.0.767-dev
Build date: 16:15:06 Oct 28 2021 (2756)
Build from: https://github.com/dreamstalker/rehlds/commit/471158b
ReGamedll
ReGameDLL version: 5.21.0.540-dev
Build date: 17:33:16 Oct 25 2021
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/b9cccc6
Версия Metamod
Metamod-r v1.3.0.128, API (5:13)
Metamod-r build: 17:47:54 Aug 24 2018
Metamod-r from: https://github.com/theAsmodai/metamod-r/commit/0cf2f70
Список метамодулей
[ 1] Reunion          RUN   -    reunion_mm_i386.so          v0.1.92d         ini  Start Never
[ 2] Rechecker RUN - rechecker.so v2.7 ini Chlvl ANY
[ 3] VoiceTranscoder RUN - vtc.so v2017RC5 ini ANY ANY
[ 4] WHBlocker RUN - whblocker.so v1.5.697 ini Chlvl ANY
[ 5] ReSemiclip RUN - resemiclip.so v2.3.9 ini Chlvl ANY
[ 6] AMX Mod X RUN - amxmodx.so v1.9.0.5281 ini Start ANY
[ 7] ReAimDetector RUN - reaimdetector_amxx_i386.so v0.2.2 pl6 ANY Never
[ 8] ReAPI RUN - reapi_amxx_i386.so v5.21.0.248-dev pl6 ANY Never
[ 9] MySQL RUN - mysql_amxx_i386.so v1.9.0.5281 pl6 ANY ANY
[10] FakeMeta RUN - fakemeta_amxx_i386.so v1.9.0.5281 pl6 ANY ANY
[11] CStrike RUN - cstrike_amxx_i386.so v1.9.0.5293 pl6 ANY ANY
[12] Engine RUN - engine_amxx_i386.so v1.9.0.5281 pl6 ANY ANY
[13] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.9.0.5281 pl6 ANY ANY
[14] Fun RUN - fun_amxx_i386.so v1.9.0.5281 pl6 ANY ANY
Список плагинов
[  1] Admin Loader            3.5         neygomon          admin_loader.am  running  
[ 2] FreshBans 1.4.5b kanagava fresh_bans.amxx running
[ 3] Admin Commands 1.9.0.5263 AMXX Dev Team admincmd.amxx running
[ 4] Maps Menu 1.9.0.5263 AMXX Dev Team mapsmenu.amxx running
[ 5] Players Menu 1.9.0.5263 AMXX Dev Team plmenu.amxx running
[ 6] Restrict Weapons 1.9.0.5263 AMXX Dev Team restmenu.amxx running
[ 7] Admin Votes 1.9.0.5263 AMXX Dev Team adminvote.amxx running
[ 8] Yekta's Combo Sprite 3.2 Yek'-ta yek_combosprite running
[ 9] CSStatsX SQL 0.7.4+2 serfreeman1337 csstatsx_sql.am debug
[ 10] AES: StatsX 0.6 Dev-CS serfreeman1337/s aes_statsx_cstr running
[ 11] Advanced Experience Sy 0.5.9 [REA serfreeman1337/s aes_main.amxx running
[ 12] AES: CStrike Addon 0.5.9 [REA serfreeman1337/s aes_exp_cstrike running
[ 13] AES: Informer 0.5.9 [REA serfreeman1337/s aes_informer.am running
[ 14] AES: Bonus System 0.5.9 Vega serfreeman1337/s aes_bonus_syste running
[ 15] AES: Bonus CSTRIKE 0.5.9.1 [R serfreeman1337/s aes_bonus_cstri running
[ 16] AFK Completed 1.0 m1c afkc.amxx running
[ 17] Admin ESP Mini 1.5 KoST admin_esp_mini. running
[ 18] Mode 2x2 2.5re s1lent mode_2x2.amxx running
[ 19] Parachute for ALL [ReA 3.0 Leo_[BH] parachute_for_a running
[ 20] Menu System 0.1.2 serfreeman1337 menusystem.amxx running
[ 21] ReAimDetector API 0.2.2 ReHLDS Team reaimdetector.a running
[ 22] Menus Front-End 1.5 neugomon menufront_end.a running
[ 23] Radio Hudmsg Block 1.0 AcE radio_hudmsg_bl running
[ 24] [ReAPI] No Team Flash 1.0 ReHLDS Team noteamflash50.a running
[ 25] RE ResetScore 1.0 neygomon, Phanto resetscore.amxx running
[ 26] [ReAPI] Round Balancer 1.1 neygomon round_balancer. running
[ 27] Ping Control 0.1.5 Freedo.m | neygo Ping_Control.am running
[ 28] [ReAPI] AdminFreeLook 1.0 ReHLDS Team adminfreelook.a running
[ 29] Map Manager: Scheduler 0.1.7 Mistrick map_manager_sch running
[ 30] Map Manager: Core 3.0.10 Mistrick map_manager.amx running
[ 31] Map Manager: Rtv 0.1.1 Mistrick map_manager_rtv running
[ 32] Map Manager: Nominatio 0.1.3 Mistrick map_manager_nom running
[ 33] Map Manager: BlockList 0.0.3 Mistrick map_manager_blo running
[ 34] Map Manager: Effects 0.0.10 Mistrick map_manager_eff running
[ 35] Map Manager: Informer 0.0.5 Mistrick map_manager_inf running
[ 36] Map Manager: Advanced 0.0.7 Mistrick map_manager_adv running
[ 37] Lite Translit 2.8 neygomon lite_translit_c running
Автор плагина
Yek'-ta
Версия плагина
3.2
Исходный код
#include <amxmodx>
#include <reapi>

#define PLUGIN "Yekta's Combo Sprite"
#define VERSION "3.2"
#define AUTHOR "Yek'-ta"

#define SHOWTIME 1.5 //it should be float

#define HUD_HIDE_FLASH (1<<1)
#define HUD_HIDE_CROSS (1<<6)
#define HUD_DRAW_CROSS (1<<7)

#define CSW_SHIELD 2
new isitON[33]
new kills[33]
new bool: PlayerOnOff[MAX_PLAYERS+1]

enum _:MESSAGES {
g_iMsg_WeaponList,
g_iMsg_ScreenFade,
g_iMsg_CurWeapon,
g_iMsg_SetFOV,
g_iMsg_HideWeapon,
g_iMsg_Crosshair
}
new g_Messages[MESSAGES];
new g_Messages_Name[MESSAGES][] = {
"WeaponList",
"ScreenFade",
"CurWeapon",
"SetFOV",
"HideWeapon",
"Crosshair"
}

public plugin_init(){

register_plugin(PLUGIN, VERSION, AUTHOR)
for(new i; i < sizeof g_Messages; i++){
g_Messages[i] = get_user_msgid(g_Messages_Name[i]);
}
RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn",true);
RegisterHookChain(RG_CBasePlayer_Killed, "CBasePlayer_Killed", true);
register_event("CurWeapon","comboHudGoster","be", "1=1")
register_clcmd("say /combosprite", "comboonoff");
}
public comboonoff(id){
PlayerOnOff[id] = !PlayerOnOff[id]
client_print_color(id, id, "^4[^3Сервер^4] Combo Sprite для игрока ^3%s", PlayerOnOff[id] ? "Включены" : "Отключены")
}
public plugin_precache(){
precache_model("sprites/rs/alarm_kill.spr")
precache_model("sprites/rs/alarm_2kill.spr")
precache_model("sprites/rs/alarm_3kill.spr")
precache_model("sprites/rs/alarm_4kill.spr")
precache_model("sprites/rs/alarm_5kill.spr")
precache_model("sprites/rs/alarm_6kill.spr")
precache_model("sprites/rs/alarm_7kill.spr")
precache_model("sprites/rs/alarm_8kill.spr")
precache_model("sprites/rs/alarm_knife.spr")
precache_model("sprites/rs/alarm_combo.spr")
precache_model("sprites/rs/alarm_grenade.spr")
precache_model("sprites/rs/alarm_headshot.spr")
precache_generic("sprites/rs/alarm_kill.txt")
precache_generic("sprites/rs/alarm_2kill.txt")
precache_generic("sprites/rs/alarm_3kill.txt")
precache_generic("sprites/rs/alarm_4kill.txt")
precache_generic("sprites/rs/alarm_5kill.txt")
precache_generic("sprites/rs/alarm_6kill.txt")
precache_generic("sprites/rs/alarm_7kill.txt")
precache_generic("sprites/rs/alarm_8kill.txt")
precache_generic("sprites/rs/alarm_knife.txt")
precache_generic("sprites/rs/alarm_combo.txt")
precache_generic("sprites/rs/alarm_grenade.txt")
precache_generic("sprites/rs/alarm_headshot.txt")
}
public client_putinserver(id){
PlayerOnOff[id] = true;
kills[id] = 0;
}
public CBasePlayer_Killed(iVictim, iKiller)
{
if(!is_user_connected(iKiller) || iVictim == iKiller)
return HC_CONTINUE;

kills[iVictim] = 0
kills[iKiller] += 1;

if(!PlayerOnOff[iKiller])
return HC_CONTINUE;

remove_task(1997+iKiller);

if(get_member(iVictim, m_bHeadshotKilled))
isitON[iKiller] = -1;
else if(get_member(iVictim, m_bKilledByGrenade))
isitON[iKiller] = -2;
else if(get_user_weapon(iKiller) == CSW_KNIFE)
isitON[iKiller] = -3;
else
isitON[iKiller] = kills[iKiller];

comboHudGoster(iKiller)
set_task(SHOWTIME,"RemoveHUD",1997+iKiller);

return HC_CONTINUE;
}
public RemoveHUD(numara){
numara = numara-1997
if(get_member(numara, m_iFOV) == 90){
isitON[numara] = 0;
Hide_NormalCrosshair(numara, 0);
show_crosshair(numara, 0)
}
else {
set_task(1.0,"RemoveHUD",1997+numara);
}
}
public CBasePlayer_Spawn(oyuncu){
kills[oyuncu] = 0;
}
public comboHudGoster(id){
if(isitON[id] == 0){
return PLUGIN_HANDLED
}
else if(get_member(id, m_iFOV) != 90){
return PLUGIN_HANDLED
}
static userwpn, prim, sprtxt[52]
userwpn = get_user_weapon(id, prim)

switch (isitON[id])
{
case -3: { formatex(sprtxt,charsmax(sprtxt),"rs/alarm_knife"); }
case -2: { formatex(sprtxt,charsmax(sprtxt),"rs/alarm_grenade"); }
case -1: { formatex(sprtxt,charsmax(sprtxt),"rs/alarm_headshot"); }
case 1: { formatex(sprtxt,charsmax(sprtxt),"rs/alarm_kill"); }
case 2: { formatex(sprtxt,charsmax(sprtxt),"rs/alarm_2kill"); }
case 3: { formatex(sprtxt,charsmax(sprtxt),"rs/alarm_3kill"); }
case 4: { formatex(sprtxt,charsmax(sprtxt),"rs/alarm_4kill"); }
case 5: { formatex(sprtxt,charsmax(sprtxt),"rs/alarm_5kill"); }
case 6: { formatex(sprtxt,charsmax(sprtxt),"rs/alarm_6kill"); }
case 7: { formatex(sprtxt,charsmax(sprtxt),"rs/alarm_7kill"); }
case 8: { formatex(sprtxt,charsmax(sprtxt),"rs/alarm_8kill"); }
default: { formatex(sprtxt,charsmax(sprtxt),"rs/alarm_combo"); }
}
switch (userwpn)
{
case CSW_P228: { Msg_WeaponList(id, sprtxt,9,52,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_HEGRENADE: { Msg_WeaponList(id, sprtxt,12,1,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_XM1014: { Msg_WeaponList(id, sprtxt,5,32,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_C4: { Msg_WeaponList(id, sprtxt,14,1,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_MAC10: { Msg_WeaponList(id, sprtxt,6,100,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_AUG: { Msg_WeaponList(id, sprtxt,4,90,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_SMOKEGRENADE: { Msg_WeaponList(id, sprtxt,13,1,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_ELITE: { Msg_WeaponList(id, sprtxt,10,120,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_FIVESEVEN: { Msg_WeaponList(id, sprtxt,7,100,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_UMP45: { Msg_WeaponList(id, sprtxt,6,100,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_GALIL: { Msg_WeaponList(id, sprtxt,4,90,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_FAMAS: { Msg_WeaponList(id, sprtxt,4,90,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_USP: { Msg_WeaponList(id, sprtxt,6,100,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_GLOCK18: { Msg_WeaponList(id, sprtxt,10,120,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_MP5NAVY: { Msg_WeaponList(id, sprtxt,10,120,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_M249: { Msg_WeaponList(id, sprtxt,3,200,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_M3: {Msg_WeaponList(id, sprtxt,5,32,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_M4A1: { Msg_WeaponList(id, sprtxt,4,90,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_TMP: { Msg_WeaponList(id, sprtxt,10,120,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_FLASHBANG: { Msg_WeaponList(id, sprtxt,11,2,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_DEAGLE: { Msg_WeaponList(id, sprtxt,8,35,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_SG552: { Msg_WeaponList(id, sprtxt,4,90,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_AK47: { Msg_WeaponList(id, sprtxt,2,90,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_KNIFE:{ Msg_WeaponList(id, sprtxt,-1,-1,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_P90: { Msg_WeaponList(id, sprtxt,7,100,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 0); }
case CSW_SCOUT: { Msg_WeaponList(id, sprtxt,2,90,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 1); }
case CSW_AWP: { Msg_WeaponList(id, sprtxt,1,30,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 1); }
case CSW_SG550: { Msg_WeaponList(id, sprtxt,4,90,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 1); }
case CSW_G3SG1: { Msg_WeaponList(id, sprtxt,2,90,-1,-1,0,11,CSW_SHIELD,0);Hide_NormalCrosshair(id, 1); }
}
Msg_SetFOV(id, 89);
Msg_CurWeapon(id, 1,CSW_SHIELD,prim);
Msg_SetFOV(id, 90);
return PLUGIN_CONTINUE
}
stock Hide_NormalCrosshair(id, flag){
if(flag == 1){
message_begin(MSG_ONE, g_Messages[g_iMsg_HideWeapon], _, id);
write_byte(HUD_HIDE_CROSS | HUD_HIDE_FLASH);
message_end();
}
else{
message_begin(MSG_ONE, g_Messages[g_iMsg_HideWeapon], _, id);
write_byte(HUD_DRAW_CROSS | HUD_HIDE_FLASH);
message_end();
}
}
stock show_crosshair(id, flag){
message_begin(MSG_ONE_UNRELIABLE, g_Messages[g_iMsg_Crosshair], _, id);
write_byte(flag);
message_end();
}
stock Msg_CurWeapon(id, IsActive,WeaponID,ClipAmmo){
message_begin(MSG_ONE,g_Messages[g_iMsg_CurWeapon], {0,0,0}, id);
write_byte(IsActive);
write_byte(WeaponID);
write_byte(ClipAmmo);

message_end();
}
stock Msg_WeaponList(id, const WeaponName[],PrimaryAmmoID,PrimaryAmmoMaxAmount,SecondaryAmmoID,
SecondaryAmmoMaxAmount,SlotID,NumberInSlot,WeaponID,Flags){
message_begin(MSG_ONE,g_Messages[g_iMsg_WeaponList], {0,0,0}, id);
write_string(WeaponName);
write_byte(PrimaryAmmoID);
write_byte(PrimaryAmmoMaxAmount);
write_byte(SecondaryAmmoID);
write_byte(SecondaryAmmoMaxAmount);
write_byte(SlotID);
write_byte(NumberInSlot);
write_byte(WeaponID);
write_byte(Flags);
message_end();
}

stock Msg_SetFOV(id, Degrees){
message_begin(MSG_ONE,g_Messages[g_iMsg_SetFOV], {0,0,0}, id);
write_byte(Degrees);
message_end();
}
Всем привет , после обновления regame и rehlds плагин начал через раз показывать спрайты, т.е может вообще не показать или показывает очень быстро?
 
В этой теме было размещено решение! Перейти к решению.

GIT

Сообщения
82
Реакции
6
Помог
2 раз(а)
Заменил #define SHOWTIME на 3.5 стало нормально показывать!
 
Статус
В этой теме нельзя размещать новые ответы.

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

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