Авто рубка. (Оском) ПРавим ручками 2 строчки с сообщением и возможно ТИП топора
Code: sub lamber { while (true) { $x=uo::getx(); $y=uo::gety(); $z=uo::getz(); #$item="0x0F43";#topor $item="0x0F51";#nog #@tree=(3293, 3296, 3286, 3288, 3290, 3299); @tree=(0x0c95,0x0c96,0x0cca,0x0ccb,0x0ccc,0x0ccd,0x0cd0,0x0cd3,0x0cd6,0x0cd8,0x0cd9,0x0cda,0x0cdb,0x0cdc,0x0cdd,0x0cde,0x0cdf,0x0ce0,0x0ce3,0x0ce6,0x0cf8,0x0cfb,0x0cfe,0x0d01,0x0d41,0x0d42,0x0d43,0x0d44,0x0d57,0x0d58,0x0d59,0x0d5a,0x0d5b,0x0d6e,0x0d6f,0x0d70,0x0d71,0x0d72,0x0d84,0x0d85,0x0d86); for($i=$x;$i<=$x+20;$i++){ for($j=$y-20;$j<=$y+20;$j++){ for ($m=0;$m<41;$m++){ #foreach (@tree) { if (uo::privategettile($i, $j, 0, $tree[$m], $tree[$m])>0){ uo::deletejournal(); if (&pathfind($i-uo::getx(),$j-uo::gety())!=0){ $checktime=uo::time(); $xnow=uo::getx(); $ynow=uo::gety(); $check1=0; while (((abs(uo::getx()-$i)>1) || (abs(uo::gety()-$j)>1)) && ($check1<2)){ if (($checktime+1)<uo::time()){ $checktime=uo::time(); if (($xnow==uo::getx()) && ($ynow==uo::gety())){ &pathfind($i-uo::getx(),$j-uo::gety()); $check1++; } $xnow=uo::getx(); $ynow=uo::gety(); } &wait(100); } uo::deletejournal(); while ((uo::injournal("There is nothing|You can\'t|You stop|You cant|There is no wood")==0)&& ($check1<1)){ uo::waittargettile($tree[$m], $i, $j, $z); uo::deletejournal(); uo::usetype($item); while (uo::injournal("not enough|You put|Подолбив|There is nothing|You can\'t|You stop|You cant|There is no wood")==0){ &wait(100); } } } } } } } } }
Какято древяя система антимакроса на оскоме
Code: sub decode{ my($pos, $line, $sx, $sy, $code, $currx, $curry, $sum); $line=5; @num=(6, 35, 45, -24, 34, -5, 26, 4, -6); while (length($code)<4){ @words=split(/ /, uo::lastgump("command",$line), 4); #uo::print(@words); &wait(100); if ($pos>=17){ if ($pos==17){ $sum=($currx-$sx)*10+($curry-$sy); for($i=0; $i<9; $i++){ if ($numsum==$num[$i]){ $code.=$i+1; last; } } } if ($words[1]-$currx>5){ $pos=0; } } if (!$pos){ $sx=$words[1]; $sy=$words[2]; $pos=15; $line+=15; } $currx=$words[1]; $curry=$words[2]; $pos++; $line++; } uo::msg($code); return $code; }
sub AAmacro{ while (uo::dead()==0){ if (uo::lastgump('text',0) == 'enter anti macro code:' and uo::lastgump('replyed') == 0) { uo::lclick(uo::lastgump('x')+75, uo::lastgump('y')+69); &wait(300); uo::say(&decode()); &wait(300); uo::lclick(uo::lastgump('x')+77, uo::lastgump('y')+108); } &wait(1000); } }
sub saydecode{ uo::msg(&decode()); }
Ловля РЫБЫ
Code: sub fishing{
my($mx, $my, $mz, $i, $j);
$mx = uo::getx('self');
$my = uo::gety('self');
$mz = uo::getz('self');
uo::deletejournal() ; while (1) {
for $i(-6..6){
for $j(-6..6){
# while (!uo::hidden()){
# uo::warmode("0");
# uo::print("hiding...");
# uo::useskill("Hiding");
# &wait(4000);
# }
uo::print("Now Fishing In: $i $j");
while (!uo::injournal('no fish here') && !uo::injournal('far away') && !uo::injournal('in water') && !uo::injournal('Try fishing') && !uo::injournal('You stop fishing')){
uo::deletejournal();
uo::waittargettile('1341',$mx+$i, $my+$j,$mz);
uo::usetype("0x0DBF");
while (!uo::injournal('You pull') && !uo::injournal('location') && !uo::injournal('no fish') && !uo::injournal('You fail') && !uo::injournal('far away') && !uo::injournal('in water') && !uo::injournal('Try fishing') && !uo::injournal('You put')&& !uo::injournal('You stop fishing')){
&wait (100);
if (uo::injournal('You pull')) {
uo::findtype('0x09CC','0x0000','ground');
uo::grab ('3','finditem');
&wait (200);
uo::findtype('0x09CD','0x0000','ground');
uo::grab ('3','finditem');
&wait (200);
uo::findtype('0x09CE','0x0000','ground');
uo::grab ('3','finditem');
&wait (200);
uo::findtype('0x09CF','0x0000','ground');
uo::grab ('3','finditem');
&wait (200);
uo::findtype('0x0E2D','0x07A0','ground');
uo::grab ('1','finditem');
}
}
}
uo::deletejournal();
}
} }
}
ПРодажа рыбы
Code: sub sellfish{ @fish=(0x09CE,0x09CC,0x09CD,0x09CF); foreach(@fish){ uo::findtype($_,0); if (uo::findcount()) { uo::waittargettype($_); uo::msg("sell"); uo::recall('0x00000001','1'); } &wait(500); } }
ЕЩе какая то рубка и копка
Code: sub mining { while (true) { $x=&uo("getx"); $y=&uo("gety"); $z=&uo("getz"); @tree=(1339,1341,1342,1348,1349,1350,1351,1352,1353,1354,1355,1357,1358,1359,1363,1386,2272,2273,2275,2276,2277,2278,2279,2281,2282); for($i=$x-10;$i<=$x+10;$i++){ for($j=$y-10;$j<=$y+10;$j++){ for ($m=0;$m<25;$m++){ if (&uo("privategettile", $i, $j, 0, $tree[$m], $tree[$m])>0){ &uo("deletejournal"); if (&pathfind($i, $j)!=0){ $checktime=&uo("time"); $xnow=&uo("getx"); $ynow=&uo("gety"); $check1=0; while (((abs(&uo("getx")-$i)>1) || (abs(&uo("gety")-$j)>2)) && ($check1<2)){ if (($checktime+1)<&uo("time")){ $checktime=&uo("time"); if (($xnow==&uo("getx")) && ($ynow==&uo("gety"))){ &pathfind($i, $j); $check1++; } $xnow=&uo("getx"); $ynow=&uo("gety"); } &wait(100); } &uo("deletejournal"); while ((&uo("injournal", "You have no line|There is nothing|Can\'t|Try miming|You can\'t use")==0) && ($check1<1)){ &uo("findtype","0x19B9",0); &uo("Drop",0,0,0,0,"finditem"); &uo("waittargettile", $tree[$m], $i, $j, $z); &uo("deletejournal"); &uo("usetype", "0x0E85"); while (&uo("injournal", "You have no line|You put|There is nothing|There are no|You loosen|Can\'t|Try miming|You can\'t use")==0){ &wait(100); } } } } } } } } }
Code: sub lamber2 { while (true) { $x=&uo("getx"); $y=&uo("gety"); $z=&uo("getz"); @tree=(0x0c95,0x0c96,0x0cca,0x0ccb,0x0ccc,0x0ccd,0x0cd0,0x0cd3,0x0cd6,0x0cd8,0x0cd9,0x0cda,0x0cdb,0x0cdc,0x0cdd,0x0cde,0x0cdf,0x0ce0,0x0ce3,0x0ce6,0x0cf8,0x0cfb,0x0cfe,0x0d01,0x0d41,0x0d42,0x0d43,0x0d44,0x0d57,0x0d58,0x0d59,0x0d5a,0x0d5b,0x0d6e,0x0d6f,0x0d70,0x0d71,0x0d72,0x0d84,0x0d85,0x0d86); for($i=0;$i<=20;$i++){ for($j=0;$j<=20;$j++){ $tx=$x+$j; $ty=$y+$i; for ($m=0;$m<41;$m++){ if (&uo("privategettile", $tx, $ty, 0, $tree[$m], $tree[$m])>0){ &uo("deletejournal"); if (&pathfind($tx, $ty)!=0){ $checktime=&uo("time"); $xnow=&uo("getx"); $ynow=&uo("gety"); $check1=0; while (((abs(&uo("getx")-$tx)>1) || (abs(&uo("gety")-$ty)>1)) && ($check1<2)){ if (($checktime+1)<&uo("time")){ $checktime=&uo("time"); if (($xnow==&uo("getx")) && ($ynow==&uo("gety"))){ &pathfind($tx, $ty); $check1++; } $xnow=&uo("getx"); $ynow=&uo("gety"); } &wait(100); } &uo("deletejournal"); while ((&uo("injournal", "There are no|You can\'t")==0)&& ($check1<1)){ &uo("waittargettile", $tree[$m], $tx, $ty, $z); &uo("deletejournal"); &uo("usetype", "0x0F47"); while (&uo("injournal", "not enough|You put|Подолбив|There are no|You can\'t")==0){ &wait(100); } } } } } } } } }
Чеклаг
Code: sub del($msg){ while (uo::injournal(@_)) { uo::setjournalline(uo::injournal(@_)-1,''); } }
sub checklag{ &del("backpack"); uo::click("backpack"); while (!uo::injournal("backpack")){ &wait(30); } }
ОЛДП БЕГГИНГ
Code: #################################### # Begging For Oldp.net Shard v1.0 # #################################### # // AdmiR™ © // # ################## # # Настройки: # ## $runebook - ID Рунбуки . ## $ven1 .. $ven16 - 16 точек рекола по рунбуке ,ID вендоров на каждой точке вписывать через пробел . ## $num_bank = 1 - Номер руны где стоит банкир ( нумерация рун с 1 по 16 ) . ## $num_mag = 2 - номер руны где стоит маг с регами . ### Примечание : Если вы не хотите закупать реги , либо складывать деньги в банк , обнулите соответствующие переменные. ## $box_in_bank - ID Сумочки в банке куда деньги складывать . ## ## Запустить скрипт : exec begging
sub begging{
$runebook=("0x40043E83");# ID Рун буки $ven1="0x00119472"; $ven2="0x0011CFE0"; $ven3="0x0011ADC0"; $ven4="0x001190E6"; $ven5="0x0010E533"; $ven6="0x0011738B 0x00118C0E"; $ven7="0x00112F0B"; $ven8="0x001149A6 0x0011741B"; $ven9="0x0011A2BC"; $ven10="0x0010F09C"; $ven11="0x001152B3"; $ven12="0x0011C9F9"; $ven13="0x001112E0 0x00117663"; $ven14="0x0011AEDE"; $ven15="0x00118A05"; $ven16="0x0011D1EA 0x0011A8C4"; $num_bank=1; $num_mag=2; $box_in_bank="0x40028F62";
@vendor=($ven1,$ven2,$ven3,$ven4,$ven5,$ven6,$ven7,,,,$ven8,$ven9,$ven10,$ven11,$ven12,$ven13,$ven14,$ven15,$ven16);
while (uo::dead()==0) { for($i=0;$i<=15;$i++){ uo::useskill('Meditation'); &Recall($runebook,$i); @words=split(/ /,$vendor[$i]); foreach (@words) { uo::deletejournal(); while ((uo::injournal("You put the gold|You receive")==0) && ((uo::journalserial(uo::injournal("Oh, I have no money now")-1)) ne $_ )) { @coord=findid($_); if ((abs($dx=$coord[0]-uo::getx()) > 2) || (abs($dy=$coord[1]-uo::gety()) > 2)) {
&pathfind($dx,$dy); #smartmove($coord[0],$coord[1],$coord[2],2); } uo::waittargetobject($_); uo::useskill('Begging'); &wait(2000); if ($i == $num_mag-1) { if (uo::count("0x0F7A") < 400){ uo::buy("bp"); uo::say("bye"); &wait(200); } if (uo::count("0x0F7B") < 400){ uo::buy("bm"); uo::say("bye"); &wait(200); } if (uo::count("0x0F86") < 400){ uo::buy("mr"); uo::say("bye"); &wait(200); } } } } if ($i == $num_bank-1) { uo::deletejournal(); while (($bank eq '0xFFFFFFFF') || ($bank eq '0x00000000') ) { uo::msg('bank'); &wait(100); $bank = uo::getserial(uo::containerof($box_in_bank)); uo::print($bank); } while (uo::count(0x0EED)){ uo::moveitem('_0x0EED',0,$box_in_bank); if (uo::injournal('You put the')) { uo::msg('bank'); uo::deletejournal(); } &wait(100); } } } &wait(100); } }
sub Recall($$){
@gumpreturn=(0x0014,0x0016,0x0018,0x001A,0x001C,0x001E,0x0020,0x0022,0x0024,0x0026,0x0028,0x002A,0x002C,0x002E,0x0030,0x0032); uo::recall($_[0],$gumpreturn[$_[1]]); &wait(10000); uo::deletejournal();
}
######################################################################### # Function Name : findid($) # # This function find the item on ground and return its coord (x,y,z) # # Parameters: Id of Any item # # Return - Massive(x,y,z) ; if not found ,return 0 # # Example : @coord=findid("0x00012332"); # # // AdmiR™ © // # #########################################################################
sub findid($){ my($i,$j,@a); for ($i=uo::getx()-20;$i<=uo::getx()+20;$i++){ for ($j=uo::gety()-20;$j<=uo::gety()+20;$j++){ @a=findidtile($i,$j,$_[0]); if ($a[0]>0){ return $i,$j,$a[2]; } } } return 0; }
sub findidtile($$$){ my($a); foreach $a (@{tile($_[0], $_[1])}){ if (${$a}[1] == hex($_[2])) {
return @{$a}; } } return 0; } #########################################################################
sub smartmove($$$$){
my($myx, $myy, $i, $div, @a); $myx=uo::getx(); $myy=uo::gety(); @a=@{trace($myx, $myy, uo::getz(), $_[0], $_[1], $_[2], 500, $_[3])}; for ($i=scalar(@a)-1; $i>=0; $i--){ $myx-=@a[$i]->[0]; $myy-=@a[$i]->[1]; $div=abs($myx)+abs($myy); if ($div){ uo::addstep(((5+4*$myy)*abs($myy)+(5+2*$myx)*abs($myx))/($div)); } while ((uo::getx()!=@a[$i]->[0]) or (uo::gety()!=@a[$i]->[1])){ &wait(100); } $myx=uo::getx(); $myy=uo::gety(); } uo::print(scalar(@a)); return scalar(@a); }
|