Увеличение урона в 2 раза

Тема в разделе "Программирование / Скриптинг", создана пользователем Webman, 7 янв 2014.

  1. Webman

    Webman Developer

    Сообщения:
    702
    Симпатии:
    182
    Здравствуйте. Помогите, пожалуйста.

    Хочу сделать увеличение урона (damage) в 2 раза.
    Например, чтобы удар с ножа снимал не 65hp, а 130 hp

    PHP:
    #include <sourcemod> 
     #include <sdktools> 

     
    public OnPluginStart() 
     { 
          
    HookEvent("player_hurt"EventPlayerHurtEventHookMode_Pre); 
     } 

     public 
    Action:EventPlayerHurt(Handle:event, const String:name[],bool:dontBroadcast
     { 
          new 
    victim GetClientOfUserId(GetEventInt(event"userid"));
          new 
    attacker GetClientOfUserId(GetEventInt(event"attacker"));
          
    // code 
     

    Подскажите, как сделать. Заранее спасибо.
     
  2. trueattack

    trueattack

    Сообщения:
    148
    Симпатии:
    32
  3. Webman

    Webman Developer

    Сообщения:
    702
    Симпатии:
    182
    Оффтоп
     
  4. R1KO

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

    Сообщения:
    6.001
    Симпатии:
    2.993
    PHP:
    public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype)
    {    
        
    damage damage*2;
            return 
    Plugin_Changed;
    }  
     
    Webman нравится это.
  5. SaInT.P

    SaInT.P

    Сообщения:
    1.270
    Симпатии:
    237
    Webman, с чего бы это? удар в спину снимает 175 хп
     
  6. Webman

    Webman Developer

    Сообщения:
    702
    Симпатии:
    182
    Подскажите, пожалуйста. Вот так правильно будет?

    PHP:
    public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype)
    {
        new 
    WeaponIndex;
        
    decl String:ClassName[30];
        
    WeaponIndex GetEntPropEnt(attackerProp_Send"m_hActiveWeapon");
        
    GetEdictClassname(WeaponIndexClassNamesizeof(ClassName));
        
        if (
    StrEqual("weapon_awp"ClassNamefalse))
        {
        
    damage damage*2;
        return 
    Plugin_Changed;
        }
        return 
    Plugin_Handled;
    }
    По поводу 5 строчки сомнения.
     
  7. R1KO

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

    Сообщения:
    6.001
    Симпатии:
    2.993
    Webman, да. Но почему бы не сделать сразу так:

    PHP:
    new WeaponIndex GetEntPropEnt(attackerProp_Send"m_hActiveWeapon");
    И еще если
    PHP:
    damage damage*2;
    не проканает то так:
    PHP:
    damage float(damage*2);
    И в конце должно быть не
    PHP:
    return Plugin_Handled;
    а
    PHP:
    return Plugin_Continue;
     
    Webman нравится это.
  8. Webman

    Webman Developer

    Сообщения:
    702
    Симпатии:
    182
  9. Webman

    Webman Developer

    Сообщения:
    702
    Симпатии:
    182
    Возвращаюсь к данной теме снова, т.к. не получается что-то:
    Вот код:
    PHP:
    public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype)
    {
        new 
    WeaponIndex GetEntPropEnt(attackerProp_Send"m_hActiveWeapon");
        
    decl String:ClassNameZ[30];
        
    GetEdictClassname(WeaponIndexClassNameZsizeof(ClassNameZ));
        if (
    StrEqual("weapon_deagle"ClassNameZfalse))
        {
            
    damage float(damage*5);
            return 
    Plugin_Changed;
        }
        return 
    Plugin_Handled;
    }
    Пробовал с/без float() - не работает.
     
  10. R1KO

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

    Сообщения:
    6.001
    Симпатии:
    2.993
    Webman, пробуй так

    PHP:
    public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype)
    {
        
    decl String:sWeapon[24];
        
    GetClientWeapon(attackersWeaponsizeof(sWeapon));
        if (
    StrEqual(sWeapon[7], "deagle"))
        {
            
    damage damage*5;
            return 
    Plugin_Changed;
        }
        return 
    Plugin_Handled;
    }
     
    Последнее редактирование: 24 янв 2014
    Webman нравится это.
  11. Webman

    Webman Developer

    Сообщения:
    702
    Симпатии:
    182
    attacker может быть?
     
  12. R1KO

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

    Сообщения:
    6.001
    Симпатии:
    2.993
    Webman, да)
     
    Webman нравится это.
  13. Webman

    Webman Developer

    Сообщения:
    702
    Симпатии:
    182
    R1KO, Спасибо)