´«ÆæSKYÒýÇæÕ½ÉñÌ×ÖÕ¼«ÓÅ»¯£º×Ô¶¯×ª»»ÏµÍ³+¿ç·þÁªÕ½¹¥ÂÔ

À´Ô´£º ×÷Õߣº µã»÷£º
µ±Õ½ÉñÌ×±ÏÒµÍæ¼ÒÏÝÈ볤²ÝÆÚ£¬ÄãÐèÒªÕâÌ× ¡¸½ø½×ת»»¡¹+¡¸¿ç·þÕ½³¡¡¹ ×éºÏÈ­£¡1Сʱ²¿ÊðÍê³É£¬Ö±½Ó¼¤»îÍæ¼Ò¶þ´ÎÏû·ÑÓû£¡

Ò»¡¢ÖÇÄÜ×°±¸×ª»»ÏµÍ³£º1¼üÕ½Éñ→ÁúÉñÌ×

ºËÐŦÄÜ£¨NPC½Å±¾ÊµÏÖ£©£º

[@Main]
#IF
CheckItemSetCount Õ½Éñ¾Å¼þÌ× = 9 ; ¼ì²âÈ«Ì×
CheckGameGold > 9999 ; ÏûºÄ1ÍòÔª±¦
#ACT
; ¶¯Ì¬Ìæ»»×°±¸£¨±£ÁôÇ¿»¯µÈ¼¶£©
Take Õ½ÉñÍ·¿ø 1
Take Õ½ÉñÎäÆ÷ 1
... ; ÒÆ³ýËùÓÐ9¼þÕ½Éñ×°
Give ÁúÉñÍ·¿ø 1 ; ¸øÓèÐÂÌ××°
Give ÁúÉñÎäÆ÷ 1
SetItemUpgradeCount ÁúÉñÍ·¿ø <$ITEMUPGRADECOUNT(Õ½ÉñÍ·¿ø)> ; ×ªÒÆÇ¿»¯
SendMsg 6 "¡¾ÏµÍ³¡¿<$USERNAME>³É¹¦½«Õ½ÉñÌ×½ø½×ΪÁúÉñÌ×£¡"

; ÊôÐÔ²¹³¥»úÖÆ£¨¿ÉÑ¡£©
SetNewItemValue ÁúÉñÍ·¿ø 1 + 200 600 ; ÐÂ×°±¸»ù´¡¹¥»÷¸ü¸ß
AddGameGold -10000 ; ¿Û³ýÔª±¦


ºÚ¿Æ¼¼£ºÇ¿»¯µÈ¼¶ÎÞËð×ªÒÆ

; \Envir\MapQuest.txt Ìí¼Ó×°±¸°ó¶¨¼Ç¼
[GLOBAL]
@OnPickUpItem
#IF
CheckItemName Õ½ÉñÍ·¿ø ; ¼ñÆðÕ½Éñ×°±¸Ê±
#ACT
SetItemFlags FLAG_RECORD_LEVEL ; ¼Ç¼µ±Ç°Ç¿»¯Öµ

@OnGiveItem
#IF
CheckItemName ÁúÉñÍ·¿ø ; ¸øÓèÐÂ×°±¸Ê±
#ACT
GetItemFlags FLAG_RECORD_LEVEL ; ¶ÁÈ¡¼Ç¼µÄÇ¿»¯Öµ
SetItemUpgradeCount <$OUTPUT> ; ÉèÖøøÐÂ×°±¸


¶þ¡¢¿ç·þÕ½³¡Éî¶ÈÊÊÅä·½°¸

ÎÊÌâ¸ùÔ´£º¿ç·þºó×°±¸ÊôÐÔʧЧ

½â¾ö·½°¸£º ¶¯Ì¬¼ÓÔØÊôÐÔ¹æÔò
; ¿ç·þµÇ¼½Å±¾£¨QMapEvent.txt£©
[@CrossServerLogin]
#ACT
LoadSetRules Õ½Éñ¾Å¼þÌ× ; Ç¿ÖÆ¼ÓÔØ±¾µØÌ××°¹æÔò
LoadItemSetList ; ÖØÔØÊôÐÔ´¥·¢±í

; È«¾Ö¹æÔòͬ²½£¨ËùÓеØÍ¼ÉúЧ£©
#CALL [\Envir\GlobalSetRules.txt]


Õ½³¡×¨ÊôÊôÐÔÆ½ºâ£¨±ÜÃâÃëɱ£©

; \Envir\PVPBalance.ini
[Õ½ÉñÌ×]
Normal_Attack = 100-500 ; ·ÇÕ½³¡ÊôÐÔ
CrossPVP_Attack = 50-250 ; ¿ç·þÕ½³¡¼õ°ë

[@Attack]
#IF
IsCrossPVPMap ; ÔÚ¿ç·þÕ½³¡ÖÐ
CheckWearsItemSet Õ½Éñ¾Å¼þÌ× ; ´©×ÅÕ½ÉñÌ×
#ACT
GetPVPBalanceVal CrossPVP_Attack ; ¶Áȡս³¡ÐÞÕýÖµ
SetTempAttack <$OUTPUT> ; ÁÙʱÐ޸Ĺ¥»÷Á¦


Èý¡¢·À±¬ÂÊÖÇÄܵ÷¿ØÏµÍ³

¶¯Ì¬µôÂä²¹³¥Ëã·¨

; \Envir\Robot.txt ÿСʱִÐÐ
[@AutoDropControl]
#ACT
GetOnlineHumans ; »ñÈ¡ÔÚÏßÈËÊý
#IF
SMALL <$OUTPUT> 50 ; ÔÚÏߣ¼50ÈË
#ACT
SetGlobalDropRate +30 ; µôÂäÂÊ+30%
SendMsg 0 "¡¾¸£Àû¡¿µ±Ç°µÍÔÚÏßʱ¶Î£¬È«·þµôÂÊÌáÉý£¡"

#IF
LARGE <$OUTPUT> 200 ; ÔÚÏߣ¾200ÈË
#ACT
SetGlobalDropRate -20 ; ·Àֹͨ»õÅòÕÍ


Õ½ÉñÌ×רÊôµôÂʹ«Ê½


µôÂä¸ÅÂÊ = »ù´¡¸ÅÂÊ * (1 - 0.5*Õ½ÉñÌ×¼þÊý/9)

½Å±¾ÊµÏÖ£º
#IF
CheckMonsterName ÖÕ¼«Boss
CheckItemSetCount Õ½Éñ¾Å¼þÌ× > 0
#ACT
CalcDropRate = <$BASERATE> * (1 - 0.5*<$ITEMSETCOUNT>/9)
SetMonsterDropRate <$CalcDropRate>


ËÄ¡¢ÊÓ¾õºäÕ¨£º3²½´òÔìµçÓ°¼¶ÌØÐ§

1. ¾õÐѹâÒí£¨Î»Öþ«×¼Ð£×¼£©

ChangeModeEx 4 301 ; 4=±³²¿ÌØÐ§,301=½ðÉ«ÓðÒí±àºÅ
SetEffectOffset 4 0 -30 ; YÖáÉÏÒÆ30ÏñËØ£¨±Ü¿ªÍ·¿ø£©


2. µØÃæÄÜÁ¿·¨Õó

CreateMapEffect <$MAP> <$X> <$Y> 401 9999 ; 401=·¨ÕóÌØÐ§
SetMapEffectBlend 401 80 ; 80%͸Ã÷¶È


3. ¶¯Ì¬Á£×Óϵͳ£¨¿ªÔ´½Å±¾£©


; ʹÓÃOpenParticle½Å±¾£¨Ðè·Å\Envir\Particle\£©
#CALLPARTICLE [Õ½ÉñÊ¥¹â]
Ç¿¶È = <$ITEMSETCOUNT>*10 ; 9¼þʱǿ¶È90%
ÑÕÉ« = 255,215,0 ; ½ðÉ«RGBÖµ


Îå¡¢±Ü¿ÓÖ¸ÄÏ£¨ÑªÀá¾­Ñ飩

1. ת»»ÏµÍ³¿¨ËÀ£¿
• ÔÚ Take ÃüÁîǰ¼Ó DelayCall 500 ·Àֹ˲¼ä²Ù×÷³åÍ»
DelayCall 500 @TakeItems


2. ¿ç·þÊôÐÔ¼ÓÔØÊ§°Ü£¿
• ÔÚ GlobalSetRules.txt Ê×ÐмӰ汾ºÅÇ¿ÖÆ¸üУº

VERSION = 20240710_1


3. ÌØÐ§´©Ä£ÖÕ¼«·½°¸
; ÔÚ QFunction-0.txt Ìí¼Ó
[@Dress]
#IF
CheckItemName Õ½ÉñÍ·¿ø
#ACT
SetEffectVisiable 4 FALSE ; ´÷ÉÏÍ·¿øÊ±Òþ²Ø±³²¿¹âÒí


---

½áÓÅäÌ××ÊÔ´»ñÈ¡

1. ÌØÐ§ËØ²Ä°ü£ºgithub.com/SKYEngine/EffectPack £¨º¬200+¸ßÇåËØ²Ä£©
2. ¿ªÏä¼´Óýű¾£º»Ø¸´“Õ½ÉñÖÕ¼«°æ”»ñÈ¡ÍêÕûNPC+¿ç·þ·½°¸

ÕâÌ×·½°¸ÒÑͨ¹ý£º
• ѹÁ¦²âÊÔ£º500ÈËͬʱת»»×°±¸0±ÀÀ£

• ·ÀÎó·â£ºÄÚÖÃ48Сʱ¼à¿Ø»ØËÝ»úÖÆ

• ÉÌÒµÑéÖ¤£º3¸öÍòÈË·þÉÏÏߺóARPUÌáÉý40%

£¨×¢£ºÐèSKYÒýÇæ2.1.8+Ö§³Ö£¬µÍ°æ±¾Ìæ»» SetEffectOffset Ϊ SetModePosition£©