aun lo necesitas?
I hope the NPC will help you, thanks for the code, I modified many things about the NPC and fixed some bugs as well as update it. Remember to change the map ok.
/////////////////////////////////////////////
// Guild or Base NPC from guild
// created by gnashxalex
// Thanks for the scrip many functions of it I will take advantage of them
///////////////////////////////// ///////////
/ ------------- Changes
////////////////////////// ///////////
// - Added the command @ guild this to access this npc without problems
// - added the option that only Guild masters can buy the guild
// - - Only GMs can remove a Guild from a Guild
// - You can configure the NPC from below in the OnInit option
// - You can change the map in line 133
//
//
//////// ///////////////////////////////////
- script ghouse -1, {
OnAtcommand:
if (getguildmasterid (getcharid (2)) == getcharid (0)) {
month "[^ AA3000Menu Administrator ^ 000000]";
if (select ("> ^ AA3000 Menu GM ^ 000000:> ^ AA3000 Menu User ^ 000000") == 1) {
do {
set. @ loop, 1;
mes "Select the slot you want to edit:";
set .Num, 0;
set. @ Menu $, "";
for (set. @ i, 1;. @ i <= .MAX guilds; set. @ i,. @ i + 1) {
if (! getd ("$ GROOM" +. @ i))
set. @ Menu $, . @ Menu $ + "Slot" + (. @ I) + "[^ 1CBC81 Available ^ 000000]:";
else if (getd ("$ GROOM" +. @ i) &
set. @ Menu $,. @ Menu $ + "Slot" + (. @ i) + "[^ 1CBC81" + GetGuildName (getd ("$ GROOM" +. @ i)) + "^ 000000]:";
else if (getd ("$ GROOM" +. @ i) && getd ("$ GROOMB" +. @ i))
set. @ Menu $ ,. @ Menu $ + "Slot" + (. @ i) + "[ ^ 1CBC81 "+ GetGuildName (getd (" $ GROOM "+. @ I)) +" ^ 000000] [^ 1CBC81 "+ GetGuildName (getd (" $ GROOMB "+. @ I)) +" ^ 000000]: ";
}
set. @ j, select (. @ Menu $);
mes "What do you want to do with the slot" +. @ j + "?";
next;
switch (select ("^ FFA500Add a Guild", (getgmlevel () <.
// switch (select ("> I want ^ 0066FFDelete a Guild ^ 000000", "> I want ^ CC0000Add a Guild ^ 000000")) {
case 1: do {
mes "To get this You need";
month "You need" + # CASHPOINTS + "
month" You have "+ .camount +" cash points. ";
next;
month" Let's see if you have the items ... ";
if (#cashpoints <.camount)
month" [^ AA3000Menu Administrator ^ 000000] ";
month" ";
logmes"
if (getd ("$ GROOM" +. @ j)! = 0) {
if (getd ("$ GROOM" +. @ j)! = 0 &&! getd ("$ GROOMB" +. @ j)) {
month "There is already a guild registered here, first delete it";
close;
month "[^ AA3000Menu Administrator ^ 000000]";
if (GetGuildName (. @ guildMB) == "null") {
month "The guild you entered does not exist. Please try again.";
mes "guild:" + GetGuildName (. @ guild);
set. @ opt, 0;
break;
}
for (set. @ i, 1;. @ i <= .MAX guilds; set. @ i,. @ i + 1) {
if (getd ("$ GROOMB" +. @ i) && getd ("$ GROOMB" +. @ i) ==. @ guild) {
month "This guild already has a room, you can't assign it another";
close;
}
}
setd "$ GROOMB" +. @ j,. @ guildMB;
close;
}
mes "There is already a guild registered here, first delete it";
close;
}
mes "Put the ID of the guild you want to add to this slot.";
input. @ guild;
next;
month "[^ AA3000Menu Administrator ^ 000000]";
month " ";
if (GetGuildName (. @ guild) == "null") {
month "The guild you entered does not exist. Please try again.";
mes "guild:" + getguildname (. @ guild);
set.
next;
break;
}
for (set. @ i, 1;. @ i <= .MAX guilds; set. @ i,. @ i + 1) {
if (getd ("$ GROOM" +. @ i) && getd ("$ GROOM" +. @ i) ==. @ guild) {
month "This guild already has a room, you can't assign another";
close;
}
}
month "Do you want to add ^ 9933FF [^ 000000 ^ 0033FF" + GetGuildName (. @ guild) + "^ 000000 ^ 9933FF] ^ 000000";
next;
if (select (">
month "[^ AA3000Menu Administrator ^ 000000]";
month " ";
setd "$ GROOM" +. @ j,. @ guild;
month "Guild: ^ 0033FF" + GetGuildName (. @ guild) + "^ 000000";
mes "Assigned to Slot [^ FF0000" +. @ j + "^ 000000]";
set. @ opt, 0;
set #cashpoints, (# cashpoints - (1 * .camount));
logmes "A guild has been assigned for [" + GetGuildName (. @ guild) + "]";
next;
break;
} while (. @ opt == 1); break;
case 2: setd "$ GROOM" +. @ j, 0; setd "$ GROOMB" +. @ j, 0; break;
}
} while (. @ loop);
} next;
}
for (set. @ i, 0;. @ i <= .MAX guilds; set. @ i,. @ i + 1) {
if ((getd ("$ GROOM" +. @ i) && getcharid (2) == getd ("$ GROOM" +. @ i)) || (getd ("$ GROOMB" +. @ i) && getcharid (2) == getd ("$ GROOMB" +. @ i))) {
month "[ ^ AA3000Guild Guard ^ 000000] ";
mes "Hello, ^ E96D07" + strcharinfo (0) + "^ 000000.";
mes "I see your guild has the house #" +. @ i;
mes "Do you want me to take you to your ^ FF3300Guild Room ^ 000000?";
emotion e_pif;
next;
if (select ("> ^ 0066FFYes, thanks. ^ 000000", "> ^ CC0000 Better another time. ^ 000000") == 2) close;
close2;
//
// Here you can change the name of the basemap just replace "ghouse_1-"
//
warp "ghouse_1 -" +. @ I + "", 92,36;
end;
}
}
month "[^ AA3000Guild Guard ^ 000000]";
mes "Hello, ^ E96D07" + strcharinfo (0) + "^ 000000.";
mes "How can I help you?";
emotion e_dots;
next;
switch (select ("> ^ 0066FFWho are you? ^ 000000", "> ^ CC0000Uhm, nothing ... ^ 000000")) {
case 1:
month "[^ AA3000Guild Guard ^ 000000]";
mes "I am the guardian of the ^ FF3300Guild Rooms ^ 000000.";
next;
month "[^ AA3000Guild Guard ^ 000000]";
mes "My role is to bring registered guild members to their guild rooms. But not everyone can access this unique system,
month "[^ AA3000Guild Guard ^ 000000]";
month "> Have ^ 0033FFminimum 20 members ^ 000000.";
month "> Be ^ 0033FFactive in WoE or MVP ^ 000000.";
mes "> To be a consolidated guild ^ 0033FF with a future ^ 0033FF.";
mes "> Earn or pay for residency";
emotion e_pif;
next;
month "[^ AA3000Guild Guard ^ 000000]";
mes "If you meet the requirements, contact a ^ 0033FF Staff Member ^ 000000 so that they activate your ^ FF3300Guild Room ^ 000000 and you can enjoy its benefits.";
break;
case 2:
emotion e_an;
break;
} close;
noitems:
mes "I'm sorry but you don't have all the necessary items";
close;
//
OnInit configuration :
bindatcmd "guild", strnpcinfo (3) + ":: OnAtcommand";
.MAXguilds = 9;
.GMAccess = 50;
.camount = 1000;
}
// Flags
ghouse_1-1 mapflag noteleport
ghouse_1-2 mapflag noteleport
ghouse_1-3 mapflag noteleport
ghouse_1-4 mapflag noteleport
ghouse_1-5 mapflag noteleport
ghouse_1-6 mapflag noteleport
ghouse_1-7 mapflag noteleport
ghouse_1-8 mapflag noteleport
ghouse_1-9 mapflag notele