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,714) == -1 ) {// item required clif_guild_created(sd,3); return 0; } guild_makemember(&m,sd); m.position=0; intif_guild_create(name,&m); return 1; }
// 作成可否 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); // 作成失敗(同名ギルド存在) return 0; } //struct guild *g; sd->status.guild_id=guild_id; clif_guild_created(sd,0); if(battle_config.guild_emperium_check) pc_delitem(sd,pc_search_inventory(sd,714),1,0,0); // エンペリウム消耗 return 0; }
// 作成要求 int guild_create(struct map_session_data *sd,char *name) { nullpo_retr(0, sd); if(sd->status.guild_id==0){ if(!battle_config.guild_emperium_check || pc_search_inventory(sd,714) >= 0) { struct guild_member m; guild_makemember(&m,sd); m.position=0; intif_guild_create(name,&m); } else clif_guild_created(sd,3); // エンペリウムがいない }else clif_guild_created(sd,1); // すでに所属している return 0; }