打印

多级菜单 超级传送 批量购买

多级菜单 超级传送 批量购买

我做个清爽点的帖子供大家参考
这是原至顶帖子

关于得到npc的菜单的调试窗口信息,可以用

talk_to("NPC的名字");

如果得到多级菜单就参照下面的例子了.

如果还没有,就
talk_to("NPC的名字");
talk_to("NPC的名字","这里添加npc菜单的一个条目");

应该到多级菜单了吧,参照下面的例子吧

[ 本帖最后由 caihemm 于 2006-5-1 13:01 编辑 ]
本帖最近评分记录
             独在异乡为异客
         每逢佳节倍思亲

爱上你不是两三天

TOP

例子1

传奇3g,我想通过超级神石传送到地牢
地牢这个选项再超级神石的第2列
就用下面的aci

talk_to("超级神石");
current_menu[2]["action"]= ("@BichonMoveTodilao");
talk_to("",1);

[ 本帖最后由 caihemm 于 2006-5-28 15:39 编辑 ]
             独在异乡为异客
         每逢佳节倍思亲

爱上你不是两三天

TOP

例子2



批量购买的许中医的坐标为273,189
防御类这个选项在第1行,第2列

run_close_to (273,189,5);
talk_to("许中医");
current_menu[2]["action"]= ("@服装类+");//引号里的内容,是从@开始的内容,前面的就不要了
talk_to("",1);

[ 本帖最后由 caihemm 于 2006-5-1 12:34 编辑 ]
附件: 您所在的用户组无法下载或查看附件
             独在异乡为异客
         每逢佳节倍思亲

爱上你不是两三天

TOP

例子3------ void batch_buy(string type, string item, int num,int var1,int var2);

按照sas提供的,我修改了下,大家可以参照下

//void batch_buy(string type, string item, int num,int var1,int var2);  
//type  购买类型   item  物品名字   num   购买的数量  var1   购买类型在批量购买菜单的行数  var2   购买类型在批量购买菜单的列数
//例如:我要购买回城,属于杂货类,购买10个,杂货类在批量购买菜单的第1行,第2列
//则这样调用  batch_buy("@杂货类+","回城卷",10,1,2)

//批量购买菜单如下:
//------------------------------------------------
//1. 购买药水类   |   <购买杂货类/@杂货类+>   |   <购买首饰类/@首饰类+>  //| (@药水类+)
//|---------------|----------------|---------------|
//2. 购买武器类   |   <购买护具类/@护具类+>   |   <购买书籍类/@书籍类+>  //| (@武器类+)
// ------------------------------------------------


//代码从这里开始

mapping npc;

void batch_buy(string type, string item, int num,int var1,int var2);


void batch_buy(string type, string item, int num,int var1,int var2)
{
int n;

    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);
    }
}


//回城准备
int on_prepare_for_quest()
{

  if (! close_to_npc("item", &npc))
    {
        tell_user("TIP: 无法找到杂货店,采用缺省流程");
        return 0;
    }
//购买1个回城卷,10个随机传送卷
      batch_buy("@杂货类+","回城卷",1,1,2);
      batch_buy("@杂货类+", "随机传送卷",10,1,2);


  if (! close_to_npc("potion", &npc))
    {
       tell_user("TIP: 无法找到药店,采用缺省流程");
       return 0;
    }

//购买400个金创药(中),购买100个魔法药(中)

       batch_buy("@药水类+", "金创药(中)",400,1,1);
       batch_buy("@药水类+", "魔法药(中)",100,1,1);

return 1;
}


//当中蓝和中红小于5个的时候,回城
void on_applied_item(mapping ob)
{
if ((get_item_amount("魔法药(中)")<5)||(get_item_amount("金创药(中)")<5))
back(5);
}
             独在异乡为异客
         每逢佳节倍思亲

爱上你不是两三天

TOP

例子4

秋月烟花(地图改名,超级传送,特修,使用雪霜,雪霜小于5回城)
http://bbs.bbx8.com/viewthread.php?tid=66258&extra=page%3D1



天山传奇 批量购买 地图改名
http://bbs.bbx8.com/viewthread.php?tid=66788



神话3G批量购买
http://bbs.bbx8.com/viewthread.php?tid=66517&extra=page%3D1

[ 本帖最后由 caihemm 于 2006-6-1 23:48 编辑 ]
             独在异乡为异客
         每逢佳节倍思亲

爱上你不是两三天

TOP

例子5 随身买药和特修,按D键

附件: 您所在的用户组无法下载或查看附件
             独在异乡为异客
         每逢佳节倍思亲

爱上你不是两三天

TOP

调试信息:
NPC:     {FCOLOR/10}目录{FCOLOR/12}

这里是 龙聚天下 缘分の小胖子 个人信息专栏:
你目前的积分为: {FCOLOR/1}0{FCOLOR/12}


{FCOLOR/10}========『随身便利功能』========{FCOLOR/12}
┏━━━━━┳━━━━━┳━━━━━┳━━━━━┓
1. 随身仓库 ┃ <批量购买/@D键随身NPC> ┃ <随身特修/@D键随身特修> ┃ <时空之门/@D键时空之门> ┃ (@D键随身仓库)
┣━━━━━┻━━━━━┻━━━━━┻━━━━━┫
2. 随身制炼升级武器              ┃ (@D键随身武器制炼)
┗━━━━━━━━━━━━━━━━━━━━━━━┛
{FCOLOR/10}========『人物死亡功能』========{FCOLOR/12}
┏━━━━━┳━━━━━━━━━━━━┓
3. 复活回城 ┃ <原地复活/@原地复活>  需要积分10点 ┃ (@复活回城)
             独在异乡为异客
         每逢佳节倍思亲

爱上你不是两三天

TOP

//当红或者蓝小于5的时候,开始买药,衣服持久小于3000
//60秒检测一次
void buyd();

void buyd()
{

if ((get_item_amount("魔法药(中)")<5)||(get_item_amount("金创药(中)")<5))
{
say("@日志");
current_menu[2]["action"]= ("@D键随身NPC");
talk_to("NPC",1);
talk_to("NPC","我要使用");

//买蓝100个
current_menu[1]["action"]= ("@药水类+");
talk_to("NPC",1);
talk_to("NPC","魔法药(中)");
talk_to("NPC","@@药水数量","600");
talk_to("NPC","@进行药水购买");


//买中红100个,可以自己修改数量
talk_to("NPC",1);
current_menu[1]["action"]= ("@药水类+");
talk_to("NPC",1);
talk_to("NPC","金创药(中)");
talk_to("NPC","@@药水数量","100");
talk_to("NPC","@进行药水购买");

}

//当衣服持久小于3000的时候
if(me()["equip"][0]["durability"]<3000)
{
say("@日志");
current_menu[2]["action"]= ("@D键随身特修");
talk_to("",1);
talk_to("NPC","我要使用");
talk_to("NPC","修理");

}

       delete_timer("ti");
       set_timer(60,"ti","buyd");         
}

buyd();

void on_enter_world ()
{
buyd();
}
             独在异乡为异客
         每逢佳节倍思亲

爱上你不是两三天

TOP

sf用的吗

TOP

dddddddddd

TOP

如果有买第二排的第二列物品咋个办?

TOP

引用:
原帖由 caihemm 于 2006-5-1 12:30 发表
907908

批量购买的许中医的坐标为273,189
防御类这个选项在第1行,第2列

run_close_to (273,189,5);
talk_to("许中医");
current_menu= ("@服装类+");//引号里的内容,是从@开始的内容 ...
如果要购买第二行第二列物品咋个办的????

TOP

唉,阳光不在唆?

TOP

DDDDDDDDDDDDDDDDD

TOP

ddddddddddddddddddddddddd

TOP

当前时区 GMT+8, 现在时间是 2008-11-22 11:42
新ICP备05002317号
Powered by Discuz! 6.0.0 © 2001-2007 Comsenz Inc.
Processed in 0.124010 second(s), 8 queries, Gzip enabled
TOP
清除 Cookies - 联系我们 - 网络游戏代理 - Archiver - - WAP
Designed By Discuz! 百宝箱论坛