Написание плагинов

lesha

Участник
Сообщения
84
Реакции
7
Поправьте пожалуйста плагин, что бы звук в конце раунда не играл, а то играет звук при убийстве в конце раунда и музыка от плагина "Round and Map End Sound" (2.4.5)
 

Вложения

  • adead.sp
    680 байт · Просмотры: 5

SpeEdE BLR

Участник
Сообщения
42
Реакции
2
Поправьте пожалуйста плагин, что бы звук в конце раунда не играл, а то играет звук при убийстве в конце раунда и музыка от плагина "Round and Map End Sound" (2.4.5)
А нельзя просто звук удалить?
либо в этой строчке поставить

public OnMapStart()
{
PrecacheSound("war_2020_skins/death/death.mp3", false); //вместо true просто поставить false
}

Я конечно не скриптер но думаю что можно так :D
 

lesha

Участник
Сообщения
84
Реакции
7
А нельзя просто звук удалить?
либо в этой строчке поставить

public OnMapStart()
{
PrecacheSound("war_2020_skins/death/death.mp3", false); //вместо true просто поставить false
}

Я конечно не скриптер но думаю что можно так :D
а звук будет работать всегда при убийстве кроме конца раунда?
 

SpeEdE BLR

Участник
Сообщения
42
Реакции
2
а звук будет работать всегда при убийстве кроме конца раунда?
вот это я не знаю я просто предположил что если так сделать то звук просто будет отключен вообще. А вот как сделать чтобы не играл в конце раунда это я хз.
Сорри что не помог.
 

OptyCrash

Участник
Сообщения
118
Реакции
10
Я думаю что это бредовый плагин ваше.
Так как 90 процентов малых,не когда не нажмут (нет).
Ну кому как конечно)
Так есть возможность редактировать их, в крайнем случае прописать в правилах о бане за ложную инфу и всё
 

lesha

Участник
Сообщения
84
Реакции
7
Поправьте пожалуйста плагин, что бы звук в конце раунда не играл, а то играет звук при убийстве в конце раунда и музыка от плагина "Round and Map End Sound" (2.4.5)
 

Вложения

  • adead.sp
    680 байт · Просмотры: 3

-=HellFire=-

Kernel panic - not syncing: Fatal exception
Сообщения
1,394
Реакции
585
Поправьте пожалуйста плагин, что бы звук в конце раунда не играл, а то играет звук при убийстве в конце раунда и музыка от плагина "Round and Map End Sound" (2.4.5)
Так удали его, в нём кроме как проигрывание звука ничего нету
И вообще он не воспроизводит ничего в конце раунда, только при смерти игрока
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Кикае игрока через (sm_kick) с обрезаной причиной (27 символов), как это можно поправить? В плагине, что контролирует кик (по правилам делает это), буферы стоят как минимум на 128 символа
C-подобный:
    "#2.7"
    {
        "ru"        "2.7 Мешать игрокам, специально затягивать раунд"
        "en"        "2.7 Interfere with players, deliberately delay the round"
        "ua"        "2.7 Заважати гравцям, спеціально тянути раунд"
    }
1579026995662.png
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Ммм..? Много инфы, пасиба. Думаю надо сделать это и это. Будет это. Инфу плез.
Ещё заметил кое-что, если добавить в причину кавычки sm_kick @me "reason", то будет знак &quote; ... и обрезаный текст, если без кавычек, то причина упирается в ~62 символа и дальше идёт за грань меню
с кавычками
1579028468964.png



Без них
1579028499099.png

Много инфы, пасиба. Думаю надо сделать это и это. Будет это. Инфу плез.
Оффтоп
 

RusJJ

Доброе утро девачьки
Сообщения
2,582
Реакции
1,075
В плагине, что контролирует кик (по правилам делает это), буферы стоят как минимум на 128 символа
Сорян, не заметил... Латиница кушает 2 символа, а так же нулевой символ \0 - 1 символ. Буфер просто увеличь, лол. Если не поможет, то думать надо. Я хз как ты файл читаешь, в KV вроде нет такого жёсткого ограничения.
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Сорян, не заметил... Латиница кушает 2 символа, а так же нулевой символ \0 - 1 символ. Буфер просто увеличь, лол. Если не поможет, то думать надо. Я хз как ты файл читаешь, в KV вроде нет такого жёсткого ограничения.
Текст для причины берётся из файла перевода и подставляются кавычки \"reaspon\" (43 строка в коде ниже)
Буфер iCmd[][] = 256 символов, в нём вся команда sm_kick "Victim" "reason"

C++:
public void ShowPlayersMenu(int client)
{
    Menu hMenu = new Menu(OnMainPlayersDisplay);
    g_bSayCMD[client] = false;
    char buffName[64], iId[4];
 
    Format(buffName, sizeof(buffName), "%T", "Select player title", client);
    hMenu.SetTitle(buffName);

    for(int i = 1; i <= MaxClients; i++)  if(IsValidClient(i))
    {
        AdminId id = GetUserAdmin(i);
        Format(buffName, sizeof(buffName), "%T %N", (client == i ? "Me" : (id != INVALID_ADMIN_ID ? "Admin" : "Player")), client, i);
        IntToString(i, iId, sizeof(iId));
        hMenu.AddItem(iId, buffName);
    }
    hMenu.Display(client, MENU_TIME_FOREVER);
}

public int OnMainPlayersDisplay(Menu hMenu, MenuAction action, int client, int item)
{
    switch(action)
    {
        case MenuAction_Cancel:
        {
            // if(item == MenuCancel_Interrupted) CreateTimer(0.08, MenuRestartOnClosed, client);
            ShowMainMenu(client);
        }
        case MenuAction_Select:
        {
            char Victim[4], buff[32], buffTrans[128];
            hMenu.GetItem(item, Victim, sizeof(Victim));

            for(int poss = 0; poss < 4; poss++) if(iCurrectBoolDenial[client][poss])
            {
                // TrimString(iCmd[client][poss]);

                iVictim[client] = StringToInt(Victim);

                Format(buff, sizeof(buff), "\"#%i\"", GetClientUserId(iVictim[client]));
                ReplaceString(iCmd[client][poss], sizeof(iCmd), "{Victim}", buff, false);

                if(iReason[client][0] == '#') Format(buffTrans, sizeof(buffTrans), "\"%T\"", iReason[client], iVictim[client]);
                else Format(buffTrans, sizeof(buffTrans), "\"%s\"", iReason[client]);
                ReplaceString(iCmd[client][poss], sizeof(iCmd), "{Reason}", buffTrans, false);

                Format(buff, sizeof(buff), "\"%i\"", iReadyCount[client][poss]);
                ReplaceString(iCmd[client][poss], sizeof(iCmd), "{Count}", buff, false);

                Format(buff, sizeof(buff), "\"#%i\"", client);
                ReplaceString(iCmd[client][poss], sizeof(iCmd), "{Admin}", buff, false);
                // PrintToChat(client, "%s", iCmd[client][poss]);
                ShowConfirmMenu(client);
            }
        }
    }
}
 
Последнее редактирование:

RusJJ

Доброе утро девачьки
Сообщения
2,582
Реакции
1,075
iCmd[client][poss], sizeof(iCmd)
Вроде надо sizeof(iCmd[]). Не помню этого, мало использую массивы строк. Если я прав, то тебе подставляет MAXCLIENTS+1 = 65 (где 1 символ идёт на \0), в итоге 64 видимых символа.
 
Последнее редактирование:

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Вроде надо sizeof(iCmd[]). Не помню этого, мало использую массивы строк. Если я прав, то тебе подставляет MAXCLIENTS+1 = 65 (где 1 символ идёт на \0), в итоге 64 видимых символа.
Буфер поменял, но вот нестыковочка, первая строка - дебаг, пишется сразу же после форматирования строки и там она полная, но при кике она теряется...
C-подобный:
sm_kick "#248" "2.6 Використовування багів карти чи сервера"
L 01/14/2020 - 22:27:02: [admin/basecommands.smx] "Vito<248><STEAM_1:0:429771529><>" kicked "Vito<248><STEAM_1:0:429771529><>" (reason ""2.6 Використовування багів карти ч�")
L 01/14/2020 - 22:27:02: "Vito<248><STEAM_1:0:429771529>" switched from team <TERRORIST> to <Unassigned>
Dropped Vito from server: "2.6 Використовування багів карти ч�

C++:
stock void GoRull(int client)
{
    for(int poss = 0; poss < 4; poss++) if(iCurrectBoolDenial[client][poss])
    {
        if(CheckCommandAccess(client, iOneCmd[client][poss], GetCommandFlags(iOneCmd[client][poss])))
            FakeClientCommand(client, iCmd[client][poss]);
        else ServerCommand(iCmd[client][poss]);
    }
}
 
Последнее редактирование:
Сверху Снизу