macro <macroname> [options] [-- parameter(s)]
----------------------------------------------------------------------------------------------------------------------------------------------
Runs macro <macroname>
----------------------------------------------------------------------------------------------------------------------------------------------
ตัวเลือก ตั้งค่า คำอธิบาย
-repeat n ทำมาโครซ้ำ n ครั้ง
-overrideAI (none) เป็นการควบคุม AI ของ Openkore
-macro_delay delay เป็นการควบคุม global macro_delay สำหรับมาโครที่กำกลังทำงานอยู่
-exclusive (none) ไม่อนุญาติให้ automacros ยกเลิกมาโครที่กำลังทำงานอยู่
-orphan method ใช้ method ในการจัดการorphaned macros
ตัว แปรในมาโครสามารถกำหนดได้หลังสัญญาลักษณ์ขีดสองขีด (--) ตัวแปรเหล่านี้จะถูกเก็บไว้ใน ตัวแปร $.param1 to $.paramN
###############################################################################
ยกตัวอย่างเช่น:
###############################################################################
macro foo {
log Parameter 1 is $.param1
log Parameter 2 is $.param2
}
เมื่อเรียกไปยังมาโคร foo
macro foo -- foo bar จะพิมพ์ข้อความว่า
[macro] Parameter 1 is foo
[macro] Parameter 2 is bar
----------------------------------------------------------------------------------------------------------------------------------------------
macro list
----------------------------------------------------------------------------------------------------------------------------------------------
ลิสต์รายชื่อมาโครทั้งหมดที่มีอยู่
----------------------------------------------------------------------------------------------------------------------------------------------
macro stop
----------------------------------------------------------------------------------------------------------------------------------------------
หยุดการทำงานของมาโครที่ทำอยู่
----------------------------------------------------------------------------------------------------------------------------------------------
macro pause
----------------------------------------------------------------------------------------------------------------------------------------------
เป็นคำสั่งสำหรับหยุดการทำงานของมาโครที่กำลังทำงานอยูชั่วคราว
----------------------------------------------------------------------------------------------------------------------------------------------
macro resume
----------------------------------------------------------------------------------------------------------------------------------------------
เป็นคำสั่งให้มาโครที่ถูกหยุดการทำงานชั่วคราวกลับมาทำงานใหม่
----------------------------------------------------------------------------------------------------------------------------------------------
macro set variable value
----------------------------------------------------------------------------------------------------------------------------------------------
เป็น การกำหนดค่า/การเปลี่ยนแปลง ของตัวแปร (variables) ให้เป็น ค่า (value)
หรือเป็นการลบ ตัวแปร (variable) ถ้่าไม่มีการกำหนดค่า (value)
----------------------------------------------------------------------------------------------------------------------------------------------
macro version
----------------------------------------------------------------------------------------------------------------------------------------------
สั่งให้บอทพิมพ์เวอร์ชั่นของมาโคร
----------------------------------------------------------------------------------------------------------------------------------------------
macro reset [<name(s)>]
----------------------------------------------------------------------------------------------------------------------------------------------
เป็นการตั้ง automacros ที่ run-once ทั้งหมดกลับมาใหม่หรือเฉพาะ automacro <name>(ที่กำหนดชื่อใน <name>)
----------------------------------------------------------------------------------------------------------------------------------------------
macro status
----------------------------------------------------------------------------------------------------------------------------------------------
เป็น คำสั่งที่ให้้แสดงว่า้มาโครกำลังทำงานอยู่หรือใหม่ ถ้ามาโครกำลังทำงานอยู่จะแสดงออกมาเป็นค่า delay ของคำสั่งต่อไป
บันทัดที่ทำอยู่ การจัดตั้ง overrideAI ไม่ว่าจะสิ้นสุดหรือยัง มาโครจะรีจิสเตอร์ไปเข้าแถวต่อใน AI
===============================================================================
การจัดการกับไฟล์ Configuration files
===============================================================================
1.control/macros.txt
ใส่ macros and automacros ในไฟล์ macros.txt
2.control/timeouts.txt
เพิ่มบันทัด macro_delay ตั้งค่าเป็นวินาทีที่ต้องการให้ปลั๊กอินหยุดระหว่างคำสั่งมาโคร
1.control/config.txt
ตัวแปร Variable การตั้งค่า Value คำอธิบาย
macro_nowarn 0/1 เปิด/ปิด คำเตือนเมื่อไม่ได้ใช้ call ใน automacro(s)
macro_orphans terminate/reregister/reregister_safe see orphaned macros section
macro_debug level(s) see debugging section
macro_file filename file containing the macros ("macros.txt" by default)
macro_allowDebug 0/1 ป็นการตรวจสอบกระบวนการจากข้อความ debug ของ openkore (default: 0)
คำเตือน ทำให้การทำงานของ ปลั๊กอินช้าลง
===============================================================================
ก่อนลงมือเขียนมาโคร
===============================================================================
โปรดอ่านคู่มือโดยละเอียดทั้งหมดก่อนใช้มาโคร
ถ้า ต้องการใช้คำสั่งของ openkore ในมาโครกรุณาอ่านใน console commands.
พึงจำไว้ว่า คำสั่งบางคำสั่งที่เกี่ยวช้องกับการจัดการแถวของ ai (ai queue)จะไม่สามารถใช้ได้
กรุณาอ่าน announcements อาจจะมีข้อมูลและตัวอย่างที่เป็นประโยชน์ในการนำมาใช้
===============================================================================
ภาษามาโคร (Macro syntax)
===============================================================================
macro foo {
do this..
and that..
yattayatta..
}
ตาม ทฤษฎีแล้ว ผู้ใช้สามารถใช้คำสั่งที่พิมพ์ในคอนโซลมาใช้กับคำสั่งในมาโครได้เลย
มาโครปลั๊กอินสามารถสั่งบอทให้ทำได้หมดทุกอย่าง
ตั้งแต่ซื้อลูกธนูเงิน คุยกับ npc หรือการกระซิบไปยังผู้เล่นคนอื่นๆ แม้แต่คนที่ไม่มีเวลา (จะว่าขี้เกียจก็ไม่ว่ากัน)
ยังสามารถประยุกต์ใช้มาโครปลั๊กอินในการทำเควสลง amatsu ดันเจี้ยนได้ง่ายๆ เลย
===============================================================================
การใช้คำสั่ง do <command>
===============================================================================
เป็นการสั่งให้ openkore run <command>
###############################################################################
Example:
ยกตัวอย่างเช่น
###############################################################################
macro foo {
do move 123 234 prontera
do sit
do c "hello world"
}
===============================================================================
log <text>
===============================================================================
ส่งข้่อความใน <text> ไปยังคอนโซล
###############################################################################
Example:
ยกตัวอย่างเช่น
###############################################################################
macro foo {
log This line logs a text to console.
log All your base are belong to us!
}
===============================================================================
pause [<n>]
===============================================================================
หยุดเป็นเวลา 1 หรือ <n> วินาที
###############################################################################
Example:
ยกตัวอย่างเช่น
###############################################################################
macro foo {
log I'm here and...
pause 10
log now I'm here.
}
===============================================================================
call <macroname> [<n>]
===============================================================================
เรียก ไปยังมาโครที่ตั้งชื่อไว้ใน <macroname>เป็นจำนวน [<n> ครั้ง]
เมื่อ <macroname> เสร็จสิ้นแล้วมาโครที่กำลังทำอยู่ก็จะทำงานต่อ
===============================================================================
release (<name> | all)
===============================================================================
เป็น การกลับมาที่ automacro ที่ถูกล๊อกการทำงานจากคำสั่ง ("run-once" หรือคำสั่ง "lock")
หรือเป็นการกลับมาที่ automacros ทั้งหมดเมื่อใช้คำสั่ง release all
===============================================================================
lock <name>
===============================================================================
เป็นการล๊อค automacro ที่ตั้งชื่อใน <name> และไม่ให้มีการเชคเงื่อนไขที่เราตั้งไว้ใน automacro ด้วย
===============================================================================
stop
===============================================================================
หยุดการทำงานของมาโครทันที
===============================================================================
set <option> <value>
===============================================================================
ตั้งรูปแบบมาโคร:
* orphan method
* macro_delay timeout
* overrideAI [0|1]
* repeat times
* exclusive [0|1]
โปรดดูที่ส่วนของ automacro
===============================================================================
การกำหนดตัวแปร (variable) และการนำมาใช้
===============================================================================
ผู้ใช้สามารถที่จะกำหนดและทำงานกับตัวแปร ที่ผู้ใช้กำหนดขึ้นเองได้
การตั้งค่าตัวแปรทำได้โดยใช้ $variable = value, และถ้าต้องการเรียกใช้ value ให้ใช้ $variable
การเพิ่มหรือลดตัวแปรสามารถทำได้โดยการใช้ $variable++ or $variable--
สำหรับการคำนวณให้ใช้ @eval
###############################################################################
ตัวอย่างการแยก item ตัวแรกออกจากลิสต์ที่ใช้ comma แยกลิสต์ออกจากกัน
###############################################################################
macro foo {
$list = element one,element two,foo,bar,baz
$var = [$list]
log var contains $var (element one)
log list contains $list (element two,foo,bar,baz)
}
พึงระลึกไว้ว่า ชื่อของตัวแปรจะต้องเริ่มต้นด้วยพยัญชนะและต้องไม่มีอักขระอื่นๆ มาปะปน
ยกเว้นพยัญชนะและตัวเลขจำนวนเต็มเท่านั้น
###############################################################################
Example:
ยกตัวอย่างเช่น
###############################################################################
macro foo {
$var1 = world
$var2 = hello
$var3 = $var2 $var1
log next line will yell out "hello world . world . hello"
do c $var3 . $var1 . $var2
$var4 = 47
log \$var4 is $var4
$var4++
log \$var4 is $var4
$var4 = @eval ($var4 + 52)
log \$var4 is $var4
}
===============================================================================
ตัวแปรพิเศษ (Special variables)
===============================================================================
มีตัวแปรสุ่มพิเศษหลายๆ ตัวแปรที่เริ่มต้นด้วยจุด
* $.map - แผนที่ที่บอทอยู่ ("prontera")
* $.pos - พิกัดที่บอทอยู่ ("123 234")
* $.time - เวลาขณะนี้ ใช้เวลาของยูนิค(unix timestamp) ("1131116304")
* $.datetime - วันและเวลาขณะนี้ ("Fri Nov 4 15:59:36 2005")
* $.hp - hp ขณะนี้
* $.sp - sp ขณะนี้
* $.lvl - เบสเลเวลของตัวละครขณะนี้
* $.joblvl - จ๊อบเลเวลของตัวละครขณะนี้
* $.spirits - จำนวนลูกไฟ (spirit spheres) ขณะนี้
* $.zeny - จำนวนเงินขณะนี้
* $.status - สถานะในขณะนี้ ใช้คอมม่าแยกลิสต์ออกจากกัน
* $.lastLogMsg - ประโยคสุดท้ายใน console ที่ triggered เงื่อนไขของ automacro "consol"
* $.lastpub - ชื่อของผู้เล่นคนสุดท้ายที่เป็นคน triggered เงื่อนไขของautomacro "pubm"
* $.lastpubMsg - ข้อความที่ผุ้เล่นพิมพ์ข้อความสุดท้าย
* $.lastpm - ชื่อชองผู้เล่นที่กระซิบคนสุดท้ายแล้ว trigger เงื่อนไขของ automacro "pm"
* $.lastpmMsg - ข้อความที่ผู้เล่นที่กระซิบคนสุัดท้ายแ้ล้ว triggered เงื่อนไขของ automacro "pm"
* $.lastguild - ชื่อของผู้เล่นคนสุดท้ายที่ triggered เงื่อนไขของ automacro "guild"
* $.lastguildMsg - ประโยคที่ผู้เล่นคนสุดท้ายที่ triggered เงื่อนไขของ automacro "guild" เขียน
* $.lastparty - ชื่อของผู้เล่นคนสุดท้ายที่ triggered เงื่อนไขของ automacro "party"
* $.lastpartyMsg - ประโยคที่ผู้เล่นคนสุดท้ายที่เป็นคน triggered เงื่อนไขของ automacro "party"
* $.lastMonster - monster ตัวสุดท้ายที่ triggered เงื่อนไขของ automacro "monster"
* $.lastMonsterPos - พิกัดสุดท้ายของ monster ตัวสุดท้ายนั้น ("123 234 prontera")
* $.lastMatchN - อ้างอิงย้อนกลับไปที่ regexp ล่าสุดที่ตรงกัน
* $.paramN - คำสั่ง parameters (see commands)
* $.caller - ชื่อชอง automacro สุดท้ายที่ triggered การทำงานของมาโคร
* $.hooksaveN - ค่าหนึ่งของ hash key (เป็น argument ที่ถูกให้กับ hook)
===============================================================================
ตัวแปรชนิดวน ( Nested variables)
===============================================================================
ผู้ใช้สามารถกำหนดตัวแปรแบบวน หรือแบบที่ไม่ตายตัวได้
###############################################################################
Example:
ยกตัวอย่างเช่น
###############################################################################
macro foo {
$var = foo
log \$var is "foo"
${$var} = bar
log \$\$var is \$foo is "bar"
}
===============================================================================
การจัดทำและการตั้งชื่อ (Flow control and labels)
===============================================================================
ใน โปรแกรมชั้นสูงจะมีโครงสร้างในลักษณะของ "if .. then", "while", "repeat", "for .. next", "do .. while"
และมี function เรียกตัวตั้งปกติว่า "if", "goto" and "while" จึงเป็นเหตุผลที่ทำไมมาโครจึงนำมาใช้กับสามตัวดังกล่าว
เนื่องจากมาโครไม่มีหมายเลขบันทัด (ที่มองเห็น) กำกับ ดังนั้นผู้ใช้ต้องใช้ labels หรือตัวกำกับ คือโคลอนตามด้วยชื่อของเลเบล
###############################################################################
ตัวอย่างของการใช้โครงสร้าง a "while":
###############################################################################
macro foo {
$i = 0
log the next lines will loop 11 times (0 .. 10)
while ($i <= 10) as exampleloop
log loop $i
$i++
end exampleloop
}
###############################################################################
Example:
###############################################################################
macro foo {
$i = @random ("1", "2", "3")
if ($i == 1) goto one
if ($i == 2) goto two
log i is three.
goto end
:one
log i is one
goto end
:two
log i is two
:end
}
===============================================================================
เงื่อนไข (condition):
===============================================================================
เงื่อนไข (Condition) ความหมาย (Meaning)
< น้อยกว่า
<= น้อยกว่าหรือเท่ากับ
== เท่ากับ
>= มากกว่าหรือเท่ากบ
> มากกว่า
!= ไม่เท่ากับ
~ <ส่วนทางซ้าย> เป็นส่วนประกอบของ <ส่วนทางขวา (ใช้คอมมาแยกลิสต์ออกจากกัน)>
===============================================================================
keywords ที่สำคัญ
===============================================================================
@npc (<x> <y>)
ไปยังหมายเลข npc ที่อยู่ที่พิกัด <x>, <y> หรือ -1 ถ้าไม่พบ npc
@inventory (<item>)
ค้นหา <item> ในช่องเก็บชอง ผลที่ได้คือ ID ของ item หรือ -1 ถ้าไม่เจอ item นั้นๆ
@Inventory (<item>)
เช่นเดียวกันกับ @inventory แต่จะให้ค่า IDs ที่ตรงกันโดยใช้ คอมม่าอยากลิสต์ออกจากกัน หรือให้ค่า -1 ถ้าไม่มี item นั้นๆ
@cart (<item>)
ค้นหา <item> ในรถเข็น ผลที่ได้รับคือ ID ของ item ที่ต้องการหรือ -1 ถ้าไม่เจอ item ที่ต้องการ
@Cart (<item>)
เหมือนกันกับคำสั่ง @cart แต่ผลที่ได้รับคือ IDs ของ item ที่ต้องการ
โดยจะแยกลิสต์ออกจากกันด้วยคอมมา (,) ถ้าได้ -1 แสดงว่าไม่มี item ที่ต้องการ
@storage (<item>)
ค้นหา <item> ที่ต้องการในคาฟราเก็บของ ผลที่คือ ID ของ item นั้นหรือถ้าได้ -1 แสดงว่าหา item นั้นไม่เจอ
@Storage (<item>)
เหมือนกันกับคำสั่ง @storage แต่ผลที่ได้คือ IDs ที่ตรงกันทั้งหมด ออกจากกันด้วยคอมมา (,)
ถ้าได้ -1 แสดงว่าไม่มี item ที่ต้องการ
@player (<name>)
หาผู้เล่นที่ชื่อ <name> ผลที่ได้รับ ID ของผู้เล่น หรือถ้าได้ -1 แสดงว่าหาผู้เล่นดังกล่าวไม่เจอ
@vender (<name>)
หาร้านค้าที่ชื่อ <name> ผลที่ได้คือ ID ของร้านค้าถ้าได้ -1 แสดงว่าหาไม่พบ
@store (<name>)
ค้นหา item <name> ในคาฟราเก็บของ ผลที่คือ ID ของ item นั้นหรือถ้าได้ -1 แสดงว่าหา item นั้นไม่เจอ
@random ("<argument1>"[, "<argument2>"[, ...]])
สุ่ม argument 1,2,3 ที่ตั้งไว้ ผลที่ได้รับคือ argument อันใดอันหนึ่ง
@rand (<n>, <m>)
สุ่มตัวเลขหรหว่าง (และ รวมถึง) <n> และ <m>
@invamount (<item>)
แสดงจำนวนของ <item> ที่ต้องการ ในข่องเก็บของ
@cartamount (<item>)
แสดงจำนวนของ <item> ที่ต้องการในรถเข็น
@shopamount (<item>)
แสดงจำนวนของ <item> ที่ต้องการในร้าน
@storamount (<item>)
แสดงจำนวนของ <item> ที่ต้องการในช่องเก็บของ
@eval (<argument>)
คำนวณ <argument>
@arg ("<argument>", <n>)
แสดงลำดับที่ <n>th ของคำที่กำหนดใน <argument> ถ้าดัชนีของคำอยู่นอกเหนือจากนี้จะแสดงผลเป็น string เปล่า
@config (<variable>)
แสดงผลเป็นค่าของตัวแปร <variable> ที่กำหนดในไฟล์ config.txt
===============================================================================
"คำสั่งประเภทลูกโซ่" (Chaining commands)
===============================================================================
ผู้ ใช้สามารถที่จำทำงานโดยใช้คำสั่งเป็นชุดๆ ติดๆ กันโดยไม่ต้องรอ ai ของ openkore
หรือ macro delay ผู้ใช้เพียงแค่ใส่วงเล็บ[ ]ล้อมกลุ่มชุดคำสั่ง Template:ตัวอย่าง
บันทัดที่ 3 เริ่มการใช้คำสั่งประเทภลูกโซ่ (chaining mode) บันทัดนี้ไม่มี delay บันทัดที่ 4, 5 และ 6
จะทำงานโดยไม่มี delay เมื่อคำสั่งก่อนหน้้านั้นเสร็จสิ้น delay และไม่สามารถหยุดการทำงานได้จนกว่าจะเสร็จ
บันทัดที่ 7 หยุดการใช้คำสั่งแบบลูกโซ่ และบันทัดที่ 8 จะทำงานหลังจากมีการ delay เป็นวินาทีใน $macro_delay seconds
###############################################################################
ตัวอย่างมาโครแบบง่ายๆ เมื่อมีการเรียกผ่านมายังมาโคร "macro foo [times]" มาโครจะทำงานดังต่อไปนี้
###############################################################################
* เก็บค่าพิกัดที่อยู่ใสนขณะนี้ไว้ที่ตัวแปล "foobegin"
* เดินไปที่พิกัด 168 128 prt_in (ร้านขายอาวุธ)
* คุยกับ npc ที่ตำแหน่ง 172 130 (คนขายอาวุธ)
* พิมพ์ "store" สองครั้งเพื่อดูว่ามีอะไรขายบ้าง
* ซื้อลูกธนูเงิน 10,000 ดอก
* เดินไปที่ 280 198 prontera (ประตูทางทิศตะวันออกของเมืองพรอนเทรา)
* คุยกับคาฟรา
* คุยต่อ (talk cont) และ เลือกตอบคำถามข้อ 1(talk resp 1) เพื่อเปิดคาฟราเก็บของ
* เก็บลูกธนูเงินที่ซื้อทั้งหมดในคาฟราเก็บของเหลือไว้ 1000 ดอก และ
* เดินกลับไปยังพิกัดที่เคยอยู่ก่อนที่จะเริ่มต้นมาโครนี้
===============================================================================
ภาษาใน Automacro (Automacro syntax)
===============================================================================
###############################################################################
Example:
ยกตัวอย่างเช่น
###############################################################################
automacro foo {
<condition> bar
<condition> baz, yatta
call macroname
}
automacro mi {
<condition> moo
<condition> xyz
call {
do this
do that
}
}
===============================================================================
Automacros คือ macros ที่จะเริ่มทำงานอัตโนมิัตเมื่อสถานะต่างๆ ที่ตั้งไว้ถูกต้องตามเงื่อนไข
===============================================================================
----------------------------------------------------------------------------------------------------------------------------------------------
map <mapname>
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อแผนที่ในปัจจุบันคือ <mapname>
----------------------------------------------------------------------------------------------------------------------------------------------
location [not] <mapname [<x1> <y1> [<x2> <y2>]] [, ...]
----------------------------------------------------------------------------------------------------------------------------------------------
triggers when you are [not] at the specified location.
ถ้าไม่ได้กำหนดพิกัด <x1> <y1> หรือ <x2> <y2> จะ riggers เมื่อไม่ได้อยู่ใน <mapname>
ถ้า ไมไ่ด้กำหนดพิกัด <x2> <y2> จะ triggers เมื่อไม่ได้อยู่ในแผนที่ <mapname> ตำแหน่งพิกัด <x1>, <x2>
ถ้าทั้ง <x1> <y1> และ <x2> <y2> ถูกกำหนดจะทำงานเมื่ออยู่ใน <mapname> ระหว่าง <x1>, <y1> (มุมซ้ายบนสุด)
และ <x2>, <y2> (มุมขวา, เมื่อ <x1> < <x2> และ <y1> > <y2>
แยกโดย arguments โดยใช้ คอมมา (,) จะถือว่าเป็นเงื่อนไขแบบหรือ (OR conditions):
ถ้า มีหลายๆ บันทัดจะถือว่าเป็นการใช้เงื่อนไขแบบและ (AND conditions):
----------------------------------------------------------------------------------------------------------------------------------------------
mapchange (<mapname>|any) [, ...]
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อเปลี่ยนแผนที่ไปยัง <mapname>. แต่ถ้าใช้ any จะ trigger ทุกครั้งที่มีการเปลี่ยนแผนที่
ถ้าใส่คอมมา(,) แยกกันให้ถือว่าเป็นการเชคสภาพแบบ OR (หรือ)
----------------------------------------------------------------------------------------------------------------------------------------------
hp <condition> <amount>[%]
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อ hp เท่ากับเงือนไขที่กำหนดใน <condition> <amount>เป็นแบบค่า hp โดยตรง (absolute value)
หรือ <condition> <amount> ค่าเป็นเปอร์เซนต์
ถ้ามีหลายๆ บันทัดจะถือว่าเป็นการใช้เงื่อนไขแบบและ (AND conditions)
----------------------------------------------------------------------------------------------------------------------------------------------
sp <condition> <amount>[%]
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อ sp เท่ากับเงื่อนไขที่กำหนดใน <condition> <amount> เป็นแบบค่า sp โดยตรง(absolute value)
หรือ <condition> <amount> ค่าเป็นเปอร์เซนต์ (relative value).
ถ้ามีหลายๆ บันทัดจะถือว่าเป็นการใช้เงื่อนไขแบบและ (AND conditions)
----------------------------------------------------------------------------------------------------------------------------------------------
spirit <condition> <amount>
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อลูกพลัง (spirits) เท่ากับเงื่อนไขที่กำหนดใน <condition> <amount>
ถ้ามีหลายๆ บันทัดจะถือว่าเป็นการใช้เงื่อนไขแบบและ (AND conditions)
----------------------------------------------------------------------------------------------------------------------------------------------
weight <condition> <amount>[%]
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อน้ำหนัก อยู่ใน condition ปริมาณที่ต้องการ
โดยปริมาณ จะต้องใส่เลขจำนวนเต็ม และเป็น เปอร์เซนต์ หรือว่าเป็นจำนวนจริงๆ (relative value)
แต่ถ้าเขียนหลายๆ บันทัดเรียงกันจะให้ถือเสมือนว่า ใช้คำสั่ง AND
----------------------------------------------------------------------------------------------------------------------------------------------
cartweight <condition> <amount>[%]
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อน้ำหนักรถเข็นอยู่ใน <condition> ปริมาณที่ต้องการ
โดยปริมาณ จะต้องใส่เลขจำนวนเต็ม และเป็น เปอร์เซนต์ หรือว่าเป็นจำนวนจริงๆ (relative value)
แต่ถ้าเขียนหลายๆ บันทัดเรียงกันจะให้ถือเสมือนว่า ใช้คำสั่ง AND
----------------------------------------------------------------------------------------------------------------------------------------------
zeny <condition> <amount>
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อจำนวนเงิน condition ปริมาณที่ต้องการ
ถ้าเขียนหลายๆ บันทัดเรียงกันจะให้ถือเสมือนว่า ใช้คำสั่ง AND
คำสั่งนี้มักใช้เมื่อมีการ deal ขายของ
----------------------------------------------------------------------------------------------------------------------------------------------
soldout <condition> <slots>
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อ items ในร้านขาย ไป condition เท่าไหร่
บันทัดเรียงกันจะให้ถือเสมือนว่า ใช้คำสั่ง AND
----------------------------------------------------------------------------------------------------------------------------------------------
status [not] <status> [, ...]
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อไม่ได้อยู่ในสถานะ <status>
ถ้าใส่ Comma (,) แยกให้ถือว่าเป็นการเชคสภาพแบบ OR (หรืออย่างใดอย่างหนึ่ง )
บันทัดเรียงกันจะให้ถือเสมือนว่า ใช้คำสั่ง AND
----------------------------------------------------------------------------------------------------------------------------------------------
inventory "<item>" <condition> <amount> [, ...]
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อ มี item ใน inventory จำนวน เท่าไร
ถ้าใส่ Comma (,) แยกให้ถือว่าเป็นการเชคสภาพแบบ OR (หรืออย่างใดอย่างหนึ่ง )
บันทัดเรียงกันจะให้ถือเสมือนว่า ใช้คำสั่ง AND
----------------------------------------------------------------------------------------------------------------------------------------------
storage "<item>" <condition> <amount> [, ...]
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อใน storage (คาฟรา) มี itemsจำนวนเท่าไร
ถ้าใส่ Comma (,) แยกให้ถือว่าเป็นการเชคสภาพแบบ OR (หรืออย่างใดอย่างหนึ่ง )
บันทัดเรียงกันจะให้ถือเสมือนว่า ใช้คำสั่ง AND
----------------------------------------------------------------------------------------------------------------------------------------------
cart "<item>" <condition> <amount> [, ...]
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อ item ใน cart มีจำนวนเท่าไร
ถ้าใส่ Comma (,) แยกให้ถือว่าเป็นการเชคสภาพแบบ OR (หรืออย่างใดอย่างหนึ่ง )
บันทัดเรียงกันจะให้ถือเสมือนว่า ใช้คำสั่ง AND
----------------------------------------------------------------------------------------------------------------------------------------------
shop "<item>" <condition> <amount> [, ...]
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อ item ในร้านมีจำนวนเท่าไร
ถ้าใส่ Comma (,) แยกให้ถือว่าเป็นการเชคสภาพแบบ OR (หรืออย่างใดอย่างหนึ่ง )
บันทัดเรียงกันจะให้ถือเสมือนว่า ใช้คำสั่ง AND
----------------------------------------------------------------------------------------------------------------------------------------------
base <condition> <level>
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อเลเวลตัวละครมีเลเวล เท่ากับ <condition> ที่ตั้งไว้
บันทัดเรียงกันจะให้ถือเสมือนว่า ใช้คำสั่ง AND
----------------------------------------------------------------------------------------------------------------------------------------------
job <condition> <level>
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อจ๊อบเลเวลของจตัวละครเทากับ <condition> ที่ตั้งไว้
บันทัดเรียงกันจะให้ถือเสมือนว่า ใช้คำสั่ง AND
----------------------------------------------------------------------------------------------------------------------------------------------
class <job>
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อ อาชีพเป็นไปตามที่ตั้งไว้
----------------------------------------------------------------------------------------------------------------------------------------------
spell <spell> [, ...]
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อมีการร่ายเวทย์ ที่ตั้งไว้ใน <spell> ไปยังตัวเราหรือไปยังในบริเวณที่เราอยู่
ถ้าใส่ Comma (,)แยกลิสต์จากกันให้ถือว่าเป็นการเชคสภาพแบบ OR
----------------------------------------------------------------------------------------------------------------------------------------------
monster <monstername> [, ...]
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อมี monster ที่เราตั้งไว้ใน <monstername> อยู่ใกล้ๆ
เมื่อ trigger แล้วจะมีการ set ค่าตัวแปล $.lastMonster และ $.lastMonsterPos
ถ้าใส่ Comma (,) แยกลิสต์ออกจากันให้ถือว่าเป็นการเชคสภาพแบบ OR (หรืออย่างใดอย่างหนึ่ง )
บันทัดเรียงกันจะให้ถือเสมือนว่า ใช้เงื่อนไข AND
----------------------------------------------------------------------------------------------------------------------------------------------
notMonster <monstername> [, ...]
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อ monster ที่เราไม่ได้ตั้งไว้ในลิสต์ปรากฎขึ้น
ถ้าใส่ Comma (,) แยกลิสต์ออกจากกันให้ถือว่าเป็นการเชคสภาพแบบ AND
----------------------------------------------------------------------------------------------------------------------------------------------
aggressives <condition><number>
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อจำนวน <number> monster
ถ้าใส่ Comma (,) แยกลิสต์ออกจากันให้ถือว่าเป็นการเชคสภาพแบบ AND
----------------------------------------------------------------------------------------------------------------------------------------------
player "<playername>" [, <distance> ]
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อผู้เล่นชื่อที่ใส่ใน <playername> อยู่ในหน้าจอหรือในระยะห่างไม่เกิน<distance>บล๊อค
บันทัดเรียงกันจะให้ถือเสมือนว่าใช้เงื่อนไข AND
----------------------------------------------------------------------------------------------------------------------------------------------
equipped [<slot>] (<item>|none) [, ...]
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อสวมใส่ <item> หรือไม่ได้สวมใส่ item [ในช่อง <slot>]
Slots are ศรีษะส่วนบน, ศรีษะส่วนกลาง, ศรีษะส่วนล่าง, มือซ้าย, มือขวา, เสื้อ, เกราะ, รองเท้า,
เครื่องสวมใส่มือซ้าย, เครื่องสวมใส่มือขว และลูกธนู
ถ้าใส่ Comma (,) แยกลิสต์ออกจากันให้ถือว่าเป็นการเชคสภาพแบบ OR
บันทัดเรียงกันจะให้ถือเสมือนว่า ใช้เงื่อนไขแบบ AND
----------------------------------------------------------------------------------------------------------------------------------------------
var <variable> (unset|<[[Macroplugin#Conditions|condition]]> <value>)
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อตัวแปร <variable> ถูก unset หรือว่าถูกต้องตาม<[[Macro plugin#เงื่อนไข|condition]]> <value>
บันทัดเรียงกันจะให้ถือเสมือนว่า ใช้เงื่อนไขแบบ AND
----------------------------------------------------------------------------------------------------------------------------------------------
varvar <nested variable> (unset|<[[Macroplugin#Conditions|condition]]> <value>)
triggers เมื่อตัวแปรแบบวน <nested variable> ถูก unset หรือถูกต้องตาม <condition> <value>
บันทัดเรียงกันจะให้ถือเสมือนว่า ใช้เงื่อนไขแบบ AND
----------------------------------------------------------------------------------------------------------------------------------------------
console ("<text>"|/<[http://www.regular-expressions.info/ regexp]>/[i])
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อได้รับข้อความ <text>ผ่านทางหน้าต่าง consol หรือข้อความถูกต้องตามเงื่อนไข <regexp>
ตัวเลือก i หมายถึงอักษรภาษาอังกฤษสามารถใช้ได้ทั้งตัวเล็กและตัวใหญ
ใน [http://www.regular-expressions.info/regexp] ชุดคำสั่ง $.lastLogMsg
----------------------------------------------------------------------------------------------------------------------------------------------
pm ("<text>"|/<[http://www.regular-expressions.info/regexp]>/[i]) [, <player>]
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อได้รับกระซิบข้อความ <text>[จากผู้เล่น <player>] หรือข้อความที่ได้รับถูกต้องตามเงื่อนไข<regexp>
ตัวเลือก i หมายถึงอักษรภาษาอังกฤษสามารถใช้ได้ทั้งตัวเล็กและตัวใหญ่
ใน[http://www.regular-expressions.info/regexp] ชุดคำสั่ง $.lastpm และ$.lastpmMsg
----------------------------------------------------------------------------------------------------------------------------------------------
pubm ("<text>"|/<[http://www.regular-expressions.info/ regexp]>/[i]) [, <distance>]
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อได้รับข้อความ <text>[ภายในระยะ <distance>] หรือข้อความถูกต้องตามเงื่อนไข <regexp>
ตัวเลือก i หมายความว่าจีงอักษรภาษาอังกฤษสามารถใช้ได้ทั้งตัวเล็กและตัวใหญ่
ใน [http://www.regular-expressions.info/regexp] ชุดคำสั่ง [[Macroplugin#$.lastpub|$.lastpub]]
และ [[Macroplugin#$.laspubMsg|$.lastpubMsg]]
----------------------------------------------------------------------------------------------------------------------------------------------
party ("<text>"|/<[http://www.regular-expressions.info/ regexp]>/[i])
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อได้รับข้อความ <text> จากปาร์ตี้หรือข้อความถูกต้องตามเงื่อนไข <regexp>
ตัวเลือก i หมายความว่า จีงอักษรภาษาอังกฤษสามารถใช้ได้ทั้งตัวเล็กและตัวใหญ่
ใน [http://www.regular-expressions.info/regexp]
ชุดคำสั่ง [[Macroplugin#$.lastparty|$.lastparty]] และ [[Macroplugin#$.lastpartyMsg|$.lastpartyMsg]]
----------------------------------------------------------------------------------------------------------------------------------------------
guild ("<text>"|/<[http://www.regular-expressions.info/ regexp]>/[i])
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อไดัรับข้อความ <text> จากกิลด์หรือข้อความที่ได้รับถูกต้องตามเงื่อนไข <regexp>
ตัวเลือก i หมายความว่า จีงอักษรภาษาอังกฤษสามารถใช้ได้ทั้งตัวเล็กและตัวใหญ่
ใน [http://www.regular-expressions.info/regexp] Sets $.lastguild และ$.lastguildMsg
----------------------------------------------------------------------------------------------------------------------------------------------
hook <hookname>
----------------------------------------------------------------------------------------------------------------------------------------------
triggers เมื่อ openkore เรียกไปยัง<hookname>
----------------------------------------------------------------------------------------------------------------------------------------------
saveN <hash key>
----------------------------------------------------------------------------------------------------------------------------------------------
(ใช้ด้วยกันกับคำสั่ง hook) จัดเก็บค่าของ <hash key> ในตัวแปรหนึ่ง [[Macroplugin#$.hooksaveN|.hooksave1]] ไปยัง .hooksaveN
----------------------------------------------------------------------------------------------------------------------------------------------
run-once (0|1)
----------------------------------------------------------------------------------------------------------------------------------------------
เมื่อตั้งค่าให้เป็น 1 automacro จะไม่ทำงานหลังจากถูก triggered
ใช้คำสั่งมาโคร[[Macroplugin#release_macro|release]] ในการที่จะให้ automacro ทำงานอีกที
----------------------------------------------------------------------------------------------------------------------------------------------
overrideAI (0|1)
----------------------------------------------------------------------------------------------------------------------------------------------
เมื่อตั้งค่าเป็น 1 มาโครจะไม่สนใจ AI ของ openkore ซึ่งหมายความว่ามาโครจะไม่หยุดในระหว่างที่บอทเดิน "move"
หรือตาย "status dead"
----------------------------------------------------------------------------------------------------------------------------------------------
delay <n>
----------------------------------------------------------------------------------------------------------------------------------------------
เว้นระยะเป็นเวลา<n>วินาทีก่อนที่จะเรียกมาโครที่เกี่ยวข้อง
----------------------------------------------------------------------------------------------------------------------------------------------
timeout <n>
----------------------------------------------------------------------------------------------------------------------------------------------
เว้นระยะอย่างน้อย <n>วินาทีก่อนที่ automacro จะทำงานอีกที
----------------------------------------------------------------------------------------------------------------------------------------------
macro_delay <n>
----------------------------------------------------------------------------------------------------------------------------------------------
เป็นการทับต้วแปรรวม the global macro_delay
===============================================================================
ตั้งค่าสำหรับเรียกมาโคร
===============================================================================
----------------------------------------------------------------------------------------------------------------------------------------------
priority <num>
----------------------------------------------------------------------------------------------------------------------------------------------
เลือกว่าจะต้องเชค automacros ตัวไหนก่อน ยิ่งค่า <num> น้อยเท่าไร automacro จะถูกเชคเร็วขึ้นแต่
ถ้าไม่ได้ตั้งค่าตัวเลือกไว้ ถือว่า ค่าอยู่ที่ 0 (ศูนย์:จะถูกเชคก่อน)
----------------------------------------------------------------------------------------------------------------------------------------------
exclusive (0|1)
----------------------------------------------------------------------------------------------------------------------------------------------
Automacros ที่มีชุดพิเศษ exclusive และ automacros ตัวอื่นจะมาหยุดการทำงานไม่ได้
เช่นเดียวกับมาโคร 1.3.0 ปกติแล้ว automacro สามารถหยุดการทำงานของมาโครได้ ดังนั้นเพื่อที่จะไม่ให้ถูกหยุดก็อาจ
จะตั้งตัวเลือกนี้ หรือโดยการใฃ้คำสั่งตัวเลือกใน -exclusive
----------------------------------------------------------------------------------------------------------------------------------------------
set <variable> <value>
----------------------------------------------------------------------------------------------------------------------------------------------
ตั้งค่าตัวแปร<variable> ให้เป็นค่า <value> ผู้ใช้สามารถทำลายๆ ชุด
set หลายๆ บันทัดต่อ 1 automacro
----------------------------------------------------------------------------------------------------------------------------------------------
call <name>
----------------------------------------------------------------------------------------------------------------------------------------------
เรียกมาโคร macro ชื่อ <name> เมื่อ automacro ถูก triggered.
call {
<instructions>
}
เรียกไปยัง<instructions> เมื่อ automacros ถูก triggered
----------------------------------------------------------------------------------------------------------------------------------------------
orphan <method>
----------------------------------------------------------------------------------------------------------------------------------------------
จัดตั้งวิธีการจัดการกับ orphaned
###############################################################################
ตัวอย่างการใช้ Automacro
###############################################################################
automacro checkshop {
location prontera
soldout >= 3
delay 60
call reopenshop
}
macro reopenshop {
do closeshop
}
มาโคร นี้ถูก triggered เมื่อเปิดร้านในเมืองพรอนเทราและมี items ขายไปแล้วสามชิ้นหรือมากกว่า
เมื่อ triggered แล้วจะรอ 1 นาทีแล้วเรียกไปยังมาโครชื่อ "reopenshop" เพื่อปิดร้าน
ถ้าผู้ใช้เปิดร้านอยู่ shopAuto_open or autoshop
ตั้งค่าเป็น 1, จะเปิดร้านอีกครั้งหนึ่งหลังจากระยะเวลานึง
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 และเวบอื่นๆที่ไม่ได้กล่าวถึงไว้ ณ.ทีนี้ด้วยนะคะ (ขอบคุณเป็นภาษาอังกฤษไว้ด้านบนนานแล้ว แต่เผื่ออาจมองกันไม่เห็นนะคะ เลยขอบคุณอีกรอบ)
เชิญชวนทำบุญแทนการเซทบอทให้โหลดฟรีคะ
ไม่บังคับนะคะ
แต่ใครเอาบอทไปใช้เองไม่ว่ากัน แต่ใครเอาบอทไปใช้ในทางธุรกิจ ไม่บริจาคขอให้จู้ดๆ อิอิ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น