- Ошибка
-
//// Smoke_HealthNade.sma
// D:\╩юьяшы ЄюЁ └╠╒ 1.8.2\Smoke_HealthNade.sma(93) : fatal error 111: user error: [ERROR]: AMXX 1.8.2 - not supported (cuz use new fakemeta natives)!
//
//
// Compilation aborted.
// 1 Error.
// Could not locate output file compiled\Smoke_HealthNade.amx (compile failed).
- ОС
- Linux
- Amx Mod X
-
AMX Mod X 1.9.0.5247 (http://www.amxmodx.org)
Authors:
David "BAILOPAN" Anderson, Pavol "PM OnoTo" Marko
Felix "SniperBeamer" Geyer, Jonny "Got His Gun" Bergstrom
Lukasz "SidLuke" Wlasinski, Christian "Basic-Master" Hammacher
Borja "faluco" Ferrer, Scott "DS" Ehlert
Compiled: May 16 2019 06:12:49
Built from: https://github.com/alliedmodders/amxmodx/commit/1f09bd5
Build ID: 5247:1f09bd5
Core mode: JIT+ASM32
- Билд
-
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.4.0.669-dev
Build date: 15:27:41 Apr 8 2019 (1822)
Build from: https://github.com/dreamstalker/rehlds/commit/f6822e3
- ReGamedll
-
game version
ReGameDLL version: 5.7.0.310-dev
Build date: 05:50:50 May 24 2018
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/8e3b6f4
- Версия 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
- Список метамодулей
-
description stat pend file vers src load unload
[ 1] Reunion RUN - reunion_mm_i386.so v0.1.0.92 ini Start Never
[ 2] Revoice RUN - revoice_mm_i386.so v0.1.0.32 ini Start Never
[ 4] ReAuthCheck RUN - reauthcheck_mm_i386.so v0.1.6 ini Start Never
[ 5] Rechecker RUN - rechecker_mm_i386.so v2.5 ini Chlvl ANY
[ 6] WHBlocker RUN - whblocker_mm_i386.so v1.5.696 ini Chlvl ANY
[ 7] ReSemiclip RUN - resemiclip_mm_i386.so v2.3.9 ini Chlvl ANY
[ 8] AMX Mod X RUN - amxmodx_mm_i386.so v1.9.0.5247 ini Start ANY
[ 9] MySQL RUN - mysql_amxx_i386.so v1.9.0.5247 pl8 ANY ANY
[10] FakeMeta RUN - fakemeta_amxx_i386.so v1.9.0.5247 pl8 ANY ANY
[11] Engine RUN - engine_amxx_i386.so v1.9.0.5247 pl8 ANY ANY
[12] CSX RUN - csx_amxx_i386.so v1.9.0.5247 pl8 ANY ANY
[13] Ham Sandwich RUN - hamsandwich_amxx_i386.so v1.9.0.5247 pl8 ANY ANY
[14] CStrike RUN - cstrike_amxx_i386.so v1.8.2-dev-fix pl8 ANY ANY
[15] Fun RUN - fun_amxx_i386.so v1.9.0.5247 pl8 ANY ANY
[16] ReAimDetector RUN - reaimdetector_amxx_i386.so v0.2.2 pl8 ANY Never
15 plugins, 15 running
- Список плагинов
-
[ 1] AMXBans: Core MA 1.6.9 Larte Team amxbans_core.am running
[ 2] AMXBans: Main MA 1.6.9 Larte Team amxbans_main.am running
[ 3] Aliases checker 1.0.3 kanagava alias_detector. running
[ 4] [ReAMX] Damager RBS 19.08.30 SKAJIbnEJIb damager_rbs.amx running
[ 5] Admin Commands 1.9.0.5247 AMXX Dev Team admincmd.amxx running
[ 6] Slots Reservation 1.9.0.5247 AMXX Dev Team adminslots.amxx running
[ 7] Multi-Lingual System 1.9.0.5247 AMXX Dev Team multilingual.am running
[ 8] Menus Front-End 1.9.0.5247 AMXX Dev Team menufront.amxx running
[ 9] Commands Menu 1.9.0.5247 AMXX Dev Team cmdmenu.amxx running
[ 10] Players Menu 1.8.1.3746 AMXX Dev Team plmenu.amxx running
[ 11] Maps Menu 1.9.0.5247 AMXX Dev Team mapsmenu.amxx running
[ 12] Plugin Menu 1.9.0.5247 AMXX Dev Team pluginmenu.amxx running
[ 13] Restrict Weapons 1.8.1.3746 Leo_[BH] restmenu.amxx running
[ 14] Admin Check 1.51 OneEyed admin_check.amx running
[ 15] Anti Flood 1.9.0.5247 AMXX Dev Team antiflood.amxx running
[ 16] Scrolling Message 1.9.0.5247 AMXX Dev Team scrollmsg.amxx running
[ 17] Info. Messages 1.9.0.5247 AMXX Dev Team imessage.amxx running
[ 18] Admin Votes 1.9.0.5247 AMXX Dev Team adminvote.amxx running
[ 19] Map Manager RU 1.2.2 Mistrick map_manager.amx running
[ 20] TimeLeft 1.9.0.5247 AMXX Dev Team timeleft.amxx running
[ 21] AES: StatsX 0.5 Vega serfreeman1337 aes_statsx_cstr running
[ 22] StatsX 1.9.0.5247 AMXX Dev Team statsx.amxx running
[ 23] Pause Plugins 1.9.0.5247 AMXX Dev Team pausecfg.amxx running
[ 24] Stats Configuration 1.9.0.5247 AMXX Dev Team statscfg.amxx running
[ 25] ResetScore 0.2.0 aNNakin resetscore.amxx running
[ 26] [182] Parachute RBS 17.12.12 KRoT@L/JTP10181 parachute_rbs.a running
[ 27] AntiFlash FINAL 5.0 Leo_[BH] antiflash5.amxx running
[ 28] Weapon Model + Sound R 1.3 GHW_Chronic GHW_Weapon_Repl running
[ 29] VIP 1.5 by4udilo admin_vip_2.amx running
[ 30] Auto VIP [STEAM] 1.1 ArtHa auto_steam_vip. running
[ 31] admin model 1.0 TaTi adm.amxx debug
[ 32] Chiter-VOTEBAN 3.0 SLIMSHADY_MOD voteban_by_slim running
[ 33] Auto-Restart 0.5 [email protected] auto-restart.am running
[ 34] Lite Translit 2.8 neygomon lite_translit.a running
[ 35] [ReAMX] Demo Recorder 18.02.08 SKAJIbnEJIb demorecorder_rb running
[ 36] Nade Health 1.2 medusa NadeHealth.amxx debug
[ 37] Erotic Bomb 0.4 8dp & Spection erotic_bomb.amx running
[ 38] Lady Admin 2.0 AhmetBro lady_admin.amxx running
[ 39] ReAimDetector API 0.2.2 ReHLDS Team reaimdetector.a running
[ 40] Play or Be Kicked 1.5.243 Brad Jones pbk.amxx running
[ 41] Ping Checker 26.0.1 RC1 h1k3 ping_checker.am running
[ 42] Advanced Experience Sy 0.5 Vega serfreeman1337 aes_main.amxx running
[ 43] AES: CStrike Addon 0.5 Vega serfreeman1337 aes_exp_cstrike running
[ 44] AES: Informer 0.5 Vega serfreeman1337 aes_informer.am running
[ 45] AES: Admin Tools 0.5 Vega serfreeman1337 aes_exp_editor. running
[ 46] AMXBans: Freeze Gm 1.6 Larte Team amxbans_freeze. running
[ 47] AMXBans: Screens Gm 1.6 Larte Team amxbans_ssban.a running
47 plugins, 47 running
- Автор плагина
- SonG
- Версия плагина
- 0.0.4
- Исходный код
-
#include <amxmodx>
#include <fakemeta>
#include <engine>
#include <fun>
#include <csx>
/* Settings */
/* Enable action only for the privileged */
// #define ACCESS_FLAGS ( ADMIN_LEVEL_H )
/* Enable action only for teammates */
// #define ONLY_FOR_TEAMMATES
/* Enable Screenfade effect */
#define EFFECT_SCREENFADE
const HEALTH_TO_HEAL = 50;
const HEALTH_MAX = 100;
const HEAL_RADIUS = 300;
/* You can disable those models */
#define MODEL_V "models/v_he_mk_nade.mdl"
#define MODEL_P "models/p_he_mk_nade.mdl"
#define MODEL_W "models/w_he_mk_nade.mdl"
new const SPRITE_EXPLODE1[] = "sprites/heal_explode.spr";
new const SPRITE_PROS[] = "sprites/heal_shape.spr";
new const SOUND_HEAL[] = "woomen_expr.wav";
/* End of settings */
enum {
XO_WEAPON = 4,
XO_CGRENADE = 5,
m_pPlayer = 41,
m_usEvent = 114
}
new const EXCLASS[] = "grenade";
enum { STATUSICON_HIDE = 0, STATUSICON_FLASH = 2 };
const flagSmokeEvent = (1 << 1);
#define IsSgGrenade(%1) (get_pdata_int(%1, m_usEvent, XO_CGRENADE) & flagSmokeEvent)
#define _GetEntOwner(%1) pev(%1, pev_owner)
#define _GetEntOrigin(%1,%2) pev(%1, pev_origin, %2)
#define _SetViewModel(%1,%2) set_pev(%1, pev_viewmodel2, %2)
#define _SetWeaponModel(%1,%2) set_pev(%1, pev_weaponmodel2, %2)
#define _SetWorldModel(%1,%2) engfunc(EngFunc_SetModel, %1, %2)
#define _RemoveEntity(%1) engfunc(EngFunc_RemoveEntity, %1)
#define _get_blindStartTime(%1) get_ent_data_float(%1, "CBasePlayer", "m_blindStartTime")
#define _get_blindFadeTime(%1) get_ent_data_float(%1, "CBasePlayer", "m_blindFadeTime")
#if AMXX_VERSION_NUM < 183
#error [ERROR]: AMXX 1.8.2 - not supported (cuz use new fakemeta natives)!
#endif
new g_MsgId_StatusIcon, g_MsgId_ScreenFade;
new g_pFirstExplosion,
g_pPros,
g_pCircle;
enum status_s { status_DISABLED = 0, status_ENABLED = 1 };
new status_s: g_bCanUseItem = status_ENABLED;
new const VERSION[] = "0.0.4";
public plugin_natives()
{
register_native("SHN_SetStatus", "native__SetStatus", .style = 0);
register_native("SHN_GetStatus", "native__GetStatus", .style = 0);
}
public plugin_init() {
register_plugin("Smoke: HealthNade", VERSION, "wopox1337");
g_MsgId_StatusIcon = get_user_msgid("StatusIcon");
g_MsgId_ScreenFade = get_user_msgid("ScreenFade");
register_touch(EXCLASS, "*", "CGrenade_ExplodeTouch");
register_event("CurWeapon", "Event_CurWeapon", "be", "1=1");
}
public plugin_precache() {
#if defined MODEL_V
precache_model(MODEL_V);
#endif
#if defined MODEL_P
precache_model(MODEL_P);
#endif
#if defined MODEL_W
precache_model(MODEL_W);
#endif
g_pFirstExplosion = precache_model(SPRITE_EXPLODE1);
g_pPros = precache_model(SPRITE_PROS);
g_pCircle = precache_model("sprites/shockwave.spr");
precache_sound(SOUND_HEAL);
}
public Event_CurWeapon(pPlayer) {
enum { WeaponID = 2 };
if(read_data(WeaponID) == CSW_SMOKEGRENADE) {
if(!IsAllowedToUse(pPlayer)) return;
#if defined MODEL_V
OnPlayer_SetViewModels(pPlayer);
#endif
Send_StatusIcon__Cross(pPlayer);
}
else Send_StatusIcon__Cross(pPlayer, .status = STATUSICON_HIDE);
}
public grenade_throw(pPlayer, pEnt, w_id) {
if(w_id != CSW_SMOKEGRENADE)
return;
if(!IsAllowedToUse(pPlayer))
return;
#if defined MODEL_W
OnGrenade_SetWorldModel(pEnt);
#endif
}
public CGrenade_ExplodeTouch(const pEnt, const pOther) {
// Filter to another grenades type
if(!IsSgGrenade(pEnt))
return;
static iOwner; iOwner = _GetEntOwner(pEnt);
if(!IsAllowedToUse(iOwner))
return;
static Float: fOrigin[3], iOrigin[3];
_GetEntOrigin(pEnt, fOrigin);
FVecIVec(fOrigin, iOrigin);
// Show visuals
Send_Explode(iOrigin);
Send_Pros(iOrigin);
Send_ShockWave(iOrigin);
OnGrenade_PlaySound(pEnt);
// Removed default smoke entity, and his detonate event accordingly
OnGrenade_RemoveByTouch(pEnt);
// Action on near players
HealPlayersOnRadius(iOwner, fOrigin);
}
stock HealPlayersOnRadius(pInflictor, Float: fOrigin[3]) {
for(new pPlayer = 1; pPlayer <= MaxClients; pPlayer++) {
if(is_user_alive(pPlayer)) {
#if !defined ONLY_FOR_TEAMMATES
if(get_user_team(pInflictor) != get_user_team(pPlayer))
continue;
#endif
#pragma unused pInflictor
static Float: playerOrigin[3];
_GetEntOrigin(pPlayer, playerOrigin);
if(get_distance_f(fOrigin, playerOrigin) < HEAL_RADIUS)
OnPlayer_HealEvent(pPlayer);
}
}
}
stock OnPlayer_HealEvent(const pPlayer) {
set_user_health(pPlayer, min(get_user_health(pPlayer) + HEALTH_TO_HEAL, HEALTH_MAX));
#if defined EFFECT_SCREENFADE
if(!IsBlind(pPlayer))
__UTIL_ScreenFade(pPlayer);
#endif
}
#if (defined MODEL_V || defined MODEL_P)
stock OnPlayer_SetViewModels(const pPlayer) {
#if defined MODEL_V
_SetViewModel(pPlayer, MODEL_V);
#endif
#if defined MODEL_P
_SetWeaponModel(pPlayer, MODEL_P);
#endif
}
#endif
stock OnGrenade_SetWorldModel(const pEnt)
_SetWorldModel(pEnt, MODEL_W);
stock OnGrenade_RemoveByTouch(const pEnt)
_RemoveEntity(pEnt);
stock Send_StatusIcon__Cross(const pPlayer, status = STATUSICON_FLASH) {
message_begin(MSG_ONE_UNRELIABLE, g_MsgId_StatusIcon, .player = pPlayer);
write_byte(status);
write_string("cross");
write_byte(0);
write_byte(255);
write_byte(0);
message_end();
}
stock OnGrenade_PlaySound(const pEnt)
engfunc(EngFunc_EmitSound, pEnt, CHAN_WEAPON, SOUND_HEAL, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
stock Send_Explode(iOrigin[3]) {
emessage_begin(MSG_PVS, SVC_TEMPENTITY);
ewrite_byte(TE_EXPLOSION);
ewrite_coord(iOrigin[0]);
ewrite_coord(iOrigin[1]);
ewrite_coord(iOrigin[2] + 65);
ewrite_short(g_pFirstExplosion);
ewrite_byte(30);
ewrite_byte(20);
ewrite_byte(TE_EXPLFLAG_NOSOUND | TE_EXPLFLAG_NOPARTICLES);
emessage_end();
}
stock Send_Pros(iOrigin[3]) {
emessage_begin(MSG_PVS, SVC_TEMPENTITY);
ewrite_byte(TE_SPRITETRAIL);
ewrite_coord(iOrigin[0]);
ewrite_coord(iOrigin[1]);
ewrite_coord(iOrigin[2] + 20);
ewrite_coord(iOrigin[0]);
ewrite_coord(iOrigin[1]);
ewrite_coord(iOrigin[2] + 80);
ewrite_short(g_pPros);
ewrite_byte(20);
ewrite_byte(20);
ewrite_byte(4);
ewrite_byte(20);
ewrite_byte(10);
emessage_end();
}
stock Send_ShockWave(iOrigin[3]) {
emessage_begin(MSG_PVS, SVC_TEMPENTITY);
ewrite_byte(TE_BEAMCYLINDER);
ewrite_coord(iOrigin[0]);
ewrite_coord(iOrigin[1]);
ewrite_coord(iOrigin[2]);
ewrite_coord(iOrigin[0]);
ewrite_coord(iOrigin[1]);
ewrite_coord(iOrigin[2] + HEAL_RADIUS);
ewrite_short(g_pCircle);
ewrite_byte(0);
ewrite_byte(1);
ewrite_byte(5);
ewrite_byte(30);
ewrite_byte(1);
ewrite_byte(10);
ewrite_byte(255);
ewrite_byte(40);
ewrite_byte(255);
ewrite_byte(5);
emessage_end();
}
stock __UTIL_ScreenFade(const pPlayer, iColor[3] = {170, 255, 0}, iAlpha = 80, Float: flFxTime = 1.0, Float: flHoldTime = 0.3) {
const FFADE_IN = 0x0000;
emessage_begin(MSG_ONE_UNRELIABLE, g_MsgId_ScreenFade, .player = pPlayer);
ewrite_short(FixedUnsigned16(flFxTime));
ewrite_short(FixedUnsigned16(flHoldTime));
ewrite_short(FFADE_IN);
ewrite_byte(iColor[0]);
ewrite_byte(iColor[1]);
ewrite_byte(iColor[2]);
ewrite_byte(iAlpha);
emessage_end();
}
stock FixedUnsigned16(Float:flValue, iScale = (1 << 12)) {
return clamp(floatround(flValue * iScale), 0, 0xFFFF);
}
stock IsUserHaveAccessToUse(const pPlayer) {
// Anytime we can add other checks like cached bool
return (get_user_flags(pPlayer) & ACCESS_FLAGS);
}
bool: IsAllowedToUse(pPlayer) {
#pragma unused pPlayer
#if defined ACCESS_FLAGS
if(!IsUserHaveAccessToUse(pPlayer)) {
return false;
}
#endif
if(g_bCanUseItem == status_DISABLED) {
// client_print_color(pPlayer, print_team_red, "^3 You no may use this grenade now!");
return false;
}
// Also you can add another conditions there...
return true;
}
stock bool: IsBlind(pPlayer) {
return bool:(Float: _get_blindStartTime(pPlayer) + Float: _get_blindFadeTime(pPlayer) >= get_gametime());
}
/* API?! */
/**
* Set item status to use.
*
* @note Usage examples:
* SHN_SetStatus(1);
*
* @param status: 1 - enabled / 0 - disabled
*
* @noreturn
*/
// native SHN_SetStatus(status)
public native__SetStatus(plugin_id, argc)
{
enum { arg_status = 1 };
g_bCanUseItem = get_param(arg_status) == 1 ? status_ENABLED : status_DISABLED;
}
/**
* Retrieves the item status to use.
*
* @note Usage examples:
* SHN_GetStatus();
*
* @return Current status: 1 - enabled / 0 - disabled
*/
// native SHN_GetStatus()
public native__GetStatus(plugin_id, argc)
{
return g_bCanUseItem == status_ENABLED ? status_ENABLED : status_DISABLED;
}
Всем вечер добрый.Не подскажите в чём дело? Почему не компилируется плагин?Качал с форума хотел заменить на более новую версию,так как с предыдущей сервер падает, а тут такие финтеплюшки
В этой теме было размещено решение! Перейти к решению.