// Moubootaur Legends Script // Author: // Jesusalva // Description: // Guild Facility - Contains recipe list guilds,47,39,0 script Guild Logs NPC_NO_SPRITE,{ function GDSkillLearn; .@gid=getcharid(2); .@role=getguildrole(.@gid, getcharid(3)); do { select l("Do nothing"), rif(strcharinfo(0) == getguildmaster(.@gid), l("Raise max members")); mes ""; switch (@menu) { case 2: .@cur_lv=getguildlvl(.@gid); .@min_lv=(getskilllv(GD_EXTENSION)+1)*1; .@price=.@min_lv*274; if (.@cur_lv < .@min_lv) { mesc l("Guild Level is not enough: @@/@@", .@cur_lv, .@min_lv); next; break; } mesc l("Raising this skill will allow to recruit 4 more members."); mesc l("The cost for Guild Vault is @@ GP.", .@price); next; select rif($GUILD_BANK[.@gid] >= .@price, l("Upgrade it")), l("Don't upgrade it"); mes ""; if (@menu == 1 && $GUILD_BANK[.@gid] >= .@price) { $GUILD_BANK[.@gid]-=.@price; // guildskill()? skill GD_EXTENSION, getskilllv(GD_EXTENSION)+1, 0; break; } break; } } while (@menu != 1); close; // GDSkillLearn(SKID, cost-per-guild-level, title, desc, lv1, {lv2, lv3...}) function GDSkillLearn { .@id=getarg(0); .@p=getarg(1); .@t$=getarg(2); .@d$=getarg(3); .@gid=getcharid(2); .@gid_lv=getguildlvl(.@gid); .@cur_lv=getskilllv(.@id); .@min_lv=getarg(4+.@cur_lv, -1); .@price=.@min_lv*.@p; // Max level reached if (.@min_lv < 0) { mesc l("This skill cannot be upgraded further."); next; return 0; } // Guild level insuffice if (.@gid_lv < .@min_lv) { mesc l("Guild Level is not enough: @@/@@", .@gid_lv, .@min_lv); next; return 0; } mes ".:: "+.@t$+" ::."; mes .@d$; mesc l("The cost for Guild Vault is @@ GP.", format_number(.@price)); mesc l("Current Guild Balance: %s GP", format_number($GUILD_BANK[.@gid])); next; select rif($GUILD_BANK[.@gid] >= .@price, l("Upgrade it")), l("Don't upgrade it"); mes ""; if (@menu == 1 && $GUILD_BANK[.@gid] >= .@price) { $GUILD_BANK[.@gid]-=.@price; // guildskill()? skill .@id, .@cur_lv+1, 0; mesc l("Skill improved"), 2; @menu=99; return 1; } return 0; } OnInit: .distance=2; end; }