- ===================================
- 1. วิธีเปิดบอทหลายตัวโดยใช้โฟลเดอร์บอทหลักแค่ 1 โฟลเดอร์
- ===================================
- 1.1 ให้เอาไฟล์ profiles.pl ไปใส่ในโฟลเดอร์ plugins\
- 1.2 สร้างโฟลเดอร์ใหม่ชื่อ profiles\ ไว้ในโฟลเดอร์ของบอทหลัก (สร้างไว้ข้างๆโฟลเดอร์ control\ นั่นแหละ)
- 1.3 เข้าไปข้างในโฟลเดอร์ชื่อ profiles\ แล้วทำการสร้างโฟลเดอร์ย่อย หลายๆโฟลเดอร์ ตามจำนวนบอทที่จะสร้าง
- 1.4 Copy ไฟล์จากโฟลเดอร์ control\ ก็คือพวกไฟล์ config / mon_control / pickupitems.txy / timeouts / อื่นๆ
- 1.5 เอาไป Paste ใส่ลงในโฟลเดอร์บอทแต่ละตัว (แล้วก็เซ็ตบอทแต่ละตัวให้เสร็จ)
- 1.6 เวลาจะเปิดบอทให้กด Run ไฟล์ start.exe หรือ wxstart.exe แล้วมันจะมีให้เราเลือกชื่อบอทตัวที่เราต้องการ Run
- - start.exe > ต้องพิมพ์ตัวเลขข้างหน้าชื่อบอทตัวที่เราจะเปิด แล้วค่อยกด Enter
- - wxstart.exe > จะมีหน้าต่างเด้งขึ้นมา เอาเม้าส์ไปดับเบิ้ลคลิกที่ชื่อบอทตัวที่เราจะเปิดได้เลย
- ===================================
- 2. วิธีทำให้บอทสามารถเลือก map เริ่มต้นได้ (กรณี map มีปัญหา)
- ===================================
- 2.1 เพิ่มคำสั่ง escapeMap ใน config.txt (Copy 3 บรรทัดข้างล่างใส่ลงใน config.txt)
- #รายชื่อเมืองที่สามารถเลือกไปโผล่ได้ ในกรณีที่แผนที่เดิมมีคนออนไลน์เยอะเกินไป หรือเกิดปัญหาไม่สามารถเข้าได้
- #1.prontera / 2.payon / 3.geffen / 4.aldebaran / 5.comodo / 6.veins / 7.ayothaya / 8.lighthalzen / 9.mora
- escapeMap geffen
- 2.2 เปิดไฟล์ src\network\receive\ServerType0.pm ขึ้นมา
- - ให้ Copy บรรทัดข้างล่างไปใส่เพิ่มลงในส่วนของ Packet List
- '0840' => ['escape_map_select', 'v a*', [qw(len mapInfo)]],
- - แล้ว Copy ฟังก์ชั่น escape ข้างล่างไปใส่ลงในช่วงล่างสุดของไฟล์
- sub escape_map_select {
- return if ($net->getState() == Network::IN_GAME);
- my ($self, $args) = @_;
- my @cities;
- my $Odr = 0;
- my $idx = 0;
- my $nSav = -1;
- my $mlist = '';
- return unless exists $args->{mapInfo};
- for (my $i = $args->{RAW_MSG_SIZE} % 20; $i < $args->{RAW_MSG_SIZE}; $i += 20) {
- my ($flag, $baseName) = unpack('V Z*', substr($args->{RAW_MSG}, $i, 20));
- if ($flag == 0) {
- $baseName =~ s/\.gat$//;
- $nSav = $idx if ($config{'escapeMap'} && $config{'escapeMap'} eq $baseName);
- my $mapName = (defined $maps_lut{$baseName.'.rsw'} ? $maps_lut{$baseName.'.rsw'} : T('Unknown Area'));
- push @cities, $Odr;
- $idx++;
- $mlist .= TF("%2d. %s\n", $idx, $mapName);
- }
- $Odr++;
- }
- if ($idx > 0) {
- message TF("---------------- Map List ----------------\n" .
- "%s" .
- "------------------------------------------\n", $mlist);
- $nSav = int(rand($idx)) if ($nSav < 0);
- # Send the select back to RO server
- my $msg = pack("C*", 0x41, 0x08, $config{char}, $cities[$nSav]);
- $messageSender->sendToServer($msg);
- }
- }
- ===================================
- 3. วิธีทำให้บอทมองเห็นผู้เล่นใช้สกิล Snap หรือ Jump เคลื่อนที่
- ===================================
- 3.1 เปิดไฟล์ src\network\receive\ServerType0.pm ขึ้นมา
- หาบรรทัด '08D2' => ['high_jump', 'a4 v2', [qw(ID x y)]],
- แก้เป็น '08D2' => ['player_jump', 'a4 v2', [qw(ID x y)]],
- 3.2 แล้ว Copy ฟังก์ชั่น ข้างล่างไปใส่ลงในช่วงล่างสุดของไฟล์
- sub player_jump {
- my ($self, $args) = @_;
- my $actor = Actor::get($args->{ID});
- message TF("%s jump to (%d, %d)\n", $actor, $args->{x}, $args->{y});
- }
- ===================================
Wednesday, July 31, 2013
เปิดบอทหลายจอ
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment