Plugins reacOnNPC
ใช้ได้กับ: Openkore v.1.6.6 หรือใหม่กว่า
ปลั๊กอินนี้อนุญาตให้ใช้ภายใต้ข้อตกลง GNU GPL
ลิขสิทธิ์ 2549 โดย hakore
===============================================================================
การปรับปรุง:
===============================================================================
08/5/2552 (mod v2 by windows98SE)
- เพิ่มตัวแปร 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.
ปลั๊กอินนี้มีประโยชน์อย่างยิ่งกับเซิฟเวอร์ที่ใช้การถามตอบ เพื่อทดสอบว่าใช้บอทหรือไม่
===============================================================================
ขั้นตอนการใช้งาน:
===============================================================================
1. ติดตั้งปลั๊กอินนี้ลงในโฟลเดอร์ plugins (มีอยู่แล้ว ใน OPKwin).
2. เพิ่มบล๊อค 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)
นี่คือรายการของข้อความที่จะต้องตรวจสอบขณะกำลังสนธนากับ NPC หมายเลขบรรทัดเริ่มนับจาก 0 และเพิ่มไปทีละ 1
คุณสามารถ ระบุข้อความปกติ หรือ regexp ก็ได้
• useColors (1 หรือ 0) v.1.1.0
โดยปกติเราจะเปรียบเทียบเฉพาะข้อความที่สนธนากับ NPC โดยไม่คำนึงถึงสี(ตัวอย่างเช่น ^FF0000)
แต่ถ้าตัวแปรนี้ถูกตั้งให้เป็น 1 คุณจะต้องตั้งรูปแบบสีที่จะตรวจสอบด้วย คุณสามารถหาโค้ดสีได้ตอนรันบอท
• Shared self conditions
เราสามารเช็คสถาณะของตัวเองได้ด้วย ตัวอย่างเช่น hp,sp,อื่นๆ อ่านเพิ่มเติมที่
• debug (1 หรือ 0) v.2.0.0 mod by windows98SE
เพื่อดูการทำงาน แบบละเอียดของ ตัวแปร ต่างๆใน plugins
• respIgnoreColor (1 หรือ 0) v.2.0.1 mod by windows98SE
เพื่อตัดสีต่างๆ จากในตัวเลือกของคำพูด npc
===============================================================================
คำสั่งพิเศษ:
===============================================================================
1. @eval(expression)
ใช้สำหรับทำคำสั่งภาษา PERL อย่างง่ายๆ หรือ คิดเลขอย่างง่ายได้
2. @resp(pattern) v.1.1.0
ใช้ตรวจหาตัวเลือกที่ NPC ให้รายการมา โดย pattern ก็คือข้อความในข้อที่เราจะต้องเลือก
pattern สามารถใช้ได้ทั้งข้อความธรรมดา หรือ regexp ก็ได้
3. #(หมายเลขบรรทัด)~(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 = ?
}
----------------------------------------------------------------------------------------------------------------------------------------------
===============================================================================
• ตัวอย่างการใช้ Plugins reactOnNPC ตอบแบบให้เลือกตัวเลือก เช่นใช้กับ NPC แบบรวมอยู่ในตัวเดียว
===============================================================================
reactOnNPC talk resp @resp(/Ans1|AnsN/i) { # ตัวเลือกครั้งแรกตอบ Ans1, ตัวเลือกครั้งที่ 2 ตอบ AnsN
type responses # บอกชนิด คือมีตัวเลือกให้เลือก
respIgnoreColor 1 # ไม่สนใจแม้เป็นหัวข้อที่มีสีอยู่
msg_0 /First Line/i # First Line = คำบรรทัดแรกของหน้าต่างที่มีตัวเลือก
}
* ปกติ First Line มักเป็นชื่อของ NPC ตัวนั้น
----------------------------------------------------------------------------------------------------------------------------------------------
• หมายเหตุ
มักใช้ควบคู่ไปกับ Macro เพื่อแยกหัวข้อของ NPC ออกจากกัน
===============================================================================
• ตัวอย่างการบังคับให้เลือกตัวเลือกตามที่กำหนด
===============================================================================
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
control\config.txt
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
reactOnNPC talk resp @resp(/ซื้อขาย/) { <--- ซื้อขาย คือ คำพูด ที่แสดงตัวเลือกการซื้อ-ขาย ในNPC
type responses
msg_0 /Support/i <--- Support คือ บรรทัดแรกของ NPC ที่บอกเรามา
}
• หมายถึง ..
ให้บอทเลือก ข้อความว่า ซื้อขาย เมื่อเจอประโยคใน Console ที่บรรทัดที่มีคำว่า Support
เรา set reactOnNPC ขึ้นมาเพื่อ ให้บอท สามารถทำการซื้อขายต่อไปได้ เพระว่าบอทมันจะไม่กด เลือกคำว่า ซื้อขาย เอง!!
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
control\macros.txt
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
automacro ab {
location geffen
sp < 50%
run-once 1
call ab1
}
macro ab1 {
do ai manual <---- เป็นคำสั่ง กำหนด AI ในรูปการบังคับด้วยตน คือ bot จะไม่ทำงาน
do plugin unload reactonnpc <----- ยกเลิก plugin reactonnpc
pause 1
do talknpc 123 72 c r0 n <---- คุยกับ NPC Steps คุย กับNPC ตั้งปกติ
pause 1
do plugin load plugins/reactonnpc.pl <---- เปิดการใช้งาน plugin reactonnpc
do ai on <---- เปิดการทำงาน
release all
}
• หมายความว่า...
เมื่ออยู่ที่ กิฟ Sp น้อยกว่า 50 % ให้ทำการปิด Al แล้วปิดการทำงาน plugin reactonnpc หลังจากนั้น คุยกับ NPC
ที่ พิกัด 123 72 ด้วย สเต๊ปคุย c r0 n ต่อจากนั้นทำการเปิดการใช้งาน plugin reactonnpc ต่อจากนั้น ทำการเปิดการทำงาน AI
• ที่เราตั้ง macro แบบนี้ เพราะว่า...
การที่เราตั้ง reactOnNPC ตามข้างบน เมื่อ NPC ตัวเดียวกัน พอกด คุย NPC ปุ๊ป มันจะเลือก ซื้อขายของ ตาม react ที่ตั้งไว้
เราจึงต้องทำการปิดการใช้งาน plugins นั้นก่อน แล้วค่อยคุย แล้วเปิดใหม่
===============================================================================
• ตัวอย่างการใช้ Plugins reactOnNPC ตอบแบบให้คำนวนด้วยการบวกเลขครับ หรือติดคุกนั่นเอง
===============================================================================
reactOnNPC talk num @eval(#2~1 #2~2 #2~3) {
type number
msg_0 /Superman/i
msg_1 /วิชาขั้นที่/i
msg_2 /(\d+)(\D+)(\d+)/i
}
----------------------------------------------------------------------------------------------------------------------------------------------
• หมายเหตุ
reactOnNPC สามารถใช้ร่วมกับ Plugins delayCommand ได้ด้วยครับ
เช่น
reactOnNPC delayCommand talk resp @resp(/^Fields$|^Mjolnir Fields$|^Mjolnir Field 15$/i) {
type responses
msg_0 /.W+./i
}
MY BOT RAGNAROK SETTING WITH OPENKORE. YOU CAN COPPY TO YOUR BOT. THIS IS WORK FOR ME.AND MY TIP TO SETTING MY BOT. SPECIAL THANKS FROM WWW.OPENKORE.COM WWW.THAIKORE.COM WWW.OPKWIN.COM AND OTHER WEBSITE FOR BEST INFORMATOINS. ^^"
ขอบคุณความรู้ดีๆจาก WWW.OPENKORE.COM WWW.THAIKORE.COM WWW.OPKWIN.COM WWW.MOD2PLAY.COM และเวบอื่นๆที่ไม่ได้กล่าวถึงไว้ ณ.ทีนี้ด้วยนะคะ (ขอบคุณเป็นภาษาอังกฤษไว้ด้านบนนานแล้ว แต่เผื่ออาจมองกันไม่เห็นนะคะ เลยขอบคุณอีกรอบ)
เชิญชวนทำบุญแทนการเซทบอทให้โหลดฟรีคะ
ไม่บังคับนะคะ
แต่ใครเอาบอทไปใช้เองไม่ว่ากัน แต่ใครเอาบอทไปใช้ในทางธุรกิจ ไม่บริจาคขอให้จู้ดๆ อิอิ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น