mirror of
https://github.com/EQEmu/Server.git
synced 2026-08-28 20:07:56 +00:00
Implement Perl Export Variable settings map (Huge performance boost) (Preliminary)
This commit is contained in:
@@ -1032,3 +1032,42 @@ int QuestParserCollection::DispatchEventSpell(QuestEventID evt, NPC* npc, Client
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
void QuestParserCollection::LoadPerlEventExportSettings(PerlEventExportSettings* perl_event_export_settings) {
|
||||
|
||||
Log.Out(Logs::General, Logs::Zone_Server, "Loading Perl Event Export Settings...");
|
||||
|
||||
/* Write Defaults First (All Enabled) */
|
||||
for (int i = 0; i < _LargestEventID; i++){
|
||||
perl_event_export_settings[i].qglobals = 1;
|
||||
perl_event_export_settings[i].mob = 1;
|
||||
perl_event_export_settings[i].zone = 1;
|
||||
perl_event_export_settings[i].item = 1;
|
||||
perl_event_export_settings[i].event_variables = 1;
|
||||
}
|
||||
|
||||
std::string query =
|
||||
"SELECT "
|
||||
"event_id, "
|
||||
"event_description, "
|
||||
"export_qglobals, "
|
||||
"export_mob, "
|
||||
"export_zone, "
|
||||
"export_item, "
|
||||
"export_event "
|
||||
"FROM "
|
||||
"perl_event_export_settings "
|
||||
"ORDER BY event_id";
|
||||
|
||||
int event_id = 0;
|
||||
auto results = database.QueryDatabase(query);
|
||||
for (auto row = results.begin(); row != results.end(); ++row) {
|
||||
event_id = atoi(row[0]);
|
||||
perl_event_export_settings[event_id].qglobals = atoi(row[2]);
|
||||
perl_event_export_settings[event_id].mob = atoi(row[3]);
|
||||
perl_event_export_settings[event_id].zone = atoi(row[4]);
|
||||
perl_event_export_settings[event_id].item = atoi(row[5]);
|
||||
perl_event_export_settings[event_id].event_variables = atoi(row[6]);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user