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:
parent
c87955374e
commit
d2a8e5dc16
1 changed files with 20 additions and 9 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue