Jump to content
  • 0

Guild Modifications


Pneuma

Question


  • Group:  Members
  • Topic Count:  82
  • Topics Per Day:  0.02
  • Content Count:  846
  • Reputation:   136
  • Joined:  02/26/14
  • Last Seen:  

Hey, I'm planning on opening a server further down the road and I need some modifications towards guilds.

 

First thing on my request is Creation Requirement. [/Completed]

  • 1,000,000 Zeny
  • 1 Emperium

map/guild.c find: int guild_create

//------------------------------------------------------------------------

int guild_create(struct map_session_data *sd, const char *name) {
	char tname[NAME_LENGTH];
	struct guild_member m;
	nullpo_ret(sd);

	safestrncpy(tname, name, NAME_LENGTH);
	trim(tname);

	if( !tname[0] )
		return 0; // empty name

	if( sd->status.guild_id ) {
		// already in a guild
		clif_guild_created(sd,1);
		return 0;
	}
	if( battle_config.guild_emperium_check && pc_search_inventory(sd,ITEMID_EMPERIUM) == -1 ) {
		// item required
		clif_guild_created(sd,3);
		return 0;
	}
	if(sd->status.zeny < 1000000){
		//zeny requirement
		clif_guild_created(sd,3); //or maybe a clif_display for custom message
		return 0;
	}
	guild_makemember(&m,sd);
	m.position=0;
	intif_guild_create(name,&m);
	return 1;
}

//Whether or not to create guild
int guild_created(int account_id,int guild_id) {
	struct map_session_data *sd=map_id2sd(account_id);

	if(sd==NULL)
		return 0;
	if(!guild_id) {
		clif_guild_created(sd, 2); // Creation failure (presence of the same name Guild)
		return 0;
	}

	sd->status.guild_id = guild_id;
	clif_guild_created(sd,0);
	if(battle_config.guild_emperium_check)
		pc_delitem(sd,pc_search_inventory(sd,ITEMID_EMPERIUM),1,0,0,LOG_TYPE_CONSUME);	//emperium consumption
		pc_payzeny(sd,1000000,LOG_TYPE_NPC,NULL);
	return 0;
}

My next request is a way to completely disable Guild Taxation. I'd like to not allow guilds to use Guild Tax at all and if possible even remove the feature clientside too. [/Completed]

map/pc.c find: pc_gainexp

/*==========================================
 * Give x exp at sd player and calculate remaining exp for next lvl
 *------------------------------------------*/
int pc_gainexp(struct map_session_data *sd, struct block_list *src, unsigned int base_exp,unsigned int job_exp,bool quest)
{
	float nextbp=0, nextjp=0;
	unsigned int nextb=0, nextj=0;
	nullpo_ret(sd);

	if(sd->bl.prev == NULL || pc_isdead(sd))
		return 0;

	if(!battle_config.pvp_exp && map[sd->bl.m].flag.pvp)  // [MouseJstr]
		return 0; // no exp on pvp maps
	
//	if(sd->status.guild_id>0)
//		base_exp-=guild_payexp(sd,base_exp);

My final request is a method of not allowing guilds to use skill points on skills but instead be given at certain levels.

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

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...