Quick Defuse

babka68

Участник
Сообщения
2,124
Реакции
956
babka68 обновил(а) ресурс Quick Defuse новой записью:

Обновление 1.3

Прошу прощения,не перезаписал файл перевода,от того и сыпало вновь данную ошибку.
C-подобный:
L 10/09/2020 - 21:03:16: [SM] Fatal error encountered parsing translation file "quick_defuse_csgo.phrases.txt"
L 10/09/2020 - 21:03:16: [SM] Error (line 25, column 10): Callback error
- Исправлен недочет в переводе
- Теперь будет создаваться конфиг при 1 старте плагина,по пути /cfg/sourcemod/quick_defuse.cfg(Не забудьте убрать cvar из...

Узнать больше об этом обновлении...
 

MAMAC

Участник
Сообщения
60
Реакции
17
work ok now.... tnx

can u please only edit this line


STRALEEEEEEEEEEEEEEEE detonated the C4 with an incorrect wire choice of Black (9:10 odds) The correct wire was Red

Black to colorise in color ?


edit: and what this cvar mean?


// Обезвреживания без defuse,если 1 - 100%,если 0 - 50% шанс правильного выбора.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
qd_ctnokit "1"
 

Вложения

  • bdMw3Bq.png
    bdMw3Bq.png
    12.8 КБ · Просмотры: 45

babka68

Участник
Сообщения
2,124
Реакции
956
work ok now.... tnx

can u please only edit this line


STRALEEEEEEEEEEEEEEEE detonated the C4 with an incorrect wire choice of Black (9:10 odds) The correct wire was Red

Black to colorise in color ?
no black in [inc] cs: go Colors

1602356966673.png

edit: and what this cvar mean?

// Обезвреживания без defuse,если 1 - 100%,если 0 - 50% шанс правильного выбора.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
qd_ctnokit "1"
If cvar qd_ctnokit = 1, then your chance is 100% with the correct selected wire without a sapper kit.

If cvar qd_ctnokit = 0, then your chance is 50% with the correct selected wire without a sapper kit

If you have a sapper kit, then your chance to defuse the bomb with the right choice is 100%.
 

MAMAC

Участник
Сообщения
60
Реакции
17
no black in [inc] cs: go Colors

Посмотреть вложение 65616

If cvar qd_ctnokit = 1, then your chance is 100% with the correct selected wire without a sapper kit.

If cvar qd_ctnokit = 0, then your chance is 50% with the correct selected wire without a sapper kit

If you have a sapper kit, then your chance to defuse the bomb with the right choice is 100%.
Aha ok im think i understand. Im gonna, set that cvar to 1 and every right color pickup will defuse.
Сообщения автоматически склеены:

there is still {default} i will remove it from translation


eGQY6GP.jpeg
 
Последнее редактирование модератором:

lar1ch

Участник
Сообщения
106
Реакции
57
@babka68, при qd_ctnokit 1 бомба всё равно будет взрываться, если выбрать правильный провод.
Замени
C-подобный:
if (param2 == iwire && (GetRandomInt(0, 1) || !hcvar_ctnokit))
на
C-подобный:
if (param2 == iwire && (GetRandomInt(0, 1) || GetConVarBool(hcvar_ctnokit)))
 

babka68

Участник
Сообщения
2,124
Реакции
956

Vladu4eg

Участник
Сообщения
7
Реакции
0
А можно поменять % шанса при взрыве, если у тебя нет Def набора?
 

Troyanskaya

Участник
Сообщения
442
Реакции
30
  • Мне нравится
Реакции: NaN

babka68

Участник
Сообщения
2,124
Реакции
956
babka68 обновил(а) ресурс Quick Defuse новой записью:

Вроде как переписал до конца на новый синтаксис:D

Что поменялось можно посмотреть тут Тык
- Внимание изменены названия кваров
C-подобный:
sm_qd_t_choice "1" // Дать возможность террористам выбирать провод при закладке бомбы (1 - вкл, 0 - Выкл)
sm_qd_ct_no_kit "1" // Обезвреживания без defuse,если 1 - 100%,если 0 - 50% шанс правильного выбора
Перед обновлением обязательно удалите старую версию плагина,так как было...

Узнать больше об этом обновлении...
 

Nairs

Участник
Сообщения
38
Реакции
3
В чате не применяет цвета. Инклуд csgo colors установлен, игра csgo, в чем может быть проблема?
 

Nairs

Участник
Сообщения
38
Реакции
3
Какие цвета пытаетесь установить?
в общем и целом, дефолтный плагин, даже никак не изменял, а в чате выводит, например, {yellow} и т.д., тщесть цвета не применяются почему-то
 

Temlik

Участник
Сообщения
668
Реакции
174
В чате не применяет цвета. Инклуд csgo colors установлен, игра csgo, в чем может быть проблема?
Вывод в чат через CGOPrintToChat() делаете?
Сообщения автоматически склеены:

в общем и целом, дефолтный плагин, даже никак не изменял, а в чате выводит, например, {yellow} и т.д., тщесть цвета не применяются почему-то
Капсом цвета надо писать {YELLOW}
 

babka68

Участник
Сообщения
2,124
Реакции
956
в общем и целом, дефолтный плагин, даже никак не изменял, а в чате выводит, например, {yellow} и т.д., тщесть цвета не применяются почему-то
Вы капсом пишите?
C-подобный:
{DEFAULT}
{RED}
{LIGHTPURPLE}
{GREEN}
{LIME}
{LIGHTGREEN}
{LIGHTRED}
{GRAY}
{LIGHTOLIVE}
{OLIVE}
{PURPLE}
{LIGHTBLUE}
{BLUE}
 

Nairs

Участник
Сообщения
38
Реакции
3
Вы капсом пишите?
C-подобный:
{DEFAULT}
{RED}
{LIGHTPURPLE}
{GREEN}
{LIME}
{LIGHTGREEN}
{LIGHTRED}
{GRAY}
{LIGHTOLIVE}
{OLIVE}
{PURPLE}
{LIGHTBLUE}
{BLUE}
Нет
Сообщения автоматически склеены:

Вывод в чат через CGOPrintToChat() делаете?
Сообщения автоматически склеены:


Капсом цвета надо писать {YELLOW}
Сейчас попробую сделать так, как вы сказали
Сообщения автоматически склеены:

Вы капсом пишите?
C-подобный:
{DEFAULT}
{RED}
{LIGHTPURPLE}
{GREEN}
{LIME}
{LIGHTGREEN}
{LIGHTRED}
{GRAY}
{LIGHTOLIVE}
{OLIVE}
{PURPLE}
{LIGHTBLUE}
{BLUE}
1638645377906.png
Вроде бы все правильно..
 

Вложения

  • quick_defuse_csgo.phrases.txt
    2.1 КБ · Просмотры: 10
Последнее редактирование:

Temlik

Участник
Сообщения
668
Реакции
174
Нет
Сообщения автоматически склеены:


Сейчас попробую сделать так, как вы сказали
Сообщения автоматически склеены:


Вроде бы все правильно..
В исходнике ещё надо поправить
Снимок.PNG

P.S. это не всё, там ещё ниже есть, ищите CGOPrintToChat() и заменяйте
 

babka68

Участник
Сообщения
2,124
Реакции
956

Nairs

Участник
Сообщения
38
Реакции
3
В исходнике ещё надо поправить
Посмотреть вложение 88131
P.S. это не всё, там ещё ниже есть, ищите CGOPrintToChat() и заменяйте
Спасибо за наводку, исправил
Сообщения автоматически склеены:

Вы правите en перевод,а в чате я вижу ru
Решил
 

babka68

Участник
Сообщения
2,124
Реакции
956
Спасибо за наводку, исправил
Сообщения автоматически склеены:


Решил
Убрал цвета из исходника,протестируй
C-подобный:
#include <sdktools_functions>
#include <multicolors>
#include <csgo_colors>

#pragma semicolon 1
#pragma newdecls required

bool g_bcvar_Tchoice, g_bcvar_CtNoKit;
int g_iwire;

char wirecolours[5][] =  {
    "Blue", "Yellow", "Red", "Green", "Black"
};
char wirecolours_menu[5][] =  {
    "Blue (Menu)", "Yellow (Menu)", "Red (Menu)", "Green (Menu)", "Black (Menu)"
};

char Engine_Version;

#define GAME_UNDEFINED 0
#define GAME_CSS_34 1
#define GAME_CSS 2
#define GAME_CSGO 3

int GetCSGame()
{
    if (GetFeatureStatus(FeatureType_Native, "GetEngineVersion") == FeatureStatus_Available)
    {
        switch (GetEngineVersion())
        {
            case Engine_SourceSDK2006:return GAME_CSS_34;
            case Engine_CSS:return GAME_CSS;
            case Engine_CSGO:return GAME_CSGO;
        }
    }
    return GAME_UNDEFINED;
}

public Plugin myinfo =
{
    name = "Quick defuse",
    author = "by pRED, babka68",
    description = "Выбор провода,для быстрого обезвреживания.",
    version = "1.3",
    url = "https://vk.com/zakazserver68"
};

public void OnPluginStart()
{
    Engine_Version = GetCSGame();
    if (Engine_Version == GAME_UNDEFINED)SetFailState("Game is not supported!");
    if (Engine_Version == GAME_CSS_34)LoadTranslations("quick_defuse_cssv34.phrases");
    if (Engine_Version == GAME_CSS)LoadTranslations("quick_defuse_css.phrases");
    if (Engine_Version == GAME_CSGO)LoadTranslations("quick_defuse_csgo.phrases");
    
    ConVar cvar;
    cvar = CreateConVar("sm_qd_t_choice", "1", "Дать возможность террористам выбирать провод при закладке бомбы (1 - вкл, 0 - Выкл)", _, true, 0.0, true, 1.0);
    cvar.AddChangeHook(CVarChanged_TChoice);
    g_bcvar_Tchoice = cvar.BoolValue;
    
    cvar = CreateConVar("sm_qd_ct_no_kit", "1", "Обезвреживания без defuse,если 1 - 100%,если 0 - 50% шанс правильного выбора.", _, true, 0.0, true, 1.0);
    cvar.AddChangeHook(CVarChanged_Ct_No_Kit);
    g_bcvar_CtNoKit = cvar.BoolValue;
    
    HookEvent("bomb_begindefuse", Event_Defuse);
    HookEvent("bomb_beginplant", Event_Plant);
    HookEvent("bomb_planted", Event_Planted);
    HookEvent("bomb_abortdefuse", Event_Abort);
    HookEvent("bomb_abortplant", Event_Abort);
    
    AutoExecConfig(true, "quick_defuse");
}

public void CVarChanged_TChoice(ConVar cvar, const char[] oldValue, const char[] newValue) {
    g_bcvar_Tchoice = cvar.BoolValue;
}

public void CVarChanged_Ct_No_Kit(ConVar cvar, const char[] oldValue, const char[] newValue) {
    g_bcvar_CtNoKit = cvar.BoolValue;
}

public void Event_Plant(Event event, const char[] name, bool dontBroadcast) {
    int clientId = event.GetInt("userid"), client = GetClientOfUserId(clientId);
    char textstring[128];
    
    g_iwire = 0;
    
    if (g_bcvar_Tchoice) {
        SetGlobalTransTarget(client);
        Panel panel = CreatePanel();
        
        FormatEx(textstring, sizeof(textstring), "%t:", "Choose a Wire");
        panel.SetTitle(textstring);
        panel.DrawText(" ");
        
        FormatEx(textstring, sizeof(textstring), "%t", "Choose a Wire1");
        panel.DrawText(textstring);
        FormatEx(textstring, sizeof(textstring), "%t", "Choose a Wire2");
        panel.DrawText(textstring);
        panel.DrawText(" ");
        
        FormatEx(textstring, sizeof(textstring), "%t", wirecolours_menu[0]);
        panel.DrawItem(textstring);
        FormatEx(textstring, sizeof(textstring), "%t", wirecolours_menu[1]);
        panel.DrawItem(textstring);
        FormatEx(textstring, sizeof(textstring), "%t", wirecolours_menu[2]);
        panel.DrawItem(textstring);
        FormatEx(textstring, sizeof(textstring), "%t", wirecolours_menu[3]);
        panel.DrawItem(textstring);
        FormatEx(textstring, sizeof(textstring), "%t", wirecolours_menu[4]);
        panel.DrawItem(textstring);
        
        panel.DrawText(" ");
        FormatEx(textstring, sizeof(textstring), "%t", "Exit");
        panel.DrawItem(textstring);
        SendPanelToClient(panel, client, PanelPlant, 5);
        CloseHandle(panel);
    }
}

public void Event_Planted(Event event, const char[] name, bool dontBroadcast) {
    if (g_iwire == 0)g_iwire = GetRandomInt(1, 4);
}


public void Event_Defuse(Event event, const char[] name, bool dontBroadcast) {
    int clientId = event.GetInt("userid"), client = GetClientOfUserId(clientId);
    bool kit = event.GetBool("haskit");
    char textstring[128];
    
    SetGlobalTransTarget(client);
    Panel panel = CreatePanel();
    
    FormatEx(textstring, sizeof(textstring), "%t:", "Choose a Wire");
    panel.SetTitle(textstring);
    FormatEx(textstring, sizeof(textstring), "%t", "Choose a Wire3");
    panel.DrawText(textstring);
    
    panel.DrawText(" ");
    
    FormatEx(textstring, sizeof(textstring), "%t", "Choose a Wire4");
    panel.SetTitle(textstring);
    FormatEx(textstring, sizeof(textstring), "%t", "Choose a Wire5");
    panel.SetTitle(textstring);
    
    panel.SetTitle("");
    
    FormatEx(textstring, sizeof(textstring), "%t", wirecolours_menu[0]);
    panel.DrawItem(textstring);
    FormatEx(textstring, sizeof(textstring), "%t", wirecolours_menu[1]);
    panel.DrawItem(textstring);
    FormatEx(textstring, sizeof(textstring), "%t", wirecolours_menu[2]);
    panel.DrawItem(textstring);
    FormatEx(textstring, sizeof(textstring), "%t", wirecolours_menu[3]);
    panel.DrawItem(textstring);
    FormatEx(textstring, sizeof(textstring), "%t", wirecolours_menu[4]);
    panel.DrawItem(textstring);
    
    DrawPanelText(panel, " ");
    FormatEx(textstring, sizeof(textstring), "%t", "Exit");
    DrawPanelItem(panel, textstring);
    
    if (kit)SendPanelToClient(panel, client, PanelDefuseKit, 5);
    else SendPanelToClient(panel, client, PanelNoKit, 5);
    
    CloseHandle(panel);
}

public int PanelPlant(Handle menu, MenuAction action, int param1, int param2) {
    if (action == MenuAction_Select && param2 > 0 && param2 < 6) {
        g_iwire = param2;
        if (Engine_Version == GAME_CSGO)
            CGOPrintToChat(param1, "%t %t %t", "T Choosen1", wirecolours[param2 - 1], "T Choosen2");
        else
            CPrintToChat(param1, "%t %t %t", "T Choosen1", wirecolours[param2 - 1], "T Choosen2");
    }
}

public int PanelDefuseKit(Handle menu, MenuAction action, int param1, int param2) {
    if (action == MenuAction_Select && param2 > 0 && param2 < 6) {
        int bombent = FindEntityByClassname(-1, "planted_c4");
        
        if (bombent > 0) {
            char name[32];
            GetClientName(param1, name, sizeof(name));
            
            if (param2 == g_iwire) {
                SetEntPropFloat(bombent, Prop_Send, "m_flDefuseCountDown", 1.0);
                if (Engine_Version == GAME_CSGO)
                    CGOPrintToChatAll("%s %t %t %t", name, "CT Done1", wirecolours[param2 - 1], "CT Done2");
                else
                    CPrintToChatAll("%s %t %t %t", name, "CT Done1", wirecolours[param2 - 1], "CT Done2");
            }
            else {
                SetEntPropFloat(bombent, Prop_Send, "m_flC4Blow", 1.0);
                if (Engine_Version == GAME_CSGO)
                    CGOPrintToChatAll("%s %t %t %t %t", name, "CT Fail1", wirecolours[param2 - 1], "CT Fail2", wirecolours[g_iwire - 1]);
                else
                    CPrintToChatAll("%s %t %t %t %t", name, "CT Fail1", wirecolours[param2 - 1], "CT Fail2", wirecolours[g_iwire - 1]);
            }
        }
    }
}

public int PanelNoKit(Handle menu, MenuAction action, int param1, int param2) {
    if (action == MenuAction_Select && param2 > 0 && param2 < 6) {
        int bombent = FindEntityByClassname(-1, "planted_c4");
        
        if (bombent > 0) {
            char name[32];
            GetClientName(param1, name, sizeof(name));
            
            if (param2 == g_iwire && (GetRandomInt(0, 1) || g_bcvar_CtNoKit)) {
                SetEntPropFloat(bombent, Prop_Send, "m_flDefuseCountDown", 1.0);
                if (Engine_Version == GAME_CSGO)
                    CGOPrintToChatAll("%s %t %t %t", name, "CT Done No Kit1", wirecolours[param2 - 1], "CT Done No Kit2");
                else
                    CPrintToChatAll("%s %t %t %t", name, "CT Done No Kit1", wirecolours[param2 - 1], "CT Done No Kit2");
            }
            
            else {
                SetEntPropFloat(bombent, Prop_Send, "m_flC4Blow", 1.0);
                if (param2 != g_iwire) {
                    if (Engine_Version == GAME_CSGO)
                        CGOPrintToChatAll("%s %t %t %t %t", name, "CT Fail No Kit1a", wirecolours[param2 - 1], "CT Fail No Kit2a", wirecolours[g_iwire - 1]);
                    else
                        CPrintToChatAll("%s %t %t %t %t", name, "CT Fail No Kit1a", wirecolours[param2 - 1], "CT Fail No Kit2a", wirecolours[g_iwire - 1]);
                }
                
                else {
                    if (Engine_Version == GAME_CSGO)
                        CGOPrintToChatAll("%s %t %t %t!", name, "CT Fail No Kit1b", wirecolours[param2 - 1], "CT Fail No Kit2b");
                    else
                        CPrintToChatAll("%s %t %t %t!", name, "CT Fail No Kit1b", wirecolours[param2 - 1], "CT Fail No Kit2b");
                }
            }
        }
    }
}

public void Event_Abort(Event event, const char[] name, bool dontBroadcast) {
    int client = GetClientOfUserId(event.GetInt("userid"));
    CancelClientMenu(client);
}
 

nosid91

Участник
Сообщения
12
Реакции
8
У меня не работали корректно цвета в CS GO. Правил переменные аля {red} на {RED}. Что в скрипте, что в переводах.
Скину, может кому понадобиться
 

Вложения

  • Quick defuse.zip
    25.7 КБ · Просмотры: 23
Сверху Снизу