Felipe93
Ghost Member
Hello I'm trying to add uh trap via sources to my server the code works but it does not matter if i turn uhtrap true or false.
can somebody help me? here are the codes edited
can somebody help me? here are the codes edited
Lua:
Creature* Tile::getTopCreature() const
{
if (const CreatureVector* creatures = getCreatures()) {
if (!creatures->empty()) {
return *creatures->begin();
}
}
if (g_config.getBoolean(ConfigManager::UH_TRAP)) {
if (const CreatureVector* creatures = getCreatures()) {
if (!creatures->empty()) {
return *creatures->rbegin();
}
}
}
return nullptr;
}
Code:
/*const Creature* topVisibleCreature = tile->getBottomVisibleCreature(player);
if (blockingCreature && topVisibleCreature)*/
const Creature* visibleCreature = tile->getTopCreature();//agregado uh trap
if (g_config.getBoolean(ConfigManager::UH_TRAP)) {
visibleCreature = tile->getBottomCreature();
}
if (blockingCreature && visibleCreature) {
player->sendCancelMessage(RETURNVALUE_NOTENOUGHROOM);//agregado uh trap
g_game.addMagicEffect(player->getPosition(), CONST_ME_POFF);
return false;
} else if (blockingSolid && tile->hasFlag(TILESTATE_BLOCKSOLID)) {
player->sendCancelMessage(RETURNVALUE_NOTENOUGHROOM);
g_game.addMagicEffect(player->getPosition(), CONST_ME_POFF);
return false;
}
//if (needTarget && !topVisibleCreature) {
if (needTarget && !visibleCreature) {//agregado uh trap
player->sendCancelMessage(RETURNVALUE_CANONLYUSETHISRUNEONCREATURES);
g_game.addMagicEffect(player->getPosition(), CONST_ME_POFF);
return false;
}
/*if (aggressive && needTarget && topVisibleCreature && player->hasSecureMode()) {
const Player* targetPlayer = topVisibleCreature->getPlayer();*/
if (aggressive && needTarget && visibleCreature && player->hasSecureMode()) {//agregado uh trap
const Player* targetPlayer = visibleCreature->getPlayer();//agregado uh trap
if (targetPlayer && targetPlayer != player && player->getSkullClient(targetPlayer) == SKULL_NONE && !Combat::isInPvpZone(player, targetPlayer)) {
player->sendCancelMessage(RETURNVALUE_TURNSECUREMODETOATTACKUNMARKEDPLAYERS);
g_game.addMagicEffect(player->getPosition(), CONST_ME_POFF);
return false;
}
}