[CS: GO] Поправить Плагин

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

code++

Участник
Сообщения
367
Реакции
129
Помогите ув. скриптеры убрать ареновскую байду
идентичного плагина не могу найти для cs go / идентичный имеется в виду закинул музыку в папку прописал и играет все что находил это проигрывание по 1 песне
Оффтоп
 

Вложения

  • welcome_sound.smx
    8.8 КБ · Просмотры: 4

Danyas

Участник
Сообщения
2,173
Реакции
1,072
PHP:
#include <sdktools>

public Plugin:myinfo =
{
    name = "Welcome Sound",
    description = "Welcome Sound",
    author = "GoDtm666 (www.MyArena.ru)",
    version = "1.0.1",
    url = "http://www.MyArena.ru/"
};

new Handle:g_hFile;
new String:g_sLogPath[256];
new String:g_sWelcomeSoundList[256];
new Handle:g_hArraySounds;
new g_iCountSounds = -1;
new EngineVersion:g_iEngine;


public OnPluginStart()
{
    g_iEngine = GetEngineVersion();
    BuildPath(PathType:0, g_sLogPath, 256, "logs/welcome_sound_errors.log");
    BuildPath(PathType:0, g_sWelcomeSoundList, 256, "configs/welcome_sound_list.txt");
    g_hArraySounds = CreateArray(128, 0);
   
}

public OnMapStart()
{
    decl String:sBuffer[256];
    new iBuffer;
    g_hFile = OpenFile(g_sWelcomeSoundList, "r");
    if (g_hFile)
    {
        if (GetArraySize(g_hArraySounds))
        {
            ClearArray(g_hArraySounds);
        }
        g_iCountSounds = -1;
        while (!IsEndOfFile(g_hFile))
        {
            if (ReadFileLine(g_hFile, sBuffer, 256))
            {
                /*
                iBuffer = StrContains(sBuffer, "//", true);
                if (iBuffer != -1)
                {
                    sBuffer[iBuffer] = MissingTAG:0;
                }
                iBuffer = StrContains(sBuffer, "#", true);
                if (iBuffer != -1)
                {
                    sBuffer[iBuffer] = MissingTAG:0;
                }
                iBuffer = StrContains(sBuffer, ";", true);
                if (iBuffer != -1)
                {
                    sBuffer[iBuffer] = MissingTAG:0;
                }
               
                    Тут очистка файла от комментов
                */ 
               
                TrimString(sBuffer);
                if (!(sBuffer[0] && strlen(sBuffer) < 4))
                {
                    if (isFileExists(sBuffer, false))
                    {
                        if (g_iEngine == EngineVersion:12)
                        {
                            iBuffer = FindStringTable("soundprecache");
                            if (iBuffer == -1)
                            {
                                LogToFileEx(g_sLogPath, "Ошибка кеширования звукового файла '%s'", sBuffer);
                            }
                            else
                            {
                                Format(sBuffer, 256, "sound/%s", sBuffer);
                                AddFileToDownloadsTable(sBuffer);
                                Format(sBuffer, 256, "*%s", sBuffer[1]);
                                PushArrayString(g_hArraySounds, sBuffer);
                                AddToStringTable(iBuffer, sBuffer, "", -1);
                                g_iCountSounds += 1;
                            }
                        }
                        else
                        {
                            if (PrecacheSound(sBuffer, false))
                            {
                                PushArrayString(g_hArraySounds, sBuffer);
                                Format(sBuffer, 256, "sound/%s", sBuffer);
                                AddFileToDownloadsTable(sBuffer);
                                g_iCountSounds += 1;
                            }
                            LogToFileEx(g_sLogPath, "Ошибка кеширования звукового файла '%s'", sBuffer);
                        }
                    }
                    else
                    {
                        LogToFileEx(g_sLogPath, "файл не найден '%s'", sBuffer);
                    }
                }
            }
        }
        CloseHandle(g_hFile);
    }
    else
    {
        SetFailState("Не найден файл звуков по адресу '%s'", g_sWelcomeSoundList);
    }
}

public OnClientPutInServer(client)
{
    if (g_iCountSounds != -1)
    {
        CreateTimer(1.5, Timer_WelcomeSound, GetClientUserId(client), 2);
    }
}

public Action:Timer_WelcomeSound(Handle:timer, any:userid)
{
    new client = GetClientOfUserId(userid);
    if (client && IsClientConnected(client) && IsClientInGame(client) && !IsFakeClient(client))
    {
        decl String:sBuffer[256];
        if (g_iCountSounds)
        {
            GetArrayString(g_hArraySounds, GetRandomInt(0, g_iCountSounds), sBuffer, 256);
        }
        else
        {
            GetArrayString(g_hArraySounds, 0, sBuffer, 256);
        }
        EmitSoundToClient(client, sBuffer, -2, 0, 0, 0, 1.0, 100, -1, NULL_VECTOR, NULL_VECTOR, true, 0.0);
    }
    return Action:4;
}

public bool:isFileExists(String:soundfile[], bool:usevalue)
{
    decl String:sBuffer[256];
    Format(sBuffer, 256, "sound/%s", soundfile);
    if (FileExists(sBuffer, usevalue))
    {
        return true;
    }
    if (DirExists("custom"))
    {
        new Handle:hDir = OpenDirectory("custom");
        if (hDir)
        {
            decl FileType:type;
            while (ReadDirEntry(hDir, sBuffer, 256, type))
            {
                new var1;
                if (type == FileType:1 && strcmp(sBuffer, ".", false) && strcmp(sBuffer, "..", false))
                {
                    Format(sBuffer, 256, "custom/%s/sound/%s", sBuffer, soundfile);
                    if (FileExists(sBuffer, usevalue))
                    {
                        CloseHandle(hDir);
                        return true;
                    }
                }
            }
            CloseHandle(hDir);
        }
    }
    return false;
}

Хз, будет ли нормально работать, но удаление комментов в файле я решил не ковырять и просто закомментил.

По этому из файла "configs/welcome_sound_list.txt" лучше убрать все //, # и ;
 

code++

Участник
Сообщения
367
Реакции
129
PHP:
#include <sdktools>

public Plugin:myinfo =
{
    name = "Welcome Sound",
    description = "Welcome Sound",
    author = "GoDtm666 (www.MyArena.ru)",
    version = "1.0.1",
    url = "http://www.MyArena.ru/"
};

new Handle:g_hFile;
new String:g_sLogPath[256];
new String:g_sWelcomeSoundList[256];
new Handle:g_hArraySounds;
new g_iCountSounds = -1;
new EngineVersion:g_iEngine;


public OnPluginStart()
{
    g_iEngine = GetEngineVersion();
    BuildPath(PathType:0, g_sLogPath, 256, "logs/welcome_sound_errors.log");
    BuildPath(PathType:0, g_sWelcomeSoundList, 256, "configs/welcome_sound_list.txt");
    g_hArraySounds = CreateArray(128, 0);
 
}

public OnMapStart()
{
    decl String:sBuffer[256];
    new iBuffer;
    g_hFile = OpenFile(g_sWelcomeSoundList, "r");
    if (g_hFile)
    {
        if (GetArraySize(g_hArraySounds))
        {
            ClearArray(g_hArraySounds);
        }
        g_iCountSounds = -1;
        while (!IsEndOfFile(g_hFile))
        {
            if (ReadFileLine(g_hFile, sBuffer, 256))
            {
                /*
                iBuffer = StrContains(sBuffer, "//", true);
                if (iBuffer != -1)
                {
                    sBuffer[iBuffer] = MissingTAG:0;
                }
                iBuffer = StrContains(sBuffer, "#", true);
                if (iBuffer != -1)
                {
                    sBuffer[iBuffer] = MissingTAG:0;
                }
                iBuffer = StrContains(sBuffer, ";", true);
                if (iBuffer != -1)
                {
                    sBuffer[iBuffer] = MissingTAG:0;
                }
             
                    Тут очистка файла от комментов
                */
             
                TrimString(sBuffer);
                if (!(sBuffer[0] && strlen(sBuffer) < 4))
                {
                    if (isFileExists(sBuffer, false))
                    {
                        if (g_iEngine == EngineVersion:12)
                        {
                            iBuffer = FindStringTable("soundprecache");
                            if (iBuffer == -1)
                            {
                                LogToFileEx(g_sLogPath, "Ошибка кеширования звукового файла '%s'", sBuffer);
                            }
                            else
                            {
                                Format(sBuffer, 256, "sound/%s", sBuffer);
                                AddFileToDownloadsTable(sBuffer);
                                Format(sBuffer, 256, "*%s", sBuffer[1]);
                                PushArrayString(g_hArraySounds, sBuffer);
                                AddToStringTable(iBuffer, sBuffer, "", -1);
                                g_iCountSounds += 1;
                            }
                        }
                        else
                        {
                            if (PrecacheSound(sBuffer, false))
                            {
                                PushArrayString(g_hArraySounds, sBuffer);
                                Format(sBuffer, 256, "sound/%s", sBuffer);
                                AddFileToDownloadsTable(sBuffer);
                                g_iCountSounds += 1;
                            }
                            LogToFileEx(g_sLogPath, "Ошибка кеширования звукового файла '%s'", sBuffer);
                        }
                    }
                    else
                    {
                        LogToFileEx(g_sLogPath, "файл не найден '%s'", sBuffer);
                    }
                }
            }
        }
        CloseHandle(g_hFile);
    }
    else
    {
        SetFailState("Не найден файл звуков по адресу '%s'", g_sWelcomeSoundList);
    }
}

public OnClientPutInServer(client)
{
    if (g_iCountSounds != -1)
    {
        CreateTimer(1.5, Timer_WelcomeSound, GetClientUserId(client), 2);
    }
}

public Action:Timer_WelcomeSound(Handle:timer, any:userid)
{
    new client = GetClientOfUserId(userid);
    if (client && IsClientConnected(client) && IsClientInGame(client) && !IsFakeClient(client))
    {
        decl String:sBuffer[256];
        if (g_iCountSounds)
        {
            GetArrayString(g_hArraySounds, GetRandomInt(0, g_iCountSounds), sBuffer, 256);
        }
        else
        {
            GetArrayString(g_hArraySounds, 0, sBuffer, 256);
        }
        EmitSoundToClient(client, sBuffer, -2, 0, 0, 0, 1.0, 100, -1, NULL_VECTOR, NULL_VECTOR, true, 0.0);
    }
    return Action:4;
}

public bool:isFileExists(String:soundfile[], bool:usevalue)
{
    decl String:sBuffer[256];
    Format(sBuffer, 256, "sound/%s", soundfile);
    if (FileExists(sBuffer, usevalue))
    {
        return true;
    }
    if (DirExists("custom"))
    {
        new Handle:hDir = OpenDirectory("custom");
        if (hDir)
        {
            decl FileType:type;
            while (ReadDirEntry(hDir, sBuffer, 256, type))
            {
                new var1;
                if (type == FileType:1 && strcmp(sBuffer, ".", false) && strcmp(sBuffer, "..", false))
                {
                    Format(sBuffer, 256, "custom/%s/sound/%s", sBuffer, soundfile);
                    if (FileExists(sBuffer, usevalue))
                    {
                        CloseHandle(hDir);
                        return true;
                    }
                }
            }
            CloseHandle(hDir);
        }
    }
    return false;
}

Хз, будет ли нормально работать, но удаление комментов в файле я решил не ковырять и просто закомментил.

По этому из файла "configs/welcome_sound_list.txt" лучше убрать все //, # и ;
warning 203: symbol is never used: "var1" (157 строка)
 

code++

Участник
Сообщения
367
Реакции
129
warning 203: symbol is never used: "var1" (157 строка)
удалил закомпилил щас проверим))
--- Добавлено позже ---

По этому из файла "configs/welcome_sound_list.txt" лучше убрать все //, # и ;[/quote]
лог
PHP:
L 01/09/2017 - 00:34:27: файл не найден '// Путь к звуку из папки sound Пример: myarena/welcome/welcome1.mp3'
L 01/09/2017 - 00:34:27: файл не найден ''
L 01/09/2017 - 00:34:27: файл не найден '// Если установить несколько звуков, тогда будет воспроизводиться рандомно.'
L 01/09/2017 - 00:34:27: файл не найден '// Каждый адрес к звуку указывать с новой строки.'
 
Последнее редактирование:

Danyas

Участник
Сообщения
2,173
Реакции
1,072
Я же написал, убрать все комменты из файла
 

code++

Участник
Сообщения
367
Реакции
129
Я тебе говорю в файле со звуками комменты убери :/
лол
ошибка без комментов
L 01/09/2017 - 00:34:27: файл не найден '// Путь к звуку из папки sound Пример: myarena/welcome/welcome1.mp3'
L 01/09/2017 - 00:34:27: файл не найден ''
L 01/09/2017 - 00:34:27: файл не найден '// Если установить несколько звуков, тогда будет воспроизводиться рандомно.'
L 01/09/2017 - 00:34:27: файл не найден '// Каждый адрес к звуку указывать с новой строки.'

и ошибка с комментами
L 01/09/2017 - 00:34:27: файл не найден '// Путь к звуку из папки sound Пример: myarena/welcome/welcome1.mp3'
L 01/09/2017 - 00:34:27: файл не найден ''
L 01/09/2017 - 00:34:27: файл не найден '// Если установить несколько звуков, тогда будет воспроизводиться рандомно.'
L 01/09/2017 - 00:34:27: файл не найден '// Каждый адрес к звуку указывать с новой строки.'
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,982
@code++, тебе же уже 2 раза сказали: убери сами комменты
'// Путь к звуку из папки sound Пример: myarena/welcome/welcome1.mp3'
'// Если установить несколько звуков, тогда будет воспроизводиться рандомно.'
'// Каждый адрес к звуку указывать с новой строки.'
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу