From 8990e4fae71b152ff78308f83b43c9a2083419d2 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 14 Mar 2019 14:10:28 -0300 Subject: Add all (or most of) Guild Utils, except for guild average player level. More feature is required, and recipes list are still ToDo. Guild Hall cannot be accessed (yet). --- npc/guilds/_import.txt | 5 +++ npc/guilds/alchemy.txt | 29 +++++++++++++++++ npc/guilds/forge.txt | 30 +++++++++++++++++ npc/guilds/logs.txt | 15 +++++++++ npc/guilds/management.txt | 82 +++++++++++++++++++++++++++++++++++++++++++++++ npc/guilds/storage.txt | 26 +++++++++++++++ 6 files changed, 187 insertions(+) create mode 100644 npc/guilds/alchemy.txt create mode 100644 npc/guilds/forge.txt create mode 100644 npc/guilds/logs.txt create mode 100644 npc/guilds/management.txt create mode 100644 npc/guilds/storage.txt (limited to 'npc/guilds') diff --git a/npc/guilds/_import.txt b/npc/guilds/_import.txt index a89482936..d61814f7e 100644 --- a/npc/guilds/_import.txt +++ b/npc/guilds/_import.txt @@ -1,2 +1,7 @@ // Map guilds: Guild Hall // This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/guilds/alchemy.txt", +"npc/guilds/forge.txt", +"npc/guilds/logs.txt", +"npc/guilds/management.txt", +"npc/guilds/storage.txt", diff --git a/npc/guilds/alchemy.txt b/npc/guilds/alchemy.txt new file mode 100644 index 000000000..008e2c2b6 --- /dev/null +++ b/npc/guilds/alchemy.txt @@ -0,0 +1,29 @@ +// Moubootaur Legends Script +// Author: +// Jesusalva +// Description: +// Guild Facility - Alchemy Table + +guilds,24,35,0 script Guild Chemistry NPC_NO_SPRITE,{ + do + { + mesc l("What will you brew today?"); + if (AlchemySystem(CRAFT_GUILD)) + { + mesc l("Success!"), 3; + next; + } + else + { + mesc l("That didn't work!"), 1; + next; + } + mesc l("Try again?"); + } while (askyesno() == ASK_YES); + close; + +OnInit: + .distance=2; + end; +} + diff --git a/npc/guilds/forge.txt b/npc/guilds/forge.txt new file mode 100644 index 000000000..55924656e --- /dev/null +++ b/npc/guilds/forge.txt @@ -0,0 +1,30 @@ +// Moubootaur Legends Script +// Author: +// Jesusalva +// Description: +// Guild Facility - Blacksmith Area + +guilds,24,27,0 script Guild Blacksmith NPC_NO_SPRITE,{ + do + { + mesc l("What will you forge today?"); + mesc l("You might need to have a @@ equipped for some recipes!", getitemlink(Knife)); + if (SmithSystem(CRAFT_GUILD)) + { + mesc l("Success!"), 3; + next; + } + else + { + mesc l("That didn't work!"), 1; + next; + } + mesc l("Try again?"); + } while (askyesno() == ASK_YES); + close; + +OnInit: + .distance=2; + end; +} + diff --git a/npc/guilds/logs.txt b/npc/guilds/logs.txt new file mode 100644 index 000000000..142109b23 --- /dev/null +++ b/npc/guilds/logs.txt @@ -0,0 +1,15 @@ +// Moubootaur Legends Script +// Author: +// Jesusalva +// Description: +// Guild Facility - Contains recipe list + +guilds,47,39,0 script Guild Logs NPC_NO_SPRITE,{ + mesc l("Your guild doesn't know any recipes."), 1; + close; + +OnInit: + .distance=2; + end; +} + diff --git a/npc/guilds/management.txt b/npc/guilds/management.txt new file mode 100644 index 000000000..4b099adee --- /dev/null +++ b/npc/guilds/management.txt @@ -0,0 +1,82 @@ +// 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), getguildexp(.@gid), getguildnxp(.@gid)); + else + mesc l("Guild Lv @@, @@/@@ EXP to level up", getguildlvl(.@gid), getguildexp(.@gid), "???"); + + // I forgot a function to get player title and allow any guildmaster to change this + if (strcharinfo(0) == getguildmaster(.@gid)) + { + 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("Position 4"), GPOS_4, + l("Position 5"), 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_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; +} + diff --git a/npc/guilds/storage.txt b/npc/guilds/storage.txt new file mode 100644 index 000000000..97218fbb1 --- /dev/null +++ b/npc/guilds/storage.txt @@ -0,0 +1,26 @@ +// Moubootaur Legends Script +// Author: +// Jesusalva +// Description: +// Guild Facility - Guild Storage + +guilds,33,28,0 script Guild Storage NPC_NO_SPRITE,{ + .@gid=getcharid(2); + if (getguildlvl(.@gid) < 2) + { + npctalkonce l("Your guild need to have at least level 2 to use storage feature."); + } + else + { + if (guildopenstorage()) + { + npctalkonce l("Someone else is using the guild storage right now. Please wait."); + } + } + end; + +OnInit: + .distance=2; + end; +} + -- cgit v1.2.3-70-g09d2