Ir para conteúdo

Como mudar frags e tempos de red skull e black skull e tempo de white skull?


gotasss

Posts Recomendados

Segue o meu Player.cpp

 

Spoiler

void Player::addUnjustifiedDead(const Player* attacked)
{
    if (hasFlag(PlayerFlag_NotGainInFight) || attacked == this || g_game.getWorldType() == WORLD_TYPE_PVP_ENFORCED) {
        return;
    }

    sendTextMessage(MESSAGE_EVENT_ADVANCE, "Warning! The murder of " + attacked->getName() + " was not justified.");

    unjustifiedKills.emplace_back(attacked->getGUID(), time(nullptr), true);

    uint8_t dayKills = 0;
    uint8_t weekKills = 0;
    uint8_t monthKills = 0;

    for (const auto& kill : unjustifiedKills) {
        const auto diff = time(nullptr) - kill.time;
        if (diff <= 24 * 60 * 60) {
            dayKills += 1;
        }
        if (diff <= 7 * 24 * 60 * 60) {
            weekKills += 1;
        }
        if (diff <= 30 * 24 * 60 * 60) {
            monthKills += 1;
        }
    }

    if (getSkull() != SKULL_BLACK) {
        if (dayKills >= 2 * g_config.getNumber(ConfigManager::DAY_KILLS_TO_RED) || weekKills >= 2 * g_config.getNumber(ConfigManager::WEEK_KILLS_TO_RED) || monthKills >= 2 * g_config.getNumber(ConfigManager::MONTH_KILLS_TO_RED)) {
            setSkull(SKULL_BLACK);
            //start black skull time
            skullTicks = static_cast<int64_t>(g_config.getNumber(ConfigManager::BLACK_SKULL_DURATION)) * 24 * 60 * 60 * 1000;
        } else if (dayKills >= g_config.getNumber(ConfigManager::DAY_KILLS_TO_RED) || weekKills >= g_config.getNumber(ConfigManager::WEEK_KILLS_TO_RED) || monthKills >= g_config.getNumber(ConfigManager::MONTH_KILLS_TO_RED)) {
            setSkull(SKULL_RED);
            //reset red skull time
            skullTicks = static_cast<int64_t>(g_config.getNumber(ConfigManager::RED_SKULL_DURATION)) * 24 * 60 * 60 * 1000;
        }
    }

    sendUnjustifiedPoints();
}

void Player::checkSkullTicks(int32_t ticks)
{
    int64_t newTicks = skullTicks - ticks;
    if (newTicks < 0) {
        skullTicks = 0;
    } else {
        skullTicks = newTicks;
    }

    if ((skull == SKULL_RED || skull == SKULL_BLACK) && skullTicks < 1000 && !hasCondition(CONDITION_INFIGHT)) {
        setSkull(SKULL_NONE);
    }
}

 

 

 

 

 

Gostaria que fosse

 

Red Skull = 8 frags | tempo de red , 3 dias

Black Skull = 12 frags | tempo de black , 5 dias

White Skull = 10 Minutos 

 

Por favor me ajudem , estou quebrando a cabeça '-' , pois sou novo em programação

Link para o comentário
Compartilhar em outros sites

Em 28/06/2017 at 04:01, gotasss disse:

Segue o meu Player.cpp

 

  Mostrar conteúdo oculto

void Player::addUnjustifiedDead(const Player* attacked)

{

    if (hasFlag(PlayerFlag_NotGainInFight) || attacked == this || g_game.getWorldType() == WORLD_TYPE_PVP_ENFORCED) {

        return;

    }

    sendTextMessage(MESSAGE_EVENT_ADVANCE, "Warning! The murder of " + attacked->getName() + " was not justified.");

    unjustifiedKills.emplace_back(attacked->getGUID(), time(nullptr), true);

    uint8_t dayKills = 0;

    uint8_t weekKills = 0;

    uint8_t monthKills = 0;

    for (const auto& kill : unjustifiedKills) {

        const auto diff = time(nullptr) - kill.time;

        if (diff <= 24 * 60 * 60) {

            dayKills += 1;

        }

        if (diff <= 7 * 24 * 60 * 60) {

            weekKills += 1;

        }

        if (diff <= 30 * 24 * 60 * 60) {

            monthKills += 1;

        }

    }

    if (getSkull() != SKULL_BLACK) {

        if (dayKills >= 2 * g_config.getNumber(ConfigManager::DAY_KILLS_TO_RED) || weekKills >= 2 * g_config.getNumber(ConfigManager::WEEK_KILLS_TO_RED) || monthKills >= 2 * g_config.getNumber(ConfigManager::MONTH_KILLS_TO_RED)) {

            setSkull(SKULL_BLACK);

            //start black skull time

            skullTicks = static_cast<int64_t>(g_config.getNumber(ConfigManager::BLACK_SKULL_DURATION)) * 24 * 60 * 60 * 1000;

        } else if (dayKills >= g_config.getNumber(ConfigManager::DAY_KILLS_TO_RED) || weekKills >= g_config.getNumber(ConfigManager::WEEK_KILLS_TO_RED) || monthKills >= g_config.getNumber(ConfigManager::MONTH_KILLS_TO_RED)) {

            setSkull(SKULL_RED);

            //reset red skull time

            skullTicks = static_cast<int64_t>(g_config.getNumber(ConfigManager::RED_SKULL_DURATION)) * 24 * 60 * 60 * 1000;

        }

    }

    sendUnjustifiedPoints();

}

void Player::checkSkullTicks(int32_t ticks)

{

    int64_t newTicks = skullTicks - ticks;

    if (newTicks < 0) {

        skullTicks = 0;

    } else {

        skullTicks = newTicks;

    }

    if ((skull == SKULL_RED || skull == SKULL_BLACK) && skullTicks < 1000 && !hasCondition(CONDITION_INFIGHT)) {

        setSkull(SKULL_NONE);

    }

}

 

 

 

 

 

Gostaria que fosse

 

Red Skull = 8 frags | tempo de red , 3 dias

Black Skull = 12 frags | tempo de black , 5 dias

White Skull = 10 Minutos 

 

Por favor me ajudem , estou quebrando a cabeça '-' , pois sou novo em programação

cara pelo que eu sei isso se configura no proprio config.lua ....

Link para o comentário
Compartilhar em outros sites

O Config.lua eu editei .

 

coloquei 8 frags pra red

 

12 pra black

 

segue :

 

Spoiler

worldType = "pvp"
hotkeyAimbotEnabled = true
protectionLevel = 20
killsToRedSkull = 8
killsToBlackSkull = 12
pzLocked = 60 * 1000
removeChargesFromRunes = false
timeToDecreaseFrags = 4 * 60 * 60 * 1000
whiteSkullTime = 10 * 60 * 1000
stairJumpExhaustion = 2 * 1000
experienceByKillingPlayers = false
expFromPlayersLevelRange = 75

 

 

Porém , no servidor , o player mata 3 e ja pega red . E os kills estão decaindo a cada 24 horas . mesmo eu inserindo *4*60*60*100 , continua 24 horas para sair cada frag.

 

e o whiteskulltime está saindo a 15 mins e não 10 como está acima.

 

preciso de uma ajuda urgente . 

 

Atenciosamente Gotasss

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...