Авто-определение клана в игре для WarMod

Тема в разделе "Программирование / Скриптинг", создана пользователем Danyas, 14 фев 2016.

  1. Danyas

    Danyas Спасибо, браток © yand3xmail Модератор

    Сообщения:
    1.719
    Симпатии:
    459
    Понятия не имею как реализовать данную вещь, но хотелось бы у себя реализовать автоматическую пропись в переменные ct и t (WarMod).
    Как я себе это представляю - при join_team проверять кол-во игроков, если больше 9 - проверять наличие общих символов в нике у всех игроков
    p.s. Пример массива игроков:
    1) teamW - ezp
    2) teamW - x11
    3) teamA - udp
    4) teamW - tcc
    5) teamA - wp
    6) teamA - tcp
    7) teamA - gg
    8) teamW - etc
    9) teamA - ez

    Дальше, при совпадении более чем из N-символов в никах - присваивать значение переменной t и ct

    как-то-так.
    Если кто-то с подобным сталкивался прошу запилить ссылку на это детище (или похожее)
     
  2. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    клан - это клантег? если нет, то мб обязать ставить клан в [ ]. ну а далее создаем два массива, в первый (array) вписываем все кланы, во второй (trie) количество игроков с этим кланом, соответственно, играемся со вторым
     
  3. artyrka94

    artyrka94

    Сообщения:
    182
    Симпатии:
    36
    зачем при join_team? я бы сделал при старте матча берешь клантег первого т игрока сравниваешь с клантегами других т игроков если у всех одинаковый выполняешь servercommand("t %s", clantag); ну и аналогично с ct
     
    Последнее редактирование: 26 фев 2016
  4. Danyas

    Danyas Спасибо, браток © yand3xmail Модератор

    Сообщения:
    1.719
    Симпатии:
    459
    Ну дак а как их стровнить то?)
     
  5. artyrka94

    artyrka94

    Сообщения:
    182
    Симпатии:
    36
    @Danyas, ты же вроде шарил в павне)

    PHP:
    native CS_GetClientClanTag(clientString:buffer[], size);
    forward OnLiveOn3();

    public 
    OnLiveOn3()
    {
        
    decl String:ctag[16], String:ttag[16], String:buf[16];
        new 
    ct=0t=0;
        for(new 
    i=1i<=MaxClientsi++)
        if(
    IsClientInGame(i))
        {
            switch(
    GetClientTeam(i))
            {
                case 
    2:
                {
                    if(
    ttag[0])
                    {
                        
    CS_GetClientClanTag(i,buf,sizeof(buf));
                        if(
    strcmp(ttag,buf) == 0)
                            
    t++;
                    }else
                    {
                        
    CS_GetClientClanTag(i,ttag,sizeof(ttag));
                    }
                }
                case 
    3:
                {
                    if(
    ctag[0])
                    {
                        
    CS_GetClientClanTag(i,buf,sizeof(buf));
                        if(
    strcmp(ctag,buf) == 0)
                            
    ct++;
                    }else
                    {
                        
    CS_GetClientClanTag(i,ctag,sizeof(ctag));
                    }
                }
            }
        }
        if(
    3ServerCommand("t %s"ttag);
        if(
    ct 3ServerCommand("ct %s"ctag);
    }
     
  6. Danyas

    Danyas Спасибо, браток © yand3xmail Модератор

    Сообщения:
    1.719
    Симпатии:
    459
    Спасибо, в v34 нету клантега, имеется ввиду сам принцип взятия.
    При виде некоторых вещей в павне я впадаю в панику и ничего не могу сделать, для примера это любые действия с инклюдов adt_*, для меня это тёмный лес)
    а это в принципе банальная конструкция, но всё равно как-то туповато доходило, но дошло, по этому спасибо вдвойне)
     
  7. artyrka94

    artyrka94

    Сообщения:
    182
    Симпатии:
    36
    @Danyas, если из ника хочешь достать, можно попробовать через SplitString
     
  8. Reg1oxeN

    Reg1oxeN

    Сообщения:
    85
    Симпатии:
    26
    это было только начало в далеком прошлом и я писал как мог.
    как бы то ни было удачи в оптимизации )
    Dropbox - get_clantag.txt
    зы. буду рад получить обратно код в новом виде )
     
    Danyas нравится это.
  9. Danyas

    Danyas Спасибо, браток © yand3xmail Модератор

    Сообщения:
    1.719
    Симпатии:
    459
    Годнота, если осилю всё таки - отправлю код в новом виде)
     
  10. SourceSamil

    SourceSamil

    Сообщения:
    121
    Симпатии:
    24
    Еще актуально?
     
  11. warlock

    warlock

    Сообщения:
    216
    Симпатии:
    1
    CS:GO версию? Надоело, что вармод не умеет адекватно подхватывать клантеги, и потом демки нужные хрен найдешь..
     
  12. Danyas

    Danyas Спасибо, браток © yand3xmail Модератор

    Сообщения:
    1.719
    Симпатии:
    459
    CSS v34.
    Я не имею ввиду способ взятия именно клантега (группы стима, там проще), ищу способ поиска клантега, когда он в роли пре(су)фикса в самом нике.
    Reg1oxeN выложил то-то похожее, а возможно и оно, но я еще не добрался до этого...
     
  13. SourceSamil

    SourceSamil

    Сообщения:
    121
    Симпатии:
    24
    Так, получаешь имя игрока, потом делишь по пробелу, ] \ / # ; $ и другим похожим символам, все, что до - клан тэг, потом сравниваешь в strcmp одинаковы ли они, если да, пилишь их в массив