[Услуги] Декомпиляция, модификация, взлом (отвязка), декомпрессия плагинов

Lara Croft

Участник
Сообщения
35
Реакции
4
Начнём.
Нет, не из-за подобной ерунды, а из-за желания убрать конкурентов и, как уже писали, получить сверхприбыль из воздуха. Никому доступ к исходникам плагина не мешал в его продаже, а тем более — в разработке новых. Но проще же винить всех вокруг.

Это - его право! Как он считает нужным делать - так он и делает. Законы он не нарушает. И твоё субьективное мнение - для него не указ.
--- Добавлено позже ---
Не стоит подменять понятия. Взлом — дело уголовно наказуемое, а твои плагины даже и взломать нельзя. Более того, все твои плагины можно свободно модифицировать и распространять, если распространяющий сохраняет тебя в качестве автора плагина. Понятие «взлом» здесь неприменимо. А варез, читы и прочее запрещены нашими правилами, мил человек.

И тут ты снова ошибаешься. Пример с программами Microsoft я тебе уже привёл.
--- Добавлено позже ---
Ещё как нарушаешь. Более того, открою тебе секрет, который ты и так знаешь: лицензия GPLv3 распространяется на все производные от SM продукты. Это касается как .sp, так и .smx.
Удобно получается: если лицензия тебя не устраивает — в топку её. Напишем плагин под своей воображаемой лицензией.

Пишешь явную ерунду. Если у тебя есть что то предьявить wS на уровне Закона - действуй!

А вообще, The Night Fury, разговор с тобой про программирование, соблюдение Законов - напоминает оценки жюри на конкурсе талантов, где члены жюри - вообще не имеют никаких талантов ...
 
Последнее редактирование:

The Night Fury

Участник
Сообщения
1,300
Реакции
1,395
Его право здесь регулируется законами Украины.
Как он считает нужным делать - так он и делает. Законы он не нарушает.
Статья 164 административного кодекса Украины считает иначе.
Пример с программами Microsoft я тебе уже привёл.
А что с MS? У них есть EULA, под которым они всё свое ПО распространяют, где эти модификации можно подогнать под взлом. Под GPL так не получится. Ознакомься с текстом лицензии прежде чем писать не имеющий к теме отношения бред.
Пишешь явную ерунду.
В чём это выражается? Конкретно, по пунктам, с подтверждением.
Если у тебя есть что то предьявить wS на уровне Закона - действуй!
Уже указал, его ожидает вполне себе статья 164. Можно ещё порыться и накопать статей, но зачем?
 

Lara Croft

Участник
Сообщения
35
Реакции
4
Статья 164 административного кодекса Украины считает иначе.

Рыться можешь сколько угодно. Но из свой болтовни ты не сделаешь Уголовное дело или любое другое преследование на уровне Закона.
Пока не указаны идентификационные данные, он не может быть идентифицирован как ИП/юридическое лицо, следовательно — им не является в момент заключения «договора» (который, напомню, уже является недейстивтельным), а при наличии этих регистрационных и идентификационных данных он обязан их предоставлять наряду с офертой. Непредоставление этих данных (при их наличии) также является нарушением.
Соответственно, он:

не является лицом со статусом предпринимателя;
или же он им является, но никакой бухгалтерии не ведёт, отчётность и налоговые отчисления тоже не отправляет, скрывает регистрационные/идентификационные данные, чем нарушает требования закона.
Either way, набигающие здесь не нужны, а речь ведётся с @schmidt.

Он может платить Единый фиксированный налог, как это предусмотрено для ПП и ЧП. Более того, для ПП и ЧП с мелкими денежными оборотами нет нужды выдавать какие то документы по сделкам в виде контрактов. Или на базаре и рынке тебе контракты на руки выдают? Он может показывать свой оборот, оборот не превышает суммы, ограниченной Законом, он платит фиксированный налог. Что не так?
Повторяю еще раз - приведи конкретные факты, которые говорят о том, что wS уклоняется от налогов в своей стране - иначе ты лжец и клевещешь на человека, что есть Уголовно наказуемо!
 
Последнее редактирование:

The Night Fury

Участник
Сообщения
1,300
Реакции
1,395
У тебя есть факты, подтверждающие твои слова?
Пока не указаны идентификационные данные, он не может быть идентифицирован как ИП/юридическое лицо, следовательно — им не является в момент заключения «договора» (который, напомню, уже является недейстивтельным), а при наличии этих регистрационных и идентификационных данных он обязан их предоставлять наряду с офертой. Непредоставление этих данных (при их наличии) также является нарушением.
Соответственно, он:
  • не является лицом со статусом предпринимателя;
  • или же он им является, но никакой бухгалтерии не ведёт, отчётность и налоговые отчисления тоже не отправляет, скрывает регистрационные/идентификационные данные, чем нарушает требования закона.
Either way, набигающие здесь не нужны, а речь ведётся с @schmidt.
 

DarklSide

Участник
Сообщения
931
Реакции
468
Такое ощущение, что ты спутал декларацию о намерениях с Конституцией. Не нужно от слова "Лицензия" испытывать такой оргазм, ибо в итоге все упирается в Законы и правовую оценку согласно этим Законам.
Говорится об лицензионном договоре на использование объектов авторского права.

Где ратифицированы Законы в данных странах относительно выполнения требований лицензий?
Лицензия GPL не одобрена государством ... - закон не содержит такого требования к гражданско-правовым договорам.


# ГК РФ Статья 421. Свобода договора, п. 2:
2. Стороны могут заключить договор, как предусмотренный, так и не предусмотренный законом или иными правовыми актами. К договору, не предусмотренному законом или иными правовыми актами, при отсутствии признаков, указанных в пункте 3 настоящей статьи, правила об отдельных видах договоров, предусмотренных законом или иными правовыми актами, не применяются, что не исключает возможности применения правил об аналогии закона (пункт 1 статьи 6) к отдельным отношениям сторон по договору.
(в ред. Федерального закона от 08.03.2015 N 42-ФЗ)
ГК РФ Статья 421. Свобода договора / КонсультантПлюс

# ГК РФ Статья 432. Основные положения о заключении договора
1. Договор считается заключенным, если между сторонами, в требуемой в подлежащих случаях форме, достигнуто соглашение по всем существенным условиям договора.
Существенными являются условия о предмете договора, условия, которые названы в законе или иных правовых актах как существенные или необходимые для договоров данного вида, а также все те условия, относительно которых по заявлению одной из сторон должно быть достигнуто соглашение.

О правомерности использовании субъектами малого бизнеса свободного программного обеспечения, распространяемого под лицензией GNU GPL различных версий.

SourcePawn is Copyright (C) 2006-2008 AlliedModders LLC. All rights reserved,
SourceMod is Copyright (C) 2006-2008 AlliedModders LLC. All rights reserved -
как продукт интеллектуального труда, становится объектом авторского права и имеет право ставить любые условия и ограничения [собственно лицензию].

Wiki [не оффтоп] -
Лицензия на программное обеспечение — это правовой инструмент, определяющий использование и распространение программного обеспечения, защищённого авторским правом. Обычно лицензия на программное обеспечение разрешает получателю использовать одну или несколько копий программы, причём без лицензии такое использование рассматривалось бы в рамках закона как нарушение авторских прав издателя.

Лицензии свободного и открытого ПО

В отличие от проприетарных, свободные и открытые лицензии не оставляют права на конкретную копию программы её издателю, а передают самые важные из них (составляющие 4 свободы по определению Фонда СПО, или попадающие под другое определение свободного или открытого ПО) конечному пользователю, который и становится владельцем. В результате пользователь по умолчанию получает важные права, которые закон об авторском праве по умолчанию даёт только владельцу копии, однако все авторские права на ПО по-прежнему остаются у издателя. Примером свободной лицензии является GNU General Public License (GPL), которая даёт пользователю право самому распространять ПО под этой лицензией, участвовать в его обратной разработке или изменять другими способами. Тем не менее, перечисленные права обязывают пользователя ПО под GPL подчиняться определённым правилам, например, любые изменения программы, сделанные пользователем и распространённые дальше, должны сопровождаться исходным кодом этих изменений (см. копилефт).

Главной отличительной чертой свободных лицензий является то, что они совершенно не ограничивают личное пользование — пользователь волен принимать или не принимать их: работать с программой он может и без лицензии. Однако если ему требуется какое-либо из дополнительных прав, которые даёт лицензия (например, на распространение ПО, или предоставление доступа к нему по сети (пример — Affero General Public License), он обязан принять лицензию и действовать в её рамках.

@Lara Croft, если вы считаете, что граждане например Украины могут не выполнять условия GPL лицензии, то на каком основании идет распространение?!
 
Последнее редактирование:

tooshkan4uk

Участник
Сообщения
455
Реакции
446
Что-то вы слишком много усилий тратите на то, чтобы доказать что-то @Lara Croft, у которого просто стокгольмский синдром.
Тут же очевидно, что адекватный человек, которому нужен хороший плагин с исходным кодом - найдет скриптера, который обитает на hlmod, коих, за последнее время, тут побывало довольно много. И уж точно такой человек не будет брать плагин у wS, который не даст исходники от него, заставит вас платить за плагин для каждого сервера и добавит вам геморроя, если Вы захотите как-то плагин изменить и попытаться сделать сделать сервер более оригинальным и уникальным, о чем тут задвигал человек с ником Лара Крофт
Ну а как поступать в данной ситуации - пусть каждый решает для себя сам.
 

nick_name

Участник
Сообщения
49
Реакции
30
Бог ты мой, сколько тут грязи... А я всего лишь поблагодарил человека за то, что он помог мне отвязать плагин от одного моего сервера, дабы я смог поставить на другой, тоже свой, и сэкономил на этом 2к рублей, которые однажды уже платил )))

Знаешь, @sсhmidt , тебе стоит задуматься о системе бесплатной перепривязки своих плагинов на другой айпи.

Поясняю - человек купил у тебя плагин, поставил на сервер, все работало, но в один прекрасный момент что-то произошло и человек сменил айпи сервера. так что, ему снова покупать у тебя "plugins" Оффтоп? Человек-то один и тот же, покупал-то плагин у тебя именно он, а не сервер, на айпи которого ты делаешь привязку

Вот из-за чего ОЧЕНЬ много негодования на тебя и тебе подобных скриптеров, таких, как GizMon, или Miracle. Вы именно требуете, чтобы у вас покупали плагины, несмотря ни на что.

Второе: если вы уж продаете, так продавайте плагины без багов!
Это камень в огород Гизмона, так как тот плагин, что мне отвязали, содержал интересный баг. Он тупо во всех файлах папки addons, где есть слово group, менял его на Group. Вроде бы и ничего, однако после этого слетали все випки и админки, которые были выданы именно по группам, а не по флагам. Бред, скажешь? Однако можешь купить плагин Personal Weapons у гизмона и сам в этом убедиться.
 

Nova

Simple Project
Сообщения
262
Реакции
28

n1ber

Участник
Сообщения
20
Реакции
0
@Kailo, не поможешь с исходником? Никак не могу найти его...
 

Вложения

  • 4_Reset_Score_1.0.rar
    5.8 КБ · Просмотры: 8

Mr_panica

XenForo one 💖
Сообщения
921
Реакции
435
Декомпилировал с этого сайта Декомпилятор sourcemod плагинов by Lysis

PHP:
public PlVers:__version =
{
    version = 5,
    filevers = "1.4.7",
    date = "04/05/2013",
    time = "05:00:25"
};
new Float:NULL_VECTOR[3];
new String:NULL_STRING[4];
public Extension:__ext_core =
{
    name = "Core",
    file = "core",
    autoload = 0,
    required = 0,
};
new MaxClients;
new String:g_sListPath[256];
new Handle:g_hTrie;
public Plugin:myinfo =
{
    name = "Reset Score",
    description = "Type !rs / !rdk / restartscore / !resetscore to reset your score.",
    author = "GoDtm666",
    version = "1.0.0",
    url = "www.MyArena.ru"
};
public __ext_core_SetNTVOptional()
{
    MarkNativeAsOptional("GetFeatureStatus");
    MarkNativeAsOptional("RequireFeature");
    MarkNativeAsOptional("AddCommandListener");
    MarkNativeAsOptional("RemoveCommandListener");
    VerifyCoreVersion();
    return 0;
}

Handle:StartMessageOne(String:msgname[], client, flags)
{
    new players[1];
    players[0] = client;
    return StartMessage(msgname, players, 1, flags);
}

public OnPluginStart()
{
    g_hTrie = CreateTrie();
    BuildPath(PathType:0, g_sListPath, 256, "configs/resetscore.ini");
    RegConsoleCmd("say", Cmd_SayChat, "", 0);
    RegConsoleCmd("say_team", Cmd_SayChat, "", 0);
    RegAdminCmd("sm_resetscore_triger_add", Cmd_TriggerAdd, 4096, "Добавить новый триггер.", "", 0);
    RegAdminCmd("sm_resetscore_triger_add_file", Cmd_TriggerAddFile, 4096, "Добавить новый триггер и сохранить в файл.", "", 0);
    LoadTranslations("resetscore.phrases");
    return 0;
}

public Action:Cmd_SayChat(client, args)
{
    new var1;
    if (client && IsClientInGame(client))
    {
        decl String:sBuffer[128];
        decl iBuffer;
        GetCmdArgString(sBuffer, 128);
        StripQuotes(sBuffer);
        if (GetTrieValue(g_hTrie, sBuffer, iBuffer))
        {
            new var2;
            if (!GetClientFrags(client) && !GetClientDeaths(client))
            {
                PrintToChat(client, "\x01\x04[RS]\x01 %t", "PrintResetAlready");
            }
            SetEntProp(client, PropType:1, "m_iFrags", any:0, 4, 0);
            SetEntProp(client, PropType:1, "m_iDeaths", any:0, 4, 0);
            PrintToChat(client, "\x01\x04[RS]\x01 %t", "PrintReset");
            if (GetClientName(client, sBuffer, 128))
            {
                decl Handle:hBuffer;
                Format(sBuffer, 128, "\x01\x04[RS]\x01 %t", "PrintResetAll", "\x03", sBuffer, "\x01");
                iBuffer = 1;
                while (iBuffer <= MaxClients)
                {
                    new var3;
                    if (iBuffer != client && IsClientInGame(iBuffer))
                    {
                        hBuffer = StartMessageOne("SayText2", iBuffer, 132);
                        BfWriteByte(hBuffer, client);
                        BfWriteByte(hBuffer, 1);
                        BfWriteString(hBuffer, sBuffer);
                        EndMessage();
                    }
                    iBuffer++;
                }
            }
        }
    }
    return Action:0;
}

public Action:Cmd_TriggerAdd(client, args)
{
    if (args)
    {
        decl String:sBuffer[64];
        GetCmdArgString(sBuffer, 64);
        StripQuotes(sBuffer);
        if (SetTrieValue(g_hTrie, sBuffer, any:1, true))
        {
            ReplyToCommand(client, "\x01\x04[RS]\x01 %t", "PrintAddTrigger", sBuffer);
        }
    }
    return Action:3;
}

public Action:Cmd_TriggerAddFile(client, args)
{
    if (args)
    {
        decl String:sBuffer[64];
        decl Handle:hFile;
        GetCmdArgString(sBuffer, 64);
        StripQuotes(sBuffer);
        hFile = OpenFile(g_sListPath, "at");
        if (hFile)
        {
            if (SetTrieValue(g_hTrie, sBuffer, any:1, true))
            {
                WriteFileLine(hFile, sBuffer);
                ReplyToCommand(client, "\x01\x04[RS]\x01 %t", "PrintAddTrigger", sBuffer);
            }
            CloseHandle(hFile);
        }
    }
    return Action:3;
}

public OnClientPutInServer(client)
{
    CreateTimer(20.0, TimerAnnounce, GetClientUserId(client), 0);
    return 0;
}

public Action:TimerAnnounce(Handle:timer, any:userid)
{
    new client = GetClientOfUserId(userid);
    new var1;
    if (client && IsClientConnected(client) && IsClientInGame(client))
    {
        PrintToChat(client, "\x01\x04[RS]\x01 %t", "PrintAnnounce");
    }
    return Action:4;
}

public OnMapStart()
{
    new Handle:hFile = OpenFile(g_sListPath, "r");
    ClearTrie(g_hTrie);
    if (hFile)
    {
        new String:sBuffer[256];
        new iPos;
        while (!IsEndOfFile(hFile))
        {
            if (ReadFileLine(hFile, sBuffer, 256))
            {
                iPos = StrContains(sBuffer, "//", true);
                if (iPos != -1)
                {
                    sBuffer[iPos] = MissingTAG:0;
                }
                iPos = StrContains(sBuffer, "#", true);
                if (iPos != -1)
                {
                    sBuffer[iPos] = MissingTAG:0;
                }
                iPos = StrContains(sBuffer, ";", true);
                if (iPos != -1)
                {
                    sBuffer[iPos] = MissingTAG:0;
                }
                TrimString(sBuffer);
                if (sBuffer[0])
                {
                    SetTrieValue(g_hTrie, sBuffer, any:1, true);
                }
            }
        }
        CloseHandle(hFile);
    }
    if (!GetTrieSize(g_hTrie))
    {
        SetTrieValue(g_hTrie, "!rs", any:1, true);
        SetTrieValue(g_hTrie, "!resetscore", any:1, true);
        SetTrieValue(g_hTrie, "!restartscore", any:1, true);
        SetTrieValue(g_hTrie, "!rdk", any:1, true);
        SetTrieValue(g_hTrie, "!кы", any:1, true);
        SetTrieValue(g_hTrie, "!рс", any:1, true);
        SetTrieValue(g_hTrie, "!рдк", any:1, true);
        SetTrieValue(g_hTrie, "!квл", any:1, true);
        SetTrieValue(g_hTrie, "!Кы", any:1, true);
        SetTrieValue(g_hTrie, "!Рс", any:1, true);
        SetTrieValue(g_hTrie, "!Рдк", any:1, true);
        SetTrieValue(g_hTrie, "!Квл", any:1, true);
    }
    return 0;
}
 

n1ber

Участник
Сообщения
20
Реакции
0
@Mr_panica, я думаю тут мусора много, хотелось бы чистый исходник, поэтому и попросил помощи
 

StormX

Участник
Сообщения
891
Реакции
302
Декомпилировал с этого сайта Декомпилятор sourcemod плагинов by Lysis

PHP:
public PlVers:__version =
{
    version = 5,
    filevers = "1.4.7",
    date = "04/05/2013",
    time = "05:00:25"
};
new Float:NULL_VECTOR[3];
new String:NULL_STRING[4];
public Extension:__ext_core =
{
    name = "Core",
    file = "core",
    autoload = 0,
    required = 0,
};
new MaxClients;
new String:g_sListPath[256];
new Handle:g_hTrie;
public Plugin:myinfo =
{
    name = "Reset Score",
    description = "Type !rs / !rdk / restartscore / !resetscore to reset your score.",
    author = "GoDtm666",
    version = "1.0.0",
    url = "www.MyArena.ru"
};
public __ext_core_SetNTVOptional()
{
    MarkNativeAsOptional("GetFeatureStatus");
    MarkNativeAsOptional("RequireFeature");
    MarkNativeAsOptional("AddCommandListener");
    MarkNativeAsOptional("RemoveCommandListener");
    VerifyCoreVersion();
    return 0;
}

Handle:StartMessageOne(String:msgname[], client, flags)
{
    new players[1];
    players[0] = client;
    return StartMessage(msgname, players, 1, flags);
}

public OnPluginStart()
{
    g_hTrie = CreateTrie();
    BuildPath(PathType:0, g_sListPath, 256, "configs/resetscore.ini");
    RegConsoleCmd("say", Cmd_SayChat, "", 0);
    RegConsoleCmd("say_team", Cmd_SayChat, "", 0);
    RegAdminCmd("sm_resetscore_triger_add", Cmd_TriggerAdd, 4096, "Добавить новый триггер.", "", 0);
    RegAdminCmd("sm_resetscore_triger_add_file", Cmd_TriggerAddFile, 4096, "Добавить новый триггер и сохранить в файл.", "", 0);
    LoadTranslations("resetscore.phrases");
    return 0;
}

public Action:Cmd_SayChat(client, args)
{
    new var1;
    if (client && IsClientInGame(client))
    {
        decl String:sBuffer[128];
        decl iBuffer;
        GetCmdArgString(sBuffer, 128);
        StripQuotes(sBuffer);
        if (GetTrieValue(g_hTrie, sBuffer, iBuffer))
        {
            new var2;
            if (!GetClientFrags(client) && !GetClientDeaths(client))
            {
                PrintToChat(client, "\x01\x04[RS]\x01 %t", "PrintResetAlready");
            }
            SetEntProp(client, PropType:1, "m_iFrags", any:0, 4, 0);
            SetEntProp(client, PropType:1, "m_iDeaths", any:0, 4, 0);
            PrintToChat(client, "\x01\x04[RS]\x01 %t", "PrintReset");
            if (GetClientName(client, sBuffer, 128))
            {
                decl Handle:hBuffer;
                Format(sBuffer, 128, "\x01\x04[RS]\x01 %t", "PrintResetAll", "\x03", sBuffer, "\x01");
                iBuffer = 1;
                while (iBuffer <= MaxClients)
                {
                    new var3;
                    if (iBuffer != client && IsClientInGame(iBuffer))
                    {
                        hBuffer = StartMessageOne("SayText2", iBuffer, 132);
                        BfWriteByte(hBuffer, client);
                        BfWriteByte(hBuffer, 1);
                        BfWriteString(hBuffer, sBuffer);
                        EndMessage();
                    }
                    iBuffer++;
                }
            }
        }
    }
    return Action:0;
}

public Action:Cmd_TriggerAdd(client, args)
{
    if (args)
    {
        decl String:sBuffer[64];
        GetCmdArgString(sBuffer, 64);
        StripQuotes(sBuffer);
        if (SetTrieValue(g_hTrie, sBuffer, any:1, true))
        {
            ReplyToCommand(client, "\x01\x04[RS]\x01 %t", "PrintAddTrigger", sBuffer);
        }
    }
    return Action:3;
}

public Action:Cmd_TriggerAddFile(client, args)
{
    if (args)
    {
        decl String:sBuffer[64];
        decl Handle:hFile;
        GetCmdArgString(sBuffer, 64);
        StripQuotes(sBuffer);
        hFile = OpenFile(g_sListPath, "at");
        if (hFile)
        {
            if (SetTrieValue(g_hTrie, sBuffer, any:1, true))
            {
                WriteFileLine(hFile, sBuffer);
                ReplyToCommand(client, "\x01\x04[RS]\x01 %t", "PrintAddTrigger", sBuffer);
            }
            CloseHandle(hFile);
        }
    }
    return Action:3;
}

public OnClientPutInServer(client)
{
    CreateTimer(20.0, TimerAnnounce, GetClientUserId(client), 0);
    return 0;
}

public Action:TimerAnnounce(Handle:timer, any:userid)
{
    new client = GetClientOfUserId(userid);
    new var1;
    if (client && IsClientConnected(client) && IsClientInGame(client))
    {
        PrintToChat(client, "\x01\x04[RS]\x01 %t", "PrintAnnounce");
    }
    return Action:4;
}

public OnMapStart()
{
    new Handle:hFile = OpenFile(g_sListPath, "r");
    ClearTrie(g_hTrie);
    if (hFile)
    {
        new String:sBuffer[256];
        new iPos;
        while (!IsEndOfFile(hFile))
        {
            if (ReadFileLine(hFile, sBuffer, 256))
            {
                iPos = StrContains(sBuffer, "//", true);
                if (iPos != -1)
                {
                    sBuffer[iPos] = MissingTAG:0;
                }
                iPos = StrContains(sBuffer, "#", true);
                if (iPos != -1)
                {
                    sBuffer[iPos] = MissingTAG:0;
                }
                iPos = StrContains(sBuffer, ";", true);
                if (iPos != -1)
                {
                    sBuffer[iPos] = MissingTAG:0;
                }
                TrimString(sBuffer);
                if (sBuffer[0])
                {
                    SetTrieValue(g_hTrie, sBuffer, any:1, true);
                }
            }
        }
        CloseHandle(hFile);
    }
    if (!GetTrieSize(g_hTrie))
    {
        SetTrieValue(g_hTrie, "!rs", any:1, true);
        SetTrieValue(g_hTrie, "!resetscore", any:1, true);
        SetTrieValue(g_hTrie, "!restartscore", any:1, true);
        SetTrieValue(g_hTrie, "!rdk", any:1, true);
        SetTrieValue(g_hTrie, "!кы", any:1, true);
        SetTrieValue(g_hTrie, "!рс", any:1, true);
        SetTrieValue(g_hTrie, "!рдк", any:1, true);
        SetTrieValue(g_hTrie, "!квл", any:1, true);
        SetTrieValue(g_hTrie, "!Кы", any:1, true);
        SetTrieValue(g_hTrie, "!Рс", any:1, true);
        SetTrieValue(g_hTrie, "!Рдк", any:1, true);
        SetTrieValue(g_hTrie, "!Квл", any:1, true);
    }
    return 0;
}

Декомпилировать любой дурак сможет, а вот собрать плагин после декомпиляции не каждый сможет.
 

Mr_panica

XenForo one 💖
Сообщения
921
Реакции
435
Декомпилировать любой дурак сможет, а вот собрать плагин после декомпиляции не каждый сможет.
Эт да, но тут кода немного, и да, раз это плагин с MyAren'ы, то можно наверно у них исходник попросить, или они не дадут?
 

etozheqq

Vertex | CS : GO
Сообщения
332
Реакции
74
Помог с небольшой проблемкой, бесплатно, рекомендую)
 

Wans

Участник
Сообщения
6
Реакции
2
Всё делает быстро и качественно!
 

eXtensiON

Дизайнер
Сообщения
133
Реакции
87
Заказывал несколько раз, делает всё в сроки, рекомендую!
Оффтоп
 

gaui330

Участник
Сообщения
3
Реакции
0
Очень помог мне.
Профессионал своего дела. Всем рекомендую!
 
Сверху Снизу