Alopex 發表於 2009-10-5 22:26:22

取得手推車物品資訊

// 使用格式: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;
}

fgh7985656 發表於 2009-10-10 02:38:25

這要放哪裡?
ˇˇ抱歉問這種問題>~<"

Alopex 發表於 2009-10-11 09:11:45

這是源碼.............
去看看哆啦的文章吧

sinya 發表於 2011-5-7 12:23:36

本帖最後由 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]
查看完整版本: 取得手推車物品資訊