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

@ -143,9 +143,11 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw,
auto inRange = targetPlayer->getInRangeActors(); auto inRange = targetPlayer->getInRangeActors();
for( auto actor : inRange ) for( auto actor : inRange )
{ {
targetPlayer->despawn( actor->getAsPlayer() ); if( actor->isPlayer() )
targetPlayer->spawn( actor->getAsPlayer() ); {
} targetPlayer->despawn( actor->getAsPlayer() );
targetPlayer->spawn( actor->getAsPlayer() );
}
break; break;
} }
case GmCommand::Tribe: case GmCommand::Tribe:
@ -156,8 +158,11 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw,
auto inRange = targetPlayer->getInRangeActors(); auto inRange = targetPlayer->getInRangeActors();
for( auto actor : inRange ) for( auto actor : inRange )
{ {
targetPlayer->despawn( actor->getAsPlayer() ); if( actor->isPlayer() )
targetPlayer->spawn( actor->getAsPlayer() ); {
targetPlayer->despawn( actor->getAsPlayer() );
targetPlayer->spawn( actor->getAsPlayer() );
}
} }
break; break;
} }
@ -169,8 +174,11 @@ void Sapphire::Network::GameConnection::gm1Handler( FrameworkPtr pFw,
auto inRange = targetActor->getInRangeActors(); auto inRange = targetActor->getInRangeActors();
for( auto actor : inRange ) for( auto actor : inRange )
{ {
targetPlayer->despawn( actor->getAsPlayer() ); if( actor->isPlayer() )
targetPlayer->spawn( actor->getAsPlayer() ); {
targetPlayer->despawn( actor->getAsPlayer() );
targetPlayer->spawn( actor->getAsPlayer() );
}
} }
break; break;
} }
@ -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;
} }