• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Walking through players

stanczyk

Scripter
Joined
Nov 24, 2009
Messages
293
Reaction score
2
What Should I change to not being able to walk at all to the players? War I to work with this system change.

These settings are needed for Linux

Code:
bool Player::canWalkthrough(const Creature* creature) const
{
	if(!creature)
		return true;

	if(creature == this)
		return false;

	const Player* player = creature->getPlayer();
	if(!player)
		return creature->isWalkable();

	if((hasCustomFlag(PlayerCustomFlag_CanWalkthrough) || player->isWalkable() || (((g_game.getWorldType() == WORLDTYPE_OPTIONAL &&
#ifdef __WAR_SYSTEM__
		!player->isEnemy(this, true) &&
#endif
		player->getVocation()->isAttackable()) || (player->getVocation()->isAttackable() /*&&
		player->getLevel() < (uint32_t)g_config.getNumber(ConfigManager::PROTECTION_LEVEL)*/)) && player->getTile()->ground &&
		Item::items[player->getTile()->ground->getID()].walkStack)) && (!player->hasCustomFlag(PlayerCustomFlag_GamemasterPrivileges)
		|| player->getAccess() <= getAccess()))
		return true;

	return (player->isGhost() && getGhostAccess() < player->getGhostAccess())
		|| (isGhost() && getGhostAccess() > player->getGhostAccess());
}
 
Last edited:
Code:
bool Player::canWalkthrough(const Creature* creature) const
{
	if(!creature)
		return true;

	if(creature == this)
		return false;

	const Player* player = creature->getPlayer();
	if(!player)
		return creature->isWalkable();

	if((hasCustomFlag(PlayerCustomFlag_CanWalkthrough) || player->isWalkable() || (((g_game.getWorldType() == WORLDTYPE_OPTIONAL &&
#ifdef __WAR_SYSTEM__
		!player->isEnemy(this, true) &&
#endif
		player->getVocation()->isAttackable()) /*|| (player->getVocation()->isAttackable() &&
		player->getLevel() < (uint32_t)g_config.getNumber(ConfigManager::PROTECTION_LEVEL))*/) && player->getTile()->ground &&
		Item::items[player->getTile()->ground->getID()].walkStack)) && (!player->hasCustomFlag(PlayerCustomFlag_GamemasterPrivileges)
		|| player->getAccess() <= getAccess()))
		return true;

	return (player->isGhost() && getGhostAccess() < player->getGhostAccess())
		|| (isGhost() && getGhostAccess() > player->getGhostAccess());
}
 
Back
Top