本文整理汇总了C++中clif_displaymessage函数的典型用法代码示例。如果您正苦于以下问题:C++ clif_displaymessage函数的具体用法?C++ clif_displaymessage怎么用?C++ clif_displaymessage使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了clif_displaymessage函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: chrif_changesex
int chrif_changesex(struct map_session_data *sd) {
chrif_check(-1);
WFIFOHEAD(char_fd,44);
WFIFOW(char_fd,0) = 0x2b0e;
WFIFOL(char_fd,2) = sd->status.account_id;
safestrncpy((char*)WFIFOP(char_fd,6), sd->status.name, NAME_LENGTH);
WFIFOW(char_fd,30) = 5;
WFIFOSET(char_fd,44);
clif_displaymessage(sd->fd, msg_txt(410)); //"Need disconnection to perform change-sex request..."
if (sd->fd)
clif_authfail_fd(sd->fd, 15);
else
map_quit(sd);
return 0;
}
开发者ID:Judasu,项目名称:rAthena-1,代码行数:18,代码来源:chrif.c
示例2: channel_list
void channel_list(struct map_session_data *sd)
{ // Display a list of all channels
char output[256];
struct channel_data *cd;
DBIterator* iter;
DBKey key;
iter = channel_db->iterator(channel_db);
for( cd = (struct channel_data *)iter->first(iter,&key); iter->exists(iter); cd = (struct channel_data *)iter->next(iter,&key) )
{
if( cd->users < 1 && cd->type == CHN_USER )
continue;
sprintf(output, msg_txt(812), cd->name, cd->users, !cd->pass[0] ? msg_txt(813) : msg_txt(814));
clif_displaymessage(sd->fd, output);
}
iter->destroy(iter);
return;
}
开发者ID:Chocolate31,项目名称:eamod,代码行数:19,代码来源:channel.c
示例3: vending_vendinglistreq
/*==========================================
* Request a shop's item list
*------------------------------------------*/
void vending_vendinglistreq(struct map_session_data* sd, int id)
{
struct map_session_data* vsd;
nullpo_retv(sd);
if( (vsd = map_id2sd(id)) == NULL )
return;
if( vsd->vender_id == 0 )
return; // not vending
if ( !pc_can_give_items(pc_isGM(sd)) || !pc_can_give_items(pc_isGM(vsd)) ) //check if both GMs are allowed to trade
{ // GM is not allowed to trade
clif_displaymessage(sd->fd, msg_txt(246));
return;
}
clif_vendinglist(sd, id, vsd->vending);
}
开发者ID:Yushiko,项目名称:element-ro,代码行数:22,代码来源:vending.c
示例4: vending_vendinglistreq
/*==========================================
* Request a shop's item list
*------------------------------------------*/
void vending_vendinglistreq(struct map_session_data *sd, unsigned int id) {
struct map_session_data *vsd;
nullpo_retv(sd);
if((vsd = map->id2sd(id)) == NULL)
return;
if(!vsd->state.vending)
return; // not vending
if(!pc_can_give_items(sd) || !pc_can_give_items(vsd)) { //check if both GMs are allowed to trade
// GM is not allowed to trade
clif_displaymessage(sd->fd, msg_txt(246));
return;
}
sd->vended_id = vsd->vender_id; // register vending uid
clif_vendinglist(sd, id, vsd->vending);
}
开发者ID:Mateuus,项目名称:brathena-1,代码行数:22,代码来源:vending.c
示例5: pet_change_name_ack
int pet_change_name_ack(struct map_session_data *sd, char* name, int flag)
{
struct pet_data *pd = sd->pd;
if (!pd) return 0;
normalize_name(name," ");//bugreport:3032
if ( !flag || !strlen(name) ) {
clif_displaymessage(sd->fd, msg_txt(sd,280)); // You cannot use this name for your pet.
clif_send_petstatus(sd); //Send status so client knows oet name change got rejected.
return 0;
}
memcpy(pd->pet.name, name, NAME_LENGTH);
clif_charnameack (0,&pd->bl);
pd->pet.rename_flag = 1;
clif_pet_equip_area(pd);
clif_send_petstatus(sd);
return 1;
}
开发者ID:BlazingSpear,项目名称:rathena,代码行数:19,代码来源:pet.c
示例6: storage_storageopen
/**
* Player attempt tp open his storage.
* @param sd : player
* @return 0:success, 1:fail
*/
int storage_storageopen(struct map_session_data *sd)
{
nullpo_ret(sd);
if(sd->state.storage_flag)
return 1; //Already open?
if( !pc_can_give_items(sd) ) { // check is this GM level is allowed to put items to storage
clif_displaymessage(sd->fd, msg_txt(sd,246));
return 1;
}
sd->state.storage_flag = 1;
storage_sortitem(sd->storage.u.items_storage, sd->storage.max_amount);
clif_storagelist(sd, sd->storage.u.items_storage, sd->storage.max_amount, storage_getName(0));
clif_updatestorageamount(sd, sd->storage.amount, sd->storage.max_amount);
return 0;
}
开发者ID:AtlantisRO,项目名称:rathena,代码行数:24,代码来源:storage.c
示例7: bg_send_xy_timer_sub
int bg_send_xy_timer_sub(DBKey key, void *data, va_list ap)
{
struct battleground_data *bg = (struct battleground_data *)data;
struct map_session_data *sd;
char output[128];
int i, m;
nullpo_ret(bg);
m = map_mapindex2mapid(bg->mapindex);
bg->reveal_flag = !bg->reveal_flag; // Switch
for( i = 0; i < MAX_BG_MEMBERS; i++ )
{
if( (sd = bg->members[i].sd) == NULL )
continue;
if( battle_config.bg_idle_autokick && DIFF_TICK(last_tick, sd->idletime) >= battle_config.bg_idle_autokick && bg->g )
{
sprintf(output, "- AFK [%s] Kicked -", sd->status.name);
clif_broadcast2(&sd->bl, output, (int)strlen(output)+1, bg->color, 0x190, 20, 0, 0, BG);
bg_team_leave(sd,3);
clif_displaymessage(sd->fd, "You have been kicked from Battleground because of your AFK status.");
pc_setpos(sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,3);
continue;
}
if( sd->bl.x != bg->members[i].x || sd->bl.y != bg->members[i].y )
{ // xy update
bg->members[i].x = sd->bl.x;
bg->members[i].y = sd->bl.y;
clif_bg_xy(sd);
}
if( bg->reveal_pos && bg->reveal_flag && sd->bl.m == m ) // Reveal each 4 seconds
map_foreachinmap(bg_reveal_pos,m,BL_PC,sd,1,bg->color);
if( battle_config.bg_idle_announce && !sd->state.bg_afk && DIFF_TICK(last_tick, sd->idletime) >= battle_config.bg_idle_announce && bg->g )
{ // Idle announces
sd->state.bg_afk = 1;
sprintf(output, "%s : %s seens to be away. AFK Warning - Can be kicked out with @reportafk", bg->g->name, sd->status.name);
clif_bg_message(bg, bg->bg_id, bg->g->name, output, strlen(output) + 1);
}
}
return 0;
}
开发者ID:Chocolate31,项目名称:eamod,代码行数:43,代码来源:battleground.c
示例8: storage_storageopen
/*==========================================
* Opens a storage. Returns:
* 0 - success
* 1 - fail
*------------------------------------------*/
int storage_storageopen(struct map_session_data *sd)
{
nullpo_ret(sd);
if(sd->state.storage_flag)
return 1; //Already open?
if( !pc_can_give_items(sd) )
{ //check is this GM level is allowed to put items to storage
clif_displaymessage(sd->fd, msg_txt(sd,246));
return 1;
}
sd->state.storage_flag = 1;
storage_sortitem(sd->status.storage.items, ARRAYLENGTH(sd->status.storage.items));
clif_storagelist(sd, sd->status.storage.items, ARRAYLENGTH(sd->status.storage.items));
clif_updatestorageamount(sd, sd->status.storage.storage_amount, MAX_STORAGE);
return 0;
}
开发者ID:gigaguzel,项目名称:rAthena-1,代码行数:24,代码来源:storage.c
示例9: ext_storage_open
int ext_storage_open(struct map_session_data *sd)
{
nullpo_ret(sd);
if(sd->state.storage_flag)
return 1;
if( !pc_can_give_items(pc_isGM(sd)) )
{ //check is this GM level is allowed to put items to storage
clif_displaymessage(sd->fd, msg_txt(246));
return 1;
}
sd->state.storage_flag = 3;
storage_sortitem(sd->status.ext_storage.items, ARRAYLENGTH(sd->status.ext_storage.items));
clif_storagelist(sd, sd->status.ext_storage.items, ARRAYLENGTH(sd->status.ext_storage.items));
clif_updateextrastorageamount(sd,sd->status.ext_storage.storage_amount);
return 0;
}
开发者ID:ranfs,项目名称:fa6d4ae1781f9a68f1a4d5,代码行数:19,代码来源:storage.c
示例10: guild_opposition
// ギルド敵対
int guild_opposition(struct map_session_data *sd,struct map_session_data *tsd)
{
struct guild *g;
int i;
nullpo_retr(0, sd);
g=guild_search(sd->status.guild_id);
if(g==NULL || tsd==NULL)
return 0;
// Prevent creation opposition with same guilds [LuzZza]
if(sd->status.guild_id == tsd->status.guild_id)
return 0;
if( guild_get_alliance_count(g,1)>=3 ) {
clif_guild_oppositionack(sd,1);
return 0;
}
if(agit_flag) {
clif_displaymessage(sd->fd,"You cannot make oppositions during Guild Wars!");
return 0;
}
for(i=0;i<MAX_GUILDALLIANCE;i++){ // すでに関係を持っているか確認
if(g->alliance[i].guild_id==tsd->status.guild_id){
if(g->alliance[i].opposition==1){ // すでに敵対
clif_guild_oppositionack(sd,2);
return 0;
}
//Change alliance to opposition.
intif_guild_alliance( sd->status.guild_id,tsd->status.guild_id,
sd->status.account_id,tsd->status.account_id,8 );
}
}
// inter鯖に敵対要請
intif_guild_alliance( sd->status.guild_id,tsd->status.guild_id,
sd->status.account_id,tsd->status.account_id,1 );
return 0;
}
开发者ID:AxlSckay,项目名称:Ragnarok-OldTimes,代码行数:43,代码来源:guild.c
示例11: pet_birth_process
int pet_birth_process(struct map_session_data *sd, struct s_pet *pet)
{
char pet_output[1024]; // Declaracion de char para Invocacion Pet's [Tab]
nullpo_retr(1, sd);
Assert((sd->status.pet_id == 0 || sd->pd == 0) || sd->pd->msd == sd);
if(sd->status.pet_id && pet->incuvate == 1) {
sd->status.pet_id = 0;
return 1;
}
pet->incuvate = 0;
pet->account_id = sd->status.account_id;
pet->char_id = sd->status.char_id;
sd->status.pet_id = pet->pet_id;
if(pet_data_init(sd, pet)) {
sd->status.pet_id = 0;
return 1;
}
intif_save_petdata(sd->status.account_id,pet);
if (save_settings&8)
chrif_save(sd,0); //is it REALLY Needed to save the char for hatching a pet? [Skotlex]
if(sd->bl.prev != NULL) {
map_addblock(&sd->pd->bl);
clif_spawn(&sd->pd->bl);
clif_send_petdata(sd,sd->pd, 0,0);
clif_send_petdata(sd,sd->pd, 5,battle_config.pet_hair_style);
clif_pet_equip_area(sd->pd);
clif_send_petstatus(sd);
}
Assert((sd->status.pet_id == 0 || sd->pd == 0) || sd->pd->msd == sd);
clif_misceffect(&sd->pd->bl, 0); // Efecto 1 de nacimiento [Tab]
clif_misceffect(&sd->pd->bl, 344); // Efecto 2 de nacimiento [Tab]
sprintf(pet_output,"Get Out %s... NOW!",pet->name); // Cuidado aca con el nombre del pet
clif_displaymessage(sd->fd, pet_output); // Frase nacimiento [Tab]
return 0;
}
开发者ID:philg666,项目名称:Latest_eAmod,代码行数:42,代码来源:pet.c
示例12: chrif_changedsex
/*==========================================
* 性別変化終了 (modified by Yor)
*------------------------------------------
*/
static
void chrif_changedsex(Session *, const Packet_Fixed<0x2b0d>& fixed)
{
dumb_ptr<map_session_data> sd;
AccountId acc = fixed.account_id;
SEX sex = fixed.sex;
if (battle_config.etc_log)
PRINTF("chrif_changedsex %d.\n"_fmt, acc);
sd = map_id2sd(account_to_block(acc));
if (acc)
{
if (sd != nullptr && sd->status.sex != sex)
{
if (sd->status.sex == SEX::MALE)
sd->sex = sd->status.sex = SEX::FEMALE;
else if (sd->status.sex == SEX::FEMALE)
sd->sex = sd->status.sex = SEX::MALE;
// to avoid any problem with equipment and invalid sex, equipment is unequiped.
for (IOff0 i : IOff0::iter())
{
if (sd->status.inventory[i].nameid
&& bool(sd->status.inventory[i].equip))
pc_unequipitem(sd, i, CalcStatus::NOW);
}
// save character
chrif_save(sd);
sd->login_id1++; // change identify, because if player come back in char within the 5 seconds, he can change its characters
// do same modify in login-server for the account, but no in char-server (it ask again login_id1 to login, and don't remember it)
clif_displaymessage(sd->sess,
"Your sex has been changed (need disconexion by the server)..."_s);
clif_setwaitclose(sd->sess); // forced to disconnect for the change
}
}
else
{
if (sd != nullptr)
{
PRINTF("chrif_changedsex failed.\n"_fmt);
}
}
}
开发者ID:Rosalila,项目名称:tswa,代码行数:46,代码来源:chrif.cpp
示例13: chrif_char_ask_name_answer
/*==========================================
* R 2b0f <accid>.l <name>.24B <type>.w <answer>.w
* Reply to chrif_char_ask_name() (request to do some character operation)
* type of operation:
* 1: block, 2: ban, 3: unblock, 4: unban, 5: changesex
* type of answer:
* 0: login-server request done
* 1: player not found
* 2: gm level too low
* 3: login-server offline
*------------------------------------------*/
int chrif_char_ask_name_answer(int fd)
{
struct map_session_data* sd;
char* action;
char output[256];
int acc = RFIFOL(fd,2); // account_id of who has asked (-1 if nobody)
char* player_name = (char*)RFIFOP(fd,6);
uint16 type;
uint16 answer;
type = RFIFOW(fd,30);
answer = RFIFOW(fd,32);
sd = map_id2sd(acc);
if (acc < 0 || sd == NULL) {
ShowError("chrif_char_ask_name_answer failed - player not online.\n");
return 0;
}
switch(type)
{
case 1: action = "block"; break;
case 2: action = "ban"; break;
case 3: action = "unblock"; break;
case 4: action = "unban"; break;
case 5: action = "change the sex of"; break;
default: action = "???"; break;
}
switch(answer)
{
case 0: sprintf(output, "Login-server has been asked to %s the player '%20s'.", action, player_name); break;
case 1: sprintf(output, "The player '%20s' doesn't exist.", player_name); break;
case 2: sprintf(output, "Your GM level don't authorise you to %s the player '%20s'.", action, player_name); break;
case 3: sprintf(output, "Login-server is offline. Impossible to %s the player '%20s'.", action, player_name); break;
default: output[0] = '\0'; break;
}
clif_displaymessage(sd->fd, output);
return 0;
}
开发者ID:AxlSckay,项目名称:Ragnarok-OldTimes,代码行数:52,代码来源:chrif.c
示例14: pet_menu
/**
* Pet menu options.
* @param sd : player requesting
* @param menunum : menu option chosen
* @return 0:success, 1:failure
*/
int pet_menu(struct map_session_data *sd,int menunum)
{
struct item_data *egg_id;
nullpo_ret(sd);
if (sd->pd == NULL)
return 1;
//You lost the pet already.
if(!sd->status.pet_id || sd->pd->pet.intimate <= 0 || sd->pd->pet.incubate)
return 1;
egg_id = itemdb_exists(sd->pd->petDB->EggID);
if (egg_id) {
if ((egg_id->flag.trade_restriction&0x01) && !pc_inventoryblank(sd)) {
clif_displaymessage(sd->fd, msg_txt(sd, 451)); // You can't return your pet because your inventory is full.
return 1;
}
}
switch(menunum) {
case 0:
clif_send_petstatus(sd);
break;
case 1:
pet_food(sd, sd->pd);
break;
case 2:
pet_performance(sd, sd->pd);
break;
case 3:
pet_return_egg(sd, sd->pd);
break;
case 4:
pet_unequipitem(sd, sd->pd);
break;
}
return 0;
}
开发者ID:Chocolate31,项目名称:eamod,代码行数:47,代码来源:pet.c
示例15: mail_setitem
/**
* Attempt to set item or zeny
* @param sd
* @param idx 0 - Zeny; >= 2 - Inventory item
* @param amount
* @return True if item/zeny can be set, False if failed
*/
bool mail_setitem(struct map_session_data *sd, short idx, int amount) {
if( sd->state.account_protection ) {
clif_displaymessage(sd->fd, "Your Account is Locked.");
return 1;
}
if( pc_istrading(sd) )
return false;
if( idx == 0 ) { // Zeny Transfer
if( !pc_can_give_items(sd) )
return false;
if( amount > sd->status.zeny )
amount = sd->status.zeny;
sd->mail.zeny = amount;
// clif_updatestatus(sd, SP_ZENY);
return true;
} else { // Item Transfer
idx -= 2;
mail_removeitem(sd, 0);
if( idx < 0 || idx >= MAX_INVENTORY )
return false;
if( amount > sd->status.inventory[idx].amount )
return false;
if( !pc_can_give_items(sd) || sd->status.inventory[idx].expire_time
|| !itemdb_available(sd->status.inventory[idx].nameid)
|| !itemdb_canmail(&sd->status.inventory[idx],pc_get_group_level(sd))
|| (sd->status.inventory[idx].bound && !pc_can_give_bounded_items(sd)) )
return false;
sd->mail.index = idx;
sd->mail.nameid = sd->status.inventory[idx].nameid;
sd->mail.amount = amount;
return true;
}
}
开发者ID:bossemoja,项目名称:5.0,代码行数:47,代码来源:mail.c
示例16: chrif_accountdeletion
/*==========================================
* Disconnection of a player (account has been deleted in login-server) by [Yor]
*------------------------------------------*/
int chrif_accountdeletion(int fd)
{
int acc;
struct map_session_data *sd;
acc = RFIFOL(fd,2);
if (battle_config.etc_log)
ShowNotice("chrif_accountdeletion %d.\n", acc);
sd = map_id2sd(acc);
if (acc > 0) {
if (sd != NULL) {
sd->login_id1++; // change identify, because if player come back in char within the 5 seconds, he can change its characters
clif_displaymessage(sd->fd, "Your account has been deleted (disconnection)...");
clif_setwaitclose(sd->fd); // forced to disconnect for the change
}
} else {
if (sd != NULL)
ShowError("chrif_accountdeletion failed - player not online.\n");
}
return 0;
}
开发者ID:AxlSckay,项目名称:Ragnarok-OldTimes,代码行数:25,代码来源:chrif.c
示例17: buyingstore_open
void buyingstore_open(struct map_session_data* sd, int account_id) {
struct map_session_data* pl_sd;
if( !battle_config.feature_buying_store || pc_istrading(sd) ) // Not allowed to sell
return;
if( !pc_can_give_items(sd) ) { // Custom: GM is not allowed to sell
clif_displaymessage(sd->fd, msg_txt(246));
return;
}
if( (pl_sd = map_id2sd(account_id)) == NULL || !pl_sd->state.buyingstore ) // Not online or not buying
return;
// Out of view range
if( !searchstore_queryremote(sd, account_id) && (sd->bl.m != pl_sd->bl.m ||
!check_distance_bl(&sd->bl, &pl_sd->bl, AREA_SIZE)) )
return;
// Success
clif_buyingstore_itemlist(sd, pl_sd);
}
开发者ID:icxbb-xx,项目名称:trunk,代码行数:22,代码来源:buyingstore.c
示例18: do_reload_instance
/*==========================================
* Reloads the instance in runtime (reloadscript)
*------------------------------------------*/
void do_reload_instance(void)
{
struct instance_data *im;
struct instance_db *db;
struct s_mapiterator* iter;
struct map_session_data *sd;
int i;
for( i = 1; i < MAX_INSTANCE_DATA; i++ ) {
im = &instance_data[i];
if(!im->cnt_map)
continue;
else {
// First we load the NPCs again
instance_addnpc(im);
// Create new keep timer
if((db = instance_searchtype_db(im->type)) != NULL)
im->keep_limit = (unsigned int)time(NULL) + db->limit;
}
}
// Reset player to instance beginning
iter = mapit_getallusers();
for( sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); sd = (TBL_PC*)mapit_next(iter) )
if(sd && map[sd->bl.m].instance_id) {
struct party_data *p;
if(!(p = party_search(sd->status.party_id)) || p->instance_id != map[sd->bl.m].instance_id) // Someone not in party is on instance map
continue;
im = &instance_data[p->instance_id];
if((db = instance_searchtype_db(im->type)) != NULL && !instance_enter(sd,db->name)) { // All good
clif_displaymessage(sd->fd, msg_txt(sd,515)); // Instance has been reloaded
instance_reqinfo(sd,p->instance_id);
} else // Something went wrong
ShowError("do_reload_instance: Error setting character at instance start: character_id=%d instance=%s.\n",sd->status.char_id,db->name);
}
mapit_free(iter);
}
开发者ID:BlazingSpear,项目名称:rathena,代码行数:41,代码来源:instance.c
示例19: channel_pccolor
/**
* A player is attempting to change the channel color
* @param sd: Player data
* @param chname: Channel name
* @param color: New color
* @return 0 on success or -1 on failure
*/
int channel_pccolor(struct map_session_data *sd, char *chname, char *color){
struct Channel *channel;
char output[CHAT_SIZE_MAX];
int k;
if(!sd)
return 0;
if( channel_chk(chname,NULL,1) ) {
clif_displaymessage(sd->fd, msg_txt(sd,1405));// Channel name must start with '#'.
return -1;
}
channel = channel_name2channel(chname,sd,0);
if( !channel ) {
sprintf(output, msg_txt(sd,1407), chname);// Channel '%s' is not available.
clif_displaymessage(sd->fd, output);
return -1;
}
if( !pc_has_permission(sd, PC_PERM_CHANNEL_ADMIN) ) {
if (channel->char_id != sd->status.char_id) {
sprintf(output, msg_txt(sd,1412), chname);// You're not the owner of channel '%s'.
clif_displaymessage(sd->fd, output);
return -1;
}
else if (!(channel->opt&CHAN_OPT_COLOR_OVERRIDE)) {
sprintf(output, msg_txt(sd,764), chname); // You cannot change the color for channel '%s'.
clif_displaymessage(sd->fd, output);
return -1;
}
}
ARR_FIND(0,channel_config.colors_count,k,( strcmpi(color,channel_config.colors_name[k]) == 0 ) );
if( k >= channel_config.colors_count ) {
sprintf(output, msg_txt(sd,1411), color);// Unknown color '%s'.
clif_displaymessage(sd->fd, output);
return -1;
}
channel->color = channel_config.colors[k];
sprintf(output, msg_txt(sd,1413),chname,channel_config.colors_name[k]);// '%s' channel color updated to '%s'.
clif_displaymessage(sd->fd, output);
return 0;
}
开发者ID:Atemo,项目名称:rathena,代码行数:52,代码来源:channel.cpp
示例20: gstorage_storageopen
/**
* Attempt to open guild storage for player
* @param sd : player
* @return 0 : success, 1 : fail, 2 : no guild found
*/
char gstorage_storageopen(struct map_session_data* sd)
{
struct guild_storage *gstor;
nullpo_ret(sd);
if(sd->status.guild_id <= 0)
return 2;
if(sd->state.storage_flag)
return 1; //Can't open both storages at a time.
if( !pc_can_give_items(sd) ) { //check is this GM level can open guild storage and store items [Lupus]
clif_displaymessage(sd->fd, msg_txt(sd,246));
return 1;
}
if((gstor = gstorage_get_storage(sd->status.guild_id)) == NULL) {
intif_request_guild_storage(sd->status.account_id,sd->status.guild_id);
return 0;
}
if(gstor->opened)
return 1;
if( gstor->locked )
return 1;
gstor->opened = sd->status.char_id;
sd->state.storage_flag = 2;
storage_sortitem(gstor->items, ARRAYLENGTH(gstor->items));
clif_storagelist(sd, gstor->items, ARRAYLENGTH(gstor->items));
clif_updatestorageamount(sd, gstor->storage_amount, MAX_GUILD_STORAGE);
return 0;
}
开发者ID:newmessage,项目名称:rathena,代码行数:41,代码来源:storage.c
注:本文中的clif_displaymessage函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论