Files
dsrc/sku.0/sys.server/compiled/game/script/terminal/terminal_guild_screen.script
T

102 lines
2.2 KiB
Plaintext

// guild.script - guild terminal menu handling
include library.guild;
include library.player_structure;
include library.sui;
include library.utils;
//inherits terminal.base.base_terminal;
// Triggers
//------------------------------------------------
// OnInitialize
//------------------------------------------------
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;
}
//------------------------------------------------
// OnGetAttributes
//------------------------------------------------
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;
}
//MessageHandlers
//------------------------------------------------
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;
}