1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-29 07:37:45 +00:00

Several GM Commands no longer crashes world.exe if used while a bnpc or an eobj is in range

This commit is contained in:
JeidoUran 2019-01-05 14:50:16 +01:00
parent c87955374e
commit d2a8e5dc16

View file

@ -142,6 +142,8 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw,
targetPlayer->spawn( targetPlayer ); targetPlayer->spawn( targetPlayer );
auto inRange = targetPlayer->getInRangeActors(); auto inRange = targetPlayer->getInRangeActors();
for( auto actor : inRange ) for( auto actor : inRange )
{
if( actor->isPlayer() )
{ {
targetPlayer->despawn( actor->getAsPlayer() ); targetPlayer->despawn( actor->getAsPlayer() );
targetPlayer->spawn( actor->getAsPlayer() ); targetPlayer->spawn( actor->getAsPlayer() );
@ -155,10 +157,13 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw,
targetPlayer->spawn( targetPlayer ); targetPlayer->spawn( targetPlayer );
auto inRange = targetPlayer->getInRangeActors(); auto inRange = targetPlayer->getInRangeActors();
for( auto actor : inRange ) for( auto actor : inRange )
{
if( actor->isPlayer() )
{ {
targetPlayer->despawn( actor->getAsPlayer() ); targetPlayer->despawn( actor->getAsPlayer() );
targetPlayer->spawn( actor->getAsPlayer() ); targetPlayer->spawn( actor->getAsPlayer() );
} }
}
break; break;
} }
case GmCommand::Sex: case GmCommand::Sex:
@ -168,10 +173,13 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw,
targetPlayer->spawn( targetPlayer ); targetPlayer->spawn( targetPlayer );
auto inRange = targetActor->getInRangeActors(); auto inRange = targetActor->getInRangeActors();
for( auto actor : inRange ) for( auto actor : inRange )
{
if( actor->isPlayer() )
{ {
targetPlayer->despawn( actor->getAsPlayer() ); targetPlayer->despawn( actor->getAsPlayer() );
targetPlayer->spawn( actor->getAsPlayer() ); targetPlayer->spawn( actor->getAsPlayer() );
} }
}
break; break;
} }
case GmCommand::Time: case GmCommand::Time:
@ -223,8 +231,11 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw,
for( auto actor : player.getInRangeActors() ) for( auto actor : player.getInRangeActors() )
{ {
player.despawn( actor->getAsPlayer() ); if( actor->isPlayer() )
player.spawn( actor->getAsPlayer() ); {
targetPlayer->despawn( actor->getAsPlayer() );
targetPlayer->spawn( actor->getAsPlayer() );
}
} }
break; break;
} }