Личный кабинет [Core] [Удалено]

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

WTF#MLG

Эффект кузи!
Сообщения
365
Реакции
142
Можете объяснить ,как устанавливать ? Что настраивать ,я прост с MySQL не дружу ,мягко говоря... :D
 

CAH4E3

Сосанчез.
Сообщения
1,597
Реакции
779
Ой ору с рецензий
А ничего, что автор сам по сути кинул клиентов, стал продавать лк по 100 рублей перед уходом в армию? Когда некоторые покупали по 1000
Тем более там уже нашли утечку памяти, скоро пост будет.
 
Последнее редактирование:

WTF#MLG

Эффект кузи!
Сообщения
365
Реакции
142

alexmo812

Менеджер у *****
Сообщения
366
Реакции
311
@Newers, по факту. А зачем Вы устанавливаете плагин, если ничего не знаете?
Я думаю, не сложно понять, что к чему.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #26
Я в курсе, что выложил не 1mpulse, но и воздержаться от критики этого, мягко говоря, быдлокода, не могу не удержаться. Оффтоп
Обозревать буду только ядро. Модули - отдельная тема.
Ну, поехали.

PHP:
   switch(GetEngineVersion())
   {
       case Engine_CSGO: GameCSGO = true;
       case Engine_CSS: GameCSGO = false;
   }
Такого дерьма я давно не видел...
PHP:
    GameCSGO = (GetEngineVersion() == Engine_CSGO);

Base.sp
PHP:
void LoadPlayer(int iClient)
{
   if(IsValidPlayer(iClient))
   {
       if(cfg_bGameCMS)
       {
           char szQuery[256];
           FormatEx(szQuery, sizeof(szQuery), "SELECT `shilings` FROM `users` WHERE `steam_id` = '%s'", g_SteamID[iClient]);
           g_hDatabase.Query(SQL_Callback_LoadPlayer, szQuery, GetClientUserId(iClient), DBPrio_High);
       }
       else
       {
           char szQuery[256];
           FormatEx(szQuery, sizeof(szQuery), "SELECT `cash`, `all_cash` FROM `lk` WHERE `auth` = '%s'", g_SteamID[iClient]);
           g_hDatabase.Query(SQL_Callback_LoadPlayer, szQuery, GetClientUserId(iClient), DBPrio_High);
       }
   }
}
._.
PHP:
void LoadPlayer(int iClient)
{
  if (!IsValidPlayer(iClient))
    return;

  char szQuery[128];
  if (cfg_bGameCMS)
    FormatEx(szQuery, sizeof(szQuery), "SELECT `shilings` FROM `users` WHERE `steam_id` = '%s'", g_SteamID[iClient]);
  else
    FormatEx(szQuery, sizeof(szQuery), "SELECT `cash`, `all_cash` FROM `lk` WHERE `auth` = '%s'", g_SteamID[iClient]);
  g_hDatabase.Query(SQL_Callback_LoadPlayer, szQuery, GetClientUserId(iClient), DBPrio_High);
}

// или можно вообще так, но тогда сами запросы лучше вынести в константы куда-нибудь
void LoadPlayer(int iClient)
{
  if (!IsValidPlayer(iClient))
    return;

  char szQuery[128];

  // без констант
  FormatEx(szQuery, sizeof(szQuery), cfg_bGameCMS ? "SELECT `shilings` FROM `users` WHERE `steam_id` = '%s'" : "SELECT `cash`, `all_cash` FROM `lk` WHERE `auth` = '%s'", g_SteamID[iClient]);

  // с константами
  FormatEx(szQuery, sizeof(szQuery), cfg_bGameCMS ? gc_szGetClientMoney_WithCMS : gc_szGetClientMoney_WithoutCMS, g_SteamID[iClient]);
  g_hDatabase.Query(SQL_Callback_LoadPlayer, szQuery, GetClientUserId(iClient), DBPrio_High);
}

PHP:
       if(cfg_bGameCMS)
       {
           if(hResults.FetchRow())
           {
               g_iClientInfo[iClient][Client_Cash] = hResults.FetchInt(0);
               g_iClientInfo[iClient][Client_AllCash] = 0;
           }
           else
           {
               g_iClientInfo[iClient][Client_Cash] = -1;
               g_iClientInfo[iClient][Client_AllCash] = 0;
           }
       }
._. [x2]
PHP:
       if(cfg_bGameCMS)
       {
           g_iClientInfo[iClient][Client_AllCash] = 0;
           g_iClientInfo[iClient][Client_Cash] = hResults.FetchRow() ? hResults.FetchInt(0) : -1;
       }

C SavePlayer() та же ерунда, что и с LoadPlayer(). Тупо всё сократить можно.
PHP:
public void SQL_Callback_LoadPlayerMenu(Database hDatabase, DBResultSet hResults, const char[] sError, any iUserID)
{
   if(sError[0])
   {
       LogError("Could not load the player, reason: %s", sError);
       return;
   }
   
   int iClient = GetClientOfUserId(iUserID);
   // ...
Надо экономить память:
PHP:
public void SQL_Callback_LoadPlayerMenu(Database hDatabase, DBResultSet hResults, const char[] sError, any iClient)
{
   if(sError[0])
   {
       LogError("Could not load the player, reason: %s", sError);
       return;
   }
   
   iClient = GetClientOfUserId(iClient);
   // ...

Cmds.sp
PHP:
           int key_cash;
           key_cash = results.FetchInt(0);
Лишние вызовы к виртуалке.
PHP:
           int key_cash = results.FetchInt(0);
Ещё в sm_lkrub нет проверки на переданного игрока. Там в качестве аргумента надо передавать UserID, но проверка на присутствие на сервере отсутствует. ¯\_(ツ)_/¯

Configs.sp
PHP:
   char ui[32][32], uo[512];
   hKV.GetString("commands_open_menu", uo, sizeof(uo), "sm_lk");
   int jl = ExplodeString(uo, ";", ui, 32, 32, false);
   for(int i; i < jl; i++) RegConsoleCmd(ui[i], sm_lk);
Сказать, что я в шоке - ничего не сказать.
PHP:
    char uo[512];
    hKv.GetString("commands_open_menu", uo, sizeof(uo); "sm_lk");
    int iPos;
    while (iPos != -1) {
        iPos = FindCharInString(uo, ';', true);
        RegConsoleCmd(uo[iPos+1], sm_lk);

        if (iPos != -1)
            uo[iPos] = 0;
    }

Menus.sp
PHP:
       Panel hPanel = new Panel();
       hPanel.SetTitle("Информация:");
       hPanel.DrawText(" ");
       hPanel.DrawText("Вам необходимно привязать ваш SteamID");
       hPanel.DrawText("к аккаунту на нашем сайте.");
       hPanel.Send(iClient, MenuHandler_MyPanel, 30);
Хендл не закрывается. Вообще. Даже в каллбеке. Натуральный мемори лик.
ach_49rgh8c7.jpg

PHP:
public int ShowMainMenu_CallBack(Handle menu, MenuAction action, iClient, Item)
Код на старом и новом синтаксисе одновременно.

Natives.sp
PHP:
public APLRes AskPluginLoad2(Handle hMyself, bool bLate, char[] sError, int iErr_max)
{
   RegPluginLibrary("lk");
   CreateNative("LK_GetDatabase", LK_GetDatabase_);
    // ...
Ну, либу ващет регают после всех нативов, а не ДО.

PHP:
public int LK_GetClientCash_(Handle hPlugin, int iNumParams)
{
   int iClient = GetNativeCell(1);
   return g_iClientInfo[iClient][Client_Cash];
}
А если я криворукий говнокодер и передам не клиента? Выйду за пределы массива, и SM откоммуниздит именно ядро за невнимательность.

Stocks.sp
PHP:
stock bool IsValidPlayer(int iClient)
{
   if(iClient && IsClientInGame(iClient) && !IsFakeClient(iClient)) return true;
   return false;
}
:/
PHP:
stock bool IsValidPlayer(int iClient)
{
   return (iClient && IsClientInGame(iClient) && !IsFakeClient(iClient));
}

PHP:
   for(int i = 1; i < iSize; i+=2)
   {
       delete view_as<Handle>(g_hFuncArray.Get(i));
   }
Те, кто разбирали, что именно делает delete, скорее всего, уже знают, почему здесь я недоволен.
Поскольку delete, помимо удаления указателя, выполняет так же зануливание переменной, то он создаст целую грёбаную переменную, удалит указатель в ней, и зануллит.
Лишние вызовы к виртуалке.
Делаем так:
PHP:
   for(int i = 1; i < iSize; i+=2)
   {
       CloseHandle(view_as<Handle>(g_hFuncArray.Get(i)));
   }

GetRandomKey() - ужас. Я даже это комментировать не хочу.
 

Ep1s0de

Участник
Сообщения
190
Реакции
42
Уже давно нормальные аналоги вышли,на... он нужен??
Даже у @d4Ck лучше будет,даже с его г*вно кодом *сорри:D*
Сейчас каждый г*вно сервер будет с этим лк,госпаде..
Говно-сервера с говно плагинами.
Что тебя не устраивает?
 

d4Ck

Урегулированный
Сообщения
730
Реакции
562
Ой ору с рецензий
А ничего, что автор сам по сути кинул клиентов, стал продавать лк по 100 рублей перед уходом в армию? Когда некоторые покупали по 1000
Тем более там уже нашли утечку памяти, скоро пост будет.
Тем не менее те, кто сливают плагины, что бы там не было - ***.
 

Ep1s0de

Участник
Сообщения
190
Реакции
42
Тем не менее те, кто сливают плагины, что бы там не было - ***.
Не переживай ты так. Если лк у тебя годный спрос на него будет. Если нет то пора его улучшать.

Могу даже идеи подкинуть) просто пусть будет всем уроком. Что нельзя так относиться к покупателям.
 

d4Ck

Урегулированный
Сообщения
730
Реакции
562
Не переживай ты так. Если лк у тебя годный спрос на него будет. Если нет то пора его улучшать.
Не в этом дело. Просто хз, как-то жалко что ли, человек, кто бы он не был (не беру в счет дена и этого, с ультрой), пытался что-то сделать, а люди типо тебя - просто выкладывают сюда и отнимают у людей желание продолжать улучшать свой "продукт", ну не всегда конечно, но факт остается фактом. Другое дело - написать достойную альтернативу, это хоть не так обидно.
 

CAH4E3

Сосанчез.
Сообщения
1,597
Реакции
779
Не в этом дело. Просто хз, как-то жалко что ли, человек, кто бы он не был (не беру в счет дена и этого, с ультрой), пытался что-то сделать, а люди типо тебя - просто выкладывают сюда и отнимают у людей желание продолжать улучшать свой "продукт", ну не всегда конечно, но факт остается фактом. Другое дело - написать достойную альтернативу, это хоть не так обидно.
Так он на Гитхаб уже выложил его, остуди свое <cut>
 

Ep1s0de

Участник
Сообщения
190
Реакции
42
Не переживай ты так. Если лк у тебя годный спрос на него будет. Если нет то пора его улучшать.
Не в этом дело. Просто хз, как-то жалко что ли, человек, кто бы он не был (не беру в счет дена и этого, с ультрой), пытался что-то сделать, а люди типо тебя - просто выкладывают сюда и отнимают у людей желание продолжать улучшать свой "продукт", ну не всегда конечно, но факт остается фактом. Другое дело - написать достойную альтернативу, это хоть не так обидно.
Тебе выше скинули критику на его код. И это заметь после улучшения в версии 4.0.1
Я тебе говорю давай распишу тебе идеи. Напиши лучше если можешь. Я буду только рад. И сам куплю для своих серверов если продашь и не поступай как он, тогда точно не сольют.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #37
@edgaras853, я уже неоднократно высказывал свои мысли касательно "сливальщиков".
В случае с Импульсом, он просто не оказывал тех поддержку (@HESUS, залетай и рассказывай свою охренительную историю с Импульсом), да и реализация была так себе.

Все эти факторы, и не только, и побуждают людей на выкладывание приваток бесплатно. Если юзер не удовлетворён хотя бы "тех поддержкой", то всё, ждите слива.
 

d4Ck

Урегулированный
Сообщения
730
Реакции
562
Тебе выше скинули критику на его код. И это заметь после улучшения в версии 4.0.1
Я вроде как про код ни слова не сказал, я вообще про другое.
Я тебе говорю давай распишу тебе идеи.
Давай)0
Ток в ЛС хдд
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу