#include "faction_inc" #include "sql_inc" #include "nwnx_dialog" // [Select] or "Select faction" void main() { object oPC = GetPCSpeaker(); if (NWNX_Dialog_GetCurrentNodeText() == "[Select]") { SetLocalString(oPC, "INTRO_FACTION", GetLocalString(oPC, "DLGX_LAST_SELECTION")); } SetCustomToken(5552, GetLocalString(oPC, "INTRO_FACTION")); NWNX_SQL_ExecuteQuery("SELECT Faction, COUNT(*) FROM " + SQL_TABLE_CHARDATA + " WHERE IsOnline=1 GROUP BY Faction"); string sMessage = "There are currently\n"; while (NWNX_SQL_ReadyToReadNextRow()) { NWNX_SQL_ReadNextRow(); string faction = fctn_GetFactionName(StringToInt(NWNX_SQL_ReadDataInActiveRow(0))); if (faction == "None") continue; string count = NWNX_SQL_ReadDataInActiveRow(1); sMessage += ".) " + count + " " + faction + "\n"; } sMessage = sMessage + "\nonline. If you have any doubts on which side to join, it is best to pick the one with fewer warriors"; SetCustomToken(5550, sMessage); }