¸ïÃüÐÔÉè¼Æ£ºLegend HEROÒýÇæ»áԱϵͳµÄÖÕ¼«ÐÎ̬——¹¹½¨¿É×ÔÎÒ·±Ö³µÄÍæ¼ÒÉú̬Á´
´«Í³»áԱϵͳֻÊÇ“¸¶·Ñ-ÌØÈ¨”µÄµ¥Ïò¹ÜµÀ¡£ÕæÕýµÄ¶¥¼âÉè¼Æ£¬ÊÇÈûáÔ±Ìåϵ³ÉΪ×ÔÖ÷Ñ»·µÄÉú̬ÒýÇæ£ºÍæ¼ÒÒò¸£Àû¶øÀ´£¬ÎªÌØÈ¨¸¶·Ñ£¬ÒòÉç½»ÁôÏ£¬ÎªÈÙÒ«´«²¥£¡±¾ÎĽ«´Óµ×²ã¼Ü¹¹µ½ÉϲãÍæ·¨£¬²ð½âÈçºÎÓÃHERO½Å±¾´òÔì“ÓÕµ¼¸¶·Ñ→¼¤·¢»îÔ¾→°ó¶¨Éç½»→Çý¶¯´«²¥”µÄ×ÔÑ»·ÏµÍ³£¡
Ò»¡¢Éç½»°ó¶¨£º°ÑVIPÌØÈ¨±ä³ÉÉç½»»õ±Ò
1. ×é¶Ó¾Ñé/±¬ÂÊ·øÉ䣨ÈËÀÈË£©
; ********** QMapEvent.txt ×é¶Ó¼Ó³É **********
[@OnGroup]
#IF
IsGroupLeader ; // ¼ì²âÊÇ·ñÊǶӳ¤
LARGE HumInfo.CheckItemValue(-100) 0 ; // ¶Ó³¤ÊÇ»áÔ±
#ACT
; // ÉèÖöÓÎé¹â»·±äÁ¿
SetGroupVar »áÔ±¹â»· 1
; ********** QMonKillByHero.txt »÷ɱÅж¨ **********
[@KillMonGroup]
#IF
IsGroupMember ; // ×é¶Ó״̬ɱ¹Ö
CheckGroupVar »áÔ±¹â»· = 1 ; // ¶ÓÎé´æÔÚ»áÔ±¹â»·
#ACT
; // ·øÉä¾Ñé¼Ó³É (¶ÓÔ±¶îÍâ+30%)
CHANGEKILLEREXPADD + 30 ; // µ±Ç°»÷ɱÕß¾Ñé¼Ó³É
; // ±¬ÂÊ·øÉä (È«¶Ó+15%)
SetMonDropRate 1.15 ; // ÁÙʱÌáÉý±¬ÂÊ
; // ʵʱ²¥±¨ (ÖÆÔ쾪ϲ)
SENDMSG 6 "¡¾¶ÓÎ鸣Àû¡¿ÄúÕýÏíÊÜVIP¶ÓÓÑ¡º<$GROUPLEADERNAME>¡»µÄ·øÉä¼Ó³É£¡¾Ñé+30% ±¬ÂÊ+15%"
ºËÐÄЧ¹û£º ÆÕÍ¨Íæ¼Ò±§½ôVIP´óÍȾÍÄܱäÇ¿£¬VIPÍæ¼Ò»ñµÃ“Éç½»ÁìÐä”ÈÙÒ«¸Ð¡£Ë«ÖسÉñ«£¡
2. ¿ç·þ×é¶Ó±êʶ£¨Éí·ÝìÅÒ«£©
; µÇ¼ʱÉèÖóƺÅ
[@Login]
#IF
LARGE HumInfo.CheckItemValue(-100) 0
#ACT
; // ¶¯Ì¬ÖÁ×ð³ÆºÅ
#IF
LARGEOREQUAL HumInfo.CheckItemValue(-100) 3
#ACT
SETRANKLEVELNAME %s\¡ïÌìѡ֮Éñ¡ï\
#ELSEACT
SETRANKLEVELNAME %s\¡óÈÙÒ«»áÔ±¡ó\
; // ÉíÌåÌØÐ§ (È«·þ¿É¼û)
StartBodyEffect 203 ; // ½ðÉ«¹â»·ÌØÐ§
ÐÄÀíѧ»úÖÆ£º Íæ¼Ò¸¶·ÑµÄÉî²ã¶¯»úÊÇÉç»áµØÎ»È·ÈÏ¡£ìÅ¿á³ÆºÅ+ÌØÐ§ÊÇÐÐ×ßµÄ¹ã¸æÅÆ£¡
¶þ¡¢Ñø³É±Õ»·£ºÓûáÔ±µÈ¼¶ÖÆÔì“ÓÀ¶¯»ú”
!https://via.placeholder.com/400x200/4A86E8/FFFFFF?text=HERO»áÔ±Ñø³É±Õ»·Ä£ÐÍ
¸¶·ÑÉý¼¶ → ½âËøÑø³É×ÊÔ´ → ÌáÉýÕ½Á¦ → ¸ü¿ìÊÕ¸î×ÊÔ´ → ¼ÓËÙÉý¼¶
↑ ↓
¹⁵__________________________________←⁻¹
½Å±¾ÊµÏÖ£º³É¾ÍÌåϵÇý¶¯Éý¼¶
; ********** VIP³É¾Íϵͳ **********
[@OnVIPUpgrade]
; // µ±Íæ¼Ò»áÔ±µÈ¼¶ÌáÉýʱ´¥·¢
#ACT
; // ¸ù¾Ýеȼ¶·¢·Å³É¾Í½±Àø
MOV P0 <$NEWVIPLEVEL>
#IF
EQUAL P0 1
#ACT
ADDACHIEVEMENT Çà;õÐÑ
GIVE VIP³É³¤Àñ°ü¢Ù 1
#IF
EQUAL P0 2
#ACT
ADDACHIEVEMENT °×ÒøÖ®Òí
GIVE °×ÒøÖ®Òí(30Ìì) 1 ; // ÏÞʱ³á°ò
GIVE VIP³É³¤Àñ°ü¢Ú 1
; ...¸ü¸ß¼¶³É¾Í...
; // È«·þ¹«¸æ´Ì¼¤ÅʱÈ
SENDMSG 0 "¡¾ÖÁ×ð֮·¡¿Íæ¼Ò¡º<$USERNAME>¡»ÈÙÉý<$NEWVIPLEVEL>¼¶»áÔ±£¬»ñµÃ¡º<$ACHIEVEMENTNAME>¡»£¡"
»áԱרÊô³É³¤²ÄÁÏ
; ¹ÖÎﱬÂÊ¿ØÖÆ (MonItems\VIPħÁú.cfg)
; ÆÕͨ±¬ÂÊ
1/10 ½ð±Ò 10000
1/5 ǿЧ½ð´´Ò©
; ½öVIP¿É±¬
#IF
LARGE HumInfo.CheckItemValue(-100) 0
#THEN
1/15 VIPÑ«ÕÂË鯬 ; // ÓÃÓÚÉý¼¶»áÔ±
1/30 Áú»ê½á¾§ ; // Éý¼¶VIPרÊô×°±¸
¹Ø¼üÉè¼Æ£º ÆÕͨ¹ÖÎïµôÂä»ù´¡×ÊÔ´£¬VIPרÊôµØÍ¼/¹ÖÎïµôÂä³É³¤ÐÔϡȱ×ÊÔ´£¬Ðγɱջ·Éú̬¡£
Èý¡¢²¡¶¾Áѱ䣺ÈÃÍæ¼Ò³ÉΪÄãµÄÍÆÏúÔ±
1. ʦͽϵͳ°ó¶¨£¨ÀÐÂ×Ô¶¯Éý¼¶£©
; ********** °Ýʦ´¥·¢ **********
[@MasterSuccess]
#IF
CheckIsMaster ; // ×Ô¼ºÊÇʦ¸µ
LARGE HumInfo.CheckItemValue(-100) 0 ; // ʦ¸µÊÇVIP
#ACT
; // ͽµÜ×Ô¶¯»ñµÃÌåÑéÌØÈ¨
SetApprenticeVar ÁÙʱ»áÔ± 3 ; // 3ÌìÌåÑ鿨
; // ²¥±¨½±ÀøÓÕ»ó
SENDMSG 6 "ÄúÒÑ»ñµÃʦ¸µÔùË͵Ä[3ÌìVIPÌåÑé]£¬ËÙÏíÌØÈ¨£¡"
SENDMSG 6 "Ìáʾ£ºÕýʽ¼ÓÈë»áÔ±ÏíÓÀ¾Ã¼Ó³É£¡"
; ********** ͽµÜÉý¼¶´¥·¢ **********
[@ApprenticeLevelUp]
#IF
CheckApprenticeLevelUp > 40 ; // ͽµÜ´ïµ½40¼¶
#ACT
; // ·´À¡Ê¦¸µ½±Àø
GIVEMASTER VIP»ý·Ö 100
GIVEMASTER Ôª±¦ 500
; // ÍÆËÍÓÕ»óÏûÏ¢
SENDMSG 6 "°®Í½<$APPRENTICENAME>ÒÑ´ï40¼¶£¡Äú»ñµÃ[VIP»ý·Ö]½±Àø"
SENDMSG 6 "VIP»ý·Ö¿É¶Ò»»»Æ½ð»áÔ±£¡µ±Ç°»ý·Ö£º<$CURRVIPPOINT>"
2. ÑûÇëÂëÁѱäϵͳ
; ********** ÑûÇë×¢²áNPC **********
[@InviteSystem]
<¡ïÉú³ÉÎÒµÄÑûÇëÂë/@GenInviteCode> \
<¡ïÊäÈëÑûÇëÂëÉý¼¶/@UseInviteCode>\
[@GenInviteCode]
#IF
LARGE HumInfo.CheckItemValue(-100) 0
#ACT
; // Éú³ÉΨһÂë(ʾÀý)
MOV S0 <$USERNAME>_<$RANDOM(1000,9999)>
SETINVITECODE <$STR(S0)>
SENDMSG 6 "ÄúµÄרÊôÑûÇëÂ룺\ \¡º<$STR(S0)>¡»\ \·ÖÏí¸øºÃÓÑÊäÈë¿ÉµÃ½±Àø£¡"
[@UseInviteCode]
INPUTBOX ÇëÊäÈëÑûÇëÂ룺\
#ACT
MOV S1 <$INPUTSTR>
; // УÑé²¢°ó¶¨¹ØÏµ
BINDINVITER <$STR(S1)> ; // °ó¶¨ÑûÇë¹ØÏµ
; // ÐÂÍæ¼Ò½±Àø
GIVE ÐÂÈËÀñ°ü 1
; // ÑûÇëÕß½±Àø
GETINVITERNAME S2 ; // »ñÈ¡ÑûÇëÕßÃû
CALCVAR GLOBAL VIP_POINT_<$STR(S2)> + 50
SENDMSG 0 "Íæ¼Ò¡º<$USERNAME>¡»Ê¹ÓÃÑûÇëÂë¼ÓÈ룡ÑûÇëÕß¡º<$STR(S2)>¡»»ñµÃ50VIP»ý·Ö£¡"
ËÄ¡¢Êý¾ÝÇý¶¯µÄÔËÓªÖÐÊà
»áÔ±ÒDZíÅ̽ű¾£¨\QuestDiary\ÔËÓªÊý¾Ý\£©
; ********** ×Ô¶¯Éú³ÉÈÕ±¨ **********
#CALL [\System\AutoDailyReport.txt] @VIPReport
; ********** VIPReport½ÚÑ¡ **********
[@Main]
#ACT
; // 1. ¸¶·Ñת»¯ÂÊ
CALCVAR GLOBAL VIP_DAY_TRY -> N0 ; // µ±ÈÕÌåÑéÈËÊý
CALCVAR GLOBAL VIP_DAY_BUY -> N1 ; // µ±ÈÕ¸¶·ÑÈËÊý
DIV N2 N1 N0 * 100
MOV S0 <$STR(N2)>
; // 2. ÁѱäϵÊý
GETINVITECOUNT N3 ; // µ±ÈÕÑûÇë×¢²áÊý
DIV N4 N3 N1
MOV S1 <$STR(N4)>
; // 3. »îÔ¾¶È
QUERYHUMANCOUNT VIP_Active_Rate -> N5 ; // µ±ÈÕVIPÍæ¼Ò»îÔ¾Êý
; // Éú³ÉHTML±¨±í
BuildHTMLReport VIPÈÕ±¨ ת»¯ÂÊ=<$STR(S0)>% ÁѱäϵÊý=<$STR(S1)> »îÔ¾VIP=<$STR(N5)>
ÔËÓª¹«Ê½£º
ת»¯ÂÊ = ¸¶·Ñ»áÔ±Êý / ÌåÑé»áÔ±Êý
ÁѱäϵÊý = ÑûÇëÐÂÔöÊý / ¸¶·Ñ»áÔ±Êý
½¡¿µÖ¸±ê£º×ª»¯ÂÊ>15% ÇÒ ÁѱäϵÊý>1.2
Îå¡¢·´²¸Ñ»·£ºÓÃÊý¾ÝÓÅ»¯½Å±¾²ÎÊý
¶¯Ì¬ÄÑ¶ÈÆ½ºâϵͳ
; ********** È«·þ¶¯Ì¬±¬Âʵ÷Õû **********
#IF
EQUAL $WEEK 6 ; // ÖÜÁù
CALCVAR GLOBAL VIP_PAY_WEEK -> N0 ; // ±¾ÖÜ»áÔ±¸¶·Ñ×ܶî
#ACT
; // »ù´¡±¬ÂÊϵÊý
MOV BASE_RATE 1.0
; // ¸¶·Ñ²»×ã→ÌáÉý±¬Âʴ̼¤
#IF
SMALL N0 500000 ; // ±¾ÖܳäÖµ<5000Ôª
#ACT
INC BASE_RATE 0.3
; // ¸¶·ÑÒç³ö→½µµÍ±¬ÂÊÆ½ºâ
#IF
LARGE N0 2000000 ; // ±¾ÖܳäÖµ>2ÍòÔª
#ACT
DEC BASE_RATE 0.2
; // Ó¦ÓÃϵÊý
CHANGEALLMONDROPRATE <$STR(BASE_RATE)>
SENDMSG 0 "¡¾ÏµÍ³¡¿È«·þ±¬ÂÊÒÑ»ùÓÚ¾¼ÃÉú̬¶¯Ì¬µ÷ÕûΪ<$STR(BASE_RATE)>±¶£¡"
ºËÐÄÂß¼£º ³äÖµµÍÃÔʱ↑±¬ÂÊ→ÌáÉýÍæ¼Ò»ñµÃ¸Ð→´Ì¼¤¸¶·Ñ
³äÖµ¹ýÈÈʱ↓±¬ÂÊ→±ÜÃâͨ»õÅòÕÍ→ÑÓ³¤ÉúÃüÖÜÆÚ
ÖÕ¼«Éú̬¼Ü¹¹Í¼
graph LR
A[»áÔ±³õʼ¸¶·Ñ] --> B{ÌØÈ¨Ìåϵ}
B --> C[Õ½Á¦ÅòÕÍ]
C --> D[×ÊÔ´ÊÕ¸î]
D --> E[Éç½»·øÉä]
E --> F[ʦͽ/ÑûÇëÁѱä]
F --> G[лáÔ±×¢Èë]
G --> A
B --> H[³É¾ÍÈÙÒ«]
H --> I[È«·þ²¥±¨]
I --> J[Éí·ÝìÅÒ«]
J --> K[´Ì¼¤ÅʱÈ]
K --> A
D --> L[Ñø³ÉÕý·´À¡]
L --> M[³ÖÐø»îÔ¾]
M --> N[Êý¾Ý³Áµí]
N --> O[¶¯Ì¬Æ½ºâϵͳ]
O --> P[ÓÅ»¯ÓÎÏ·²ÎÊý]
P --> B
ÔËάºËÎäÆ÷£º»áÔ±¼à¿ØÖ¸Áî´óÈ«
# ʵʱ¼à¿ØÃüÁM2Server¿ØÖÆÌ¨£©
@VIPStats # ÏÔʾµ±Ç°ÔÚÏß»áÔ±·Ö²¼
@VIPTop10 # ÏÔʾÏû·Ñ°ñTOP10
@CheckVIP [½ÇÉ«Ãû] # ²éÖ¸¶¨Íæ¼Ò»áԱ״̬
# ½ô¼±µ÷¿Ø½Å±¾
#CALL [\´¦Àí½Å±¾\»áÔ±½ô¼±µ÷¿Ø.txt] @VIPAdjust
# VIPAdjustÄÚÈÝʾÀý
[@Main]
#IF
EQUAL $SERVERHOUR 20 ; // Íí8µã¸ß·åÆÚ
CHECKONLINEVIP < 30 ; // ÔÚÏßVIP²»×ã30ÈË
#ACT
; // ´¥·¢È«·þ´ÙÏúʼþ
GmExe ¿ªÊ¼»î¶¯ ÏÞʱ¸£Àû
SENDMSG 0 "¡¾½ô¼±¸£Àû¡¿VIPÔÚÏßÂʹýµÍ£¡È«·þ±¬ÂÊÁÙʱ+50%£¡"
½áÂÛ£º¹¹½¨Éú̬µÄÈý¸ö»Æ½ð·¨Ôò
1. Éç½»À¦°ó·¨Ôò
ÈÃ°×æÎÍæ¼Òͨ¹ýÉç½»¹ØÏµ±»°ó¶¨ÔÚVIPÖÜΧ
2. Í´¿àÑÓ³Ù·¨Ôò
»áÔ±¹ýÆÚʱ±£Áô70%ÊôÐÔÈýÈÕ£¬ÖÆÔì½ä¶Ï·´Ó¦
3. Êý¾Ý·´Éä·¨Ôò
ÓÃʵʱÊý¾Ý¶¯Ì¬µ÷Õû½Å±¾²ÎÊý£¬ÐγÉÉú̬ÃâÒßϵͳ
´«Í³»áԱϵͳֻÊÇ“¸¶·Ñ-ÌØÈ¨”µÄµ¥Ïò¹ÜµÀ¡£ÕæÕýµÄ¶¥¼âÉè¼Æ£¬ÊÇÈûáÔ±Ìåϵ³ÉΪ×ÔÖ÷Ñ»·µÄÉú̬ÒýÇæ£ºÍæ¼ÒÒò¸£Àû¶øÀ´£¬ÎªÌØÈ¨¸¶·Ñ£¬ÒòÉç½»ÁôÏ£¬ÎªÈÙÒ«´«²¥£¡±¾ÎĽ«´Óµ×²ã¼Ü¹¹µ½ÉϲãÍæ·¨£¬²ð½âÈçºÎÓÃHERO½Å±¾´òÔì“ÓÕµ¼¸¶·Ñ→¼¤·¢»îÔ¾→°ó¶¨Éç½»→Çý¶¯´«²¥”µÄ×ÔÑ»·ÏµÍ³£¡
Ò»¡¢Éç½»°ó¶¨£º°ÑVIPÌØÈ¨±ä³ÉÉç½»»õ±Ò
1. ×é¶Ó¾Ñé/±¬ÂÊ·øÉ䣨ÈËÀÈË£©
; ********** QMapEvent.txt ×é¶Ó¼Ó³É **********
[@OnGroup]
#IF
IsGroupLeader ; // ¼ì²âÊÇ·ñÊǶӳ¤
LARGE HumInfo.CheckItemValue(-100) 0 ; // ¶Ó³¤ÊÇ»áÔ±
#ACT
; // ÉèÖöÓÎé¹â»·±äÁ¿
SetGroupVar »áÔ±¹â»· 1
; ********** QMonKillByHero.txt »÷ɱÅж¨ **********
[@KillMonGroup]
#IF
IsGroupMember ; // ×é¶Ó״̬ɱ¹Ö
CheckGroupVar »áÔ±¹â»· = 1 ; // ¶ÓÎé´æÔÚ»áÔ±¹â»·
#ACT
; // ·øÉä¾Ñé¼Ó³É (¶ÓÔ±¶îÍâ+30%)
CHANGEKILLEREXPADD + 30 ; // µ±Ç°»÷ɱÕß¾Ñé¼Ó³É
; // ±¬ÂÊ·øÉä (È«¶Ó+15%)
SetMonDropRate 1.15 ; // ÁÙʱÌáÉý±¬ÂÊ
; // ʵʱ²¥±¨ (ÖÆÔ쾪ϲ)
SENDMSG 6 "¡¾¶ÓÎ鸣Àû¡¿ÄúÕýÏíÊÜVIP¶ÓÓÑ¡º<$GROUPLEADERNAME>¡»µÄ·øÉä¼Ó³É£¡¾Ñé+30% ±¬ÂÊ+15%"
ºËÐÄЧ¹û£º ÆÕÍ¨Íæ¼Ò±§½ôVIP´óÍȾÍÄܱäÇ¿£¬VIPÍæ¼Ò»ñµÃ“Éç½»ÁìÐä”ÈÙÒ«¸Ð¡£Ë«ÖسÉñ«£¡
2. ¿ç·þ×é¶Ó±êʶ£¨Éí·ÝìÅÒ«£©
; µÇ¼ʱÉèÖóƺÅ
[@Login]
#IF
LARGE HumInfo.CheckItemValue(-100) 0
#ACT
; // ¶¯Ì¬ÖÁ×ð³ÆºÅ
#IF
LARGEOREQUAL HumInfo.CheckItemValue(-100) 3
#ACT
SETRANKLEVELNAME %s\¡ïÌìѡ֮Éñ¡ï\
#ELSEACT
SETRANKLEVELNAME %s\¡óÈÙÒ«»áÔ±¡ó\
; // ÉíÌåÌØÐ§ (È«·þ¿É¼û)
StartBodyEffect 203 ; // ½ðÉ«¹â»·ÌØÐ§
ÐÄÀíѧ»úÖÆ£º Íæ¼Ò¸¶·ÑµÄÉî²ã¶¯»úÊÇÉç»áµØÎ»È·ÈÏ¡£ìÅ¿á³ÆºÅ+ÌØÐ§ÊÇÐÐ×ßµÄ¹ã¸æÅÆ£¡
¶þ¡¢Ñø³É±Õ»·£ºÓûáÔ±µÈ¼¶ÖÆÔì“ÓÀ¶¯»ú”
!https://via.placeholder.com/400x200/4A86E8/FFFFFF?text=HERO»áÔ±Ñø³É±Õ»·Ä£ÐÍ
¸¶·ÑÉý¼¶ → ½âËøÑø³É×ÊÔ´ → ÌáÉýÕ½Á¦ → ¸ü¿ìÊÕ¸î×ÊÔ´ → ¼ÓËÙÉý¼¶
↑ ↓
¹⁵__________________________________←⁻¹
½Å±¾ÊµÏÖ£º³É¾ÍÌåϵÇý¶¯Éý¼¶
; ********** VIP³É¾Íϵͳ **********
[@OnVIPUpgrade]
; // µ±Íæ¼Ò»áÔ±µÈ¼¶ÌáÉýʱ´¥·¢
#ACT
; // ¸ù¾Ýеȼ¶·¢·Å³É¾Í½±Àø
MOV P0 <$NEWVIPLEVEL>
#IF
EQUAL P0 1
#ACT
ADDACHIEVEMENT Çà;õÐÑ
GIVE VIP³É³¤Àñ°ü¢Ù 1
#IF
EQUAL P0 2
#ACT
ADDACHIEVEMENT °×ÒøÖ®Òí
GIVE °×ÒøÖ®Òí(30Ìì) 1 ; // ÏÞʱ³á°ò
GIVE VIP³É³¤Àñ°ü¢Ú 1
; ...¸ü¸ß¼¶³É¾Í...
; // È«·þ¹«¸æ´Ì¼¤ÅʱÈ
SENDMSG 0 "¡¾ÖÁ×ð֮·¡¿Íæ¼Ò¡º<$USERNAME>¡»ÈÙÉý<$NEWVIPLEVEL>¼¶»áÔ±£¬»ñµÃ¡º<$ACHIEVEMENTNAME>¡»£¡"
»áԱרÊô³É³¤²ÄÁÏ
; ¹ÖÎﱬÂÊ¿ØÖÆ (MonItems\VIPħÁú.cfg)
; ÆÕͨ±¬ÂÊ
1/10 ½ð±Ò 10000
1/5 ǿЧ½ð´´Ò©
; ½öVIP¿É±¬
#IF
LARGE HumInfo.CheckItemValue(-100) 0
#THEN
1/15 VIPÑ«ÕÂË鯬 ; // ÓÃÓÚÉý¼¶»áÔ±
1/30 Áú»ê½á¾§ ; // Éý¼¶VIPרÊô×°±¸
¹Ø¼üÉè¼Æ£º ÆÕͨ¹ÖÎïµôÂä»ù´¡×ÊÔ´£¬VIPרÊôµØÍ¼/¹ÖÎïµôÂä³É³¤ÐÔϡȱ×ÊÔ´£¬Ðγɱջ·Éú̬¡£
Èý¡¢²¡¶¾Áѱ䣺ÈÃÍæ¼Ò³ÉΪÄãµÄÍÆÏúÔ±
1. ʦͽϵͳ°ó¶¨£¨ÀÐÂ×Ô¶¯Éý¼¶£©
; ********** °Ýʦ´¥·¢ **********
[@MasterSuccess]
#IF
CheckIsMaster ; // ×Ô¼ºÊÇʦ¸µ
LARGE HumInfo.CheckItemValue(-100) 0 ; // ʦ¸µÊÇVIP
#ACT
; // ͽµÜ×Ô¶¯»ñµÃÌåÑéÌØÈ¨
SetApprenticeVar ÁÙʱ»áÔ± 3 ; // 3ÌìÌåÑ鿨
; // ²¥±¨½±ÀøÓÕ»ó
SENDMSG 6 "ÄúÒÑ»ñµÃʦ¸µÔùË͵Ä[3ÌìVIPÌåÑé]£¬ËÙÏíÌØÈ¨£¡"
SENDMSG 6 "Ìáʾ£ºÕýʽ¼ÓÈë»áÔ±ÏíÓÀ¾Ã¼Ó³É£¡"
; ********** ͽµÜÉý¼¶´¥·¢ **********
[@ApprenticeLevelUp]
#IF
CheckApprenticeLevelUp > 40 ; // ͽµÜ´ïµ½40¼¶
#ACT
; // ·´À¡Ê¦¸µ½±Àø
GIVEMASTER VIP»ý·Ö 100
GIVEMASTER Ôª±¦ 500
; // ÍÆËÍÓÕ»óÏûÏ¢
SENDMSG 6 "°®Í½<$APPRENTICENAME>ÒÑ´ï40¼¶£¡Äú»ñµÃ[VIP»ý·Ö]½±Àø"
SENDMSG 6 "VIP»ý·Ö¿É¶Ò»»»Æ½ð»áÔ±£¡µ±Ç°»ý·Ö£º<$CURRVIPPOINT>"
2. ÑûÇëÂëÁѱäϵͳ
; ********** ÑûÇë×¢²áNPC **********
[@InviteSystem]
<¡ïÉú³ÉÎÒµÄÑûÇëÂë/@GenInviteCode> \
<¡ïÊäÈëÑûÇëÂëÉý¼¶/@UseInviteCode>\
[@GenInviteCode]
#IF
LARGE HumInfo.CheckItemValue(-100) 0
#ACT
; // Éú³ÉΨһÂë(ʾÀý)
MOV S0 <$USERNAME>_<$RANDOM(1000,9999)>
SETINVITECODE <$STR(S0)>
SENDMSG 6 "ÄúµÄרÊôÑûÇëÂ룺\ \¡º<$STR(S0)>¡»\ \·ÖÏí¸øºÃÓÑÊäÈë¿ÉµÃ½±Àø£¡"
[@UseInviteCode]
INPUTBOX ÇëÊäÈëÑûÇëÂ룺\
#ACT
MOV S1 <$INPUTSTR>
; // УÑé²¢°ó¶¨¹ØÏµ
BINDINVITER <$STR(S1)> ; // °ó¶¨ÑûÇë¹ØÏµ
; // ÐÂÍæ¼Ò½±Àø
GIVE ÐÂÈËÀñ°ü 1
; // ÑûÇëÕß½±Àø
GETINVITERNAME S2 ; // »ñÈ¡ÑûÇëÕßÃû
CALCVAR GLOBAL VIP_POINT_<$STR(S2)> + 50
SENDMSG 0 "Íæ¼Ò¡º<$USERNAME>¡»Ê¹ÓÃÑûÇëÂë¼ÓÈ룡ÑûÇëÕß¡º<$STR(S2)>¡»»ñµÃ50VIP»ý·Ö£¡"
ËÄ¡¢Êý¾ÝÇý¶¯µÄÔËÓªÖÐÊà
»áÔ±ÒDZíÅ̽ű¾£¨\QuestDiary\ÔËÓªÊý¾Ý\£©
; ********** ×Ô¶¯Éú³ÉÈÕ±¨ **********
#CALL [\System\AutoDailyReport.txt] @VIPReport
; ********** VIPReport½ÚÑ¡ **********
[@Main]
#ACT
; // 1. ¸¶·Ñת»¯ÂÊ
CALCVAR GLOBAL VIP_DAY_TRY -> N0 ; // µ±ÈÕÌåÑéÈËÊý
CALCVAR GLOBAL VIP_DAY_BUY -> N1 ; // µ±ÈÕ¸¶·ÑÈËÊý
DIV N2 N1 N0 * 100
MOV S0 <$STR(N2)>
; // 2. ÁѱäϵÊý
GETINVITECOUNT N3 ; // µ±ÈÕÑûÇë×¢²áÊý
DIV N4 N3 N1
MOV S1 <$STR(N4)>
; // 3. »îÔ¾¶È
QUERYHUMANCOUNT VIP_Active_Rate -> N5 ; // µ±ÈÕVIPÍæ¼Ò»îÔ¾Êý
; // Éú³ÉHTML±¨±í
BuildHTMLReport VIPÈÕ±¨ ת»¯ÂÊ=<$STR(S0)>% ÁѱäϵÊý=<$STR(S1)> »îÔ¾VIP=<$STR(N5)>
ÔËÓª¹«Ê½£º
ת»¯ÂÊ = ¸¶·Ñ»áÔ±Êý / ÌåÑé»áÔ±Êý
ÁѱäϵÊý = ÑûÇëÐÂÔöÊý / ¸¶·Ñ»áÔ±Êý
½¡¿µÖ¸±ê£º×ª»¯ÂÊ>15% ÇÒ ÁѱäϵÊý>1.2
Îå¡¢·´²¸Ñ»·£ºÓÃÊý¾ÝÓÅ»¯½Å±¾²ÎÊý
¶¯Ì¬ÄÑ¶ÈÆ½ºâϵͳ
; ********** È«·þ¶¯Ì¬±¬Âʵ÷Õû **********
#IF
EQUAL $WEEK 6 ; // ÖÜÁù
CALCVAR GLOBAL VIP_PAY_WEEK -> N0 ; // ±¾ÖÜ»áÔ±¸¶·Ñ×ܶî
#ACT
; // »ù´¡±¬ÂÊϵÊý
MOV BASE_RATE 1.0
; // ¸¶·Ñ²»×ã→ÌáÉý±¬Âʴ̼¤
#IF
SMALL N0 500000 ; // ±¾ÖܳäÖµ<5000Ôª
#ACT
INC BASE_RATE 0.3
; // ¸¶·ÑÒç³ö→½µµÍ±¬ÂÊÆ½ºâ
#IF
LARGE N0 2000000 ; // ±¾ÖܳäÖµ>2ÍòÔª
#ACT
DEC BASE_RATE 0.2
; // Ó¦ÓÃϵÊý
CHANGEALLMONDROPRATE <$STR(BASE_RATE)>
SENDMSG 0 "¡¾ÏµÍ³¡¿È«·þ±¬ÂÊÒÑ»ùÓÚ¾¼ÃÉú̬¶¯Ì¬µ÷ÕûΪ<$STR(BASE_RATE)>±¶£¡"
ºËÐÄÂß¼£º ³äÖµµÍÃÔʱ↑±¬ÂÊ→ÌáÉýÍæ¼Ò»ñµÃ¸Ð→´Ì¼¤¸¶·Ñ
³äÖµ¹ýÈÈʱ↓±¬ÂÊ→±ÜÃâͨ»õÅòÕÍ→ÑÓ³¤ÉúÃüÖÜÆÚ
ÖÕ¼«Éú̬¼Ü¹¹Í¼
graph LR
A[»áÔ±³õʼ¸¶·Ñ] --> B{ÌØÈ¨Ìåϵ}
B --> C[Õ½Á¦ÅòÕÍ]
C --> D[×ÊÔ´ÊÕ¸î]
D --> E[Éç½»·øÉä]
E --> F[ʦͽ/ÑûÇëÁѱä]
F --> G[лáÔ±×¢Èë]
G --> A
B --> H[³É¾ÍÈÙÒ«]
H --> I[È«·þ²¥±¨]
I --> J[Éí·ÝìÅÒ«]
J --> K[´Ì¼¤ÅʱÈ]
K --> A
D --> L[Ñø³ÉÕý·´À¡]
L --> M[³ÖÐø»îÔ¾]
M --> N[Êý¾Ý³Áµí]
N --> O[¶¯Ì¬Æ½ºâϵͳ]
O --> P[ÓÅ»¯ÓÎÏ·²ÎÊý]
P --> B
ÔËάºËÎäÆ÷£º»áÔ±¼à¿ØÖ¸Áî´óÈ«
# ʵʱ¼à¿ØÃüÁM2Server¿ØÖÆÌ¨£©
@VIPStats # ÏÔʾµ±Ç°ÔÚÏß»áÔ±·Ö²¼
@VIPTop10 # ÏÔʾÏû·Ñ°ñTOP10
@CheckVIP [½ÇÉ«Ãû] # ²éÖ¸¶¨Íæ¼Ò»áԱ״̬
# ½ô¼±µ÷¿Ø½Å±¾
#CALL [\´¦Àí½Å±¾\»áÔ±½ô¼±µ÷¿Ø.txt] @VIPAdjust
# VIPAdjustÄÚÈÝʾÀý
[@Main]
#IF
EQUAL $SERVERHOUR 20 ; // Íí8µã¸ß·åÆÚ
CHECKONLINEVIP < 30 ; // ÔÚÏßVIP²»×ã30ÈË
#ACT
; // ´¥·¢È«·þ´ÙÏúʼþ
GmExe ¿ªÊ¼»î¶¯ ÏÞʱ¸£Àû
SENDMSG 0 "¡¾½ô¼±¸£Àû¡¿VIPÔÚÏßÂʹýµÍ£¡È«·þ±¬ÂÊÁÙʱ+50%£¡"
½áÂÛ£º¹¹½¨Éú̬µÄÈý¸ö»Æ½ð·¨Ôò
1. Éç½»À¦°ó·¨Ôò
ÈÃ°×æÎÍæ¼Òͨ¹ýÉç½»¹ØÏµ±»°ó¶¨ÔÚVIPÖÜΧ
2. Í´¿àÑÓ³Ù·¨Ôò
»áÔ±¹ýÆÚʱ±£Áô70%ÊôÐÔÈýÈÕ£¬ÖÆÔì½ä¶Ï·´Ó¦
3. Êý¾Ý·´Éä·¨Ôò
ÓÃʵʱÊý¾Ý¶¯Ì¬µ÷Õû½Å±¾²ÎÊý£¬ÐγÉÉú̬ÃâÒßϵͳ

