TELEROUTE_CONTROL.TXT

รูปแบบทั่วไปและหน้าที่ของคำสั่ง

ไฟล์ teleRoute_control.txt หรือ Teleportation Route and Method Control นั้น มีหน้าที่หลักคือกำหนดและควบคุมให้ Kore เลือกใช้รูปแบบการเคลื่อนที่ผ่านแมปต่างๆ ด้วยวิธีใด ซึ่งหลักๆก็คือ เทเลพอร์ต และเดิน นั่นเอง


หลายๆคนที่อ่านแะศึกษาคู่มือนี้มาตลอดตั้งแต่ส่วนแรกคงจะสังเกตเห็นแล้วว่าในไฟล์ config.txt นั้น ก็มีคำสั่ง teleRoute อยู่แล้วเพื่อให้เลือกระหว่างการเดินไป lockMap หรือ เทเลพอร์ตไป ซึ่งคำถามก็คือ มันจะไม่ทำงานทับซ้อนกันหรือ ระหว่างคำสั่งนั้นและไฟล์ตัวนี้


คำตอบก็คือฟังก์ชั่น teleRoute ในส่วนของไฟล์ Config.txt นั้น เป็นเพียงการควบคุมการเลือกวิธีให้ Kore ไปยัง lockMap แบบ Default เท่านั้น ก็คือ หากไม่ได้ตั้งค่าตรงนี้เพิ่ม(ซึ่งจะตั้งหรือไม่ตั้งก็ได้) Kore จะใช้วิธีที่เลือกใน teleRoute ไปใช้กับทุกแมปในเกม [ie. สั่งให้เดินก็เดินหมด - สั่งให้พอร์ตก็พอร์ตทุกแมป] แต่หากคุณอยากให้ Kore ทำอะไรแปลกๆ (เช่นเดินข้ามแมปที่มีคนเยอะให้ดูเหมือนคน) แค่บางแมปเท่านั้น คุณก็สามารถมาตั้งค่าได้ที่ไฟล์นี้นั่นเอง


การตั้งค่าและการใช้งาน teleRoute_control.txt


ก่อนจะเริ่มใช้งานไฟล์นี้ เรามาทำความรู้จัก Syntax หรือ โครงสร้างคำสั่งของไฟล์กันก่อนนะครับ คำสั่งของไฟล์จะอยู่ในรูปนี้ครับ


Syntax
 
(<Present Map>) (<Next Map>) (<Switch>) [<Walk Dist | Block Scope>]

คำอธิบายและค่าตัวแปรของชุดคำสั่งทั้งหมด


(<Present Map>)
ชื่อแผนที่ที่ Kore อยู่ในปัจจุบัน หาได้จากmaps.txt ในโฟลเดอร์ tables หรือกดคำสั่ง where
Note : ชื่อแมปไม่จำเป็นต้องใส่ *.rsw ใส่แค่ชื่อแมปเท่านั้น

(<Next Map>)
ชื่อแผนที่ที่ Kore กำลังจะไป หาได้จากmaps.txt ในโฟลเดอร์ tables หรือกดคำสั่ง where
Note : ชื่อแมปไม่จำเป็นต้องใส่ *.rsw ใส่แค่ชื่อแมปเท่านั้น

(<Switch>)
ระบุรูปแบบที่จะให้ Kore เคลื่อนที่ผ่านแมปปัจจุบันเพื่อไปยังแมปต่อไป
Value Meaning
0 เดินไปเรื่อยๆ
1 เทเลพอร์ตจนกว่าจะเจอ Portals ในระยะที่กำหนดใน[<Walk Dist>]
2 เปิดใช้ระบบ Block Scope

[<Walk Dist | Block Scope>]
ในส่วนนี้จะแบ่งออกเป็นสองส่วน คือ ค่า [<Walk Dist>] และ [<Block Scope>]

[<Walk Dist>] -- ใช้งานร่วมกับ (<Switch>) = 1
ระบุค่า ว่าให้ Kore เปลี่ยนจากการเทเลพอร์ตหาพอร์ทัลเป็นการเดินไปยังพอร์ทัลเมื่อระยะห่างจากพอร์ทัลน้อยกว่าหรือเท่ากับเท่าไหร่

[<Block Scope>] -- ใช้งานร่วมกับ (<Switch>) = 2
กำหนดแกน X และ Y ซึ่งจะทำให้เกิดกรอบสี่เหลี่ยม Block Scope ซึ่ง Kore จะใช้เป็นตัวกำหนด เมื่อ Kore เทเลพอร์ตมาอยู่ใน Block Scope เมื่อไหร่ ก็จะทำการเดินต่อไปจนถึงพอร์ทัลทันที


รูปแบบของค่า [<Block Scope>] -- ใช้งานกับ (<Switch>) = 2
[<x Min>] [<y Max>] [<x Max>] [<y Min>]
เมื่อค่าทั้ง 4 ตัว คือ
[<x Min>] ค่า X ตัว Minimum ซึ่งจะกลายเป็นกรอบด้านซ้ายของ Block
[<y Max>] ค่า Y ตัว Maximum ซึ่งจะกลายเป็นกรอบด้านบนของ Block
[<x Max>] ค่า X ตัว Maximum ซึ่งจะกลายเป็นกรอบด้านขวาของ Block
[<y Min>] ค่า Y ตัว Minimum ซึ่งจะกลายเป็นกรอบด้านล่างของ Block

ตัวอย่างการเซต teleRoute_control.txt กรณีเดินจากแมป prt_fild08 ไปยัง moc_fild01


Example 1 : กำหนดให้เดินไปตลอด
 
prt_fild08 moc_fild01 0

หากตั้งค่าเช่นนี้ เมื่อ Kore อยู่ที่แมป prt_fild08 และกำลังจะผ่านไปยังแมป moc_fild01 นั้น Kore จะไม่เทเลพอร์ต ถึงแม้ว่าจะเซต teleRoute ใน config.txt เป็น 1 ก็ตาม


Example 2 : กำหนดให้เทเลพอร์ตจนได้ระยะที่กำหนด
 
prt_fild08 moc_fild01 1 75

หากตั้งค่าเช่นนี้ เมื่อ Kore อยู่ที่แมป prt_fild08 และกำลังจะผ่านไปยังแมป moc_fild01 นั้น Kore จะเทเลพอร์ตจนกว่าจะเจอพอร์ทัลในระยะการเดิน 75 ก้าว ถึงแม้ว่าจะเซต teleRouteDist ใน config.txt เป็นค่าอื่นก็ตาม


Example 3 : กำหนดให้ใช้ระบบ Block Scope
 
prt_fild08 moc_fild01 2 210 40 260 10

หากตั้งค่าเช่นนี้ เมื่อ Kore อยู่ที่แมป prt_fild08 และกำลังจะผ่านไปยังแมป moc_fild01 นั้น Kore จะเทเลพอร์ตจนกว่าจะไปอยู่ใน Scope ของแกน X ที่ 210 - 260 และ แกน Y ที่ 10 - 40 (กรอบสีแดงดังรูปด้านล่าง) จึงจะทำการเดินไปยังพอร์ทัล(กำหนดค่าจากตำแหน่งพอร์ทัลที่อยู่ที่จุด 233 , 16)


ตัวอย่างกรอบที่เกิดจากการทำ Block Scope เมื่อเปิดใช้งานกับ (<Switch>) แบบที่ 2


Note : การใช้ระบบ Block Scope ค่อนข้างยุ่งยากเนื่องจากจำเป็นต้องรู้พิกัดของ Portals แน่นอนก่อนแล้วจึงทำการคำนวณบวกลบพิกัดแกน X / Y เพื่อสร้าง Scope Block ให้ Kore ทำการเทเลพอร์ตมาอยู่ในพื้นที่ที่กำหนด หากไม่ถนัดและชำนาญแล้วแนะนำให้ใช้ตามตัวอย่างที่ 2 จะง่ายกว่ามาก