Jump to content
  • 0

Guild Base Information NPC


uDe

Question


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  400
  • Reputation:   5
  • Joined:  12/05/11
  • Last Seen:  

May I request a script at here?

It's a NPC for giving guild base information to player when player click it.

For your information, my server allowed players to use buffer bots to buff them. So, instead of letting buffer bots flooding my towns. I'm giving the players to choose their own base to "park" their bots. And usually, every guild has already got their own base and bots with Buffer NPC, PvP Warper, Castle Warper and Repairman NPC.

 

Example, Guild "XXX" had a base at quiz_02 and other players cannot disturb other base or bots. That's why I need a NPC to let other players know that a base at quiz_02 map was occupied by Guild "XXX" and the leader of the guild are "Iori Yagami". So, it's easy for other players to request to join the Guild "XXX" because they know who is the leader. Also, if there's no bots online on that base, they can't simply "park" their bots and claim that base at quiz_02 is their base.

The original idea is the NPC will only tells Guild Name and Guild Leader of that base. And I hope any of you (script master) can provide a script that I can configure in-game to change the guild leader and guild name. So, I don't need to login to database, insert the guild leader and guild name and reload the NPC.

It's only just that. There's no need to link the NPC to current guild who owns the castle.. No need for that..

Thank you again for trying to help me. I'm really appreciate that. Please ask me if you still can't understand.

 

Hello guys..

I want to request a script for Guild Base Information NPC.

 

I need the NPC will shows :

 

- Current guild leader of the guild

- Guild name

 

My server can use @changeleader. So, is there any possible way to automatically update guild leader at the NPC?

If not, I hope there will be a function for Admin to manually add guild leader name and guild name at the NPC in-game.

 

Thank you very much.

 

EDIT : I'm using eAthena 3ceAM

Edited by uDe
Link to comment
Share on other sites

24 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  400
  • Reputation:   5
  • Joined:  12/05/11
  • Last Seen:  

Thank you Euphy. May I have it as a script?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  38
  • Topics Per Day:  0.01
  • Content Count:  949
  • Reputation:   174
  • Joined:  06/12/12
  • Last Seen:  

mes "Guild Leader: "+getguildmaster(getcharid(2));
mes "Guild: "+getguildname(getcharid(2));
close;
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  400
  • Reputation:   5
  • Joined:  12/05/11
  • Last Seen:  

mes "Guild Leader: "+getguildmaster(getcharid(2));
mes "Guild: "+getguildname(getcharid(2));
close;

This is for guild base info. FYI, almost every guild got their own base in any map they would like to set it as their base.

So, I need a NPC (as a signboard) to tell player this map/area/base is for "XXX" guild and the leader is "Iori Yagami".

And also I need a method to set the guild and guild leader in-game. Which mean I don't need to go to script to configure/set leader name and guild name.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  38
  • Topics Per Day:  0.01
  • Content Count:  949
  • Reputation:   174
  • Joined:  06/12/12
  • Last Seen:  

Can you post the script here? You did not provide enough information so Euphy and I got misled on what you wanted..

 

You can also do it by yourself by replacing the 'get' functions with the variables used by the Guild base script you are saying..

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  400
  • Reputation:   5
  • Joined:  12/05/11
  • Last Seen:  

Hello guys..

I want to request a script for Guild Base Information NPC.

 

I need the NPC will shows :

 

- Current guild leader of the guild

- Guild name

 

My server can use @changeleader. So, is there any possible way to automatically update guild leader at the NPC?

If not, I hope there will be a function for Admin to manually add guild leader name and guild name at the NPC in-game.

 

Thank you very much.

 

EDIT : I'm using eAthena 3ceAM

 

I thought I've state all that I need above. I already use "Guild Base Information NPC" as a topic.

 

Then, I had explain again

 

 

This is for guild base info. FYI, almost every guild got their own base in any map they would like to set it as their base.

So, I need a NPC (as a signboard) to tell player this map/area/base is for "XXX" guild and the leader is "Iori Yagami".

And also I need a method to set the guild and guild leader in-game. Which mean I don't need to go to script to configure/set leader name and guild name.

 

So......

 

 

Can you post the script here?

 

This is script request section, and I'm now requesting a script.

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  33
  • Topics Per Day:  0.01
  • Content Count:  1268
  • Reputation:   382
  • Joined:  02/03/12
  • Last Seen:  

 

This is script request section, and I'm now requesting a script.

 

 

Although, I feel you're demanding this request rather then asking kindly. I'll give you something to work with... But, (next time) remember to use kind words like please and thank you.

alde_gld,53,79,3	script	Guild Information#0	837,{
	set(.@guild_id,getcastledata(getd(".guild_n_"+strnpcinfo(2)+"$"),1));
	mes "[Guild Information]";
	if(.@guild_id) {
		mes "Guild Leader: "+getguildmaster(.@guild_id);
		mes "Guild: "+getguildname(.@guild_id);
	} else mes "This castle is vacant.";
	close;

OnInit:
setarray .guild_n$, "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05",
                    "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05",
                    "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05",
                    "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05",
                    "nguild_alde","nguild_gef","nguild_pay","nguild_prt",
                    "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05",
                    "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05";
setd(".guild_n_"+strnpcinfo(2)+"$",.guild_n$[atoi(strnpcinfo(2))]);
waitingroom getcastlename(getd(".guild_n_"+strnpcinfo(2)+"$")),0;
}
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  38
  • Topics Per Day:  0.01
  • Content Count:  949
  • Reputation:   174
  • Joined:  06/12/12
  • Last Seen:  

I was asking for the guild base NPC you we're talking about >_> not this addon.. Anyways, I hope Skorm gave you an idea already.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  400
  • Reputation:   5
  • Joined:  12/05/11
  • Last Seen:  

Although, I feel you're demanding this request rather then asking kindly. I'll give you something to work with... But, (next time) remember to use kind words like please and thank you.

alde_gld,53,79,3	script	Guild Information#0	837,{
	set(.@guild_id,getcastledata(getd(".guild_n_"+strnpcinfo(2)+"$"),1));
	mes "[Guild Information]";
	if(.@guild_id) {
		mes "Guild Leader: "+getguildmaster(.@guild_id);
		mes "Guild: "+getguildname(.@guild_id);
	} else mes "This castle is vacant.";
	close;

OnInit:
setarray .guild_n$, "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05",
                    "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05",
                    "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05",
                    "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05",
                    "nguild_alde","nguild_gef","nguild_pay","nguild_prt",
                    "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05",
                    "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05";
setd(".guild_n_"+strnpcinfo(2)+"$",.guild_n$[atoi(strnpcinfo(2))]);
waitingroom getcastlename(getd(".guild_n_"+strnpcinfo(2)+"$")),0;
}

Let me explain it again for the third time and I would like to tell you this not the first time I'm requesting a script at here and I was being polite as I can before this.. Thank you very much for trying to help me here.

Okay, let explain again. From the start.

May I request a script at here?

It's a NPC for giving guild base information to player when player click it.

For your information, my server allowed players to use buffer bots to buff them. So, instead of letting buffer bots flooding my towns. I'm giving the players to choose their own base to "park" their bots. And usually, every guild got their own base and bots with buffer Npc, pvp Warper, castle Warper and repairman npc. Example, Guild "XXX" had a base at quiz_02 and other players cannot disturb other base or bots. That's why I need a NPC to let other players know that a base at quiz_02 map was occupied by Guild "XXX" and the leader of the guild are "Iori Yagami". So, it's easy to other players to request to join the "XXX" Guild because they know who is the leader. Also, if there's no bots online, they can't simply "park" their bots and claim that base at quiz_02 is their base.

The original idea is the NPC will only tells Guild Name and Guild Leader of that base. And I hope any of you (script master) can provide a script that I can configure in-game to change the guild leader and guild name. So, I don't need to login to database, insert the guild leader and guild name and reload the NPC.

It's only just that. There's no need to link the NPC to current guild who owns the castle.. No need for that..

I'm sorry if there's any Typo above because I'm using my phone to reply this.

Thank you again for trying to help me. I'm really appreciate that. Please ask me if you still can't understand.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  400
  • Reputation:   5
  • Joined:  12/05/11
  • Last Seen:  

BUMP.
 

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  400
  • Reputation:   5
  • Joined:  12/05/11
  • Last Seen:  

BUMP

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  400
  • Reputation:   5
  • Joined:  12/05/11
  • Last Seen:  

BUMP

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

every guild has already got their own base and bots with Buffer NPC, PvP Warper, Castle Warper and Repairman NPC.

you need to show that script otherwise there is no way we can understand what is buffer bots

though, I already got a feeling this script needs query_sql

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  400
  • Reputation:   5
  • Joined:  12/05/11
  • Last Seen:  

you need to show that script otherwise there is no way we can understand what is buffer bots

though, I already got a feeling this script needs query_sql

 

 

 

you need to show that script otherwise there is no way we can understand what is buffer bots

 

- Buffer bots is openkore bots that automatically give players Spirit, Full Chemical Protection, Weapon Perfection etc triggered by players...

 

- About Buffer NPC, Repairman NPC etc, I've done it and it's already on the base. So, no need to do them again.

 

What do I need is a NPC (1 NPC)  :

 

* For GM Function : script that I can configure/insert the Guild Leader and Guild Name manually in-game.

 

* For Player Function : NPC that will tell them who the Guild Leader and the Guild Name that owns that base according the configurations from GM Function above..

 

Script example :

geffen,195,72,3	script	Guild Base Info	563,{

if(GM):
- input Guild Leader Name
- input Guild Name

if(PLAYER)
mes "Hello.. This base officially made for 'Guild Name' and the Guild Leader is 'Guild Leader Name'";


That's all.

 

Thanks @AnnieRuru for replying.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

- About Buffer NPC, Repairman NPC etc, I've done it and it's already on the base. So, no need to do them again.

yes, I mean, show this script
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  38
  • Topics Per Day:  0.01
  • Content Count:  949
  • Reputation:   174
  • Joined:  06/12/12
  • Last Seen:  

Oh, so that was what you wanted... Well you can use a permanent variable, since it must be manually provided by the GMs..

 

You can work on this.. Remember to add additional checking if the guild matches the leader, etc..

geffen,195,72,3	script	Guild Base Info	563,{


if(getgmlevel() > 1) {
	mes "Input Guild";
	input $GBGuild$[0]; //Remember to change index when using on a different NPC or else it will overwrite.
	next;
	mes "Input Owner";
	input $GBOwner[0];
	close;
	}

else {
	mes "Hello.. This base officially made for "+$GBGuild$[0]+" and the Guild Leader is "+$GBOwner$[0];
	close;
	}


}
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  400
  • Reputation:   5
  • Joined:  12/05/11
  • Last Seen:  

 

Oh, so that was what you wanted... Well you can use a permanent variable, since it must be manually provided by the GMs..

 

You can work on this.. Remember to add additional checking if the guild matches the leader, etc..

geffen,195,72,3	script	Guild Base Info	563,{


if(getgmlevel() > 1) {
	mes "Input Guild";
	input $GBGuild$[0]; //Remember to change index when using on a different NPC or else it will overwrite.
	next;
	mes "Input Owner";
	input $GBOwner[0];
	close;
	}

else {
	mes "Hello.. This base officially made for "+$GBGuild$[0]+" and the Guild Leader is "+$GBOwner$[0];
	close;
	}


}

 

 

i think you missed $ on line 9 and 14. But I've fixed it and it's working.

 

So, every scripts need different index if I want to make it for other base.. Right?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  38
  • Topics Per Day:  0.01
  • Content Count:  949
  • Reputation:   174
  • Joined:  06/12/12
  • Last Seen:  

Yeah I did, apologies..

 

Yep, just change [0] to [1] if you're using it for a different base.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  400
  • Reputation:   5
  • Joined:  12/05/11
  • Last Seen:  

I need some correction for this script :

que_qaru05,132,120,4	script	Base Information#001	837,{

if (getgmlevel() >= 99) {
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Hello Admin, do you want to configure this information board now?";
	goto TOP;
	
TOP:
	menu "Yes",Config,"No. Thank you.",NOPE;
	
Config:
	next;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Please insert the Guild Name.";
	input $GBGuild001$[0]; //Remember to change index when using on a different NPC or else it will overwrite.
	next;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Please insert the Base Owner Name.";
	input $GBOwner001$[0];
	next;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Please check the configuration below :";
	mes " ";
	mes "Guild Name : ^00FFFF"+ $GBGuild$ +"^000000 "; 
	mes "Base Owner : ^4B088A"+ $GBOwner$ +"^000000 ";
	next;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Everything perfect?";
	next;
	if(select("Yes:No") - 1) close;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "This board will be update immediately."; 
	close;
	} else {
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Hello..";
	mes "This base officially made for ^00FFFF"+$GBGuild$[0]+"^000000 Guild, and the owner of this base is ^4B088A"+$GBOwner$[0]+"^000000.";
	next;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Please don't disturb others base!";
	mes " ";
	mes "If there's any report that you're";
	mes "disturbing others base, you will be jailed!";
	close;
	}
	
NOPE:
	next;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "I will always be right here Admin.";
	mes "See you again.";
	close;

OnInit:
	waitingroom "Base Information",0,0;
	end;
}

- At line 7, if I choose "No", I need the NPC cancel the input that I've just do. Currently, "Yes" or "No" is no different.

- If you can make this script more simpler?

 

Thank you very much.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  400
  • Reputation:   5
  • Joined:  12/05/11
  • Last Seen:  

Bump

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  38
  • Topics Per Day:  0.01
  • Content Count:  949
  • Reputation:   174
  • Joined:  06/12/12
  • Last Seen:  

I don't get what you meant here.. Chosing no will jump to NOPE: and would end the script, what's the problem?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  400
  • Reputation:   5
  • Joined:  12/05/11
  • Last Seen:  

I don't get what you meant here.. Chosing no will jump to NOPE: and would end the script, what's the problem?

if(select("Yes:No") - 1) close;

It didn't go to NOPE:

 

It will just close;

 

But, it still save the input that I've just insert..

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  38
  • Topics Per Day:  0.01
  • Content Count:  949
  • Reputation:   174
  • Joined:  06/12/12
  • Last Seen:  

Oh, so you wanted an option to clear the Guild Base owner? Is that it? I don't see your point why putting a goto to open the menu where you are not creating another line where it needs to go back on menu selection btw.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  400
  • Reputation:   5
  • Joined:  12/05/11
  • Last Seen:  

I want, if select NO > no changes made.

 

 

I don't see your point why putting a goto to open the menu where you are not creating another line where it needs to go back on menu selection btw.

// ----	Base que_qaru05

que_qaru05,132,120,4	script	Base Information#001	837,{

if (getgmlevel() >= 99) {
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Hello Admin, do you want to configure this information board now?";
	goto TOP;
	
TOP:
	menu "Yes",Config,"No. Thank you.",NOPE;
	
Config:
	next;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Please insert the Guild Name.";
	input $GBGuild$[0]; //Remember to change index when using on a different NPC or else it will overwrite.
	next;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Please insert the Base Owner Name.";
	input $GBOwner$[0];
	next;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Please check the configuration below :";
	mes " ";
	mes "Guild Name : ^00FFFF"+ $GBGuild$ +"^000000 "; 
	mes "Base Owner : ^4B088A"+ $GBOwner$ +"^000000 ";
	next;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Everything perfect?";
	next;
//	if(select("Yes:No") - 1) close;
	menu "Yes",Config2,"No",NOPE;
	
Config2:
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "This board will be update immediately."; 
	close;
	} else {
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Hello..";
	mes "This base officially made for ^00FFFF"+$GBGuild$[0]+"^000000 Guild, and the owner of this base is ^4B088A"+$GBOwner$[0]+"^000000.";
	next;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Please don't disturb others base!";
	mes " ";
	mes "If there's any report that you're";
	mes "disturbing others base, you will be jailed!";
	close;
	}
	
NOPE:
	next;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "I will always be right here Admin.";
	mes "See you again.";
	close;

OnInit:
	waitingroom "Base Information",0,0;
	end;
}

// ----

I'll try to change it. But it's seem weird.. If I'm doing like above, normal player can't read the else { at line 45 ?

 

 

Or should I do it like this?

// ----	Base que_qaru05

que_qaru05,132,120,4	script	Base Information#001	837,{

if (getgmlevel() >= 99) {
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Hello Admin, do you want to configure this information board now?";
	goto TOP;
	} else {
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Hello..";
	mes "This base officially made for ^00FFFF"+$GBGuild$[0]+"^000000 Guild, and the owner of this base is ^4B088A"+$GBOwner$[0]+"^000000.";
	next;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Please don't disturb others base!";
	mes " ";
	mes "If there's any report that you're";
	mes "disturbing others base, you will be jailed!";
	close;
	}
	
TOP:
	menu "Yes",Config,"No. Thank you.",NOPE;
	
Config:
	next;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Please insert the Guild Name.";
	input $GBGuild$[0]; //Remember to change index when using on a different NPC or else it will overwrite.
	next;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Please insert the Base Owner Name.";
	input $GBOwner$[0];
	next;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Please check the configuration below :";
	mes " ";
	mes "Guild Name : ^00FFFF"+ $GBGuild$ +"^000000 "; 
	mes "Base Owner : ^4B088A"+ $GBOwner$ +"^000000 ";
	next;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "Everything perfect?";
	next;
//	if(select("Yes:No") - 1) close;
	menu "Yes",Config2,"No",NOPE;
	
Config2:
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "This board will be update immediately."; 
	close;
	
NOPE:
	next;
	mes "[^00ff00Base Information Board^000000]";
	mes " ";
	mes "I will always be right here Admin.";
	mes "See you again.";
	close;

OnInit:
	waitingroom "Base Information",0,0;
	end;
}

// ----
Edited by uDe
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...