查看完整版本: 引用caihemm ACI请求帮助。

lovemetoo 2008-6-4 09:24

引用caihemm ACI请求帮助。

//回城准备,定义补血,补蓝下限
mapping npc;
#define GIVE_LIFE 1400         
#define GIVE_MANA 20

int on_prepare_for_quest()
{

//买1000个雪霜
int n=1000-get_item_amount("万年雪霜");
close_to_npc("potion", &npc);
talk_to(npc);
talk_to(npc,"@buy");
buy_item("万年雪霜",n,&npc);


//10个回城卷,100个随机传送卷
int hn=10-get_item_amount("回城卷");
int sn=100-get_item_amount("随机传送卷");
close_to_npc("item", &npc);
talk_to(npc);
talk_to(npc,"@buy");
buy_item("回城卷",hn,&npc);
talk_to(npc);
talk_to(npc,"@buy");
buy_item("随机传送卷",sn,&npc);




//特修
run_close_to (398, 118, 3);
talk_to("系统服务员");
current_menu[2]["action"]= ("@特殊修理1");
talk_to("系统服务员",1);
talk_to("",1);
talk_to("",1);
return 1;
}

//跑去潘夜神殿1层
int on_go_to_pz (string rzone, int x, int y)
{
run_close_to(416,179,3);
talk_to("六面神石");
talk_to("六面神石",1);
talk_to("六面神石",22);
return 1;

}


//雪霜补体力魔力,间隔2秒                    
void drink_timer()
{
      if(me()["life"]<=GIVE_LIFE ||me()["mana"]<=GIVE_MANA)
                 {
                 if (get_thread_id ("dr") != INVALID_TID)
                 delete_thread("dr");
                 create_thread("dr","apply","万年雪霜");
                 }
       delete_timer("ti");
       set_timer(2,"ti","drink_timer");
                 
}

drink_timer();


//地图改名
void on_enter_zone ()
{

if (zone=="潘夜神殿一层")
{ zone="潘夜神殿1层"; }

  drink_timer();
}


//雪霜小于5回城
void on_applied_item(mapping ob)
{
if(get_item_amount("万年雪霜")<5)
back(5);
}

以上是你的原文
我想试问一下。可不可以这样写呢。


mapping npc;
#define GIVE_LIFE 1800         
#define GIVE_MANA 80
int on_prepare_for_quest()
{
void batch_buy("@药水+","万年雪霜",1000,1,2)
{
int n=me()["max_bag_size"]-me()["bag_size"]-100;
if(k>0)
    if ((n = get_item_amount(item) - atoi(num)) > 0)
    {
        sell(item, n, npc);
    }
    if ((n = atoi(num) - get_item_amount(item)) > 0)
    {
        talk_to(npc);
        talk_to(npc, "批量购买");
        //talk_to(npc, type);
        current_menu[var2]["action"]= (type);
        talk_to(npc,var1);
        talk_to(npc, item,(string)n);
    }
}

//10个回城卷,100个随机传送卷
int hn=10-get_item_amount("回城卷");
int sn=100-get_item_amount("随机传送卷");
close_to_npc("item", &npc);
talk_to(npc);
talk_to(npc,"@buy");
buy_item("回城卷",hn,&npc);
talk_to(npc);
talk_to(npc,"@buy");
buy_item("随机传送卷",sn,&npc);


//特修
run_close_to (398, 118, 3);
talk_to("系统服务员");
current_menu[2]["action"]= ("@特殊修理1");
talk_to("系统服务员",1);
talk_to("",1);
talk_to("",1);
return 1;
}
//跑去潘夜神殿1层
int on_go_to_pz (string rzone, int x, int y)
{
run_close_to(416,179,3);
talk_to("六面神石");
talk_to("六面神石",1);
talk_to("六面神石",22);
return 1;
}

//雪霜补体力魔力,间隔2秒                    
void drink_timer()
{
      if(me()["life"]<=GIVE_LIFE ||me()["mana"]<=GIVE_MANA)
                 {
                 if (get_thread_id ("dr") != INVALID_TID)
                 delete_thread("dr");
                 create_thread("dr","apply","万年雪霜");
                 }
       delete_timer("ti");
       set_timer(2,"ti","drink_timer");
                 
}
drink_timer();

//地图改名
void on_enter_zone ()
{
if (zone=="潘夜神殿一层")
{ zone="潘夜神殿1层"; }
  drink_timer();
}

//雪霜小于5回城
void on_applied_item(mapping ob)
{
if(get_item_amount("万年雪霜")<5)
back(5);
}





还有一个问题,就是当身上装备持久小于多少的时候使用背包物品 随身NPC的函数不知道该怎么写
能不能举例说明一下
比如
身上装备持久<5
使用随身NPC
选择特修装备
页: [1]
查看完整版本: 引用caihemm ACI请求帮助。