// Moubootaur Legends Script // Author: // Jesusalva // Description: // Guild Facility - Guild Settings (for guildmaster) guilds,35,30,0 script Guild Management NPC_NO_SPRITE,{ function gmaster; .@gid=getcharid(2); .@admin=(getguildrole(.@gid, getcharid(3)) == GPOS_GUILDMASTER); .@pos=getguildrole(.@gid, getcharid(3)); if (is_admin() && strcharinfo(0) == "Monster King") { mesc ".:: Jesusalva's Interface ::.", 1; mesc "Write Guild ID to modify - DO NOT INPUT IF YOU DON'T KNOW EXACTLY WHAT YOU ARE DOING", 1; mesc "THAT IS IRREVERSIBLE, DON'T BE A DUMMY", 1; next; mesc("Correct gid: " + .@gid); input .@gid; if (.@gid <= 0) close; .@admin=true; logmes(strcharinfo(0)+" logged in as super user in guild: "+getguildname(.@gid), LOGMES_ATCOMMAND); } mesc (".:: "+getguildname(.@gid)+" ::."), 1; mesc l("Guild Master: @@", getguildmaster(.@gid)), 3; if (getguildnxp(.@gid) > 0) mesc l("Guild Lv @@, @@/@@ EXP to level up", getguildlvl(.@gid), fnum(getguildexp(.@gid)), fnum(getguildnxp(.@gid))); else mesc l("Guild Lv @@, @@/@@ EXP to level up", getguildlvl(.@gid), fnum(getguildexp(.@gid)), "???"); // mesc l("The average player level is @@", getguildavg(.@gid)); //mesc l("Your position on the guild: @@", getguildrole(.@gid, getcharid(3), true)); mesc l("You are the guild's \"%s\", and you contribute with %02d%% EXP.", getguildpostitle(.@gid, .@pos), getguildpostax(.@gid, .@pos)); //getguildpostitle(.@gid, .@pos) // I forgot a function to get player title and allow any guildmaster to change this if (.@admin) { next; do { gmaster(); next; mesc l("Do you want to do something else?"); } while (askyesno() == ASK_YES); } close; function gmaster { .@gid=getcharid(2); mesn; mesc l("Please select the Guild Position you want to change."); menuint l("Abort"), -1, l("Guild Master"), GPOS_GUILDMASTER, l("Vice Leader"), GPOS_VICELEADER, l("Recruiter"), GPOS_RECRUITER, l("Treasurer"), GPOS_TREASURER, l("Normal Member"), GPOS_MEMBER, l("Newbie"), GPOS_NEWBIE; mes ""; .@idx=0+@menuret; if (.@idx < 0) return; mesc l("The guild's \"%s\" currently contribute with %02d%% EXP.", getguildpostitle(.@gid, .@pos), getguildpostax(.@gid, .@idx)); mesc l("Please write how much in percent is EXP Tax for member (range: 0~50)"), 1; input .@exptax; if (.@exptax < 0 || .@exptax > 50) return; mesc l("Applying..."); switch (.@idx) { case GPOS_GUILDMASTER: .@name$="GuildMaster"; .@perm=GPERM_ALL; break; case GPOS_VICELEADER: .@name$="ViceLeader"; .@perm=GPERM_ALL; break; case GPOS_RECRUITER: .@name$="Recruiter"; .@perm=GPERM_INVITE; break; case GPOS_TREASURER: .@name$="Treasurer"; .@perm=0; break; case GPOS_MEMBER: .@name$="Member"; .@perm=0; break; case GPOS_NEWBIE: .@name$="Newbie"; .@perm=0; break; default: .@name$="Position "+(.@idx+1); .@perm=0; break; } //debugmes "setguildrole(%d,%d,%d,%d,\"%s\")", .@gid, .@idx, .@perm, .@exptax, .@name$; setguildrole(.@gid, .@idx, .@perm, .@exptax, .@name$); mesc l("Done!"), 3; return; } OnInit: .distance=2; end; }