[CS: Source] Who's faster?

Тема в разделе "Новые плагины", создана пользователем FBZA, 19 сен 2014.

  1. FBZA

    FBZA

    Сообщения:
    69
    Симпатии:
    6
    Who's faster?
    Описание:
    Не знаю, можно использовать как мод для игры, можно просто использовать как плагин, регулирует полученный урон. + что-то типа вампиризма.

    CVARs:
    wf_dps— Количество урона за попадание.(Def. 2)
    wf_hps
    — Количество полученного hp за попадание. (Def. 1)

    Примечания:
    Что можно добавить и где можно применить?
     

    Вложения:

    • sh.sp
      Размер файла:
      984 байт
      Просмотров:
      6
    • sh.smx
      Размер файла:
      4,3 КБ
      Просмотров:
      1
    Последнее редактирование: 21 сен 2014
    Джускаси нравится это.
  2. Danyas

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

    Сообщения:
    1.719
    Симпатии:
    459
    Можно еще дописать для headshot'a
     
  3. FBZA

    FBZA

    Сообщения:
    69
    Симпатии:
    6
    Danyas, в каком плане для headshot'а? Чтобы регулировалось только для хедшота, а в остальные части тела как был дамаг, таким и оставить?

    Добавлено через 2 минуты
    В принципе, если повозиться немного, можно попробовать сделать CVAR для включения регулировки только при стрельбе в определенную часть тела…
     
    Последнее редактирование: 19 сен 2014
  4. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    PHP:
    wf_dps1 CreateConVar("wf_dps""2""Количество урона за попадание."FCVAR_PLUGIN);
    wf_hps1 CreateConVar("wf_hps""1""Количество полученного hp за попадание."FCVAR_PLUGIN);
    Лучше их сделать константами.
    Шутишь?
    if(IsClientInGame(i) && IsPlayerAlive(i) && i != 0) SetEntityHealth(a, hpa + GetConVarInt(wf_hps1));
     
  5. acik

    acik

    Сообщения:
    734
    Симпатии:
    628
    можно еще и на attackera в последней строке
     
  6. FBZA

    FBZA

    Сообщения:
    69
    Симпатии:
    6
    TolikCorp, что такое константа? Я не шучу, я не знаю что это, я с языком мало работаю.
     
  7. AMD

    AMD

    Сообщения:
    180
    Симпатии:
    16
    Константа это постоянно не изменяемое значение, есть ещё переменное значение, которое может меняться в зависимости от, событий происходящих в программе.
     
  8. Konstantin

    Konstantin

    Сообщения:
    1.789
    Симпатии:
    767
    Оффтоп
     
  9. Danyas

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

    Сообщения:
    1.719
    Симпатии:
    459
    :beee:
     
  10. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    PHP:
    #include <sdktools>

    #define wf_dps1 2
    #define wf_hps1 1

    public OnPluginStart()
        
    HookEvent("player_hurt"_LetTheCarnageBegin);

    public 
    Action:_LetTheCarnageBegin(Handle:event, const String:name[], bool:dontBroadcast)
    {
        new 
    GetClientOfUserId(GetEventInt(event"userid"));
        new 
    GetClientOfUserId(GetEventInt(event"attacker"));
        if(
    && IsClientInGame(i) && IsPlayerAlive(i))
            
    SetEntityHealth(iGetClientHealth(i) + GetEventInt(event"dmg_health") - wf_dps1);
        if(
    && IsClientInGame(a) && IsPlayerAlive(a))
            
    SetEntityHealth(aGetClientHealth(a) + wf_hps1);
    }
    + Используй не табуляцию, а 4 пробела. А то получится так, что в одних текстовиках будет выглядеть по-одному, в другом по-другому.
     
    Последнее редактирование: 20 сен 2014
  11. FBZA

    FBZA

    Сообщения:
    69
    Симпатии:
    6
    Я верен табуляции и изменять ей с пробелами не собираюсь.
    Куда ты дел ConVar'ы?
     
  12. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    Я их сделал константами, вооон сверху они. Далее - зачем заводить переменную, если ты её используешь один раз?
    Про табуляцию ты так говоришь, потому что с ней мало работал. Как говорится: "Повзрослеешь - поймешь".
    Библиотеку sourcemod нет необходимости подключать, т.к. она автоматически сама подключается.
     
  13. AlmazON

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

    Сообщения:
    4.533
    Симпатии:
    1.980
    Оффтоп
    Оффтоп
     
  14. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    Оффтоп
     
  15. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.991
    Симпатии:
    2.988
    Оффтоп
     
  16. AlmazON

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

    Сообщения:
    4.533
    Симпатии:
    1.980
    И потому такой бред пишешь? Заново проверяешь victim'а, а выполняешь операцию с attacker'ом:
     
  17. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    Это называется не доглядел.
     
  18. AlmazON

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

    Сообщения:
    4.533
    Симпатии:
    1.980
    Ему же наоборот нравится.
    А это ТС:
    PHP:
    new Handle:wf_dps1Handle:wf_hps1;

    public 
    Plugin:myinfo =
    {
        
    name "Who's faster",
        
    author "11plawyer",
        
    version "1.0",
    }

    public 
    OnPluginStart()
    {
        
    HookEvent("player_hurt"LetTheCarnageBegin);
        
    wf_dps1 CreateConVar("wf_dps""2""Количество урона за попадание."FCVAR_PLUGIN);
        
    wf_hps1 CreateConVar("wf_hps""1""Количество полученного hp за попадание."FCVAR_PLUGIN);
    }

    public 
    LetTheCarnageBegin(Handle:event, const String:name[], bool:dontBroadcast)
    {
        new 
    GetClientOfUserId(GetEventInt(event"attacker")), GetClientOfUserId(GetEventInt(event"userid"));
        if (
    && IsPlayerAlive(i)) SetEntityHealth(iGetClientHealth(i) + GetEventInt(event"dmg_health") - GetConVarInt(wf_dps1));
        if (
    && IsPlayerAlive(a) && != iSetEntityHealth(aGetClientHealth(a) + GetConVarInt(wf_hps1));
    }
     
  19. FBZA

    FBZA

    Сообщения:
    69
    Симпатии:
    6
    Ребят, может туплю из-за того, что лег в 4, встал в 5, но почему у Толика нету CreateConVar'а?


    Добавлено через 1 минуту
    Вопросы по оптимизации кода: Почему GetEventInt(event, "dmg_health"), допустим, лучше, чем new dmg = GetEventInt(event, "dmg_health")?

    Добавлено через 3 минуты
    И, ребят, из кода убирайте
    PHP:
    public Plugin:myinfo =
    {
        
    name "Who's faster",
        
    author "11plawyer",
        
    version "1.0",
    }
    Ведь код уже изменен, а автором я не являюсь. Если только автором начального кода, потому прошу, либо добавляйте свое авторство, либо не указывать его вообще, лол.
     
    Последнее редактирование: 20 сен 2014
  20. TolikCorp

    TolikCorp

    Сообщения:
    855
    Симпатии:
    271
    Ну смотри, ты один раз GetEventInt(event, "dmg_health") используешь. Рациональнее не создавать переменную и в нее писать, а использовать по месту сразу.

    Там константы
    #define wf_dps1 2
    #define wf_hps1 1
     
    Последнее редактирование: 20 сен 2014