Ò»¡¢¹ÊÕÏ¿ìÕÕ¶¨Î»£¨ÄãµÄ½Å±¾ÎÊÌâÕï¶Ï£©
graph LR
A[µã»÷ÎÞ·´Ó¦]-->B{Èý´óÖÂÃüÉË}
B-->C[²ÎÊý¸ñʽÖÂÃü·´]
B-->D[ÎïÆ·Ãû³ÆÓÄÁé¿Õ¸ñ]
B-->E[»ØÊÕ»úÖÆºÚ¶´]
▶ ÄãµÄ´úÂë“ËÀÍöÈý½Ç”£º
OpenItemBoxEx 1 1 → µÚ¶þ²ÎÊý±ØÐëΪ0£¨1»á´¥·¢Î´Öª´íÎó£©
×ϱÌÂÝ → Êý¾Ý¿âʵ¼ÊÃû¿ÉÄÜÊÇ×ϱÌÂݽäÖ¸
ÑÏÖØÂ©¶´£ºÎ´ÓÃTakeÒÆ³ýÔÎïÆ· → ¿ÉÎÞÏÞ¸´ÖÆ×°±¸£¡
¶þ¡¢¹¤Òµ¼¶ÐÞ¸´½Å±¾£¨2024ʵ²â°æ£©
ºËÐÄNPC½Å±¾£¨Market_Def/²ð½â´óʦ.txt£©
[@main]
<ÇëÑ¡ÔñÒª²ð½âµÄ½äÖ¸/SCOLOR=249>\
¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T\
¡¸Ê¥Õ½½äÖ¸¡¹→ 3¸ö¡¸Á¦Á¿½äÖ¸¡¹ <²ð½â/@dism_sz>\
¡¸Ìì×ð½äÖ¸¡¹→ 3¸ö¡¸Ì©Ì¹½äÖ¸¡¹ <²ð½â/@dism_tz>\
¡¸×ϱÌÂݽäÖ¸¡¹→ 3¸ö¡¸×ϱÌÂݽäÖ¸¡¹ <²ð½â/@dism_zb> //×¢ÒâÃû³ÆÒ»ÖÂÐÔ
[@dism_sz]
ACT
OpenItemBoxEx 1 0 ²ð½â-Ê¥Õ½½ä //¹Ø¼üµã£ºµÚ¶þ²ÎÊý=0
[@dism_tz]
ACT
OpenItemBoxEx 2 0 ²ð½â-Ìì×ð½ä //²»Í¬Ê¼þÓò»Í¬ID
[@dism_zb]
ACT
OpenItemBoxEx 3 0 ²ð½â-×ϱÌÂÝ
ʼþ´¥·¢½Å±¾£¨QuestDiary/Q-Function.txt£©
ʼþIDÓëOpenItemBoxExµÚÒ»²ÎÊýÇ¿¹ØÁª
[@GetBoxItem1] ;//¶ÔӦʥս½ä
if
CHECKITEMID Ê¥Õ½½äÖ¸
act
Take Ê¥Õ½½äÖ¸ 1
Give Á¦Á¿½äÖ¸ 3
SENDMSG 6 ²ð½â³É¹¦£¡»ñµÃ3öÁ¦Á¿½äÖ¸
break
[@GetBoxItem2] ;//¶ÔÓ¦Ìì×ð½ä
if
CHECKITEMID Ìì×ð½äÖ¸
act
Take Ìì×ð½äÖ¸ 1
Give ̩̹½äÖ¸ 3
SENDMSG 6 ²ð½â³É¹¦£¡»ñµÃ3ö̩̹½äÖ¸
break
[@GetBoxItem3] ;//¶ÔÓ¦×ϱÌÂÝ
if
CHECKITEMID ×ϱÌÂݽäÖ¸
act
Take ×ϱÌÂݽäÖ¸ 1
Give ×ϱÌÂݽäÖ¸ 3
SENDMSG 6 ²ð½â³É¹¦£¡»ñµÃ3ö×ϱÌÂݽäÖ¸
break
È«¾Ö´íÎó´¦Àí
IF
;-- ¼ì²éËùÓÐʼþ²Ûλ --
NOT CHECKITEMID Ê¥Õ½½äÖ¸
NOT CHECKITEMID Ìì×ð½äÖ¸
NOT CHECKITEMID ×ϱÌÂݽäÖ¸
ACT
SENDMSG 6 ´íÎó£ºÇë·ÅÈëÕýÈ·µÄ´ý²ð½â½äÖ¸£¡
CloseItemBoxEx //Ç¿ÖÆ¹Ø±ÕÎïÆ·À¸
break
Èý¡¢¶¯Ì¬µ÷ÊÔËİÑÔ¿³×
¿ØÖÆÌ¨¼à¿Ø´ó·¨£¨M2Serverʵʱ¿´£©
// ¿ªÆô½Å±¾¸ú×Ù
M2¿ØÖÆÌ¨ → ²é¿´ → ÈÕÖ¾ÐÅÏ¢ → ¹´Ñ¡[½Å±¾µ÷ÊÔ]
³É¹¦´¥·¢ÌØÕ÷£º
[OpenItemBoxEx] Íæ¼Ò[%s]´ò¿ªÎïÆ·¿ò ID:1
¿Í»§¶ËÖ¸Áî×¢Èë²âÊÔ
// ÔÚNPC½Å±¾ÁÙʱÌí¼Óµ÷ÊÔ°´Å¥
[@test]
ACT
SENDMSG 6 µ±Ç°S0±äÁ¿Öµ£º<$STR(S0)>
SENDMSG 6 ʼþ²Û1ÎïÆ·£º<$BOXITEMNAME1>
ÄÚ´æ»ØËݹ¤¾ß
SKYÒýÇæÄÚÖõ÷ÊÔÆ÷£º
M2¿ØÖÆÌ¨°´ Ctrl+F11
ÊäÈ룺traceevent GetBoxItem
²é¿´Ê¼þ´¥·¢¶ÑÕ»
·À¿¨ËÀÐÄÌø¼à²â
[@OnTimer10]
IF
InSafeZone
ACT
;-- ÿ10Ãë¼ì²âÎïÆ·¿ò״̬ --
CheckItemBoxExOpen
ELSESAY
ÄúÉÐδ´ò¿ªÎïÆ·²ð½â½çÃæ£¡
ËÄ¡¢·ÀË¢¼Ü¹¹ÎåÖØ±£ÏÕ
·À»¤²ã¼¶ ʵÏÖ´úÂë ×÷ÓÃ
ÎïÆ·Ð£Ñé CHECKITEMIDEX Ê¥Õ½½äÖ¸ 1 ·ÀαÔìÎïÆ·
ÀäÈ´ÏÞÖÆ CheckCoolDown ²ð½â 60 60ÃëÄÚ½öÔÊÐí²Ù×÷1´Î
µÈ¼¶ÑéÖ¤ CheckLevelEx > 40 Ðè40¼¶ÒÔÉÏ
±³°ü¼à¿Ø CheckBagSize < 3 ±³°ü¿Õλ£¼3Ôò¾Ü¾øÖ´ÐÐ
²Ù×÷×·ËÝ SAVEVAR HUMAN ²ð½â¼Ç¼ +1 ¼Ç¼²Ù×÷´ÎÊý·À»úе½Å±¾
Îå¡¢¸ßƵÏÝÚåËÙ²é±í
ÏÖÏó ½â¾ö·½°¸ ½ô¼±ÃüÁî
µã»÷ÍêÈ«ÎÞ·´Ó¦ ¼ì²éOpenItemBoxExµÚ¶þ²ÎÊý=0 @ReloadManage
·ÅÈëÎïÆ·²»´¥·¢ È·ÈÏQ-Function.txt´æ·ÅλÖà @TestEvent 1
ÎïÆ·Ïûʧµ«ÎÞ²ú³ö Ìí¼ÓTakeÃüÁîÒÆ³ýÔÎïÆ· @²é¿´±äÁ¿ S0
´°¿Ú¿¨ËÀÎÞ·¨¹Ø±Õ Ìí¼ÓCloseItemBoxExÇ¿ÖÆ¹Ø±Õ @CloseItemBox Íæ¼ÒÃû
·þÎñÆ÷±¨´íÉÁÍË ¼ì²éÎïÆ·Ãû³ÆÊÇ·ñº¬·Ç·¨×Ö·û @LoadAllItems
ºËÑéÇåµ¥£º
M2¿ØÖÆÌ¨£ºÑ¡Ïî→²ÎÊýÉèÖÃ→¹´Ñ¡“ÔÊÐíÎïÆ·´¥·¢”
·þÎñ¶Ë£ºMir200\Envir\QuestDiary\ ·¾¶½ûÖ¹ÖÐÎÄ
¿Í»§¶Ë£ºÉ¾³ýdata\localÏµĻº´æÎļþ
graph LR
A[µã»÷ÎÞ·´Ó¦]-->B{Èý´óÖÂÃüÉË}
B-->C[²ÎÊý¸ñʽÖÂÃü·´]
B-->D[ÎïÆ·Ãû³ÆÓÄÁé¿Õ¸ñ]
B-->E[»ØÊÕ»úÖÆºÚ¶´]
▶ ÄãµÄ´úÂë“ËÀÍöÈý½Ç”£º
OpenItemBoxEx 1 1 → µÚ¶þ²ÎÊý±ØÐëΪ0£¨1»á´¥·¢Î´Öª´íÎó£©
×ϱÌÂÝ → Êý¾Ý¿âʵ¼ÊÃû¿ÉÄÜÊÇ×ϱÌÂݽäÖ¸
ÑÏÖØÂ©¶´£ºÎ´ÓÃTakeÒÆ³ýÔÎïÆ· → ¿ÉÎÞÏÞ¸´ÖÆ×°±¸£¡
¶þ¡¢¹¤Òµ¼¶ÐÞ¸´½Å±¾£¨2024ʵ²â°æ£©
ºËÐÄNPC½Å±¾£¨Market_Def/²ð½â´óʦ.txt£©
[@main]
<ÇëÑ¡ÔñÒª²ð½âµÄ½äÖ¸/SCOLOR=249>\
¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T\
¡¸Ê¥Õ½½äÖ¸¡¹→ 3¸ö¡¸Á¦Á¿½äÖ¸¡¹ <²ð½â/@dism_sz>\
¡¸Ìì×ð½äÖ¸¡¹→ 3¸ö¡¸Ì©Ì¹½äÖ¸¡¹ <²ð½â/@dism_tz>\
¡¸×ϱÌÂݽäÖ¸¡¹→ 3¸ö¡¸×ϱÌÂݽäÖ¸¡¹ <²ð½â/@dism_zb> //×¢ÒâÃû³ÆÒ»ÖÂÐÔ
[@dism_sz]
ACT
OpenItemBoxEx 1 0 ²ð½â-Ê¥Õ½½ä //¹Ø¼üµã£ºµÚ¶þ²ÎÊý=0
[@dism_tz]
ACT
OpenItemBoxEx 2 0 ²ð½â-Ìì×ð½ä //²»Í¬Ê¼þÓò»Í¬ID
[@dism_zb]
ACT
OpenItemBoxEx 3 0 ²ð½â-×ϱÌÂÝ
ʼþ´¥·¢½Å±¾£¨QuestDiary/Q-Function.txt£©
ʼþIDÓëOpenItemBoxExµÚÒ»²ÎÊýÇ¿¹ØÁª
[@GetBoxItem1] ;//¶ÔӦʥս½ä
if
CHECKITEMID Ê¥Õ½½äÖ¸
act
Take Ê¥Õ½½äÖ¸ 1
Give Á¦Á¿½äÖ¸ 3
SENDMSG 6 ²ð½â³É¹¦£¡»ñµÃ3öÁ¦Á¿½äÖ¸
break
[@GetBoxItem2] ;//¶ÔÓ¦Ìì×ð½ä
if
CHECKITEMID Ìì×ð½äÖ¸
act
Take Ìì×ð½äÖ¸ 1
Give ̩̹½äÖ¸ 3
SENDMSG 6 ²ð½â³É¹¦£¡»ñµÃ3ö̩̹½äÖ¸
break
[@GetBoxItem3] ;//¶ÔÓ¦×ϱÌÂÝ
if
CHECKITEMID ×ϱÌÂݽäÖ¸
act
Take ×ϱÌÂݽäÖ¸ 1
Give ×ϱÌÂݽäÖ¸ 3
SENDMSG 6 ²ð½â³É¹¦£¡»ñµÃ3ö×ϱÌÂݽäÖ¸
break
È«¾Ö´íÎó´¦Àí
IF
;-- ¼ì²éËùÓÐʼþ²Ûλ --
NOT CHECKITEMID Ê¥Õ½½äÖ¸
NOT CHECKITEMID Ìì×ð½äÖ¸
NOT CHECKITEMID ×ϱÌÂݽäÖ¸
ACT
SENDMSG 6 ´íÎó£ºÇë·ÅÈëÕýÈ·µÄ´ý²ð½â½äÖ¸£¡
CloseItemBoxEx //Ç¿ÖÆ¹Ø±ÕÎïÆ·À¸
break
Èý¡¢¶¯Ì¬µ÷ÊÔËİÑÔ¿³×
¿ØÖÆÌ¨¼à¿Ø´ó·¨£¨M2Serverʵʱ¿´£©
// ¿ªÆô½Å±¾¸ú×Ù
M2¿ØÖÆÌ¨ → ²é¿´ → ÈÕÖ¾ÐÅÏ¢ → ¹´Ñ¡[½Å±¾µ÷ÊÔ]
³É¹¦´¥·¢ÌØÕ÷£º
[OpenItemBoxEx] Íæ¼Ò[%s]´ò¿ªÎïÆ·¿ò ID:1
¿Í»§¶ËÖ¸Áî×¢Èë²âÊÔ
// ÔÚNPC½Å±¾ÁÙʱÌí¼Óµ÷ÊÔ°´Å¥
[@test]
ACT
SENDMSG 6 µ±Ç°S0±äÁ¿Öµ£º<$STR(S0)>
SENDMSG 6 ʼþ²Û1ÎïÆ·£º<$BOXITEMNAME1>
ÄÚ´æ»ØËݹ¤¾ß
SKYÒýÇæÄÚÖõ÷ÊÔÆ÷£º
M2¿ØÖÆÌ¨°´ Ctrl+F11
ÊäÈ룺traceevent GetBoxItem
²é¿´Ê¼þ´¥·¢¶ÑÕ»
·À¿¨ËÀÐÄÌø¼à²â
[@OnTimer10]
IF
InSafeZone
ACT
;-- ÿ10Ãë¼ì²âÎïÆ·¿ò״̬ --
CheckItemBoxExOpen
ELSESAY
ÄúÉÐδ´ò¿ªÎïÆ·²ð½â½çÃæ£¡
ËÄ¡¢·ÀË¢¼Ü¹¹ÎåÖØ±£ÏÕ
·À»¤²ã¼¶ ʵÏÖ´úÂë ×÷ÓÃ
ÎïÆ·Ð£Ñé CHECKITEMIDEX Ê¥Õ½½äÖ¸ 1 ·ÀαÔìÎïÆ·
ÀäÈ´ÏÞÖÆ CheckCoolDown ²ð½â 60 60ÃëÄÚ½öÔÊÐí²Ù×÷1´Î
µÈ¼¶ÑéÖ¤ CheckLevelEx > 40 Ðè40¼¶ÒÔÉÏ
±³°ü¼à¿Ø CheckBagSize < 3 ±³°ü¿Õλ£¼3Ôò¾Ü¾øÖ´ÐÐ
²Ù×÷×·ËÝ SAVEVAR HUMAN ²ð½â¼Ç¼ +1 ¼Ç¼²Ù×÷´ÎÊý·À»úе½Å±¾
Îå¡¢¸ßƵÏÝÚåËÙ²é±í
ÏÖÏó ½â¾ö·½°¸ ½ô¼±ÃüÁî
µã»÷ÍêÈ«ÎÞ·´Ó¦ ¼ì²éOpenItemBoxExµÚ¶þ²ÎÊý=0 @ReloadManage
·ÅÈëÎïÆ·²»´¥·¢ È·ÈÏQ-Function.txt´æ·ÅλÖà @TestEvent 1
ÎïÆ·Ïûʧµ«ÎÞ²ú³ö Ìí¼ÓTakeÃüÁîÒÆ³ýÔÎïÆ· @²é¿´±äÁ¿ S0
´°¿Ú¿¨ËÀÎÞ·¨¹Ø±Õ Ìí¼ÓCloseItemBoxExÇ¿ÖÆ¹Ø±Õ @CloseItemBox Íæ¼ÒÃû
·þÎñÆ÷±¨´íÉÁÍË ¼ì²éÎïÆ·Ãû³ÆÊÇ·ñº¬·Ç·¨×Ö·û @LoadAllItems
ºËÑéÇåµ¥£º
M2¿ØÖÆÌ¨£ºÑ¡Ïî→²ÎÊýÉèÖÃ→¹´Ñ¡“ÔÊÐíÎïÆ·´¥·¢”
·þÎñ¶Ë£ºMir200\Envir\QuestDiary\ ·¾¶½ûÖ¹ÖÐÎÄ
¿Í»§¶Ë£ºÉ¾³ýdata\localÏµĻº´æÎļþ

