ขอบคุณความรู้ดีๆจาก WWW.OPENKORE.COM WWW.THAIKORE.COM WWW.OPKWIN.COM WWW.MOD2PLAY.COM และเวบอื่นๆที่ไม่ได้กล่าวถึงไว้ ณ.ทีนี้ด้วยนะคะ (ขอบคุณเป็นภาษาอังกฤษไว้ด้านบนนานแล้ว แต่เผื่ออาจมองกันไม่เห็นนะคะ เลยขอบคุณอีกรอบ)
เชิญชวนทำบุญแทนการเซทบอทให้โหลดฟรีคะ

ไม่บังคับนะคะ


แต่ใครเอาบอทไปใช้เองไม่ว่ากัน แต่ใครเอาบอทไปใช้ในทางธุรกิจ ไม่บริจาคขอให้จู้ดๆ อิอิ

ขอร้องจากใจ กรุณาอย่านำบอทไปขายเด็ดขาด ไม่ว่ากรณีใดๆทั้งสิ้น

12/14/2553

mercdb plugins

svn: (https://openkore.svn.sourceforge.net/svnroot/openkore/plugins/mercdb/)
สามารถรวบรวมข้อมูลราคาของสินค้าจากร้านค้า และซื้อสินค้าอย่างฉลาด!

ความคิด :
การ จะต้องวิ่งไปทั่วตลาด และตรวจสอบราคาด้วยตนเองจากร้านค้าอื่น ๆ มันแย่มากเลย เรามาให้บอททำงานนี้ให้แทนกันดีกว่าคะ แล้วเราก้อใช้วิธีตรวจสอบสิ่งที่เขาพบในเว็บไซต์ได้ เมื่อบอทหาของที่มีราคาถูกมากๆได้ (hot-deals) เราก็ให้เขาซื้อมัน อิอิ

มันทำอะไร:
เมื่อ บอทพ่อค้าเดินไปรอบ ๆ ในแผนที่ที่กำหนดให้ บอทจะตรวจสอบที่ packet_vender hook ที่ร้านค้า ขณะนั้น มันก็จะค้นหา merchants user ID ในฐานข้อมูลของ table 'shopvisit' เพื่อตรวจสอบว่าเข้าชมร้านนี้ครั้งล่าสุดเมื่อไร หากเวลาที่ตรวจสอบล่าสุด ไม่นานกว่า $visitTimeout บอทจะขอรายชื่อร้านค้าใหม่จาก RO และ mercs และเขียนวันที่และเวลาลงในฐานข้อมูล

ที่ hook 'packet_vender_store' mercDbFill จะถูกใช้. มันจะวิเคราะห์รายชื่อร้านค้า และเขียนลงใน table ของ mysql 'shopcont'

HOT-DEALS:
เมื่อ คุณใส่ item-names ใน config.txt หรือใส่ 'all' หลังจาก 'merchantDB_shoppinglist' บอทจะซื้อของนั้นๆ เมื่อของที่มันค้นพบเป็น hot-deals มันจะซื้อของที่เป็น hot-deals ทั้งหมด ถ้าคุณตั้งเป็น 'all'. hot-deals จะเสนอ items กับราคาภายใต้ราคาเฉลี่ยที่เป็นลบ มันคือส่วนเบี่ยงเบนมาตรฐาน

webfrontend จะต้องทำใน PHP, เพราะฉันรู้ว่า PHP ดีกว่า Perl มันจะแสดง items และ cards ที่พบทั้งหมดเป็นราคาต่ำสุด, สูงสุด, ราคาเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานของราคา และอุปสรรคของ"Hot Deal" คุณสามารถค้นหาการ์ดใส่เข้าไปใน items และ ดูว่า พ่อค้าคนไหนที่ขาย items คุณควรจะแยกเอง

ความต้องการ:
- ตัวละครอะไรก็ได้ 1 ตัว
- openkore cvs
- ฐานข้อมูล MySQL (อาจจะสามารถเปลี่ยนแปลงไปยังฐานข้อมูลอื่น เพราะ DBI)
- เว็บเซิร์ฟเวอร์สนับสนุน PHP (ตัวอย่างเช่น: XAMPP -- http://www.apachefriends.org/en/)
- Perl (ผู้ใช้ Windows อาจต้องการเลือก Active Perl : www.activestate.com)
- perl modules: TimeDate, DBD::mysql, DBI

ดังนั้นหากคุณมีความต้องการใดๆ ที่จะให้ปลั๊กอิน mercDB.pl ทำงานอย่างถูกต้องใน win32, เชื่อมต่อ ppm และต้องติดตั้งสิ่งต่อไปนี้
ติดตั้ง CGI : : Enurl (ดูเหมือนมันจะไม่จำเป็น หากคุณมีปัญหากับวินโดว์ ถึงจะต้องลงมัน.)
(ไม่แน่ใจว่าถ้าคุณทำสิ่งนี้แล้วมันจะดี) ติดตั้ง CGI
ติดตั้ง TimeDate
ติดตั้ง DBD::mysql

นี่เป็น tipps บางอย่างสำหรับผู้ที่ใช้ XP:
ฉันเห็นปัญหามากมายในการติดตั้ง plugin บน WinXP ดังนั้นฉันจะพยายามมันด้วยของฉันตัวเอง และต้องมีเวลาในการทำจริงๆ แต่ฉันก็ยังเจอกับมันเหมือนกัน นี่คือสิ่งที่จำเป็นจะต้องใช้ในการติดตั้งในระบบ winXP SP2

1 ติดตั้ง openkore -- ไม่จำเป็นต้องใช้เวอร์ชั่น cvs
2 ติดตั้ง activeperl 5.8.7.813 - http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.7.813-MSWin32-x86-148120.msi

3 ติดตั้ง ppm (thats Perl Package Manager) แพคเกจดังต่อไปนี้
-- ติดตั้ง Time-Hires
-- ติดตั้ง TimeDate
-- ติดตั้ง dbd-mysql

เมื่อคุณ start ppm, คุณจะได้รับคำสั่ง interface. เพียงพิมพ์ (หรือวางใน)
คำสั่งเริ่มต้นด้วยคำว่า "ติดตั้ง ...". (dbd-mysql installs also dbi.)
ไม่จำเป็นต้องติดตั้ง perl-libs อื่น ๆ

4 เพื่อหลีกเลี่ยงข้อผิดพลาด เช่น "ไม่สามารถโหลดปลั๊กอินใน plugins/mercdb.pl ได้ : ไม่สามารถระบุตำแหน่ง DBI.pm ใน @ INC ... " ได้
เพิ่มลงใน openkore.pl ที่ส่วนต้น หลัง the other lines with "use lib".

เปลี่ยน C:/Perl ไปยังตำแหน่งที่คุณติดตั้ง Active Perl
ใช้ lib 'C:/Perl/lib/';
ใช้ lib 'C:/Perl/site/lib/';

5 สำหรับ เว็บเซิร์ฟเวอร์ (win, linux, osx, ...) กับ mysql, และ php ดูที่นี่ : XAMPP - http://www.apachefriends.org/en/

การติดตั้ง :
- สร้างโฟลเดอร์ "plugins" ในโฟลเดอร์ openkore (ถ้าไม่มี)
- copy mercdb.pl ลงในโฟลเดอร์ plugin ของ openkore
- สร้างฐานข้อมูล mysql ($database)
- สร้างชื่อผู้ใช้ใหม่ที่สามารถอ่านและเขียน roshop tables ($dbUser and $dbPassword)
- ติดตั้ง mysql tables กับไฟล์ roshop.sql (เช่น กับ phpmyadmin)
- การเปลี่ยนแปลงรายละเอียดการเข้าถึงใน mercdb.pl และ index.php

dbUser ="roshop"$ ของผม                  # ชื่อของผู้ใช้ mysql ที่มีการอ่าน/เขียนลงสู่ฐานข้อมูล $database
my $dbPassword    = "roshop";           # รหัสผ่านของเขา
my $database        = "ro_shop";          # ฐานข้อมูลที่ใช้
my $dbHostname    = "192.168.6.1";   # mysql server
my $dbPort            = "3306";              # พอร์ตของ mysql เซิร์ฟเวอร์

- ใส่สิ่งต่อไปนี้ลงใน config.txt
merchantDB 1
merchantDB_shoppinglist
merchantDB_myHotDeal 0.9

- copy index.php บนเว็บเซิร์ฟเวอร์
- ส่งตัวละครของคุณเข้าไปในเมืองหรือสถานที่อื่น ๆ ที่มีร้านค้า
- ให้มันเดินไปรอบ ๆ ร้านค้า (เช่น ใช้ macro)
- ตรวจสอบ index.php เพื่อให้ได้ผลลัพธ์

สิ่งที่ต้องทำ :
- ตรวจสอบ ปัญหาที่เกิดจาการทำงาน
- เพิ่ม NPC tool dealer

แก้ไข :
- ชื่อของร้านของตัวเองและร้านค้าให้ถูกต้อง ร้านของตัวเองอาจจะมีการ updateted ทีหลัง แต่ควรจะดีเท่ากับที่ openkore ให้อีเอ็มเพื่อปลั๊กอิน
- มองเห็นอาวุธธาตุ
- ปรับปรุงรายการที่มีอยู่ในฐานข้อมูล (ราคาที่เปลี่ยนแปลงและอื่น ๆ )
- จำนวนช่องถูกต้องแล้วตอนนี้
- ใช้ได้กับการเปลี่ยนแปลงรายการขายใน cvs (openkore 1.3.0pre)
- ปรับปรุงให้ทำงานกับ openkore 1.6.2

คุณสมบัติตามแผน :
- อัปโหลด store.txt ไปยัง web-frontend และรองรับ version ได้ดี / คิดราคาเฉลี่ยจากฐานข้อมูล
- ตรวจสอบราคาในเกมผ่านทางคำสั่งแชท - ส่งไปยัง bot

ข้อบกพร่อง:
- บาง items จะถูกเขียนหลายครั้งใน DB ร้านเดียวกันรายการเดียวกัน รายละเอียดเดียวกัน ...

ตัวแปร config.txt:
- merchantDB (1 or 0) # ต้องการ
ใช้สลับการใช้งานของปลั๊กอินเปิดหรือปิด ถ้าไม่มีอยู่ ปลั๊กอินจะไม่ทำงาน
- merchantDB_shoppinglist
  items ที่คุณต้องการซื้อ จะต้องเขียนเหมือนกับในรายชื่อ Vender Store,คั่นด้วยจุลภาค; ให้ใช้ "all" เพื่อจะซื้อ hot deals ทั้งหมด
- merchantDB_myHotDeal (<= 1)
ปรับปรุง HotDeals; มองหา items ราคาถูกกว่า เช่น : 0.90 = hotdeal-range * 90%

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

AddThis

Share |