string FixName(string src) { string nam = src; int cnt = 0; int s; for(s=0; s<GetStringLength(nam); s++) { if (GetSubString(nam, s, 1) == "<") { if (GetSubString(nam, s+1, 1) == "c") cnt++; if (GetSubString(nam, s+1, 1) == "/") cnt--; } } for(s=0; s<cnt; s++) nam += "</c>"; // SpeakString("fixed:" + nam + IntToString(cnt) + " name:" +src + " cnt:", TALKVOLUME_SHOUT); return nam; } void main() { object oPC = OBJECT_SELF; //object oPC = GetLastUsedBy(); object oSearchPC; string sArea; string sAreaTag; string sLevel; int class, pos; string cname; SendMessageToPC(oPC, "---------------------------------------"); SendMessageToPC(oPC, "Players class & location."); SendMessageToPC(oPC, "---------------------------------------"); oSearchPC = GetFirstPC(); while (oSearchPC != OBJECT_INVALID) { for(pos=1; pos<9; pos++) { class = GetClassByPosition(pos, oSearchPC); if (class != CLASS_TYPE_INVALID) { cname = Get2DAString("classes", "Label", class); if (cname == "") cname = "unknown (" + IntToString(class) + ")"; sLevel = sLevel + cname + ":" + IntToString(GetLevelByClass(class, oSearchPC)) + " "; } } sArea = GetName(GetArea(oSearchPC)); sAreaTag = GetTag(GetArea(oSearchPC)); if (sAreaTag == "DMHole" || sAreaTag == "WaitingRoom") sArea = "PlatniumForrest"; SendMessageToPC(oPC, FixName(GetName(oSearchPC)) + " - " + sLevel + "- <c � >" + sArea + "</c>"); sLevel = ""; oSearchPC = GetNextPC(); } SendMessageToPC(oPC, "---------------------------------------"); }