Arsip untuk Maret, 2011

Openkore Kill Steal – Optimisasi Lanjutan


Ternyata tulisan tentang cara setting bot openkore Kill Steal sangat di minati oleh para googler..sungguh suatu hal yang luar biasa.

Ironisnya, para developer openkore sengaja menambahkan fungsi no kill steal agar para pemain RO manual bisa lebih nyaman ‘berburu’ berdampingan dengan para botter.

Padahal masi banyak hal yang bisa di lakukan selain menghilangkan fungsi no kill steal di openkore. Kerennya, Banyak jalan menuju optimisasi..hehe

Berikut 2 cara yang mungkin bisa anda pakai :

Temukan artikel ini di blog kami yang baru:

Openkore Kill Steal – Optimisasi Lanjutan

Iklan

Reset Router Mikrotik RB450 & RB750 – Net Install


Kadangkala prosedur reset router mikrotik / Router Board diperlukan bila :

1. lupa password login.

2. hardware error / bad harddisk sector.

3. kesalahan prosedur upgrade/downgrade yang menyebabkan router Operating System menjadi error.

Petunjuk yang kita dapat tentang cara reset RB di situs resmi mikrotik seringkali membingungkan dan kurang mendetail. Cara yang saya dapatkan dari internet antara lain :

1. reset menggunakan tombol reset

2. reset menggunakan short jumper / secara hardware

3. reset menggunakan netinstall

Detail untuk tiap prosedur antara lain :

Cara 1 & cara 2 secara prinsip sama, namun cara 1 menggunakan tombol, sedangkan cara 2 menggunakan short jumper pada hardware.

cara 2 biasanya merusak segel garansi.. dan saya secara pribadi tidak merekomendasikannya

secara detail bisa anda lihat di dalam blog berikut :

Artikel ini telah saya pindahkan ke blog baru :

Reset Router Mikrotik RB450 & RB750 – Net Install

Mikrotik untuk 2 Line Speedy – pendekatan yang berbeda


Mikrotik dengan 2 line speedy seringkali membingungkan..karena ada banyak pilihan yang bisa kita implementasikan. Namun  set yang disesuaikan dengan kondisi warnet dan perlakuan user terhadap internet itu sendiri mungkin harus jadi pertimbangan utama…

Saya terbiasa membagi 2 line speedy tersebut menjadi :

1 Line Speedy untuk Game Online (1 Mbps Lebih dari cukup untuk melayani s/d 20 User)

1 Line Speedy Browsing Web (2 Mbps Cukup untuk melayani s/d 20 user)

Alasannya klasik..koneksi game biasanya kecil namun konstan,, sedangkan koneksi web kebanyakan besar dan variatif dan jumlah jalur koneksi (port) yang dipakai jauh lebih banyak dibandingkan game.Bila Dua2nya di gabung == game lag,, bila dua2nya dipisahkan==everybody happy ^^.

kebanyakan setting yang saya pakai merupakan hasil modifikasi dari manual mikrotik..

[ebo@TJ-NET] /interface> print
Flags: D – dynamic, X – disabled, R – running, S – slave
#     NAME                                        TYPE             MTU   L2MTU
0     eth1                                            ether            1500  1526
1  R  eth4-WEB                                ether            1500  1522
2  R  eth2.LAN                                ether            1500  1522
3  R  eth3-GAME                            ether            1500  1522
4     ether-5                                       ether            1500  1522

Setting Interface :

eth3 == Speedy 1 untuk GAME

eth4 == Speedy 2 untuk WEB BROWSING

eth2 == Lokal LAN

[ebo@TJ-NET] /ip firewall nat> pr

Flags: X – disabled, I – invalid, D – dynamic

0   chain=srcnat action=masquerade src-address=192.168.0.0/16

Gak ada Masquerede, gak da yang bisa konek internet hehe,, tapi saya tidak memasang out-interface=public, karena seringkali bertabrakan dengan mangle yang saya buat,,dan tidak semua mangle tercover di queue nya…

[ebo@TJ-NET] /ip firewall mangle> pr

Flags: X – disabled, I – invalid, D – dynamic

0   ;;; UP (Facebook/GAME)

chain=prerouting action=mark-packet new-packet-mark=up-game

passthrough=no src-address=192.168.0.0/16 dst-address-list=GAME

in-interface=eth2.LAN

1   ;;; UP-PAKET

chain=prerouting action=mark-packet new-packet-mark=up-web

passthrough=no src-address=192.168.0.0/16 dst-address-list=!GAME

in-interface=eth2.LAN packet-mark=!up-game

2   ;;; DOWN-CONN/M (GAME)

chain=forward action=mark-connection new-connection-mark=Down-Game-Conn

passthrough=yes src-address=192.168.0.0/16 dst-address-list=GAME

3   ;;; Direct-Down (GAME)

chain=forward action=mark-packet new-packet-mark=down-game

passthrough=no connection-mark=Down-Game-Conn

4   ;;; DOWN-CONN/M

chain=forward action=mark-connection new-connection-mark=Down-Conn

passthrough=yes src-address=192.168.0.0/16 dst-address-list=!GAME

packet-mark=!down-game connection-mark=!Down-Game-Conn

5   ;;; Direct-Down

chain=forward action=mark-packet new-packet-mark=down-web

passthrough=no connection-mark=Down-Conn

Mangle nya terbagi 2 dan 2,, 2 Up untuk 2 address list/tujuan yang berbeda,, dan 2 Down untuk 2 address list/tujuan yang berbeda juga.

Pada address-list kita masukkan daftar ip game yang nantinya akan kita routing ke modem 1 game.

[ebo@TJ-NET] /ip firewall address-list> pr

Flags: X – disabled, D – dynamic

#   LIST                                                                            ADDRESS

0   ;;; RAGANAROK

GAME                                                                        202.43.0.0/16

1   ;;; POINT BLANK

GAME                                                                        203.89.0.0/16

2   ;;; RF

GAME                                                                        202.93.0.0/16

3   ;;; AYODANCE

GAME                                                                        122.102.0.0/16

4   GAME                                                                    74.114.0.0/16

5   GAME                                                                    74.201.0.0/16

6   GAME                                                                 203.130.209.242

7   GAME                                                                        8.8.8.8

Sebagian IP DNS juga saya masukkan ke address-list untuk Game,, ini buat jaga2 seandainya modem WEB mati maka request DNS bisa di alihkan ke Modem Game.

Pada Queue saya gunakan sistem tree dengan type pcq :

[ebo@TJ-NET] /queue tree> pr
Flags: X – disabled, I – invalid
0   name=”Web-Down” parent=eth2.LAN packet-mark=down-web limit-at=64k
queue=pcq-down priority=8 max-limit=1800k burst-limit=0
burst-threshold=0 burst-time=0s

1   name=”Web-Up” parent=global-in packet-mark=up-web limit-at=8k queue=pcq-up
priority=8 max-limit=512k burst-limit=0 burst-threshold=0 burst-time=0s

2   name=”Game-Down” parent=eth2.LAN packet-mark=down-game limit-at=64k
queue=game-down-pcq priority=8 max-limit=900k burst-limit=0
burst-threshold=0 burst-time=0s

3   name=”Game-Up” parent=global-in packet-mark=up-game limit-at=8k
queue=game-up-pcq priority=8 max-limit=256k burst-limit=0
burst-threshold=0 burst-time=0s

Untuk memberikan boosting buat paket2 game, saya berikan priority 1, max limit sengaja saya turunkan dari jatah speedy karena koneksi real tentu saja tidak pernah 100% mencapai jatah yang diberikan oleh speedy.

[ebo@TJ-NET] /queue type> print
0 name=”default” kind=pfifo pfifo-limit=100

5 name=”pcq-up” kind=pcq pcq-rate=0 pcq-limit=50 pcq-classifier=src-address
pcq-total-limit=2000

6 name=”game-up-pcq” kind=pcq pcq-rate=0 pcq-limit=50
pcq-classifier=src-address pcq-total-limit=2000

7 name=”game-down-pcq” kind=pcq pcq-rate=0 pcq-limit=50
pcq-classifier=dst-address pcq-total-limit=2000

8 name=”pcq-down” kind=pcq pcq-rate=0 pcq-limit=50 pcq-classifier=dst-address
pcq-total-limit=2000

9 name=”eth1″ kind=pfifo pfifo-limit=200

10 name=”eth2″ kind=pfifo pfifo-limit=200

11 name=”eth3″ kind=pfifo pfifo-limit=200

12 name=”eth4″ kind=pfifo pfifo-limit=200

13 name=”eth5″ kind=pfifo pfifo-limit=200

queue type default tidak saya pakai dan sengaja saya hapus dari postingan,, queue type dengan nama ethx (1-5) saya set untuk interface queue dan terlihat seperti ini :

[ebo@TJ-NET] /queue interface> print
Flags: D – dynamic
#   INTERFACE                               QUEUE
0   eth1                                                  eth1
1   eth4-WEB                                       eth4
2   eth2.LAN                                       eth2
3   eth3-GAME                                   eth3
4   ether-5                                            eth5

Sekarang kita set routingnya.. biar bisa terpisah antara game dengan web. kita berikan default route untuk ip2 tertentu dengan menggunakan distance sebagai pemisah jalur. Menurut saia lebih mudah dibanding menggunakan pemisah berdasarkan routing mark yang kadang2 malah gak jalan sama sekali (salah set ??).

[ebo@TJ-NET] /ip route> print
Flags: X – disabled, A – active, D – dynamic, C – connect, S – static, r – rip, b – bgp, o – ospf, m – mme,
B – blackhole, U – unreachable, P – prohibit
#      DST-ADDRESS                       PREF-SRC        GATEWAY-STATE GATEWAY               DISTANCE INTERFACE
0 A S  0.0.0.0/0                            reachable             192.168.254.1                                                          10       eth4-WEB
1 A S  ;;; Poker
74.114.0.0/16                                reachable             192.168.253.1                                                             1        eth3-GAME
2 A S  ;;; Poker
74.201.0.0/16                               reachable              192.168.253.1                                                             1        eth3-GAME
3 A S  ;;; Ayodance
122.102.0.0/16                              reachable              192.168.253.1                                                            1        eth3-GAME
4 ADC  192.168.0.0/24                                                  192.168.0.1                                                                0        eth2.LAN
22 ADC  192.168.253.0/24                                          192.168.253.2                                                           0        eth3-GAME
23 ADC  192.168.254.0/24                                          192.168.254.2                                                           0        eth4-WEB
24 A S  ;;; Ragnarok
202.43.0.0/16                                reachable              192.168.253.1                                                            1        eth3-GAME
25 A S  ;;; RF/LYTO
202.93.0.0/16                                reachable              192.168.253.1                                                            1        eth3-GAME
26 A S  ;;; Point Blank
203.89.0.0/16                                reachable               192.168.253.1                                                           2        eth3-GAME
27 A S  ;;; Point Blank Update

203.89.146.99/32                         reachable               192.168.254.1                                                            1        eth4-WEB
28 A S  ;;; DNS
203.130.196.5/32                        reachable                 192.168.253.1                                                           1        eth3-GAME

Demikian Set Mikrotik menggunakan 2 line speedy mengunakan system pcq-queue dan pemisah antara jalur koneksi web dan game menggunakan route distance.

ebo

Installasi Ubuntu di FlashDisk.


Installasi Ubuntu di Flashdisk berkesan simple namun ada beberapa hal yang mungkin harus diperhatikan.

langkah demi langkah :

Masukkan cd instalasi Ubuntu (dapatkan yang terbaru di sini) ke dalam rom drive nya…Atau bila tidak memiliki CD/DVD ROM  .iso image nya bisa anda mounting ke virtual dvd rom menggunakan software mis. UltraISO.

Selesai Melakukan Mounting/Insert CD kita bisa lihat Ubuntu menyediakan aplikasi untuk installasi Ubuntu di Flashdisk yaitu usb-creator.exe sehingga nantinya Flashdisk kita bisa digunakan untuk booting Ubuntu / Bootable , Ubuntu juga menyediakan wubi.exe untuk melakukan instalasi Ubuntu under Windows yang bisa di Uninstall seperti layaknya aplikasi biasa.

Pilihan sumber instalasi bisa berupa CD ataupun ISO Image. tergantung mana yang kita gunakan.

Removable disk to use adalah flashdisk yang akan kita install Ubuntu (mohon di colok dulu sebelum menjalankan aplikasi usb-creator.exe).. Sediakan Spasi Kosong minimal 800MB untuk proses instalasi ini.

Kitapun dapat menyediakan spasi khusus di flashdisk untuk penyimpanan data & setting yang besarnya bisa ditentukan dengan menggeser sliderbar.

1 hal yang perlu diingat adalah kita harus melakukan “klik” pada tulisan D: (di source) dan pada tulisan F: (di Removable tujuan).. Hal ini diperlukan agar tombol “Make Startup Disk” bisa di klik

Tunggu Proses Instalasi Berjalan..

Yap..Installasi selesai…Tinggal lakukan booting komputer menggunakan flashdisk (setting bios) ^^

ebo

RADIUS SERVER


Minggu2 yang berat..telkom speedy area kalsel keqnya udah overload..terlalu banyak pelanggan di cover dengan kondisi infrastruktur yang kurang memadai..

Alhasil..handphone ini berdering2 hampir tanpa henti..yang intinya minta konfirmasi soal gangguan..yaaa saya hanya bisa mengkonfirmasi.. klo urusan perbaikan silahkan anda telp CS 147 yang nada bicaranya juga sudah terbebani secara psikologis sama seperti saya..hehe..

SMS yang saya dapat dari seorang teman berisi info sebagai berikut:

kalsel > DSLAM KALSEL ALL > Gangguan, Info IBOC posisi gangguan di RADIUS, demikian info.

Apa sih RADIUS ?? terus apa hubungannya dengan speedy ??

Menurut http://id.wikipedia.org/wiki/Speedy, Untuk melakukan koneksi internet, modem ADSL melakukan 2 tahap koneksi:

  1. Koneksi ADSL dari modem ke DSLAM di STO terdekat
  2. Koneksi Internet melalui BRAS (Broadband Remote Access Server), dengan terlebih dahulu melalui proses otentikasi di RADIUS (Remote Authentication Dial In User Server) untuk memverifikasi username dan password pelanggan

Biasanya pada modem ADSL, kedua tahap koneksi tersebut dapat terlihat dari lampu led yang berlabelkan “ADSL” dan “Internet”.

RADIUS (Remote Authentication Dial-In User Service) adalah sebuah protokol keamanan komputer yang digunakan untuk melakukan autentikasi, otorisasi, dan pendaftaran akun pengguna secara terpusat untuk mengakses jaringan

RADIUS, kini telah diimplementasikan untuk melakukan autentikasi terhadap akses jaringan secara jarak jauh dengan menggunakan koneksi selain dial-up, seperti halnya Virtual Private Networking (VPN), access point nirkabel, switch Ethernet, dan perangkat lainnya.

Radius banyak dipakai oleh Provider dan ISP internet untuk authentikasi dan billingnya. Radius juga bisa dipakai oleh jaringan RT/RW-Net untuk authentikasi para penggunanya dan untuk mengamankan jaringan RT/RW-Net yang ada

Radius server biasanya di implementasikan pada OS Linux atau Windows NT, Free Radius salah satu yang populer untuk OS linux..

Mungkin nanti kita akan coba2 belajar implement free radius di Linux …until then…

cheers

ebo

Pepatah-pepatah konyol…..


Berikut pepatah2 dn kata2 mutiara yg dipelesetkan,namun jg konyol…
Disimak aja…..

1.bersatu kita teguh, bertiga kita Charlie’s Angles
2.Sepandai-pandainya tupai melompat pasti di sate juga
3.Bagai air di daun talas, kurang kerjaan banget ngamatin air di dedaunan
4.Ada gula ada semut. Ada semut disemprot pake Baygon. Ada banyak semut mati
5.Rajin Mangkal, Kaya
6.Air tenang jangan disangka tak ada buaya, tapi ada ikan paus lagi tidur siang
7.Bersatu kita teguh, bercerai kita ke Take Me Out
8.Rajin pangkal pandai, hemat pangkal kaya, yg enak2 pangkal paha, rame2 pangkal-an ojek
9.Ada ubi, ada talas. Ada budi, ada anduk
10.uang cucuran masyarakat jatuhnya ke DPR juga
11.Semut diseberang lautan keliatan,gajah dipelupuk mata kelilipan
12.cinta di tolak, dukun beranak
13.Jauh di mata, dekat di hati, boros di pulsa.
14.sedikit demi sedikit lama lama BOSAN
15.Bagai kejatuhan durian runtuh, baru kali ini ada orang kejatohan durian seneng
16.Air susu dibalas dengan air kopi item, jadi kopi susu deh
17.bersatu kita teguh,bercerai kita masuk infotainment (moto selebritis)
18.Berat sama dipikul, ringan sama dijinjing, sama-sama berat mending dipaketin aja gan
19.Air susu dibalas air supply
20.sambil menyelam minumnya tetap teh botol Sosro
21.sate padang sebelum hujan
22.buruk rupa, cermin pun disalahkan
23.Ringan sama dipikul, berat minta bawain
24.Single itu prinsip, jomblo itu nasib
25.Wong ompong nyaring bunyinya
26.Ke bukit sama mendaki, ke lurah bikin KTP
27.Nasir sudah menjadi tukang bubur
28.Dimana ada jalan,disitu banyak mobil
29.bagai kacang lupa atomnya
30.Bagai buah Simalakama, tidak dimakan Ibu mati, dimakan Bapak kimpoi lagi
31.Setinggi-tingginya Bangau terbang, akhirnya jadi kecap juga
32.Buruk muka gak masuk majalah
33.ada uang ada barang, ga ada uang rampok bank
34.Jauh di angkot, dekat naik ojek
35.Air beriak tanda ada yang tenggelam
36.Lebih baik berputih tulang dari pada putih badan karena panuan.
37.Besar Pasal daripada Tilang
38.Tua-tua keladi, udah tua jadi biang keladi
39.Jangan ada janda diantara kita
40.Air beriak tanda ada yang boker
41.tak kenal maka tak sayang, mau kenalan digampar pacar
42.Ada udang dibalik tepung kent*cky
43.Bagai telur dipangkal tanduk
44.Bagaikan Jemuran tertiup angin
45.Malu bertanya, sesat di jalan. Banyak bertanya, dikira wartawan.
46.Anj*ng menggonggong, maling kulkas berlalu.
47.Habis kumis, cukur dibuang.
48. Malu berak, sesak di jalan.
49. Surga anak ada di telapak kaki Ibu, Surga bapak ada di antara kaki Ibu.
50. Sekali melambai, dua tiga banci mengikuti.

Pusing gag ?
wakakakak….
ane aja nyobain jg pusing….
Smoga ga salah kmr…..
Commentnya donk….

copas forum – created by PrinceOfLove

Bot Openkore Mungut Sampah/Drop Item Tanpa Basa Basi !!!


Sama seperti judulnya, tanpa basa basi.. buka file CoreLogic.pm, cari baris:

##### ITEMS AUTO-GATHER #####
sub processItemsAutoGather {
	if ( (AI::isIdle || AI::action eq "follow"
		|| ( AI::is("route", "mapRoute") && (!AI::args->{ID} || $config{'itemsGatherAuto'} >= 2)  && !$config{itemsTakeAuto_new}))
	  && $config{'itemsGatherAuto'}
	  && !$ai_v{sitAuto_forcedBySitCommand}
	  && ($config{'itemsGatherAuto'} >= 2 || !ai_getAggressives())
	  && percent_weight($char) < $config{'itemsMaxWeight'}
	  && timeOut($timeout{ai_items_gather_auto}) ) {

		foreach my $item (@itemsID) {
			next if ($item eq ""
				|| !timeOut($items{$item}{appear_time}, $timeout{ai_items_gather_start}{timeout})
				|| $items{$item}{take_failed} >= 1
				|| pickupitems(lc($items{$item}{name})) eq "0"
				|| pickupitems(lc($items{$item}{name})) == -1 );
			if (!positionNearPlayer($items{$item}{pos}, 12) &&
			    !positionNearPortal($items{$item}{pos}, 10)) {
				message TF("Gathering: %s (%s)n", $items{$item}{name}, $items{$item}{binID});
				gather($item);
				last;
			}
		}
		$timeout{ai_items_gather_auto}{time} = time;
	}
}

##### ITEMS GATHER #####
sub processItemsGather {
	if (AI::action eq "items_gather" && AI::args->{suspended}) {
		AI::args->{ai_items_gather_giveup}{time} += time - AI::args->{suspended};
		delete AI::args->{suspended};
	}
	if (AI::action eq "items_gather" && !($items{AI::args->{ID}} && %{$items{AI::args->{ID}}})) {
		my $ID = AI::args->{ID};
		message TF("Failed to gather %s (%s) : Lost targetn", $items_old{$ID}{name}, $items_old{$ID}{binID}), "drop";
		AI::dequeue;

	} elsif (AI::action eq "items_gather") {
		my $ID = AI::args->{ID};
		my ($dist, $myPos);

		if (positionNearPlayer($items{$ID}{pos}, 12)) {
			message TF("Failed to gather %s (%s) : No looting!n", $items{$ID}{name}, $items{$ID}{binID}), undef, 1;
			AI::dequeue;

		} elsif (timeOut(AI::args->{ai_items_gather_giveup})) {
			message TF("Failed to gather %s (%s) : Timeoutn", $items{$ID}{name}, $items{$ID}{binID}), undef, 1;
			$items{$ID}{take_failed}++;
			AI::dequeue;

		} elsif ($char->{sitting}) {
			AI::suspend();
			stand();

		} elsif (( $dist = distance($items{$ID}{pos}, ( $myPos = calcPosition($char) )) > 2 )) {
			if (!$config{itemsTakeAuto_new}) {
				my (%vec, %pos);
				getVector(%vec, $items{$ID}{pos}, $myPos);
				moveAlongVector(%pos, $myPos, %vec, $dist - 1);
				move($pos{x}, $pos{y});
			} else {
				my $item = $items{$ID};
				my $pos = $item->{pos};
				message TF("Routing to (%s, %s) to take %s (%s), distance %sn", $pos->{x}, $pos->{y}, $item->{name}, $item->{binID}, $dist);
				ai_route($field->baseName, $pos->{x}, $pos->{y}, maxRouteDistance => $config{'attackMaxRouteDistance'});
			}		} else {
			AI::dequeue;
			take($ID);
		}
	}
}

======================== GANTI MENJADI ======================

##### ITEMS AUTO-GATHER #####
sub processItemsAutoGather {
	if ( (AI::isIdle || AI::action eq "follow"
		|| ( AI::is("route", "mapRoute") && (!AI::args->{ID} || $config{'itemsGatherAuto'} >= 2)  && !$config{itemsTakeAuto_new}))
	  && $config{'itemsGatherAuto'}
	  && !$ai_v{sitAuto_forcedBySitCommand}
	  && ($config{'itemsGatherAuto'} >= 2 || !ai_getAggressives())
	  && percent_weight($char) < $config{'itemsMaxWeight'}
	  && timeOut($timeout{ai_items_gather_auto}) ) {

		foreach my $item (@itemsID) {
			next if ($item eq ""
				|| !timeOut($items{$item}{appear_time}, $timeout{ai_items_gather_start}{timeout})
				|| $items{$item}{take_failed} >= 1
				|| pickupitems(lc($items{$item}{name})) eq "0"
				|| pickupitems(lc($items{$item}{name})) == -1 );
			if (!positionNearPortal($items{$item}{pos}, 10)) {
				message TF("Gathering: %s (%s)n", $items{$item}{name}, $items{$item}{binID});
				gather($item);
				last;
			}
		}
		$timeout{ai_items_gather_auto}{time} = time;
	}
}

##### ITEMS GATHER #####
sub processItemsGather {
	if (AI::action eq "items_gather" && AI::args->{suspended}) {
		AI::args->{ai_items_gather_giveup}{time} += time - AI::args->{suspended};
		delete AI::args->{suspended};
	}
	if (AI::action eq "items_gather" && !($items{AI::args->{ID}} && %{$items{AI::args->{ID}}})) {
		my $ID = AI::args->{ID};
		message TF("Failed to gather %s (%s) : Lost targetn", $items_old{$ID}{name}, $items_old{$ID}{binID}), "drop";
		AI::dequeue;

	} elsif (AI::action eq "items_gather") {
		my $ID = AI::args->{ID};
		my ($dist, $myPos);

		if (timeOut(AI::args->{ai_items_gather_giveup})) {
			message TF("Failed to gather %s (%s) : Timeoutn", $items{$ID}{name}, $items{$ID}{binID}), undef, 1;
			$items{$ID}{take_failed}++;
			AI::dequeue;

		} elsif ($char->{sitting}) {
			AI::suspend();
			stand();

		} elsif (( $dist = distance($items{$ID}{pos}, ( $myPos = calcPosition($char) )) > 2 )) {
			if (!$config{itemsTakeAuto_new}) {
				my (%vec, %pos);
				getVector(%vec, $items{$ID}{pos}, $myPos);
				moveAlongVector(%pos, $myPos, %vec, $dist - 1);
				move($pos{x}, $pos{y});
			} else {
				my $item = $items{$ID};
				my $pos = $item->{pos};
				message TF("Routing to (%s, %s) to take %s (%s), distance %sn", $pos->{x}, $pos->{y}, $item->{name}, $item->{binID}, $dist);
				ai_route($field->baseName, $pos->{x}, $pos->{y}, maxRouteDistance => $config{'attackMaxRouteDistance'});
			}		} else {
			AI::dequeue;
			take($ID);
		}
	}
}

===================================================

saya hanya melakukan penghapusan pada baris :

!positionNearPlayer($items{$item}{pos}, 12) &&

dan baris :

if (positionNearPlayer($items{$ID}{pos}, 12)) { message TF(“Failed to gather %s (%s) : No looting!n”, $items{$ID}{name}, $items{$ID}{binID}), undef, 1; AI::dequeue;

Terkadang dalam crowded map.. bot kita emoh mungut2 sampah/drop.. ini mungkin salah satu solusinya..

Semoga Membantu

ebo