Перейти к содержанию

Habilis

Проверенные
  • Постов

    316
  • Зарегистрирован

  • Посещение

  • Победитель дней

    55

Сообщения, опубликованные Habilis

  1. Ах*нный топ пачян, Хабиля в скоре (через пару недель) напишет Англ гид по герку для Винды.

    Только Хабиля опишет ВоркФлоу с гитом чтобы кароч установить и тянуть с репозитория и апдейтить...

    А так, Спасибо за идею с Кзампом а то Хабиля хз как не муторно замутить МайСКЛ сервак на винде

    И Визуал студио мож Експресс С попробует 

    А так ох*нный гид!

  2. Косяк в том, что еАфина больше не разрабатываеться. А гиду, больше 5 лет?

     

    Цитата

    This may mean that the package is missing, has been obsoleted, or
    is only available from another source

    Что как-бы намекает...

    • Upvote 1
  3. 10 час назад, SouZe сказал:

    хабиля упарывает вещества? почему ты о себе в третьем лице говоришь?

    Много Употребляет, а еще Много курит и не только табак, Много пьет..... Много ест, и морально разлагается

    10 час назад, SouZe сказал:

    как сделать так, чтобы твои посты не раздражали?

    Проще некуда, Не читать их , Ё*та....

     

    УПД : Раз ^^^ это ^^^ самая крутая идея, которую пачаны смогли сгенерировать... Смотрите первый пост, там проапдейтанные версии плагинов компилящиеся на последнем герке.

    В комманде @emotion добавлен костыль, убирающий эмотики молчанки и определенной стороны кубика из /dice.

    Читайте коментарии к коду, если хотите убрать еще какие-то емотики.

  4. Так не зделал еще...

    4 часа назад, Habilis сказал:

    Хабиля в скором времени до рихтует их чтобы компиллились с последней версией герка (А то они больше не компиляться)

    Так-же в комманде @emotion заметил возможность вызвать эмотку (Молчанки , и эмотки с определенной стороной кубика из /dice можно лохотроннить в игре с костями...)

    Хабиля допилит в эту комманду костыль с отключенными Емотиками...

     

     

    УПД : Просто если у пачанов есть еще какие-то Ах*тельные идеи, пусть пока пишут, если чо понравиться и будет по силам Хабиле релизну все сразу кароч...

     

    А вот ссыль на то что было релизнуто на Герке, год назад.

    http://herc.ws/board/topic/12855-emotion-heart-show-hold-detach/

     

     

  5. Хабиля год назад модернизировал эти старые добрые комманды под Геркулес плагины (кое-где подрихтовал, кое-где подчистил)

    emotion.c

    @emotion 0 - 81 эмотики без задержки.

    PhrUjcN.jpg

    #include "common/hercules.h"
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <math.h>
    
    #include "common/HPMi.h"
    #include "map/clif.h"
    #include "map/atcommand.h"
    #include "map/script.h"
    #include "map/pc.h"
    #include "common/nullpo.h"
    
    #include "common/HPMDataCheck.h"
    
    HPExport struct hplugin_info pinfo =
    {
        "@emotion",		// Plugin name
        SERVER_TYPE_MAP,// Which server types this plugin works with?
        "1.2",			// Plugin version
        HPM_VERSION,	// HPM Version (don't change, macro is automatically updated)
    };
    
    /*==========================================
    * @emotion X by Anarchist
    * => Displays the emotions without delay
    *------------------------------------------*/
    
    int emotion_max = 81; // Set last available emotion number available for this command.
    // Clients < 2013 support way less emotions.
    
    ACMD(emotion)
    {
    	char err_msg[1024];
      	// Disabled emotions 34 = mute; [58 to 63] = dice particular sides
    	int rEmoArray[] = {34, 58, 59, 60, 61, 62, 63};
    	int rEmoArraySize = sizeof(rEmoArray) / sizeof(rEmoArray[0]);
    
    	if(!*message || atoi(message) < 0 || atoi(message) > emotion_max)
    	{
    		sprintf(err_msg, "Usage: @emotion 0-%d", emotion_max);
    		clif->message(fd, err_msg);
    		return -1;
    	}
    
    	for (int i = 0; i < rEmoArraySize; i++)
    	{
    		if (rEmoArray[i] == atoi(message))
    		{
    			sprintf(err_msg, "This emotion is disabled.");
    			clif->message(fd, err_msg);
    			return -1;
    		}
    	}
    
    	clif->emotion(&sd->bl,atoi(message));
    	return 1;
    }
    
    
    /* Server Startup */
    HPExport void plugin_init (void)
    {
    	addAtcommand("emotion",emotion);
    }

    heart.c

    @heart 1 or 2 (сердечки без задержки)

    RR1bcJM.jpg

    #include "common/hercules.h"
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <math.h>
    
    #include "common/HPMi.h"
    #include "map/clif.h"
    #include "map/atcommand.h"
    #include "map/script.h"
    #include "map/pc.h"
    #include "common/nullpo.h"
    
    #include "common/HPMDataCheck.h"
    
    HPExport struct hplugin_info pinfo =
    {
        "@heart",		// Plugin name
        SERVER_TYPE_MAP,// Which server types this plugin works with?
        "1.2",			// Plugin version
        HPM_VERSION,	// HPM Version (don't change, macro is automatically updated)
    };
    
    /*==========================================
     @heart X by Anarchist
     => Displays the heart special effect
    ------------------------------------------
    */
    
    ACMD(heart)
    {
    	
    	if(!*message || atoi(message) < 1 || atoi(message) > 2)
    	{
    		clif->message(fd, "usage: @heart 1 or 2");
    		return -1;
    	}
    	
    	if(atoi(message) == 1)
    	{
    		clif->specialeffect(&sd->bl,364,0);
    	} 
    	else if(atoi(message) == 2)
    	{
    		clif->specialeffect(&sd->bl,509,0);
    	}
    	
    	return 1;
    }
    
    
    /* Server Startup */
    HPExport void plugin_init (void)
    {
    	addAtcommand("heart",heart);
    }

    dance.c

    @dance 1 - 8 (Персонаж выполняет какие-то трюки)

    #include "common/hercules.h"
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <math.h>
    
    #include "common/HPMi.h"
    #include "map/clif.h"
    #include "map/atcommand.h"
    #include "map/script.h"
    #include "map/pc.h"
    #include "common/nullpo.h"
    
    #include "common/HPMDataCheck.h"
    
    HPExport struct hplugin_info pinfo =
    {
        "@dance",		// Plugin name
        SERVER_TYPE_MAP,// Which server types this plugin works with?
        "1.2",			// Plugin version
        HPM_VERSION,	// HPM Version (don't change, macro is automatically updated)
    };
    
    
    
    /*==========================================
     @dance X by Anarchist
     => Special effects with dance style
    ------------------------------------------
    */
    
    ACMD(dance)
    {
    
    	if(!*message || atoi(message) < 1 || atoi(message) > 9)
    	{
    		clif->message(fd, "Usage: @dance 1-9");
    		return -1;
    	}
    	
    	switch(atoi(message)) 
    	{
    		case 1 :
    			clif->specialeffect(&sd->bl,413,0);
    			break;
    		case 2 :
    			clif->specialeffect(&sd->bl,414,0);
    			break;
    		case 3 :
    			clif->specialeffect(&sd->bl,415,0);
    			break;
    		case 4 :
    			clif->specialeffect(&sd->bl, 426,0);
    			break;
    		case 5 :
    			clif->specialeffect(&sd->bl,458,0);
    			break;
    		case 6 :
    			clif->specialeffect(&sd->bl,466,0);
    			break;
    		case 7 :
    			clif->specialeffect(&sd->bl,501,0);
    			break;
    		case 8 :
    			clif->specialeffect(&sd->bl,540,0);
    			break;
    		case 9 :
    			clif->specialeffect(&sd->bl,550,0);
    			break;
    	}
    	
    	return 1;
    }
    
    
    /* Server Startup */
    HPExport void plugin_init (void)
    {
    	addAtcommand("dance",dance);
    }

    show.c

    @show X Y (Показывает точку на миникарте по заданным координатам.)

    dNPDi1p.jpg

    #include "common/hercules.h"
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <math.h>
    
    #include "common/HPMi.h"
    #include "map/clif.h"
    #include "map/atcommand.h"
    #include "map/script.h"
    #include "map/pc.h"
    #include "common/nullpo.h"
    
    #include "common/HPMDataCheck.h"
    
    HPExport struct hplugin_info pinfo =
    {
        "@show",		// Plugin name
        SERVER_TYPE_MAP,// Which server types this plugin works with?
        "1.2",			// Plugin version
        HPM_VERSION,	// HPM Version (don't change, macro is automatically updated)
    };
    
    /*==========================================
    * @show by KarLaeda
    * => Displays the point on minimap
    *------------------------------------------*/
    ACMD(show)
    {
    	int x = 0, y = 0;
    	
    	if(!*message || (sscanf(message, "%d %d", &x, &y) != 2))
    	{
    		clif->message(fd, "usage: @show <x> <y>");
    		return -1;
    	}
    	
    	clif->viewpoint(sd, 1, 1, x, y, 2, 0xFF0000);
    	return 1;
    }
    
    
    
    /* Server Startup */
    HPExport void plugin_init (void)
    {
    	addAtcommand("show",show);
    }

    hold.c

    @hold (Отключает передвежения персонажа, наверное полезна арчерам и свордмэнам с пикой...)

    #include "common/hercules.h"
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <math.h>
    
    #include "common/HPMi.h"
    #include "map/clif.h"
    #include "map/atcommand.h"
    #include "map/script.h"
    #include "map/pc.h"
    #include "common/nullpo.h"
    
    #include "common/HPMDataCheck.h"
    
    HPExport struct hplugin_info pinfo =
    {
        "@hold",		// Plugin name
        SERVER_TYPE_MAP,// Which server types this plugin works with?
        "1.2",			// Plugin version
        HPM_VERSION,	// HPM Version (don't change, macro is automatically updated)
    };
    
    
    /*==========================================
    * @hold by Voidless
    *==========================================*/
    ACMD(hold)
    {
    	
    	if (!sd->state.blockedmove)
    	{
    		sd->state.blockedmove = 1;
    		clif->message(fd, "Character movement turned off");
    	}
    	else
    	{
    		sd->state.blockedmove = 0;
    		clif->message(fd, "Character movement turned on");
    	}
    	return 1;
    }
    
    
    /* Server Startup */
    HPExport void plugin_init (void)
    {
    	addAtcommand("hold",hold);
    }

    detach.c

    @detach (Оставляет чара в игре с отключеным клиентом)

    fBMKJSS.jpg

    #include "common/hercules.h"
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include "common/HPMi.h"
    #include "common/timer.h"
    #include "common/nullpo.h"
    #include "map/channel.h"
    #include "map/script.h"
    #include "map/pc.h"
    #include "map/clif.h"
    #include "map/chat.h"
    #include "map/battle.h"
    #include "map/status.h"
    #include "common/HPMDataCheck.h"
    
    HPExport struct hplugin_info pinfo =
    {
        "@detach",		// Plugin name
        SERVER_TYPE_MAP,// Which server types this plugin works with?
        "1.1",			// Plugin version
        HPM_VERSION,	// HPM Version (don't change, macro is automatically updated)
    };
    
    
    /*==========================================
    * @detach
    *==========================================*/
    ACMD(detach) 
    {
    	
    	if( pc_isdead(sd) ) {
            clif->message(fd, "Cannot use @detach if you are dead.");
            return true;
        }
    	
    	
    	if( map->list[sd->bl.m].flag.autotrade == battle->bc->autotrade_mapflag )
        {
            if(map->list[sd->bl.m].flag.pvp || map->list[sd->bl.m].flag.gvg){
                clif->message(fd, "You may not use @detach when you are on maps PVP or GVG.");
    			return true;
            }
    		
    		sd->state.monster_ignore = 0;
    		sd->state.autotrade = 1;
    		chat->create_pc_chat(sd, "DETACH", "", 1, true);
    		sd->sc.opt1 = OPT1_STONE;
    		pc->setoption(sd, sd->sc.option);
    		pc_setsit(sd);
    		skill->sit(sd,1);
    		clif->sitting(&sd->bl);
    		channel->quit(sd);
    		clif->authfail_fd(sd->fd, 15);
    		return true;
    
    	} 
    	else
    	{
    		clif->message(fd, "@detach is not allowed on this map.");
    		return true;
    	}
    }
    
    
    /* Server Startup */
    HPExport void plugin_init (void)
    {
    	addAtcommand("detach",detach);
    }

    Над детачем Хабиля еще поработает, нужно в него допилить новы фишки, ДЕТАЧ еще не финальной версии...

     

     

    Хабиля в скором времени до рихтует их чтобы компиллились с последней версией герка (А то они больше не компиляться) УЖЕ! 

    Так-же в комманде @emotion заметил возможность вызвать эмотку (Молчанки , и эмотки с определенной стороной кубика из /dice можно лохотроннить в игре с костями...)

    Хабиля допилит в эту комманду костыль с отключенными Емотиками...

     

     

    Если есть еще какие-нить интерессные идеи и предложения чего-бы еще накодить, намутить, пишите! 

     

    Если чо, накодим с пачанами....

    (только что-то очень большое не буду кодить, Хабиля не умеет кодить если-чо)

  6. Ошибки такого плана означают что СКЛ запрос не удался

    функция ожидает обьект (рекордсет) а был передан FALSE (скорее всего)

     

    Что именно не так точнее сказать с предоставленной инфой не смогу 

    Хабиля ПоХнаПэ и Еврит(Шутка) знает Хорошо а вот флюкс... хз

    • Upvote 1
  7. 3 часа назад, Кеник сказал:

    Диванная аналитика в итоге получилась :D Сказать - сказал, но толку нет. Внезапно "пара часов" уже расширяется до "надо арендовать, настроить, подготовить сервер", чтобы потом после всего этого уже пара часов осталась. По сути, я  солидарен SouZe - он озвучил, Санасол после расшифровал - если есть выбор между MD5 и чистым паролем - использовать чистые - долбоебизм. И никакие аргументы о ненадежности MD5 этого не отменяют. И я не понимаю, почему ты топишь за второй вариант в данном случае.

     

    А теперь все поясню пачанам:

    1 - Брут это работа, работа должна быть оплачена, в случае когда делаеться для себя. Хабиля инвистирует свое время в возможность навариться на продаже МВП карт. или кидануть интеренет Казино ...

    а какому-то челу с форума, который решил взять Хабилю на понт, какой смысл гонять порожняки да еще и должным остаться? Как-то не справедливо...

    (Большинство школьников будут брутить на своих игровых компах купленых мамками / папками на прогах скачаных с инета которые используют ресурсы видеокарт, Хабиля, на заказ брутить на своем компе не будет... что не понятного?)

    2 - А кто сказал что я топлю за не использование?

    Внимательнее читайте что я написал

    Цитата

    md5 (без соли) (да уже даже и с солью) вас хоть сколько-то убережет?

    Народ, курите заповеди Админа, и не подпускайте к ПРОДЕ никого кроме сибя!

    Раз в рагне ниче другое пока не поддерживаеться....

     

    Кароче посыл такой (Для савсем чугунных чувачков)

    "Конечно использовать! Но уповать на хешинг паролей в МД5, Очень не советую. Что действительно вас спасет, это не подпускать, ни третих, ни первых лиц к ПРОД серверу. "

    Подчеркнул, то,

    за что я топлю, раз не очевидно.

     

     

    2 часа назад, Kubix! сказал:

    Потому что он написал лишь бы написать, очевидно ж.

    Кубикс.... хейть молча, или ставь минусы как Кеник.

    вот то что ты написал действительно лишь-бы написать.

     

    Надеюсь Четко, Ровно, По понятиям все пояснил пачанам?

     

    УПД : Разумееться Хабиля готов признать, что он всегда на своей волне, и некоторые вещи очевидные Хабиле, могут быть не очевидными другим пачанам и нужно четче высказывать свое мнение.

  8. Я хз куда ты поставил ВПС\Локалка но

     

    самое простое и быстрое это кароче делать как у Хабили в школе делают (Кеник давай ставь минус) мне -666 себе вернуть нада....

     

    создать файл в корневой паке сайта test.php

    <?php
      phpinfo();
    ?>

    в него вписать ^ это ^

    открой файл так

    www.site.com/test.php

    и ищи в нем CTRL+F  mysql

    Это должно прояснить чо именно не так с сайтом или серваком...

    Хабиля бы еще посоветовал глянуть 

    ПоХнаПэ.ини  (php.ini)

    если вот эта по*ень закоменчена (; стоит в переди)

    ;extension=php_mysql.so

    нада кароче убрать  ;

    Но, чаще всего, если это ВПС,  пакет ПоХнаПэ-МайСКЛ  (php-mysql) не установлен

  9. 1. На понт взять не получиться (Мне пох*й что обо мне думают, надеюсь форумчане это уже давно поняли...)

    2. Ты не сказал сколько заплатиш ТЫ  если я ее расшифрую (заплатить придеться явно больше 5к...), мое время стоит дороже.

    3. 50% предоплата. (мне надо будет арендовать мощьный сервер у DigitalOcean на пару часов...)

    4. Хули я должен делать что то для тебя?

  10. 55 минут назад, Sanasol сказал:

    Вряд ли какой-то админ брутил пароли ради того чтобы зайти в игру потролить школьников.

    :ph34r:

     

     

     

     

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

     

    А чаще их и искать не нужно, через админ интерфейс можно залить исполняемый файл в вэб директории... или подредактировать существующие исполняемые файлы (Протроянить).

     

    При возможности залить вэб шелл и торговать МВП картами за реал. Забанили новиса? создаешь нового рисуеш ему мвп карты и по новой...

    :ph34r:

    Всему юнных какеров учить нада... ППЦ кароч...

     

    Как Хабиля писал на герке, приемущество такой схемы в том что когда рисуеш через СКЛ а не через @ комманду в логах сервака ничего нет.. нада смотреть СКЛ логи...

     

  11. Участвуя в споре хабиля скажет ща счет чего у пресного МД5 достигаеться моментальное вскрытие паррля, по тому что есть словари на 100-200 гигов их можно зашифровать в МД5 и залить в базу и по сути отключить у этой базы ACID принципы и делать кучу СЕЛЕКТ выборок, между 2 СКЛ базами, (КОгда все синхронизации ACID принцыпов отключены, можно пролистать ОГРОМНУЮ базу за пару минут...)таким образом , можно вскрыть целую МД5 базу паролей за несколько минут..

    Какеры учитесь сливать базы и пароли ..

  12. 7 часов назад, SouZe сказал:

    И поэтому вы решили не использовать никакого шифрования вообще? Ахах
    Жестокая логика

    - у МД5 есть шанс коллизий
    - ок! тогда храним пароли плейн текстом

    хотя я хз кто в здравом уме начнет юзлес хеши брутить

    блеа... еще раз повторяю на*й.

    Любой школьник подбрутит ВСЮ базу пресных МД5 паролей за несколько часов (Ну Хабиля точно)...

     

    Часов КАРЛ, даже не дней...

     

    А когда МД5 с солью, тоже несколько часов, но там уже не получиться так чтобы, Х*як и всю базу подбрутить, там нада будет выбрать несколько акков, которые нужно подбрутить, чем меньше тем быстрее...

     

    Карочь, изучайте запаведи админов и не подпускайте какеров к ПРОДЕ. а то Какеры они такие ... какеры.

    • Upvote 1
    • Downvote 1
  13. 1 час назад, Sanasol сказал:

    Шел 2017, люди все еще не использовали md5 для паролей.

    Вы чо рияльно думаете что пресный md5 (без соли) (да уже даже и с солью) вас хоть сколько-то убережет?

    iJOaruA.jpg

    Алё-Балё! Народ, курите заповеди Админа, и не подпускайте к ПРОДЕ никого кроме сибя!

     

    Раз в рагне ниче другое пока не поддерживаеться....

     

    • Upvote 1
  14. 7 часов назад, Elmiria сказал:

    А теперь самое интересное - Хабиля должен научить всему нубов) Чтоб также быстро и так же качественно, и так же бесплатно (последнее относительно) XD

    Почти вся инфа есть в гайдах у Хабили в блоге.

    1. Ничего что там написано Распберри пай, норм встанет на Дебиан ВПС 

    (Если не пытаться отключить ВайФай и Блутуз у ВПС (Хабиля и такое видел, а еще спрашивают почему этот пункт не работает на ВПС...))

    2. гиды правда только на Инглише, если совсем ни как у Гугла есть гуг транслейт встроеный прямо в Хром, (Когда все как-то не  по Русски)

    3. Гиды только по Герку, по тому что Хабиля больше любит Герк. (Не па таму что Хабилю поставили в угол забанили на рА за плохое поведение)

    • Upvote 1
  15. Хабиля уже ХЗ чо тут еще добавить....

     

    В принципе все уже сделано (Если у вас еще есть какие-то идеи то велкам)

    Могу только запостить еще отчеты и оценки инспекции того что Хабиля по настроил...

     

    1 . Тест шифрования и (Типо безопасности) Е-мейл сервер а/ов

     сайт : http://www.emailsecuritygrader.com

    Скрытый текст

    tKvzphn.jpg

    Используеться ССЛ шифрование (Бесплатный ССЛ сертификат от Let's Encrypt)

    В гугле информация об отправителе выглядит так:

    Скрытый текст

    jzONhPs.png

     

    ЗАМОООЧЕК!!!

    А вот как выглядит когда шифрование не настроено 

    Скрытый текст

    PpDHqoC.jpg

     

    2. Тестируем Качество настройки ССЛ сертификата на сайте

    Хабиля установил и настроил ХТТПС  (HTTPS://) шифрование сайт при помощи бесплатных сертификатов  ССЛ от   Let's Encrypt

    SSL сертификат это вот эта вот фигнюшка

    I4OKxZH.jpg

    Можно протестировать качество настройки.

     сайт : https://www.ssllabs.com/ssltest/

    Скрытый текст

    GSU09Bl.jpg

     

    3. Ну и на конец можно протесировать проходимость Е-мейлов.

    От качества настройки Е-мейл сервера, зависит проходимость ваших Е-мейлов в Инбоксы пользователей

    Тоесть, хренова настроеные редко проходят в Инбокс а чеще попадают в спам. По этому многие ресурсы пишут унизительную фразу

    "Если вы не получали от нас Е-мейл, посмотрите в Спаме"  ©

    сайт : https://www.mail-tester.com/

    Скрытый текст

    SDcMTln.png

     

    Отняли 0.3 очка, по тому что некоторые Е-мейл провайдеры думают что Хабиля пользует БЕСПЛАТНЫЙ динамический ДНС...

    А так с оценкой 9.7 ВСЕГДА будет падать в Инбокс

    А значит Унизительную надпись

    "Если вы не получали от нас Е-мейл, посмотрите в Спаме"  ©

    Можно не писать...

     

    Карочь вот и все!!!

    Настраивайте Сервера Парвильно!

    Тестируйте и проверяйте настроенное!!

    Делайте с профессиональной точки зрения!

    И не забывайте про кибербезопасность!

    Да прибудет с вами сила!!!

    • Upvote 1
  16. Так (по скрину с ничего не говорящей ошибкой) тебе врятли кто-то поможет...

    нужно предоставить vhosts конфиг сайта или что там у апача... (Хабиля работает только с НгинХ по этому ваще ХЗ как там у апача...)

    и ls папки где находиться сайт или myphpadmin

     

     

    • Upvote 1
  17. Да ладно.. не надо на себя наговаривать. Если что-то совсем нев*нно сложное, можно тут, у пачанов спросить, они норм отвечают не смотря на то что говорят всякие школьники..(что их там обидили, оскорбили, затроллили, не ответили на вопросик)

    А еще можно на Герке спросить, там тоже норм пачяны и норм отвечают только они мутные карочь, по Русски не понимают...

    А на рАфине Хабилю в угол поставили Рид-онли за плохое поведение кинули, там хз какие пачяны.. тоже норм наверное есть.

     

    Глвавное, кароч, не бояться и не здаваться, и не отступать кароч!.....

    • Upvote 1
  18. Лови первую версию 

    дома кароч доработаю выборку

    DELIMITER //
    set @nameid = 601;
    
    
    SELECT 
    	c.account_id
    	,c.name
    	,inv.inventory_amnt
    	,crt.cart_amnt
    	,mail.mail_amnt
    	,stor.storage_amnt
    	,(ifnull(inv.inventory_amnt, 0) + ifnull(crt.cart_amnt, 0) + ifnull(mail.mail_amnt, 0) + ifnull(stor.storage_amnt, 0)) AS tot_amnt
    FROM `char` c
    LEFT JOIN (SELECT char_id, SUM(amount) AS inventory_amnt FROM inventory WHERE nameid=@nameid GROUP BY char_id) inv
    	ON inv.char_id=c.char_id
    LEFT JOIN (SELECT char_id, SUM(amount) AS cart_amnt FROM cart_inventory WHERE nameid=@nameid GROUP BY char_id) crt
    	ON crt.char_id=c.char_id
    LEFT JOIN (SELECT dest_id AS char_id, SUM(amount) AS mail_amnt FROM mail WHERE nameid=@nameid GROUP BY dest_id) mail
    	ON mail.char_id=c.char_id
    LEFT JOIN (SELECT account_id, SUM(amount) AS storage_amnt FROM storage WHERE nameid=@nameid GROUP BY account_id) stor
    	ON stor.account_id=c.account_id
    	
    ORDER BY tot_amnt DESC;
    	
    //
    DELIMITER ;

     

    пример того что выбираеться

    +------------+------------+----------------+-----------+-----------+--------------+----------+
    | account_id | name       | inventory_amnt | cart_amnt | mail_amnt | storage_amnt | tot_amnt |
    +------------+------------+----------------+-----------+-----------+--------------+----------+
    |    2000002 | Wiwrtas    |             19 |      NULL |      NULL |         NULL |       19 |
    |    2000002 | Strelok    |              9 |      NULL |      NULL |         NULL |        9 |
    |    2000000 | test       |           NULL |      NULL |      NULL |         NULL |        0 |
    |    2000002 | aaaaa      |           NULL |      NULL |      NULL |         NULL |        0 |
    |    2000003 | ladyAdA    |           NULL |      NULL |      NULL |         NULL |        0 |
    |    2000000 | toto       |           NULL |      NULL |      NULL |         NULL |        0 |
    |    2000000 | Habilis    |           NULL |      NULL |      NULL |         NULL |        0 |
    |    2000001 | tata       |           NULL |      NULL |      NULL |         NULL |        0 |
    |    2000002 | asdasfasfd |           NULL |      NULL |      NULL |         NULL |        0 |
    |    2000004 | tatatatata |           NULL |      NULL |      NULL |         NULL |        0 |
    +------------+------------+----------------+-----------+-----------+--------------+----------+
    10 rows in set (0.01 sec)

     

    Выбираеться сумма предмета 601 (крыло мухи) в инвентаре, тележке, почте, кафре (оно по акку а не по персонажу по этому у всех персонажей под 1 акком там одинаковое значение) и тотал, по нему определяю того у кого больше всего предмета...

     

    С ги стореджем логика та-же только выборка меньше... я не стал вкручивать по тому что Гильдия это воабще отдельная сущьность связаннае кароч с множеством Чаров...

×
×
  • Создать...
Яндекс.Метрика