irpg Community
มีคำถามเกี่ยวกับสคริปต์ของสกิลครับ - Printable Version

+- irpg Community (https://irpg.in.th)
+-- Forum: irpg Fabella RPG Maker Academia (https://irpg.in.th/forum-4.html)
+--- Forum: RPG Maker Engine School (https://irpg.in.th/forum-7.html)
+--- Thread: มีคำถามเกี่ยวกับสคริปต์ของสกิลครับ (/thread-2519.html)

Pages: 1 2


มีคำถามเกี่ยวกับสคริปต์ของสกิลครับ - Ivan_GilDong - 08-11-2015

ผมมีคำถามอยากจะมาถามครับDerp
1. พอจะมีสคริปต์ที่ทำให้สกิลของตัวละครเปลี่ยนไปตามเครื่องสวมใส่ไหมครับ
เช่น ใส่ชุดนี้ใช้สกิลทุบพื้น พอเปลี่ยนชุดนี้เป็นสกิลอื่นๆอ่ะครับ
2. พอจะมีวิธีเขียนสกิลที่ป้องกันการโจมตีของสายระยะไกลทุกประเภทไหมครับ
3. พอจะมีวิธีที่ทำให้เมื่อไม่ใส่เครื่องสวมใส่ที่กำหนดเเล้ว จะไม่สามารถใช้สกิลนั้นๆได้เช่น ถ้าไม่ใส่โล่ จะไม่สามารถใช้สกิลกระแทกโล่ได้
4. ถ้าผมอยากเปลี่ยนจากการใช้มานา เป็นรอคูลดาวน์ของสกิลจะต้องทำอย่างไงบ้างครับ
ขอบคุณครับ


RE: มีคำถามเกี่ยวกับสคริปต์ของสกิลครับ - splendith - 08-11-2015

แว่บมาตอบข้อ 1 ให้ครับ ไม่รู้ว่าลิ้งก์นี้ใช่สิ่งที่ต้องการไหมครับ
http://www.neoseeker.com/forums/22121/t923311-equipment-skills-script/


RE: มีคำถามเกี่ยวกับสคริปต์ของสกิลครับ - dreamknight - 08-11-2015

;3

ข้อ1 กับข้อ3 ไม่ใช่ระบบเดียวกันหรอครับ หรือผมสับสนเอง =w="


RE: มีคำถามเกี่ยวกับสคริปต์ของสกิลครับ - splendith - 08-11-2015

(08-11-2015, 08:29 PM)dreamknight Wrote: ;3

ข้อ1 กับข้อ3 ไม่ใช่ระบบเดียวกันหรอครับ หรือผมสับสนเอง =w="

ตอนแรกผมก็งงๆ นะ

ตามความเข้าใจของผมคิดว่า ข้อ 1 สกิลเกิดจากการมีเครื่องสวมใส่ ไม่ว่าเลเวลอะไรก็มีสกิลได้ถ้ามีเครื่องสวมใส่
แต่ข้อ 3 น่าจะเป็นสกิลที่ได้จากเลเวลอัพ แต่มีเงื่อนไขคือต้องใส่เครื่องสวมใส่ถึงจะใช้สกิลได้

รอเจ้าตัวมายืนยันอีกทีละกันจ้า


RE: มีคำถามเกี่ยวกับสคริปต์ของสกิลครับ - Ivan_GilDong - 08-12-2015

(08-11-2015, 09:06 PM)splendith Wrote:
(08-11-2015, 08:29 PM)dreamknight Wrote: ;3

ข้อ1 กับข้อ3 ไม่ใช่ระบบเดียวกันหรอครับ หรือผมสับสนเอง =w="

ตอนแรกผมก็งงๆ นะ

ตามความเข้าใจของผมคิดว่า ข้อ 1 สกิลเกิดจากการมีเครื่องสวมใส่ ไม่ว่าเลเวลอะไรก็มีสกิลได้ถ้ามีเครื่องสวมใส่
แต่ข้อ 3 น่าจะเป็นสกิลที่ได้จากเลเวลอัพ แต่มีเงื่อนไขคือต้องใส่เครื่องสวมใส่ถึงจะใช้สกิลได้

รอเจ้าตัวมายืนยันอีกทีละกันจ้า
เข้าใจถูกแล้วครับ แมวยิ้ม
ปลื้ม มีคนเข้าใจ
ดีจัย


RE: มีคำถามเกี่ยวกับสคริปต์ของสกิลครับ - jojo741963 - 08-12-2015

น่าสนใจมากครับ แอบคล้ายๆ ระบบของเกมผมที่วางไว้เลย แมวเบิกบาน (ทว่ายังไม่ได้เริ่ม)

ขออนุญาติปูเสื่อรอคำตอบด้วยนะครับ -v-

ผมว่าสำหรับข้อ 2 แนวทางน่าจะเป็นทำสกิลเพิ่มอาการป้องกันเข้าไป และเช็คการป้องกันเกี่ยวกับการโจมตีในสคริปต์น่าจะได้ครับ


RE: มีคำถามเกี่ยวกับสคริปต์ของสกิลครับ - Shinryu - 08-15-2015

2.ผมว่าตั้งเป็นคุณสมบัติง่ายกว่านะ (ไม่ต้องเพิ่มสคริปต์ใหม่ให้ยุ่งยาก)

เช่น
ตั้งคุณสมบัติ "บิน"(สร้างใหม่) ไว้
ที่มอนติ๊ก บิน เป็น A
ที่ ธนู ติ๊ก / ไว้

ที่นี้ ฮีโร่ตัวไหน ใช้ธนูยิงมอนที่บินก็จะแรงขึ้น 2 เท่าแล้ว


ส่วนการป้องกันก็ทำคล้ายๆกัน ไปที่อาการ สร้างอาการใหม่มา1อัน(สมมุติชื่อ"กันยิงไกล")
แล้วติ๊กคุณสมบัติ "ยิงไกล"(สร้างใหม่) ไว้
จากนั้นมาที่ สกิล สร้างสกิลที่เพิ่มอาการ "กันยิงไกล"

ฮีโร่ตัวไหนที่มีอาการ "กันยิงไกล" ก็จะโดนการโจมตีประเภท "ยิงไกล" ก็จะลงครึ่งหนึ่ง

1,3 เคยเห็นสคริตป์อยู่นะ (ไม่ต้องขอผมนะ อารยะธรรมทั้งหมดหายไปกับร้านคอมแล้ว)
4.คงต้องเขียนสคริปต์เพิ่มเอง


RE: มีคำถามเกี่ยวกับสคริปต์ของสกิลครับ - Ivan_GilDong - 08-16-2015

ผมมีคำถามใหม่มาอีกแล้วครับ แมวยิ้ม
ถ้าผมอยากให้สกิลเป็นเเบบ 2 in 1
เช่น Dispell : ลบ Debuff ให้กับปาร์ตีทุกคน เเละลบ Buff ที่ดีของคู่ต่อสู้ 1 เป้าหมายในเวลาเดียวกัน
จะต้องทำอย่างไงหรอครับ?


RE: มีคำถามเกี่ยวกับสคริปต์ของสกิลครับ - jojo741963 - 08-16-2015

(08-16-2015, 05:49 PM)Ivan_GilDong Wrote: ผมมีคำถามใหม่มาอีกแล้วครับ แมวยิ้ม
ถ้าผมอยากให้สกิลเป็นเเบบ 2 in 1
เช่น Dispell : ลบ Debuff ให้กับปาร์ตีทุกคน เเละลบ Buff ที่ดีของคู่ต่อสู้ 1 เป้าหมายในเวลาเดียวกัน
จะต้องทำอย่างไงหรอครับ?

http://irpg.in.th/thread-239.html เจอสคริปต์นี้ แต่ว่ามีผลแค่ผู้ใช้คนเดียว

ถ้าแก้สคริปต์ไม่เป็น อาจจะต้องเชื่อมโยงสกิลไปเหตุการณ์ทั่วไป แล้วค่อยสั่ง เพิ่ม/ลด อาการตามที่กำหนด ซึ่งจะให้มอนใช้สกิลนี้ด้วย ก็ต้องทำสกิลอีกอัน หรือ เช็คที่เหตุการณ์ทั่วไปด้วยนะครับ ว่าผู้ใช้สกิลเป็นมอนหรือฮีโร่


RE: มีคำถามเกี่ยวกับสคริปต์ของสกิลครับ - splendith - 08-21-2015

(08-16-2015, 07:40 PM)jojo741963 Wrote:
(08-16-2015, 05:49 PM)Ivan_GilDong Wrote: ผมมีคำถามใหม่มาอีกแล้วครับ แมวยิ้ม
ถ้าผมอยากให้สกิลเป็นเเบบ 2 in 1
เช่น Dispell : ลบ Debuff ให้กับปาร์ตีทุกคน เเละลบ Buff ที่ดีของคู่ต่อสู้ 1 เป้าหมายในเวลาเดียวกัน
จะต้องทำอย่างไงหรอครับ?

http://irpg.in.th/thread-239.html เจอสคริปต์นี้ แต่ว่ามีผลแค่ผู้ใช้คนเดียว

ถ้าแก้สคริปต์ไม่เป็น อาจจะต้องเชื่อมโยงสกิลไปเหตุการณ์ทั่วไป แล้วค่อยสั่ง เพิ่ม/ลด อาการตามที่กำหนด ซึ่งจะให้มอนใช้สกิลนี้ด้วย ก็ต้องทำสกิลอีกอัน หรือ เช็คที่เหตุการณ์ทั่วไปด้วยนะครับ ว่าผู้ใช้สกิลเป็นมอนหรือฮีโร่

เพิ่มเติม โดยใส่ผลผู้ใช้กับทั้ง Party (หรือทั้งกลุ่มศัตรู หากเป็นสกิลของศัตรู)
ขอบคุณ Claimh ผู้สร้างสคริปต์หลัก, hengmana และ jojo741963 ผู้อ้างอิงครับ

หมายเหตุ: เงื่อนไขการติดสถานะไม่ได้เกิด 100% นะครับ ขึ้นกับปัจจัยหลายๆ อย่าง

[shcode=rails]
#==============================================================================
# ■ XP-RGSS-20 使用者ステート付与スキル [Ver.1.0.1] by Claimh
#------------------------------------------------------------------------------
# เพิ่มส่วนการมีผลกับพวกเดียวกันโดย Splendith
# รองรับทั้งสกิลผู้เล่น และสกิลศัตรู
#==============================================================================

module User_SetState
SET_STATE = []
#==============================================================================
# แก้ไขส่วนนี้
#==============================================================================
# SET_STATE[สกิลID] = [ [ติดอาการตามID], [ติดพวกเดียวกันทั้งกลุ่มหรือไม่], [ลบอาการตามID], [ลบพวกเดียวกันทั้งกลุ่มหรือไม่] ]
SET_STATE[1] = [[3],true,[4],false] # ใช้สกิล Heal แล้ว พวกเดียวกันทั้งหมดติดพิษ แก้ตาบอดแค่คนใช้สกิล
SET_STATE[7] = [[1],true,[],false] # ใช้สกิลไฟแล้ว ตายยกรัง
SET_STATE[7] = [[3,5],false,[4],true] # ใช้สกิลไฟแล้ว ผู้ใช้สกิลติดพิษ ใบ้ แต่แก้ตาบอดทั้งกลุ่ม
#==============================================================================
# สิ้นสุดส่วนแก้ไข
#==============================================================================
end


class Game_Battler
include User_SetState
alias skill_effect_user_setstate skill_effect
def skill_effect(user, skill)
set_state = SET_STATE[skill.id]
if set_state != nil
user.states_plus(set_state[0]) if set_state[0] != nil
user.states_minus(set_state[2]) if set_state[2] != nil

if((user.instance_of? Game_Actor) && (set_state[1] || set_state[3]))
$game_party.actors.each do |actor|
actor.states_plus(set_state[0]) if actor != user and set_state[0] != nil and set_state[1]
actor.states_minus(set_state[2]) if actor != user and set_state[2] != nil and set_state[3]
end
end
if((user.instance_of? Game_Enemy) && (set_state[1] || set_state[3]))
$game_troop.enemies.each do |enemy|
enemy.states_plus(set_state[0]) if enemy != user and set_state[0] != nil and set_state[1]
enemy.states_minus(set_state[2]) if enemy != user and set_state[2] != nil and set_state[3]
end
end

end
return skill_effect_user_setstate(user, skill)
end
end
[/shcode]