Помогите, ошибки компиляции плагина Mode_Trigger_Discipline

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
165
Реакции
-8
Ошибка
Mode_Trigger_Discipline.sma(55) : error 017: undefined symbol "MAX_PLAYERS"
Mode_Trigger_Discipline.sma(55) : error 009: invalid array size (negative or zero)
Mode_Trigger_Discipline.sma(61) : error 017: undefined symbol "specialbot"
Mode_Trigger_Discipline.sma(61) : warning 215: expression has no effect
Mode_Trigger_Discipline.sma(61) : error 001: expected token: ";", but found ")"
Mode_Trigger_Discipline.sma(61) : error 029: invalid expression, assumed zero
Mode_Trigger_Discipline.sma(61) : fatal error 107: too many error messages on one line
Компилятор
WEB-компилятор
Amx Mod X
1.9.0
Исходный код
#include <amxmodx>

#include <hamsandwich>
#include <fun>
#include <hlsdk_const>

new bool: g_bModeEnabled;

enum any: Health_settings {
HEALTH_PUNISH = -10, // How many health will be taken
HEALTH_BONUS = 50, // .. given for the kill
HEALTH_MIN = 1, // Min health points (HP) on player
HEALTH_MAX = 100 // Max HP can be on player
}

enum any: H_TYPES_s {
_TraceAttack_world,
_TraceAttack_breakable,
_TakeDamage_player,
_Killed
}

new any: Hooks[H_TYPES_s];
new Float: g_fLastDamage[MAX_PLAYERS + 1];

public plugin_init() {
register_plugin("Mode: Trigger Discipline", "0.0.1b", "wopox1337 @ Dev-CS.ru");

Hooks[_TraceAttack_world] = RegisterHam(Ham_TraceAttack, "worldspawn", "TraceAttack_World_Post", .Post = true, .specialbot = true);
Hooks[_TraceAttack_breakable] = RegisterHam(Ham_TraceAttack, "func_breakable", "TraceAttack_World_Post", .Post = true, .specialbot = true);
Hooks[_TakeDamage_player] = RegisterHam(Ham_TakeDamage, "player", "CBasePlayer_TakeDamage", .Post = true, .specialbot = true);
Hooks[_Killed] = RegisterHam(Ham_Killed, "player", "CBasePlayer_Killed_Post", .Post = true, .specialbot = true);

new pcvar = create_cvar(
.name = "mp_gamemode_Trigger_Discipline",
.string = "0",
.flags = FCVAR_PROTECTED,
.description = "Toggle Trigger Discipline mode.",
.has_min = true,
.min_val = 0.0,
.has_max = true,
.max_val = 1.0
)

hook_cvar_change(pcvar, "hookCvar_ModeChange");
bind_pcvar_num(pcvar, g_bModeEnabled);

Toggle_Mode(g_bModeEnabled);
}

public CBasePlayer_TakeDamage(pPlayer, idinflictor, iAttacker, Float:damage, damagebits) {
if(is_user_alive(iAttacker))
g_fLastDamage[iAttacker] = get_gametime();
}

public TraceAttack_World_Post(iVictim, iAttacker, Float: fDamage, Float: vDirection[3], tracehandle, damagebits) {
if(g_fLastDamage[iAttacker] != get_gametime()) {
add_user_health(iAttacker, HEALTH_PUNISH);
// Need hud ?!
Show_DamageHUD(iAttacker);
}
}

public CBasePlayer_Killed_Post(iVictim, iAttacker, shouldgib) {
add_user_health(iAttacker, HEALTH_BONUS);
// Need hud ?!
}

public hookCvar_ModeChange(pCvar) {
Toggle_Mode(g_bModeEnabled);

log_amx("== [Mode %s]", g_bModeEnabled ? "enabled" : "disabled");
}

new g_szCvars_Enabled[][] = {
"sv_restart 1"
}

new g_szCvars_Disabled[][] = {
"sv_restart 1"
}

Toggle_Mode(iStatus) {
switch(iStatus) {
case true: {
for(new i; i < H_TYPES_s; i++) {
if(Hooks[i]) {
EnableHamForward(Hooks[i]);
}
}

ExecCMDS(g_szCvars_Enabled, charsmax(g_szCvars_Enabled));
}
case false: {
for(new i; i < H_TYPES_s; i++) {
if(Hooks[i]) {
DisableHamForward(Hooks[i]);
}
}

ExecCMDS(g_szCvars_Disabled, charsmax(g_szCvars_Disabled));
}
}
}


stock ExecCMDS(szBuffer[][], const iLen) {
for(new i; i <= iLen; i++) {
server_cmd(szBuffer[i]);
}
}

stock add_user_health(const pPlayer, const iHealth)
{
if(!is_user_alive(pPlayer))
return;

// ExecuteHam - not approach
set_user_health(pPlayer, clamp(get_user_health(pPlayer) + iHealth, 1, HEALTH_MAX));
}

Show_DamageHUD(pPlayer)
{
static msgDamage;
if(!msgDamage)
msgDamage = get_user_msgid("Damage");

static vecOrigin[3];
get_user_origin(pPlayer, vecOrigin);

message_begin(MSG_ONE_UNRELIABLE, msgDamage, .player = pPlayer)
write_byte(0);
write_byte(1);
write_long(DMG_BULLET);
write_coord(vecOrigin[0]);
write_coord(vecOrigin[1]);
write_coord(vecOrigin[2]);
message_end();
}
не могу никак не скомпилировать
24 Апр 2019
1556121391537.png
 
В этой теме было размещено решение! Перейти к решению.
Сообщения
1,420
Реакции
2,511
Помог
58 раз(а)
Плагин не подходит для компилировании на вашей версии компилятора. Компилировать нужно локальным компилятором. Скачать компилятор можно под свою версию тут - https://www.amxmodx.org/downloads-new.php
 
Сообщения
1,420
Реакции
2,511
Помог
58 раз(а)
Schokk, нужно качать архив AMX Mod X той версии которая установлена на сервере. Скачиваем под Windows и там будет компилятор (папка addons/amxmodx/scripting).
 
Сообщения
1,420
Реакции
2,511
Помог
58 раз(а)
Schokk, скачивать нужно Windows версию, чтобы у compile было расширение exe
 
Сообщения
2,750
Реакции
3,013
Помог
61 раз(а)
Schokk, блин, попробуй скомпилировать локально я хз(( А вдруг получится блин.

А ещё стабильная, актуальная версия AMXX (и компилятора в его составе) находится в разделе загрузок главного сайта AMXX, блин я хз.

https://www.amxmodx.org/downloads-new.php

1556123025717.png

Качаешь базовый пакет, блин я хз, и распаковываешь в свободное место, я хз.

А дальше всё по инструкции локального компилирования, что тебе уже кидали блин.
@present, или скиньте плиз amxx
И тогда уже сам AmxModX, блин, скинет скомпилированный файл *.amxx, я хз...

блин так нужен этот мод , но нефига некопилит @present, блин что делать я хз(((
Я хз чё у тебя не получается, обьяснения вроде как ясные.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.

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

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