Hi can someone tell me what is wrong with this script.. I used this on rA and it works perfectly but when i used it here it get an [Debug] on map server.. and the headgear was duplicating after converting it to costume..
/*========================================== * Costume Items *------------------------------------------*/BUILDIN(costume){ int i = -1, num, ep; TBL_PC *sd; num = script_getnum(st,2); // Equip Slot sd = script_rid2sd(st); if( sd == NULL ) return 0; if( num > 0 && num <= ARRAYLENGTH(equip) ) i = pc_checkequip(sd, equip[num - 1]); if( i < 0 ) return 0; ep = sd->status.inventory[i].equip; if( !(ep&EQP_HEAD_LOW) && !(ep&EQP_HEAD_MID) && !(ep&EQP_HEAD_TOP) ) return 0; logs->pick_pc(sd, LOG_TYPE_SCRIPT, -1, &sd->status.inventory[i],sd->inventory_data[i]); pc_unequipitem(sd,i,2); clif->delitem(sd,i,1,3); // -------------------------------------------------------------------- sd->status.inventory[i].refine = 0; sd->status.inventory[i].attribute = 0; sd->status.inventory[i].card[0] = CARD0_CREATE; sd->status.inventory[i].card[1] = 0; sd->status.inventory[i].card[2] = GetWord(battle_config.reserved_costume_id, 0); sd->status.inventory[i].card[3] = GetWord(battle_config.reserved_costume_id, 1); if( ep&EQP_HEAD_TOP ) { ep &= ~EQP_HEAD_TOP; ep |= EQP_COSTUME_HEAD_TOP; } if( ep&EQP_HEAD_LOW ) { ep &= ~EQP_HEAD_LOW; ep |= EQP_COSTUME_HEAD_LOW; } if( ep&EQP_HEAD_MID ) { ep &= ~EQP_HEAD_MID; ep |= EQP_COSTUME_HEAD_MID; } // -------------------------------------------------------------------- logs->pick_pc(sd, LOG_TYPE_SCRIPT, 1, &sd->status.inventory[i],sd->inventory_data[i]); clif->additem(sd,i,1,0); pc_equipitem(sd,i,ep); clif->misceffect(&sd->bl,3); return 0;}
Thanks! Also attached is the full source. Or else just convert it to plugin.
Hi can someone tell me what is wrong with this script.. I used this on rA and it works perfectly but when i used it here it get an [Debug] on map server.. and the headgear was duplicating after converting it to costume..
/*========================================== * Costume Items *------------------------------------------*/BUILDIN(costume){ int i = -1, num, ep; TBL_PC *sd; num = script_getnum(st,2); // Equip Slot sd = script_rid2sd(st); if( sd == NULL ) return 0; if( num > 0 && num <= ARRAYLENGTH(equip) ) i = pc_checkequip(sd, equip[num - 1]); if( i < 0 ) return 0; ep = sd->status.inventory[i].equip; if( !(ep&EQP_HEAD_LOW) && !(ep&EQP_HEAD_MID) && !(ep&EQP_HEAD_TOP) ) return 0; logs->pick_pc(sd, LOG_TYPE_SCRIPT, -1, &sd->status.inventory[i],sd->inventory_data[i]); pc_unequipitem(sd,i,2); clif->delitem(sd,i,1,3); // -------------------------------------------------------------------- sd->status.inventory[i].refine = 0; sd->status.inventory[i].attribute = 0; sd->status.inventory[i].card[0] = CARD0_CREATE; sd->status.inventory[i].card[1] = 0; sd->status.inventory[i].card[2] = GetWord(battle_config.reserved_costume_id, 0); sd->status.inventory[i].card[3] = GetWord(battle_config.reserved_costume_id, 1); if( ep&EQP_HEAD_TOP ) { ep &= ~EQP_HEAD_TOP; ep |= EQP_COSTUME_HEAD_TOP; } if( ep&EQP_HEAD_LOW ) { ep &= ~EQP_HEAD_LOW; ep |= EQP_COSTUME_HEAD_LOW; } if( ep&EQP_HEAD_MID ) { ep &= ~EQP_HEAD_MID; ep |= EQP_COSTUME_HEAD_MID; } // -------------------------------------------------------------------- logs->pick_pc(sd, LOG_TYPE_SCRIPT, 1, &sd->status.inventory[i],sd->inventory_data[i]); clif->additem(sd,i,1,0); pc_equipitem(sd,i,ep); clif->misceffect(&sd->bl,3); return 0;}Thanks! Also attached is the full source. Or else just convert it to plugin.
costume.rar
Edited by HerculesShare this post
Link to post
Share on other sites