Заявка за редактиране на плъгин - LoadingSound

Ако имате затруднения при изработката/преработката на даден плъгин - пишете тук, ще се опитаме да ви помогнем!
Аватар
aBlack
Извън линия
Потребител
Потребител
Мнения: 224
Регистриран на: 14 Авг 2018, 01:10
Местоположение: Brussels
Се отблагодари: 46 пъти
Получена благодарност: 47 пъти
Обратна връзка:

Заявка за редактиране на плъгин - LoadingSound

Мнение от aBlack » 06 Мар 2021, 11:44

Здравейте.
Намерих плъгин който пуска музика при свързване към сървъра, плъгина си има собствен .ini файл от където може да задавате път към звуците.
Компилирах плъгина локално, зададох път към файлове, инсталирах плъгина смених картата и плъгина тръгна да работи :gamer2: обаче при свързване към сървъра, ме изхвърля от играта ?! Играя, чрез стеам.

Код за потвърждение: Избери целия код

#pragma semicolon 1

#include <amxmodx>
#include <amxmisc>

new const VERSION[] = "1.0.0";
new const CONFIG_NAME[] = "MusicConnection.ini";

#define IsMp3Format(%1)    bool:(equali(%1[strlen(%1) - 4], ".mp3"))
#define IsWavFormat(%1)    bool:(equali(%1[strlen(%1) - 4], ".wav"))

enum (+=1) {
    SectionNone = -1,
    MusicConnection,
    Setting
};

new Array:g_MusicConnection;
new Trie:g_Setting;
new g_MusicConnectionNum, g_Section, g_Sound[MAX_RESOURCE_PATH_LENGTH]; 

public plugin_precache() {
    register_plugin("Music Connection", VERSION, "Jumper");

    g_MusicConnection = ArrayCreate(MAX_RESOURCE_PATH_LENGTH);
    g_Setting = TrieCreate();

    new filedir[MAX_RESOURCE_PATH_LENGTH];
    get_localinfo("amxx_configsdir", filedir, charsmax(filedir));
    format(filedir, charsmax(filedir), "%s/%s", filedir, CONFIG_NAME);

    if(!file_exists(filedir)) {
        set_fail_state("File '%s' not found!", filedir);
    }

    if(!parseConfigINI(filedir)) {
        set_fail_state("Fatal parse error!");
    }

    if(g_MusicConnection) {
        g_MusicConnectionNum = ArraySize(g_MusicConnection);
    }
}

public client_connect(id) {
    if(is_user_bot(id) || is_user_hltv(id)) {
        return;
    }

    ArrayGetString(g_MusicConnection, random(g_MusicConnectionNum), g_Sound, charsmax(g_Sound));

    if(IsMp3Format(g_Sound)) {
        client_cmd(id, "stopsound; mp3 play %s", g_Sound);
    } else {
        client_cmd(id, "stopsound; spk %s", g_Sound);
    }
}

public client_putinserver(id) {
    if(is_user_bot(id) || is_user_hltv(id)) {
        return;
    }

    new Float:fTime;
    TrieGetCell(g_Setting, "time_stop_sound", fTime);
    set_task_ex(fTime, "StopSound", id);
}

public StopSound(id) {
    if(!is_user_connected(id)) {
        return;
    }

    client_cmd(id, "stopsound");
}

bool:parseConfigINI(const configFile[]) {
    new INIParser:parser = INI_CreateParser();

    if(parser != Invalid_INIParser) {
        INI_SetReaders(parser, "ReadCFGKeyValue", "ReadCFGNewSection");
        INI_ParseFile(parser, configFile);
        INI_DestroyParser(parser);
        return true;
    }

    return false;
}

public bool:ReadCFGNewSection(INIParser:handle, const section[], bool:invalid_tokens, bool:close_bracket) {
    if(!close_bracket) {
        log_amx("Closing bracket was not detected! Current section name '%s'.", section);
        return false;
    }

    if(equal(section, "setting")) {
        g_Section = Setting;
        return true;
    }
    
    if(equal(section, "music_connection")) {
        g_Section = MusicConnection;
        return true;
    }

    return false;
}

public bool:ReadCFGKeyValue(INIParser:handle, const key[], const value[]) {
    switch(g_Section) {
        case SectionNone: {
             return false;
        }
        case Setting: {
             if(!key[0] || !value[0]) {
                 log_amx("Emty key or value!");
                 return false;
             }
             new Float:fvalue = str_to_float(value);
             TrieSetCell(g_Setting, key, fvalue);
        }
        case MusicConnection: {
             if((key[0] && !IsWavFormat(key)) && (key[0] && !IsMp3Format(key))) {
                 log_amx("Invalid sound file! Parse string '%s'. Only sound files in wav or mp3 format should be used!", key);
                 return false;
             }
             new Sound[MAX_RESOURCE_PATH_LENGTH];
             format(Sound, charsmax(Sound), "sound/%s", key);
             if(file_exists(fmt("%s", Sound))) {
                 if(IsMp3Format(key)) {
                     precache_generic(Sound);
                 } else {
                     precache_sound(key);
                 }
             }
             ArrayPushString(g_MusicConnection, Sound);
        }
    }

    return true;
}
Ето и плъгина, ако може да се поправи ще се радвам...

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Заявка за редактиране на плъгин - LoadingSound

Мнение от OciXCrom » 06 Мар 2021, 14:11

Звуци по никакъв начин не могат да те изхвърлят от сървъра.

Аватар
aBlack
Извън линия
Потребител
Потребител
Мнения: 224
Регистриран на: 14 Авг 2018, 01:10
Местоположение: Brussels
Се отблагодари: 46 пъти
Получена благодарност: 47 пъти
Обратна връзка:

Заявка за редактиране на плъгин - LoadingSound

Мнение от aBlack » 06 Мар 2021, 17:54

Да публикувам демо ?
В началото ги изтегля без проблем.. до последния момент всичко е ОК обаче преди да ме пусне в играта, играта се самоизключва ..
OciXCrom написа: 06 Мар 2021, 14:11 Звуци по никакъв начин не могат да те изхвърлят от сървъра.
Иначе да прав си, няма да ме изхвърля от играта просто в конзолата ще изписва, че не може да зареди звуците ...

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Заявка за редактиране на плъгин - LoadingSound

Мнение от OciXCrom » 06 Мар 2021, 20:27

Не виждам как ще снимаш демо извън сървъра. Сигурен ли си, че проблемът го няма като изключиш плъгина? Някакви грешки?

Аватар
aBlack
Извън линия
Потребител
Потребител
Мнения: 224
Регистриран на: 14 Авг 2018, 01:10
Местоположение: Brussels
Се отблагодари: 46 пъти
Получена благодарност: 47 пъти
Обратна връзка:

Заявка за редактиране на плъгин - LoadingSound

Мнение от aBlack » 06 Мар 2021, 20:53

Спрях плъгина и вече може да се кънектне към сървъра, иначе не пускаше... Как ще снимам демо не знам, сега има играчи в сървъра и не мога да го активирам, може и да изхвърли всичките играчи след смяна на картата.

Аватар
rago12
Извън линия
Потребител
Потребител
Мнения: 63
Регистриран на: 10 Апр 2017, 15:23
Получена благодарност: 34 пъти

Заявка за редактиране на плъгин - LoadingSound

Мнение от rago12 » 06 Мар 2021, 21:55

Пусни debug, провери еррор логовете и качи каквото има

Аватар
aBlack
Извън линия
Потребител
Потребител
Мнения: 224
Регистриран на: 14 Авг 2018, 01:10
Местоположение: Brussels
Се отблагодари: 46 пъти
Получена благодарност: 47 пъти
Обратна връзка:

Заявка за редактиране на плъгин - LoadingSound

Мнение от aBlack » 06 Мар 2021, 23:10

Код за потвърждение: Избери целия код

L 03/06/2021 - 23:06:36: [adminvote.amxx] Vote: "[bGcC]` Alpha<3100><STEAM_0:7><>" vote map (map "de_dust2")
L 03/06/2021 - 23:06:48: [adminvote.amxx] Vote: Voting successful (got "1") (needed "1") (result "changelevel de_dust2")
L 03/06/2021 - 23:06:48: [adminvote.amxx] Vote: Result accepted
L 03/06/2021 - 23:06:51: -------- Mapchange to de_dust2 --------
L 03/06/2021 - 23:06:51: [CA_Gag.amxx] ADD: Reason[#1]: 'Reason #1' (Flags:'bc', Time:'1500 s.')
L 03/06/2021 - 23:06:51: [CA_Gag.amxx] ADD: Reason[#2]: 'Reason #2' (Flags:'bc', Time:'1500 s.')
L 03/06/2021 - 23:06:51: [CA_Gag.amxx] ADD: Reason[#3]: 'Reason #3' (Flags:'bc', Time:'1500 s.')
L 03/06/2021 - 23:06:51: [CA_Gag.amxx] ADD: Reason[#4]: 'Reason #4' (Flags:'bc', Time:'1500 s.')
L 03/06/2021 - 23:06:52: [admin.amxx] Login: "TryAgain<3069><STEAM_1:1:1><>" became an admin (account "TryAgain") (access "abcdefghijklmnopqrstuv") (address "89......")
L 03/06/2021 - 23:06:52: [admin.amxx] Login: "[bGcC]` Alpha<3100><STEAM_07><>" became an admin (account "******) (access "abcdefghijklmnopqrstuv") (address "80....")
L 03/06/2021 - 23:06:54: [admin.amxx] Login: "TryAgain<3101><*****><>" became an admin (account "TryAgain") (access "abcdefghijklmnopqrstuv") (address "89.2...")
Няма логове и не пуска никой в сървъра, след като активирам плъгина (+ добавих дебъг)..

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Помощ в скриптирането”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 11 госта