การเปลี่ยนแปลงการพัฒนา การจัดทำเอกสาร และการทดสอบ 2.13 สำหรับการแก้ไขขั้นสุดท้ายสำหรับการเผยแพร่
พื้นที่เก็บข้อมูล Addons VSH2
ข้อสังเกต: Readme นี้จะได้รับการอัปเดตเร็ว ๆ นี้ ขอบคุณสำหรับความอดทนของคุณ!
VSH2 เป็นการเขียนใหม่ของ VSH1 VSH1 และ FF2 ต่างก็มีเฟรมเวิร์กโหมดเกมที่แย่มากโดยใช้โค้ดที่ต่ำและแฮ็ก ฉันพูดได้เลยว่าพวกเขาอาจไม่มีเฟรมเวิร์กเลยและไม่มีโครงสร้างที่แท้จริงของโค้ดเลย
จริงๆ แล้ว VSH2 มีเฟรมเวิร์กที่มีโครงสร้างตามเหตุการณ์ซึ่งรวมคุณสมบัติที่ดีที่สุดของทั้ง FF2 และ VSH1 ไว้ด้วยกัน โดยไม่เพียงแต่ได้รับการสนับสนุนบอสแบบผู้เล่นหลายคนเท่านั้น แต่ยังช่วยให้เพิ่มบอสใหม่ได้ง่ายขึ้น และ มอบความสามารถและกลไกที่เป็นเอกลักษณ์อย่างแท้จริงให้แก่พวกเขา ผ่านการมอบสิทธิ์ให้นักพัฒนาอย่างเต็มที่ การควบคุมที่ไม่ถูกยับยั้งด้วยรหัสแทนที่จะใช้ไฟล์กำหนดค่าอย่างเคร่งครัด
จุดประสงค์ของ FF2 คือการเพิ่มบอสในลักษณะทั่วไปที่ตัดคุกกี้ได้ง่ายมาก แน่นอนว่ามีข้อแลกเปลี่ยน: FF2 นั้นยากกว่ามาก หรือเป็นไปไม่ได้เลย ในการปรับแต่งกลไกและความสามารถของบอสอย่างแท้จริง โดยไม่ต้องเขียนโค้ดบางส่วนของ FF2 ใหม่ VSH2 เนื่องจากมันต้องการประสบการณ์อย่างน้อยกับ SourcePawn จึงค่อนข้างยากสำหรับมือใหม่ในการสร้างบอสใหม่มากกว่าการใช้ FF2 แต่การเลือกรางวัล VSH2 ที่เป็นเส้นทางที่ยากกว่าโดยอนุญาตให้คุณควบคุมไอ้เลวใกล้กับพฤติกรรมของบอสแต่ละตัวและ ตรรกะ.
หากคุณต้องการความช่วยเหลือในการตั้งค่าบอสหรืออย่างน้อยก็ต้องการข้อมูลบางอย่างเกี่ยวกับ API สำหรับการสร้างบอส ให้ใช้ประโยชน์จาก API ขนาดใหญ่ของ VSH2 โดยดูที่วิกิ VSH2
หมายเหตุ: VSH2 จะทำงานได้ดีอย่างสมบูรณ์แบบเหมือนแกะกล่องมาแทนที่ VSH1 แต่ได้รับการออกแบบโดยคำนึงถึง นักพัฒนา SourcePawn ที่มีความสามารถ เพื่อให้ได้ประโยชน์สูงสุดจากเฟรมเวิร์กที่เข้ารหัสตั้งแต่เริ่มต้น!
addons/sourcemod/configs
ตรวจสอบให้แน่ใจว่าได้เก็บโครงสร้างโฟลเดอร์ที่อยู่ในการกำหนดค่าไว้ใช้ไวยากรณ์ sourcepawn ใหม่ (sourcemod 1.7+)
ข้อความที่ต้องใช้วงเล็บ (เช่น คำสั่ง 'if') ควรเว้นแต่ละด้านของวงเล็บโดยให้วงเล็บเริ่มต้นสัมผัสกับคีย์เวิร์ดของโครงสร้าง เช่น construct( code/expression )
ความคิดเห็นบรรทัดเดียวที่สื่อข้อความจะต้องมีเครื่องหมายทับ 3 ตัว: ///
ความคิดเห็นหลายบรรทัดที่สื่อข้อความควรมีดาวเริ่มต้นเพิ่มเติม: /**
คุณสมบัติ ฟังก์ชัน และเมธอดที่มีโค้ดน้อยกว่า 30 บรรทัดควรมีเครื่องหมายปีกกาขึ้นต้น {
วงเล็บปีกกาในรูปแบบ K&R C เช่น: ret func() {
ชื่อตัวแปรโลคัลควรอยู่ในรูปแบบ Snake_case
ชื่อคุณสมบัติต้องมีคำนำหน้าด้วยตัวอักษรตัวเดียวตามประเภท
ฟังก์ชัน วิธีการ เมธอดแมป การแจงนับ ค่าแจงนับ ต้องมีชื่อใน PascalCase Pascal_Case ก็ยอมรับได้เช่นกัน
ค่าแจงนับที่ใช้เป็นแฟล็กอาจเป็นตัวพิมพ์ใหญ่
กฎค่าคงที่ที่มีชื่อ:
1.0
) ควรเป็นค่าคงที่แจงนับที่บวกด้วย 0.0
ณ ตำแหน่งที่ใช้งาน3.14
) ควรถูกกำหนดโดยตัวประมวลผลล่วงหน้า คำสั่ง if
ที่ถูกล่ามโซ่ไม่ได้แย่ แต่ถ้าข้อมูลเป็นเพียงสิ่งเดียวในแต่ละครั้ง ให้ใช้คำสั่ง if-else if
if-else if
กับข้อมูลชิ้นเดียว ให้ใช้คำสั่ง switch
ฟิลด์/แฟล็กบิตช่วยให้คุณใช้ int เดียวเป็น 32 บูล มีประโยชน์หากองค์ประกอบสามารถมีได้หลายด้านพร้อมกัน
1 << n
โดยที่ n
อยู่ระหว่าง 0 ถึง 31IntLog2
ใน int_log.inc
: n == IntLog2(1 << n)
ไม่มี การเพิ่มขึ้นล่วงหน้า ++i, i--
, หลังการเพิ่ม เท่านั้น i++, i--