reactOnNPC v.1.1.1(ในบอท OPKwin เป็น 2.0.0 ไม่ใช่ตัว mod)ใช้ได้กับ: Openkore v.1.6.6 หรือใหม่กว่า
ปลั๊กอินนี้อนุญาตให้ใช้ภายใต้ข้อตกลง GNU GPL
ลิขสิทธิ์ 2549 โดย hakore
การปรับปรุง:08/5/2552 (mod v2 by windows98SE) (
Download)
- เพิ่มตัวแปร debug (เพื่อให้ใช้งาน debug ง่ายขึ้น)
- เพิ่มตัวแปร respIgnoreColor (เพื่อให้เขียน regex ง่ายขึ้น)
- แยก report ว่า ผิดในส่วนตรงไหน
16/5/2549 (v.1.1.0)
- แก้ใขให้สามารถใช้ได้กับ Openkore v.1.6.x
26/4/2549 (v.1.1.0)
- เพิ่มตัวแปร useColors
- เพิ่มคำสั่ง @resp
- สามารถจัดกลุ่มคำสั่งได้
บทนำ:ปลั๊กอินนี้จะทำให้คุณสามารถโต้ตอบกับ NPC ได้อัตโนมัติ โดยใช้คำสั่ง console command. ปลั๊กอินนี้มีประโยชน์อย่างยิ่งกับเซิฟเวอร์ที่ใช้การถามตอบ เพื่อทดสอบว่าใช้บอทหรือไม่
You are now: Auto Berserk
You are now: Gloria
You are now: Angelus
You are now: Kyrie Eleison
You are now: Endure
You are now: Auto Guard
You are now: Kaite
Unknown #110009789: [Anti-bot System]
: 10 WRONG ANSWERS WILL RESULT IN BAN!
: 10 respostas erradas resultarão em ban!
: 10 respuestas equivocadas resultaran en ban!
: Auto-continuing talking
: ANSWER THIS CORRECTLY OR BANNED!
: 8
: + (PLUS)
: 5
: = ?
: Auto-continuing talking
NPC Exists: Unknown 110009789 (104, 122) (ID 110009789) - (0)
Unknown 110009789: Type 'talk num <number>' to input a number.
[reactOnNPC] Reacting to NPC. Executing command "talk num 13".
You are no longer: Auto Berserk
You are no longer: Gloria
You are no longer: Angelus
You are no longer: Kyrie Eleison
You are no longer: Endure
You are no longer: Auto Guard
You are no longer: Kaite
AntiBot: [Anti-bot System]
AntiBot: Thanks for cooperation.
AntiBot: Done talking
ขั้นตอนการใช้งาน:- ติดตั้งปลั๊กอินนี้ลงในโฟลเดอร์ plugins (มีอยู่แล้ว ใน OPKwin).
- เพิ่มบล๊อค reactOnNPC ในไฟล์ config.txt และเซ็ทคำสั่งที่จะให้ทำเมื่อสนธนากับ NPC
เมื่อเงื่อนใขทุกย่างถูกต้อง Openkore ก็จะทำคำสั่งนั้นให้อัตโนมัติ
การตั้งค่า:- reactOnNPC (คำสั่ง)
ใช้สำหรับตั้งคำสั่งที่จะให้ทำเมื่อเงื่อนใขภายในบล๊อค ถูกต้อง
ตัวแปรพิเศษที่สามารถใช้ได้ (ดูด้านล่าง)
ความหมายของตัวแปร:- type (close|continue|number|responses|text)
ตัวแปรเหล่านี้จะสามารถระบุได้ว่า หน้าต่างที่สนธนากับ NPC เป็นแบบใด- close - หน้าต่างสนธนากับ NPC ที่มีปุ่ม "close"
- continue - หน้าต่างสนธนากับ NPC ที่มีปุ่ม "next"
- number - หน้าต่างสนธนากับ NPC ที่ให้ใส่ตัวเลข
- responses - หน้าต่างสนธนากับ NPC ที่ให้เลือกตัวเลือก
- text - หน้าต่างสนธนากับ NPC ที่ให้ใส่ข้อความ
หมายเหตุ: ถ้าไม่ตั้งตัวแปรเหล่านี้ บล๊อคนี้ก็จะทำงานไม่ว่าจะเป็นการสนธนาแบบใหนก็ตามกับ NPC
- msg_(หมายเลขบรรทัด) (ข้อความปกติ|regexp) อ่านเพิ่มที่ http://www.opkwin.com/forums/index.php?showtopic=3573
นี่คือรายการของข้อความที่จะต้องตรวจสอบขณะกำลังสนธนากับ NPC หมายเลขบรรทัดเริ่มนับจาก 0 และเพิ่มไปทีละ 1
คุณสามารถ ระบุข้อความปกติ หรือ regexp ก็ได้
- useColors (1 หรือ 0) v.1.1.0
โดยปกติเราจะเปรียบเทียบเฉพาะข้อความที่สนธนากับ NPC โดยไม่คำนึงถึงสี(ตัวอย่างเช่น ^FF0000) แต่ถ้าตัวแปรนี้ถูกตั้งให้เป็น 1
คุณจะต้องตั้งรูปแบบสีที่จะตรวจสอบด้วย คุณสามารถหาโค้ดสีได้ตอนรันบอท
- Shared self conditions อ่านเพิ่มที่ http://www.opkwin.com/forums/index.php?showtopic=3570
เราสามารเช็คสถาณะของตัวเองได้ด้วย ตัวอย่างเช่น hp,sp,อื่นๆ อ่านเพิ่มเติมที่
- debug (1 หรือ 0) v.2.0.0 mod by windows98SE
เพื่อดูการทำงาน แบบละเอียดของ ตัวแปร ต่างๆใน plugins
- respIgnoreColor (1 หรือ 0) v.2.0.1 mod by windows98SE
เพื่อตัดสีต่างๆ จากในตัวเลือกของคำพูด npc
คำสั่งพิเศษ:
- @eval(expression)
ใช้สำหรับทำคำสั่งภาษา PERL อย่างง่ายๆ หรือ คิดเลขอย่างง่ายได้
- @resp(pattern) v.1.1.0
ใช้ตรวจหาตัวเลือกที่ NPC ให้รายการมา โดย pattern ก็คือข้อความในข้อที่เราจะต้องเลือก
pattern สามารถใช้ได้ทั้งข้อความธรรมดา หรือ regexp ก็ได้
- #(หมายเลขบรรทัด)~(match index)
ถ้าคุณใช้ regexp ดักเอาข้อความหรือตัวเลข ที่คุณตั้งใว้ที่ msg_# นี่ก็คือตัวแปรที่เก็บค่าที่คุณดักมาได้ หมายเลขบรรทัดก็คือตัวเดียวกับที่ใช้ใน msg_# โดยที่ match index ก็คือตัวชี้ลำดับของ regexp
การจัดกลุ่มคำสั่ง: v.1.1.0ใน v1.1.0 คุณสามารจัดกลุ่มคำสั่งได้เช่น @resp(@eval(...)) แต่อย่างไรก็ตามตัวอักษร "@" และ ")" ใช้ในการแยกคำสั่ง ดังนั้นมันไม่สามารถใช้ได้อย่างปกติ ถ้าคุณต้องการใช้ ให้ใช้ แบบนี้ "@@, "@)".
ตัวอย่าง:นี่เป็นตัวอย่างง่ายๆ ในการ บวกเลขที่เซิฟเวอร์ถามมา ใช้ @eval() ในการทำสมการคณิตศาสตร์
reactOnNPC talk num @eval(#1~1 + #3~1) {
type number
msg_0 ANSWER THIS CORRECTLY OR BANNED!
msg_1 /^(\d+)$/
msg_2 + (PLUS)
msg_3 /^(\d+)$/
msg_4 = ?
}
ถ้าคุณคิดว่า ปลั๊กอินไม่ยอมตอบสนองกับ NPC คุณอาจจะเซ็ทค่าผิด ให้ตั้ง debug เป็น 1 แล้วอ่านดูข้อความ วิธีการที่ปลั๊กอินทำงาน เมื่อคุยกับ NPCเวปที่อ้างอิง openkoreบทความนี้ถูกเขียนขึ้นโดย Akimoto Kaito
ref :
http://www.thaikore.com/forum/index.php?showtopic=9