Изменить дамаг

semjef

semjef.ru
Сообщения
993
Реакции
444
Игорь Охремчук, сейчас учёба вышла на первое место, а так примерно на 20-30% написал ролплей, многое продумано и просто записано в блокноте т.к. нет времени это реализовывать в коде сейчас...

так вот к чему я... там всё через mysql, лично я не вижу смысла делать на кв что-либо:DD
 

Игорь Охремчук

Админ uaplayer.com
Сообщения
240
Реакции
340
Игорь Охремчук, сейчас учёба вышла на первое место, а так примерно на 20-30% написал ролплей, многое продумано и просто записано в блокноте т.к. нет времени это реализовывать в коде сейчас...

так вот к чему я... там всё через mysql, лично я не вижу смысла делать на кв что-либо:DD

Мне вот всегда было интерестно как вы измеряете прогресс реализации))) На глаз прикинул?)) У меня плагины для ксс максимум выходили до 1200 сточек, в таком случае если я в начале заполнил myinfo и зарегал команды - это будет уже 10%?)
Заказали переделать твою ауру цитирую "шоб было без базы, а с конфигом", на кв вроде самый оптимальный вариант)
 

semjef

semjef.ru
Сообщения
993
Реакции
444
Мне вот всегда было интерестно как вы измеряете прогресс реализации))) На глаз прикинул?)) У меня плагины для ксс максимум выходили до 1200 сточек, в таком случае если я в начале заполнил myinfo и зарегал команды - это будет уже 10%?)
просто представил все функции которые надо реализовать и то что уже реализовал из этого))


Заказали переделать твою ауру цитирую "шоб было без базы, а с конфигом", на кв вроде самый оптимальный вариант)
ну такто оно да, но если они будут обновлять версию то опять придётся некоторое переделывать)))
P.S.я бы и сам за небольшое вознаграждение переделал:DDD
 

WeSTMan

А вот тут текст!
Сообщения
833
Реакции
521
PHP:
#include <sdkhooks>
public OnClientPutInServer(client)
{
    CreateTimer(0.1, timerCheckHookClient, client, TIMER_FLAG_NO_MAPCHANGE);
}
public Action:timerCheckHookClient(Handle:timer, any:client)
{
    LoadHooks(client);
}  

LoadHooks(client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamagePre);
}

public Action:OnTakeDamagePre(victim, &attacker, &inflictor, &Float:damage, &damagetype)
{
    damage = 3.0;
}

Работает ли данный плагин? И наносит ли он урон в x3?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #25
Алексей Каменкин, проверь.
 

DenisPukin

Капитан Костыль
Сообщения
185
Реакции
34
Помогите пожалуйста. Урон не добавляется.
PHP:
#include <sourcemod> 
#include <sdkhooks>
#include <sdktools>

public OnClientPutInServer(client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnDamage); 
}

public Action:OnDamage(client, &Attaker, &Inflictor, &Float:damage, &DamageType)
{
    new flags = GetUserFlagBits(client);  
    if (flags & ADMFLAG_CUSTOM1 && GetClientTeam(client) == 2)
    {
      if(IsPlayerAlive(client))
        {
            damage += 100.0;
        }
    }
    return Plugin_Changed 
}
 

Someone

Участник
Сообщения
1,933
Реакции
1,653
PHP:
public Action:OnDamage(client, &Attaker, &Inflictor, &Float:damage, &DamageType)
{
    new flags = GetUserFlagBits(client); 
    if (flags & ADMFLAG_CUSTOM1 && GetClientTeam(client) == 2 && IsPlayerAlive(client))
    {
        damage += 100.0;
        return Plugin_Changed;
    }
    return Plugin_Continue;
}
 

DenisPukin

Капитан Костыль
Сообщения
185
Реакции
34
@Someone, блин, Получилось наоборот урон наносят мне + 100, а нужно что бы я наносил +100
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
@DenisPukin, в new flags = GetUserFlagBits(client); нужно сменить client на Attaker
 

Ровный Кент

Участник
Сообщения
703
Реакции
121
C-подобный:
#include <sourcemod> 
#include <sdkhooks>
#include <sdktools>

public OnClientPutInServer(client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnDamage); 
}

public Action:OnDamage(client, &Attaker, &Inflictor, &Float:damage, &DamageType)
{
    new flags = GetUserFlagBits(client); 
    if (flags & ADMFLAG_ROOT && GetClientTeam(client) == 2 && IsPlayerAlive(client))
    {
        damage /= 1.5;
        return Plugin_Changed;
    }
    return Plugin_Continue;
}

Как уменьшить урон по "ADMFLAG_ROOT" например в 1.5 или 2 раза ?.
И возможно ли в одном .smx что бы урон у "ADMFLAG_ROO" был *1.5 а по нему /1.5
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670
C-подобный:
#include <sourcemod>
#include <sdkhooks>
#include <sdktools>

public OnClientPutInServer(client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnDamage);
}

public Action:OnDamage(client, &Attaker, &Inflictor, &Float:damage, &DamageType)
{
    new flags = GetUserFlagBits(client);
    if (flags & ADMFLAG_ROOT && GetClientTeam(client) == 2 && IsPlayerAlive(client))
    {
        damage /= 1.5;
        return Plugin_Changed;
    }
    return Plugin_Continue;
}

Как уменьшить урон по "ADMFLAG_ROOT" например в 1.5 или 2 раза ?.
И возможно ли в одном .smx что бы урон у "ADMFLAG_ROO" был *1.5 а по нему /1.5
Оффтоп
 

Someone

Участник
Сообщения
1,933
Реакции
1,653
C-подобный:
#include <sourcemod>
#include <sdkhooks>
#include <sdktools>

public OnClientPutInServer(client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnDamage);
}

public Action:OnDamage(client, &Attaker, &Inflictor, &Float:damage, &DamageType)
{
    new flags = GetUserFlagBits(client);
    if (flags & ADMFLAG_ROOT && GetClientTeam(client) == 2 && IsPlayerAlive(client))
    {
        damage /= 1.5;
        return Plugin_Changed;
    }
    return Plugin_Continue;
}

Как уменьшить урон по "ADMFLAG_ROOT" например в 1.5 или 2 раза ?.
И возможно ли в одном .smx что бы урон у "ADMFLAG_ROO" был *1.5 а по нему /1.5

PHP:
#include <sdkhooks>

public void OnClientPutInServer(int client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action OnTakeDamage(int client, int &Attaker, int &Inflictor, float &damage, int &DamageType)
{
    int VFlags = GetUserFlagBits(client);
    int AFlags = GetUserFlagBits(Attacker);
  
  
    if (VFlags & ADMFLAG_ROOT && IsPlayerAlive(client))        // Получает урон.
    {
        damage /= 1.5;
        return Plugin_Changed;
    }
  
    if (AFlags & ADMFLAG_ROOT && client != Attacker)        // Наносит урон.
    {
        damage *= 1.5;
        return Plugin_Changed;
    }
  
    return Plugin_Continue;
}
 

Ровный Кент

Участник
Сообщения
703
Реакции
121
PHP:
#include <sdkhooks>

public void OnClientPutInServer(int client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action OnTakeDamage(int client, int &Attaker, int &Inflictor, float &damage, int &DamageType)
{
    int VFlags = GetUserFlagBits(client);
    int AFlags = GetUserFlagBits(Attacker);
 
 
    if (VFlags & ADMFLAG_ROOT && IsPlayerAlive(client))        // Получает урон.
    {
        damage /= 1.5;
        return Plugin_Changed;
    }
 
    if (AFlags & ADMFLAG_ROOT && client != Attacker)        // Наносит урон.
    {
        damage *= 1.5;
        return Plugin_Changed;
    }
 
    return Plugin_Continue;
}

C-подобный:
//// admin_damage.sp
//
// admin_damage.sp(11) : error 017: undefined symbol "Attacker"
// admin_damage.sp(20) : error 017: undefined symbol "Attacker"
//
// 2 Errors.
//
// Compilation Time: 0,14 sec
// ----------------------------------------

Вот так вот, правильно ? :

C-подобный:
#include <sdkhooks>

public void OnClientPutInServer(int client)
{
    SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action OnTakeDamage(int client, int &attacker, int &Inflictor, float &damage, int &DamageType)
{
    int VFlags = GetUserFlagBits(client);
    int AFlags = GetUserFlagBits(attacker);
 
 
    if (VFlags & ADMFLAG_ROOT && IsPlayerAlive(client))        // Получает урон.
    {
        damage /= 1.5;
        return Plugin_Changed;
    }
 
    if (AFlags & ADMFLAG_ROOT && client != attacker)        // Наносит урон.
    {
        damage *= 1.5;
        return Plugin_Changed;
    }
    return Plugin_Continue;
}
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
так будет чуть меньше проц грузить
PHP:
#include <sdkhooks>

bool bAdmin[MAXPLAYERS+1];

public void OnClientPostAdminCheck(int client)
{
    bAdmin[client] = false;
    SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
    if(GetUserFlagBits(client) & ADMFLAG_ROOT) bAdmin[client] = true;
}

public Action OnTakeDamage(int client, int &Attacker, int &Inflictor, float &damage, int &DamageType)
{
    if (IsPlayerAlive(client) && bAdmin[client])    // Получает урон.
    {
        damage /= 1.5;
        return Plugin_Changed;
    }

    if (bAdmin[Attacker] && client == Attacker)        // Наносит урон.
    {
        damage *= 1.5;
        return Plugin_Changed;
    }

    return Plugin_Continue;
}
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #39
@Someone, он видимо == и != перепутал. бывает
 

Ровный Кент

Участник
Сообщения
703
Реакции
121
так будет чуть меньше проц грузить
PHP:
#include <sdkhooks>

bool bAdmin[MAXPLAYERS+1];

public void OnClientPostAdminCheck(int client)
{
    bAdmin[client] = false;
    SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
    if(GetUserFlagBits(client) & ADMFLAG_ROOT) bAdmin[client] = true;
}

public Action OnTakeDamage(int client, int &Attacker, int &Inflictor, float &damage, int &DamageType)
{
    if (IsPlayerAlive(client) && bAdmin[client])    // Получает урон.
    {
        damage /= 1.5;
        return Plugin_Changed;
    }

    if (bAdmin[Attacker] && client == Attacker)        // Наносит урон.
    {
        damage *= 1.5;
        return Plugin_Changed;
    }

    return Plugin_Continue;
}

PHP:
#include <sdkhooks>

bool bAdmin[MAXPLAYERS+1];

public void OnClientPostAdminCheck(int client)
{
    bAdmin[client] = false;
    SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
    if(GetUserFlagBits(client) & ADMFLAG_ROOT) bAdmin[client] = true;
}

public Action OnTakeDamage(int client, int &Attacker, int &Inflictor, float &damage, int &DamageType)
{
    if (IsPlayerAlive(client) && bAdmin[client])    // Получает урон.
    {
        damage /= 1.5;
        return Plugin_Changed;
    }

    if (bAdmin[Attacker] && client != Attacker)        // Наносит урон.
    {
        damage *= 1.5;
        return Plugin_Changed;
    }

    return Plugin_Continue;
}

Теперь правильно?
 
Сверху Снизу