Em 28/06/2017 at 04:01, gotasss disse:Segue o meu Player.cpp
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 ....




info
Grupo: Campones
Registrado: 06/05/08
Posts: 9
Reputação: +1
Segue o meu Player.cpp
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