本文整理汇总了C++中clif_pet_equip_area函数的典型用法代码示例。如果您正苦于以下问题:C++ clif_pet_equip_area函数的具体用法?C++ clif_pet_equip_area怎么用?C++ clif_pet_equip_area使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了clif_pet_equip_area函数的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: pet_recv_petdata
/**
* Finalize hatching process and load pet to client.
* @param account_id : account ID of owner
* @param p : pet requesting
* @param flag : 1:stop loading of pet
* @return 0:success, 1:failure
*/
int pet_recv_petdata(int account_id,struct s_pet *p,int flag)
{
struct map_session_data *sd;
sd = map_id2sd(account_id);
if(sd == NULL)
return 1;
if(flag == 1) {
sd->status.pet_id = 0;
return 1;
}
if(p->incubate == 1) {
int i;
//Delete egg from inventory. [Skotlex]
for (i = 0; i < MAX_INVENTORY; i++) {
if(sd->status.inventory[i].card[0] == CARD0_PET &&
p->pet_id == MakeDWord(sd->status.inventory[i].card[1], sd->status.inventory[i].card[2]))
break;
}
if(i >= MAX_INVENTORY) {
ShowError("pet_recv_petdata: Hatching pet (%d:%s) aborted, couldn't find egg in inventory for removal!\n",p->pet_id, p->name);
sd->status.pet_id = 0;
return 1;
}
if (!pet_birth_process(sd,p)) //Pet hatched. Delete egg.
pc_delitem(sd,i,1,0,0,LOG_TYPE_OTHER);
} else {
pet_data_init(sd,p);
if(sd->pd && sd->bl.prev != NULL) {
if(map_addblock(&sd->pd->bl))
return 1;
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);
}
}
return 0;
}
开发者ID:Chocolate31,项目名称:eamod,代码行数:58,代码来源:pet.c
示例2: 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;
if (!flag) {
clif_displaymessage(sd->fd, msg_txt(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 (NULL,&pd->bl);
pd->pet.rename_flag = 1;
clif_pet_equip_area(pd);
clif_send_petstatus(sd);
return 1;
}
开发者ID:philg666,项目名称:Latest_eAmod,代码行数:16,代码来源:pet.c
示例3: pet_unequipitem
/**
* Remove a pet's equipment.
* @param sd : player requesting
* @param pd : pet requesting
* @return 0:success, 1:failure
*/
static int pet_unequipitem(struct map_session_data *sd, struct pet_data *pd)
{
struct item tmp_item;
unsigned short nameid;
unsigned char flag = 0;
if(pd->pet.equip == 0)
return 1;
nameid = pd->pet.equip;
pd->pet.equip = 0;
status_set_viewdata(&pd->bl, pd->pet.class_);
clif_pet_equip_area(pd);
memset(&tmp_item,0,sizeof(tmp_item));
tmp_item.nameid = nameid;
tmp_item.identify = 1;
if((flag = pc_additem(sd,&tmp_item,1,LOG_TYPE_OTHER))) {
clif_additem(sd,0,0,flag);
map_addflooritem(&tmp_item,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0,0);
}
if( battle_config.pet_equip_required ) { // Skotlex: halt support timers if needed
if( pd->state.skillbonus ) {
pd->state.skillbonus = 0;
status_calc_pc(sd,SCO_NONE);
}
if( pd->s_skill && pd->s_skill->timer != INVALID_TIMER ) {
if( pd->s_skill->id )
delete_timer(pd->s_skill->timer, pet_skill_support_timer);
else
delete_timer(pd->s_skill->timer, pet_heal_timer);
pd->s_skill->timer = INVALID_TIMER;
}
if( pd->bonus && pd->bonus->timer != INVALID_TIMER ) {
delete_timer(pd->bonus->timer, pet_skill_bonus_timer);
pd->bonus->timer = INVALID_TIMER;
}
}
return 0;
}
开发者ID:Chocolate31,项目名称:eamod,代码行数:50,代码来源:pet.c
示例4: pet_birth_process
/**
* Begin hatching a pet.
* @param sd : player requesting
* @param pet : pet requesting
*/
int pet_birth_process(struct map_session_data *sd, struct s_pet *pet)
{
nullpo_retr(1, sd);
Assert((sd->status.pet_id == 0 || sd->pd == 0) || sd->pd->master == sd);
if(sd->status.pet_id && pet->incubate == 1) {
sd->status.pet_id = 0;
return 1;
}
pet->incubate = 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) {
if(map_addblock(&sd->pd->bl))
return 1;
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->master == sd);
return 0;
}
开发者ID:Chocolate31,项目名称:eamod,代码行数:48,代码来源:pet.c
示例5: 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
示例6: pet_equipitem
/**
* Apply a pet's equipment.
* @param sd : player requesting
* @param index : index value of item
* @return 0:success, 1:failure
*/
int pet_equipitem(struct map_session_data *sd,int index)
{
struct pet_data *pd;
unsigned short nameid;
nullpo_retr(1, sd);
pd = sd->pd;
if (!pd)
return 1;
nameid = sd->status.inventory[index].nameid;
if(pd->petDB->AcceID == 0 || nameid != pd->petDB->AcceID || pd->pet.equip != 0) {
clif_equipitemack(sd,0,0,0);
return 1;
}
pc_delitem(sd,index,1,0,0,LOG_TYPE_OTHER);
pd->pet.equip = nameid;
status_set_viewdata(&pd->bl, pd->pet.class_); //Updates view_data.
clif_pet_equip_area(pd);
if (battle_config.pet_equip_required) { // Skotlex: start support timers if need
unsigned int tick = gettick();
if (pd->s_skill && pd->s_skill->timer == INVALID_TIMER) {
if (pd->s_skill->id)
pd->s_skill->timer=add_timer(tick+pd->s_skill->delay*1000, pet_skill_support_timer, sd->bl.id, 0);
else
pd->s_skill->timer=add_timer(tick+pd->s_skill->delay*1000, pet_heal_timer, sd->bl.id, 0);
}
if (pd->bonus && pd->bonus->timer == INVALID_TIMER)
pd->bonus->timer=add_timer(tick+pd->bonus->delay*1000, pet_skill_bonus_timer, sd->bl.id, 0);
}
return 0;
}
开发者ID:Chocolate31,项目名称:eamod,代码行数:46,代码来源:pet.c
注:本文中的clif_pet_equip_area函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论