Помогите сделать проверку

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

  1. Azat777

    Azat777

    Сообщения:
    22
    Симпатии:
    1
    Хочу сделать проверку что бы випам не давало денег на первом раунде а на следующих давало

    Скриптеры помогите сделать проверку

    Если не та тему пожалуйста просто переместите тему)))
     
  2. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.591
    Симпатии:
    1.996
    PHP:
    #define TIME_MONEY    0.5        //Время, через которое деньги у игрока меняются (по исходнику + 0.1).

    new bool:g_bHookg_iOffsetMoneyg_iStandartMoney;

    public 
    OnPluginStart()
    {
        if ((
    g_iOffsetMoney FindSendPropInfo("CCSPlayer""m_iAccount")) < 1SetFailState("Set money is not supported (failure 'CCSPlayer::m_iAccount' offset)!");
        
    decl Handle:h;
        
    HookConVarChange(FindConVar("mp_startmoney"), ChangeCvar_startmoney);
        
    g_iStandartMoney GetConVarInt(h);
    }

    public 
    ChangeCvar_startmoney(Handle:cvarString:oldValue[], String:newValue[]) g_iStandartMoney GetConVarInt(cvar);

    public 
    OnConfigsExecuted()
    {
        if (!
    g_bHook)
        {
            
    g_bHook true;
            
    HookEvent("player_spawn"Event_PlayerSpawn);
            
    HookEvent("round_end"Event_RoundEndEventHookMode_PostNoCopy);
        }
    }

    public 
    Event_PlayerSpawn(Handle:eventString:name[], bool:dontBroadcast)
    {
        
    CreateTimer(TIME_MONEYSetMoneyStandartGetEventInt(event"userid"), TIMER_FLAG_NO_MAPCHANGE);
    }

    public 
    Action:SetMoneyStandart(Handle:timerany:userid)
    {
        
    decl client;
        if ((
    client GetClientOfUserId(userid))) SetEntData(clientg_iOffsetMoneyg_iStandartMoney4true);
    }

    public 
    Event_RoundEnd(Handle:eventString:name[], bool:dontBroadcast)
    {
        
    g_bHook false;
        
    UnhookEvent("round_end"Event_RoundEndEventHookMode_PostNoCopy);
        
    UnhookEvent("player_spawn"Event_PlayerSpawn);
    }
    Первая строка: TIME_MONEY - подсчитать, сколько проходит времени от спавна до выдачи дополнительных денег и установить значение на большее на 0.1 секунду.
     
    Azat777 нравится это.
  3. Azat777

    Azat777

    Сообщения:
    22
    Симпатии:
    1
    Спасибо кончено за код.

    но можно просто сюда поставить проверку что бы не срабатывало 1 раунд

    if(VIP_IsClientFeatureUse(iClient, VIP_MONEY))
    {
    UTIL_GiveClientData(iClient, VIP_MONEY, m_iAccount);
    }
     
  4. Azat777

    Azat777

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

    if(какойраунда == 1)
    {
    то код не идет
    }

    типа такого
     
  5. Dreizehnt

    Dreizehnt Unteroffizier

    Сообщения:
    636
    Симпатии:
    207
    Ооо, тоже нужно, игроки соблазняются под угрозой бана, сейчас буду проверять))
    P.S. Время выдачи привилегий ставится здесь: /cfg/vip/vip_core.cfg, ели кому-то нужно узнать где вообще выставляется.
     
  6. Dreizehnt

    Dreizehnt Unteroffizier

    Сообщения:
    636
    Симпатии:
    207
    Не работает... =(
     
  7. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.591
    Симпатии:
    1.996
    О каком 1 раунде вообще речь? Разминочном или тот, что начинается, когда игроки заходят на новую карту? Оффтоп
     
  8. Dreizehnt

    Dreizehnt Unteroffizier

    Сообщения:
    636
    Симпатии:
    207
    *хрусь* *хрусь*
    Есть модуль для ядра VIP от R1ko, который выдаёт вип-игрокам деньги, указанные в файле настройки групп groups.ini, выдаются привилегии согласно выставленному времени в файле настроек ядра (vip_core.cfg) с минимальным значением 0.1 (по стандарту стоит 1 секунда). Можно деньги как прибавлять игроку, так и строго указывать сумму при возрождении. В CS:GO разминку выключить нельзя, она будет всегда, даже если все значения в 0. От того и боль. При разминке деньги максимальные и не прибавляются после смерти и возрождении, премиум не задействован. После окончания разминки. существует "ямка времени", от последней секунды до рестарта на первый раунд после разминки, умерев или возродившись в которую (как через консоль, так и посредством убийства), вип-игроки получают дополнительные деньги на первом раунде, а такого быть не должно. Те вип-игроки, которые умерли нормально, не попадая в яму, возрождаются с серверным значением для всех, как собственно и должно происходить. "Яму времени" обхитрить невозможно, как и игроков, которые сознательно "килляются" для получение денежек, тут бы какой-нибудь "стопер" на первый раунд для модуля....
     
  9. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.591
    Симпатии:
    1.996
    Так и не понял, о чём идёт речь. Время выдачи самого VIP-статуса? Оно ни к чему для кода выше.
    А перед этим нужно было включать телепата? ТС не уточнил, я так понял, что 1 раунд - это имеется ввиду сам разминочный и делал под него.
    Если возродится в этом времени рестарта, тоже нужно убирать деньги или нет смысла и это сделать сразу в 1 раунде после разминки?
     
  10. SlipknotRU

    SlipknotRU

    Сообщения:
    35
    Симпатии:
    4
    Можно узнать общий счет команды если он равен 0, то это и есть первый раунд, самый первый.

    [C++] First round - Pastebin.com дальше редактируешь под себя.

    [C++] GetRound stock - Pastebin.com Версия от меня
     
    Последнее редактирование: 1 июл 2016
    Azat777 нравится это.
  11. Azat777

    Azat777

    Сообщения:
    22
    Симпатии:
    1
    Спасибо, постараюсь что то из этого вытащить. Если будут проблемы напишу)))

    P.S А они будут :D
     
  12. SlipknotRU

    SlipknotRU

    Сообщения:
    35
    Симпатии:
    4
    @Azat777, не знаю что там проблемного может быть. я тебе дал функцию через которую мы можем получить все раунды.
     
    Azat777 нравится это.
  13. Azat777

    Azat777

    Сообщения:
    22
    Симпатии:
    1
    Все сделал спасибо)))
    --- Добавлено позже ---
    @SlipknotRU, Слушай а не подскажешь как узнать есть ли у человека в руке например мед шприц

    и поставить сюда проверку если есть шприц то не выдавать

    Оффтоп
     
    Последнее редактирование: 3 июл 2016