1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-27 22:57:45 +00:00

make sure the server doesn't crash and burn when accessing scripts that don't exist

This commit is contained in:
GokuWeedLord 2017-12-10 21:44:18 +11:00
parent 207e9589f7
commit 68b655dcdd

View file

@ -8,27 +8,47 @@ namespace Core {
StatusEffectScript* NativeScript::getStatusEffectScript( uint32_t statusId ) StatusEffectScript* NativeScript::getStatusEffectScript( uint32_t statusId )
{ {
return m_statusEffectScripts.at( statusId ); auto script = m_statusEffectScripts.find( statusId );
if( script == m_statusEffectScripts.end() )
return nullptr;
return script->second;
} }
ActionScript* NativeScript::getAbilityScript( uint32_t abilityId ) ActionScript* NativeScript::getAbilityScript( uint32_t abilityId )
{ {
return m_actionScripts.at( abilityId ); auto script = m_actionScripts.find( abilityId );
if( script == m_actionScripts.end() )
return nullptr;
return script->second;
} }
QuestScript* NativeScript::getQuestScript( uint32_t questId ) QuestScript* NativeScript::getQuestScript( uint32_t questId )
{ {
return m_questScripts.at( questId ); auto script = m_questScripts.find( questId );
if( script == m_questScripts.end() )
return nullptr;
return script->second;
} }
BattleNpcScript* NativeScript::getBattleNpcScript( uint32_t npcId ) BattleNpcScript* NativeScript::getBattleNpcScript( uint32_t npcId )
{ {
return m_battleNpcScripts.at( npcId ); auto script = m_battleNpcScripts.find( npcId );
if( script == m_battleNpcScripts.end() )
return nullptr;
return script->second;
} }
ZoneScript* NativeScript::getZoneScript( uint32_t zoneId ) ZoneScript* NativeScript::getZoneScript( uint32_t zoneId )
{ {
return m_zoneScripts.at( zoneId ); auto script = m_zoneScripts.find( zoneId );
if( script == m_zoneScripts.end() )
return nullptr;
return script->second;
} }
void NativeScript::removeStatusEffectScript( uint32_t statusId ) void NativeScript::removeStatusEffectScript( uint32_t statusId )