OK論壇

 找回密碼
 註冊
查看: 1792|回復: 1

[分享] Setitemdata

[複製鏈接]
  • TA的每日心情
    開心
    2011-6-25 01:53 PM
  • 簽到天數: 10 天

    連續簽到: 0 天

    [LV.3]偶爾看看II

    發表於 2011-6-12 23:27:00 | 顯示全部樓層 |閱讀模式

    1. //设置指定状态
    2. BUILDIN_FUNC(Setitemdata)
    3. {
    4. TBL_PC *sd=script_rid2sd(st); //定义sd为脚本的执行者
    5. struct item item_tmp;  //item型变量
    6. int i = 0,flag,num; //定义变量

    7. if( sd == NULL ) //脚本执行者为空时
    8.   return 0;
    9. num=script_getnum(st,2); //取得玩家所输入的位置
    10. if (num > 0 && num <= ARRAYLENGTH(equip))
    11.   i=pc_checkequip(sd,equip[num-1]);
    12. if (i < 0 || !sd->inventory_data[i]) //如果&#27809;有道具
    13.   return 0;
    14. if(sd->status.inventory[i].nameid > 0){ //存在&#35813;道具
    15.   item_tmp.nameid = script_getnum(st, 3) == -1 ? sd->status.inventory[i].nameid : script_getnum(st, 3);
    16.   item_tmp.amount = script_getnum(st, 4) == -1 ? sd->status.inventory[i].amount : script_getnum(st, 4);
    17.   item_tmp.equip = script_getnum(st, 5) == -1 ? sd->status.inventory[i].equip : script_getnum(st, 5);
    18.   item_tmp.refine = script_getnum(st, 6) == -1 ? sd->status.inventory[i].refine : script_getnum(st, 6);
    19.   item_tmp.identify = script_getnum(st, 7) == -1 ? sd->status.inventory[i].identify : script_getnum(st, 7);
    20.   item_tmp.attribute = script_getnum(st, 8) == -1 ? sd->status.inventory[i].attribute : script_getnum(st, 8);
    21.   item_tmp.item_lock = script_getnum(st, 9) == -1 ? sd->status.inventory[i].item_lock : script_getnum(st, 9);
    22.   item_tmp.card[0] = script_getnum(st, 10) == -1 ? sd->status.inventory[i].card[0] : script_getnum(st, 10);
    23.   item_tmp.card[1] = script_getnum(st, 11) == -1 ? sd->status.inventory[i].card[1] : script_getnum(st, 11);
    24.   item_tmp.card[2] = script_getnum(st, 12) == -1 ? sd->status.inventory[i].card[2] : script_getnum(st, 12);
    25.   item_tmp.card[3] = script_getnum(st, 13) == -1 ? sd->status.inventory[i].card[3] : script_getnum(st, 13);
    26.   item_tmp.expire_time = sd->status.inventory[i].expire_time; //默&#35748;不修改租&#36161;&#26102;&#38388;,防止不必要的麻&#28902;
    27.   pc_delitem(sd,i,1,0,0); //&#21024;除原道具
    28.   if((flag=pc_additem(sd,&item_tmp,1))){ //添加道具部分
    29.    clif_additem(sd,0,0,flag);
    30.    map_addflooritem(&item_tmp,1,sd->bl.m,sd->bl.x,sd->bl.y,0,0,0,0);
    31.   }
    32. }
    33. return 0;
    34. }
    複製代碼
    回復

    使用道具 舉報

  • TA的每日心情
    開心
    2011-6-25 01:53 PM
  • 簽到天數: 10 天

    連續簽到: 0 天

    [LV.3]偶爾看看II

     樓主| 發表於 2011-6-12 23:28:34 | 顯示全部樓層
    BUILDIN_DEF(Setitemdata,"*"),

    使用方法
    settheitem .@part,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,-1;
    回復 支持 反對

    使用道具 舉報

    您需要登錄後才可以回帖 登錄 | 註冊

    本版積分規則

    Archiver|手機版|小黑屋|OK討論區

    GMT+8, 2024-5-7 01:56 AM , Processed in 0.047121 second(s), 19 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回復 返回頂部 返回列表