取得手推車物品資訊
// 使用格式:getcartlist [<char_id>]; (Char_id不能省);// 把玩家手推車物品的詳細資料記錄在以下變量數組中:
// @cartlist_id : 物品ID
// @cartlist_amount : 物品數量
// @cartlist_equip : 如果裝備了物品,則記錄裝備位置
// @cartlist_refine : 物品精煉度
// @cartlist_identify : 物品鑒定情況
// @cartlist_attribute : 物品損壞情況
// @cartlist_card1 : 物品插入的卡片(第1張)
// @cartlist_card2 : 物品插入的卡片(第2張)
// @cartlist_card3 : 物品插入的卡片(第3張)
// @cartlist_card4 : 物品插入的卡片(第4張)
// 物品種類數量記錄在@cartlist_count
//(在 BUILDIN_DEF(changequest, "ii"),
//下面新增:
//BUILDIN_DEF(getcartlist,"i"),
BUILDIN_FUNC(getcartlist)
{
TBL_PC *sd=map_id2sd(script_getnum(st,2));
char card_value;
int i,j=0,k;
if(!sd) return 0;
for(i=0;i if(sd->status.cart.nameid > 0 && sd->status.cart.amount > 0){
pc_setreg(sd,add_str("@cartlist_id")+(j<<24),sd->status.cart.nameid);
pc_setreg(sd,add_str("@cartlist_amount")+(j<<24),sd->status.cart.amount);
pc_setreg(sd,add_str("@cartlist_equip")+(j<<24),sd->status.cart.equip);
pc_setreg(sd,add_str("@cartlist_refine")+(j<<24),sd->status.cart.refine);
pc_setreg(sd,add_str("@cartlist_identify")+(j<<24),sd->status.cart.identify);
pc_setreg(sd,add_str("@cartlist_attribute")+(j<<24),sd->status.cart.attribute);
for (k = 0; k < MAX_SLOTS; k++)
{
sprintf(card_value, "@cartlist_card%d",k+1);
pc_setreg(sd,add_str(card_value)+(j<<24),sd->status.cart.card);
}
j++;
}
}
pc_setreg(sd,add_str("@cartlist_count"),j);
return 0;
} 這要放哪裡?
ˇˇ抱歉問這種問題>~<" 這是源碼.............
去看看哆啦的文章吧 本帖最後由 sinya 於 2011-5-7 04:15 PM 編輯
test 14808
BUILDIN_FUNC(getcartlist)
{
struct map_session_data *sd = script_rid2sd(st);
int i,j=0;
if(sd == NULL)
return 0;
for(i=0; i<MAX_CART && j<128; i++) {
if(sd->status.cart.nameid > 0 && sd->status.cart.amount > 0) {
pc_setreg(sd,add_str("@cartlist_index")+(j<<24),i);
pc_setreg(sd,add_str("@cartlist_id")+(j<<24),sd->status.cart.nameid);
pc_setreg(sd,add_str("@cartlist_amount")+(j<<24),sd->status.cart.amount);
pc_setreg(sd,add_str("@cartlist_refine")+(j<<24),sd->status.cart.refine);
pc_setreg(sd,add_str("@cartlist_identify")+(j<<24),sd->status.cart.identify);
pc_setreg(sd,add_str("@cartlist_attribute")+(j<<24),sd->status.cart.attribute);
pc_setreg(sd,add_str("@cartlist_card1")+(j<<24),sd->status.cart.card);
pc_setreg(sd,add_str("@cartlist_card2")+(j<<24),sd->status.cart.card);
pc_setreg(sd,add_str("@cartlist_card3")+(j<<24),sd->status.cart.card);
pc_setreg(sd,add_str("@cartlist_card4")+(j<<24),sd->status.cart.card);
j++;
}
}
pc_setreg(sd,add_str("@cartlist_count"),j);
return 0;
}
BUILDIN_DEF(getcartlist,""),
頁:
[1]