// ====================================================================== // // guild.script - guild terminal menu handling // // Copyright 2002 Sony Online Entertainment // // ====================================================================== include library.guild; include library.player_structure; include library.sui; include library.utils; //inherits terminal.base.base_terminal; // ====================================================================== // ====================================================================== //------------------------------------------------ // OnGetAttributes //------------------------------------------------ trigger OnInitialize() { //omg people were creating/disbanding guilds just for the screen, time to stop that! messageTo(self, "validateScreen",null , 1, false); return SCRIPT_CONTINUE; } trigger OnGetAttributes(obj_id player, string[] names, string[] attribs) { int idx = utils.getValidAttributeIndex(names); if (idx == -1) return SCRIPT_CONTINUE; if(exists(self)) { int guildId = getIntObjVar(self, guild.REGISTERED_GUILD); if(guildId > 0) { string guildName = guildGetName(guildId); if(guildName != "") { names[idx] = "guild_name"; attribs[idx] = guildName; idx++; } string guildAbbrev = guildGetAbbrev(guildId); if(guildName != "") { names[idx] = "guild_abbrev"; attribs[idx] = guildAbbrev; idx++; } obj_id guildLeader = guildGetLeader(guildId); if(isValidId(guildLeader)) { names[idx] = "guild_leader"; attribs[idx] = guildGetMemberName(guildId, guildLeader); idx++; } } } return SCRIPT_CONTINUE; } trigger OnDestroy() { obj_id leaderPDA = getObjIdObjVar(self, guild.GUILD_SCREEN_ID); if(isIdValid(leaderPDA)) { dictionary dict = new dictionary(); dict.put("screenId", self); messageTo(leaderPDA, "handlerGuildScreenDestroyed", dict, 1, true); } return SCRIPT_CONTINUE; } messageHandler handlerGuildNewLeader() { destroyObject(self); return SCRIPT_CONTINUE; } //this makes sure the screen has a valid guild it belongs to messageHandler validateScreen() { int guildId = getIntObjVar(self, guild.REGISTERED_GUILD); if(!guildExists(guildId)) { destroyObject(self); } return SCRIPT_CONTINUE; }