
ПоМоГиТе ПоЖ-Та С АлХиМиЕй
Moderators: Murderator+, Murderator
ПоМоГиТе ПоЖ-Та С АлХиМиЕй
извините, немогу найти подходящий скрипт на алхимию =(. Помогите пож-та: мне надо чтобы чар брал найтшейд, делал поизон, переливал его в кег, а когда в кег нельзя переливать, кидал кег в сундук и брал пустой(когда бутылки или найтшейд кончаются надо чтобы брал из сундука), кег-это бочка в которую можно слить 50 зелий... ПОМОГИТЕ ПОЖ-ТА 

Last edited by hol on 2006-05-29 11:19:19, edited 1 time in total.
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
Ну вопервых я не понял как это бутылки могут кончится, если в кег сливать... Насчёт подбора регов думай сам. Вот то что я написал, но: это скрипт для перл-длл (pinject)
ЗЫ: Под найт шейд настроишь сам



Code: Select all
###(c) Der###
# Скрипт для крафта бутылок в кег.
# Пустые кеги хранятся в некотором контейнере (внимание: в скрипте нет проверки на содержимае кега, поэтому
# необходимо чтобы содержимое кега совпадало тем что производите). В процессе производства бутылки должны
# падать именно в БекПак! Как только кег переполняется, скрипт откладывает его в другой контейнер. Скрипт
# выполняется до тех пор пока имеются незаполненные кеги либо кончится рег. В настройках необходимо прописать
# типы, названия менюшек и сообщения вашего шарда. Кол-во строк массива @alch не ограничено.
# Настройка производится переменной $i.
sub main_alc() {
$keg_type=0x1940; #Тип кега
$mortar=0x0E9B; #Тип мортиры
$mess1='You stop'; #Сообщение о результате алхимии (такое чтоб учитывало все варианты)
$mess2='is already full'; #Сообщение о том, что кег переполнен
#####################################################################################
#######[qw(Название бутылки в меню алхимии|Тип рега|Тип бутылки)], ##################
@alch=( ###### ######
[qw(Greater_Explosion 0x0F8C 0x0F0D) ], ###### $i=0 ######
[qw(Greater_Heal 0x0F85 0x0F0C) ], ###### $i=1 ######
); ##### и т.д. #####
#####################################################################################
# Тут установите продукт:
$i=1;
# Настройка закончена =)
####################################################################################
&wait(1000);
uo::print("Сегодня мы будем делать:");
for($j=0;$j<3;$j++) {uo::print($alch[$i][$j]);}
uo::canceltarget();
&wait(1000);
uo::print("Выберите контейнер с пустыми кегами...");
uo::addobject("kegcont");
&wait(500);
while(uo::targeting()) {&wait(250);}
uo::useobject(kegcont);
&wait(1000);
uo::print("Выберите контейнер для складирования наполненных кегов...");
uo::addobject("receive_cont");
&wait(500);
while(uo::targeting()) {&wait(250);}
uo::findtype($keg_type,-1,kegcont);
if(uo::findcount()){
do{
uo::findtype($keg_type,-1,kegcont);
$keg_cur=uo::getserial(finditem);
uo::grab(0,finditem);
uo::deletejournal();
until(uo::injournal($mess2)) {
uo::deletejournal();
uo::waitmenu('make',$alch[$i][0]);
uo::waittargettype($alch[$i][1]);
uo::usetype($mortar);
until(uo::injournal($mess1)) {&wait(250);}
uo::findtype($alch[$i][2],-1,-1);
if(uo::findcount()) {
$tmp=uo::findcount();
uo::waittargetobject(finditem);
uo::useobject($keg_cur);
while(uo::findcount()==$tmp && !uo::injournal($mess2)) {&wait(1000); uo::findtype($alch[$i][2],-1,-1);}
}
}
uo::canceltarget();
uo::moveitem($keg_cur,0,receive_cont);
&wait(1000);
}while(uo::findcount());
}
uo::print("Кеги кончились либо контейнер с кегами задан неверно...");
}
ЗЫ: Под найт шейд настроишь сам

Last edited by DerMeister =) on 2006-05-30 23:35:29, edited 1 time in total.
DerMeister сейчас на нейрале!
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38