// 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);
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), format_number(getguildexp(.@gid)), format_number(getguildnxp(.@gid)));
else
mesc l("Guild Lv @@, @@/@@ EXP to level up", getguildlvl(.@gid), format_number(getguildexp(.@gid)), "???");
// mesc l("The average player level is @@", getguildavg(.@gid));
mesc l("Your position on the guild: @@", getguildrole(.@gid, getcharid(3), true));
// I forgot a function to get player title and allow any guildmaster to change this
if (getguildrole(.@gid, getcharid(3)) == GPOS_GUILDMASTER)
{
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_5,
l("Newbie"), GPOS_NEWBIE;
mes "";
.@idx=0+@menuret;
if (.@idx < 0)
return;
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_5:
.@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=1;
end;
}