XP¼¼Ä܏įÕͨ¼¼ÄܺóÓò»ÁË£¬ÎÊÌâ³öÔÚ¿Í»§¶ËÓë·þÎñ¶ËµÄÊý¾Ý²»Í¬²½ÉÏ¡£Ä§ÓòÖÐXP¼¼ÄÜºÍÆÕͨ¼¼ÄÜÓÉÁ½¸öºËÐÄ×ֶοØÖÆ£º·þÎñ¶ËµÄuse_xp×ֶκͿͻ§¶ËµÄMagicType.iniÖеÄÀàÐͱêʶ¡£ÄãÖ»¸ÄÁËÆäÖÐÒ»´¦£¬ÓÎÏ·ÔËÐÐʱÁ½¶ËÊý¾ÝУÑéʧ°Ü£¬¼¼ÄÜ×ÔÈ»±»Ëø¶¨ÎÞ·¨ÊÍ·Å¡£ÏÂÃæ°ÑÐÞ¸ÄÅŲ鲽ÖèºÍXP½Å±¾±àд·½·¨·Ö¿ªËµÇå³þ¡£
Ð޸ĺóÎÞ·¨Ê¹ÓõÄÅŲ鲽Öè
ÏÈÈ·ÈÏ·þÎñ¶ËÊý¾Ý¿âµÄcq_magictype±í¡£ÕÒµ½Ä¿±ê¼¼ÄܶÔÓ¦µÄÐУ¬¼ì²éuse_xp×ֶεÄÖµ¡£1´ú±íXP¼¼ÄÜ£¬ÊÍ·ÅʱÏûºÄXPÖµ£»0´ú±íÆÕͨ¼¼ÄÜ£¬ÏûºÄMP»òSP¡£Èç¹ûÄãÖ»°Ñ¿Í»§¶ËµÄͼ±ê»òÃû³Æ¸ÄÁË£¬·þÎñ¶ËÈÔÈ»±ê¼ÇΪXP¼¼ÄÜ£¬ÊÍ·ÅÇëÇó»á±»¾Ü¾ø¡£
¿Í»§¶ËÕâ±ßÒª´ò¿ªMagicType.iniÎļþ£¬Î»ÖÃÔÚ¿Í»§¶ËiniĿ¼Ï¡£ÕÒµ½¶ÔÓ¦¼¼ÄÜIDµÄÅäÖÃÐУ¬¶¨Î»¾ö¶¨¼¼ÄÜÀàÐ͵IJÎÊýλ¡£²»Í¬°æ±¾Õâ¸ö²ÎÊýµÄλÖò»Ò»Ñù£¬ÓеÄÔÚµÚ21룬ÓеÄÔÚµÚ22룬ÐèÒª¶ÔÕոð汾µÄ²ÎÊý¹æÔòÀ´Êý¡£°Ñ¶ÔӦλÖõÄÖµ´Ó1¸ÄΪ0£¬Óë·þÎñ¶Ë±£³ÖÒ»Ö¡£
»¹ÓÐÒ»¸öÈÝÒשµôµÄ×Ö¶ÎÊÇ×ÊÔ´ÏûºÄ¡£XP¼¼ÄÜÔ±¾²»ÏûºÄMP»òSP£¬¸Ä³ÉÆÕͨ¼¼Äܺóϵͳ»á³¢ÊÔ¿Û³ýMP¡£Èç¹û¼¼ÄܵÄuse_mp×ֶα»ÉèÖÃΪ0»ò¿ÕÖµ£¬»òÕßÊýÖµÒ쳣ƫ¸ß£¬½ÇÉ«MP²»×ã¾Í»áÊÍ·Åʧ°Ü¡£°Ñuse_mp»òuse_spÉèΪһ¸öºÏÀíÖµ£¬±ÈÈç10µ½50Ö®¼ä¡£
¸ÄÍêÅäÖÃÎļþºó±ØÐëÖØÆô·þÎñ¶ËµÄËùÓнø³Ì£¬°üÀ¨AccountServer¡¢LoginServer¡¢MsgServer¡£Ö»ÖØÆôÓÎÏ·¿Í»§¶Ë²»¹»£¬¾ÉÅäÖÿÉÄÜ»¹ÔÚ»º´æÀï¡£ÖØÆôºóµÇ¼ÓÎÏ·£¬´ò¿ª¼¼ÄÜÃæ°åÈ·Èϸü¼ÄܳöÏÖÔÚÖ÷¶¯¼¼ÄÜ·ÖÒ³¶ø²»ÊÇXP¼¼ÄÜÇøÓò¡£Èç¹û»¹ÔÚXPÀ¸£¬ËµÃ÷¿Í»§¶ËÅäÖÃûÉúЧ£¬ÐèÒªÇåµôCacheÄ¿Â¼ÖØÐ¼ÓÔØ¡£
²¿·ÖħÓò°æ±¾¶Ô¼¼ÄÜIDÓÐÓ²±àÂëУÑé¡£Èç¹ûÔÀ´µÄ¼¼ÄÜIDÔÚXPÇø¼ä±ÈÈç5000ÒÔÉÏ£¬¼´Ê¹ÅäÖøijÉÁËÆÕͨ¼¼ÄÜ£¬¿Í»§¶Ëµ×²ãÈÔÈ»¾Ü¾øµ÷Óá£ÕâÖÖÇé¿öÏÂÐèÒª°Ñ¼¼ÄÜIDÌæ»»ÎªÒ»¸öÒÑÖª¿ÉÓÃµÄÆÕͨ¼¼ÄÜID£¬±ÈÈçսʿÁһ𽣷¨µÄ101£¬Í¬Ê±ÐÞ¸ÄSkillName.txtÀï¶ÔÓ¦µÄÃû³Æ±ÜÃâÏÔʾ´íÂÒ¡£
Èç¹ûÊǶàÈË»·¾³£¬·þÎñ¶ËSkillConfigĿ¼ÏÂÒ²ÐèÒª´æÔÚÏàͬµÄÅäÖ㬷ñÔòÊÍ·ÅÇëÇóÒÀÈ»»á±»¾Ü¾ø¡£µ¥»ú²âÊÔ¿ÉÒÔºöÂÔÕâÒ»²½£¬Áª»ú±ØÐëÁ½¶ËÒ»Ö¡£
XP½Å±¾µÄ±àд·½·¨
XP½Å±¾ºÍ¿ØÖƼ¼Äܵİ´¼ü¾«Áé½Å±¾ÊÇÁ½»ØÊ¡£ÕâÀï˵µÄXP½Å±¾Ö¸µÄÊÇħÓò·þÎñ¶Ë½Å±¾£¬ÓÃÓÚ¿ØÖÆNPC¶Ô»°¡¢ÈÎÎñ´¥·¢¡¢ÎïÆ·½»»¥ºÍʼþÏìÓ¦£¬²ÉÓÃÀàVBScriptÓï·¨£¬ÎļþÀ©Õ¹ÃûÊÇ.vbs»ò.xp£¬·ÅÔÚServerScriptsĿ¼Ï¡£
½Å±¾µÄ»ù´¡½á¹¹ÒÔSub Main()¿ªÍ·£¬End Sub½á⣬ËùÓвÙ×÷±ØÐëÔÚMain×Ó³ÌÐòÄÚÖ´ÐС£Ò»¸öÈÎÎñ½»¸¶½Å±¾µÄд·¨ÊÇÕâÑùµÄ£º
```
Sub Main()
If GetItemCount(12001) >= 1 Then
RemoveItem 12001, 1
GiveExp 5000
Say "ÈÎÎñÍê³É£¬»ñµÃ5000¾Ñé"
Else
Say "ȱÉÙÈÎÎñÎïÆ·"
End If
End Sub
```
GetItemCount¼ì²â±³°üÀïÖ¸¶¨ÎïÆ·µÄÊýÁ¿£¬²ÎÊýÊÇÎïÆ·ID¡£RemoveItem¿Û³ýÎïÆ·£¬GiveExpÖ±½ÓÔö¼Ó¾Ñ飬SayÃüÁîÏòÍæ¼Ò·¢ËÍÎı¾Ìáʾ¡£
ÎïÆ·Ê¹Óýű¾ÐèÒªÔÚItems.iniÀïÖ¸¶¨Script×ֶβÅÄÜÉúЧ¡£±ÈÈçÒ»¸ö»Ø³Ç¾íÖáµÄ½Å±¾£º
```
Sub Main()
ChangeMap 1000, 150, 150
Say "ÒÑ´«ËÍÖÁÖ÷³Ç"
End Sub
```
ChangeMapµÄ²ÎÊýÒÀ´ÎÊǵØÍ¼ID¡¢X×ø±ê¡¢Y×ø±ê£¬×ø±ê±ØÐëÔڸõØÍ¼µÄÓÐЧ·¶Î§ÄÚ¡£
ÈÎÎñNPC½Å±¾Í¨¹ýNPCs.ini°ó¶¨£¬×Ö¶ÎдScript=npc_quest.vbs¡£´ø¶àÑ¡ÏîÅжϵÄNPC½Å±¾¿ÉÒÔÓÃSelect Case½á¹¹£º
```
Sub Main()
Select Case GetTaskState(101)
Case 0
Say "½ÓÈ¡ÈÎÎñ£¿", 1
Case 1
If CheckMonsterKilled(2001, 10) = True Then
CompleteTask 101
GiveItem 19001, 1
Say "ÈÎÎñÍê³É"
End If
End Select
End Sub
```
GetTaskState·µ»ØÈÎÎñ½ø¶È£¬0ÊÇδ½Ó£¬1ÊǽøÐÐÖУ¬2ÊÇÒÑÍê³É¡£CheckMonsterKilledÑéÖ¤Ö¸¶¨¹ÖÎïµÄ»÷ɱÊýÁ¿ÊÇ·ñ´ï±ê¡£
½Å±¾Ð´ÍêºóÐèÒª¿ªÆôÈÕÖ¾ÅŲé´íÎó¡£ÔÚConfig.iniÀïÉèÖÃLogScriptError=1£¬´íÎóÐÅÏ¢»áдÈëLogsScript.logÎļþ¡£³£¼ûµÄ´íÎó°üÀ¨±äÁ¿Î´¶¨Òå¡¢º¯Êý²ÎÊýȱʧ¡¢µØÍ¼×ø±êÔ½½ç¡£ËùÓÐÎïÆ·IDºÍµØÍ¼ID±ØÐëÓëÊý¾Ý¿âÒ»Ö£¬Ð´´íÁËÖ¸Áî²»»á±¨´íµ«Ò²²»»áÉúЧ¡£
½Å±¾ÎļþµÄ±àÂë±ØÐëÓÃANSI±£´æ£¬UTF-8»áµ¼ÖÂÂÒÂë»ò½âÎöʧ°Ü¡£Ð޸Ľű¾ºóÐèÒªÖØÆô·þÎñ¶Ë£¬»òÕßÖ´ÐÐ/reload scriptsÖ¸ÁîÖØÐ¼ÓÔØ£¨Èç¹û°æ±¾Ö§³Ö£©¡£²âÊÔʱ½¨ÒéÓÃGMÕ˺ţ¬±ÜÃâȨÏÞ²»×ãµ¼Ö½ű¾Ö´ÐÐÖжϡ£
Èç¹ûÊÇÏëÓð´¼ü¾«ÁéʵÏÖÓÎÏ·ÄÚ×Ô¶¯·ÅXP¼¼ÄÜ£¬ÄÇÊÇÁíÒ»¸ö²ãÃæµÄ²Ù×÷¡£°´¼ü¾«Áé½Å±¾Í¨¹ýÄ£Äâ¼üÅ̰´¼üÀ´ÊÍ·ÅXP¼¼ÄÜ£¬ºËÐÄÊǼì²âXP²ÛÊÇ·ñÐîÂú£¬ÂúÁ˾Ͱ´Ô¤ÉèµÄXP¼¼ÄÜ¿ì½Ý¼ü¡£XP²ÛµÄ¼ì²â¿ÉÒÔÓÃGetPixelColor¶ÁÈ¡XPÌõλÖõÄÑÕÉ«£¬»òÕßÓÃFindPicÕÒXP¼¼ÄÜͼ±êÁÁÆðµÄСͼ¡£¶¨Ê±Ã¤°´Ò²ÐУ¬µ«ÈÝÒ×ÔÚÀäȴûºÃµÄʱºò¿Õ°´£¬ÓÃÕÒͼÅжÏÁÁÆðÔÙ°´¸üÎÈ¡£
Á½¸ö²ãÃæµÄ½Å±¾²»Òª¸ã»ì¡£·þÎñ¶ËXP½Å±¾¹ÜµÄÊÇÓÎÏ·ÄÚÈÝÂß¼£¬°´¼ü¾«Áé¹ÜµÄÊÇÄ£ÄâÍæ¼Ò²Ù×÷¡£¼¼Ä܏įÕͨ¼¼ÄÜÓò»Á˵ÄÎÊÌâÊôÓÚÅäÖÃÎļþÐ޸쬏ú°´¼ü¾«Áé½Å±¾Ã»ÓйØÏµ¡£
Ð޸ĺóÎÞ·¨Ê¹ÓõÄÅŲ鲽Öè
ÏÈÈ·ÈÏ·þÎñ¶ËÊý¾Ý¿âµÄcq_magictype±í¡£ÕÒµ½Ä¿±ê¼¼ÄܶÔÓ¦µÄÐУ¬¼ì²éuse_xp×ֶεÄÖµ¡£1´ú±íXP¼¼ÄÜ£¬ÊÍ·ÅʱÏûºÄXPÖµ£»0´ú±íÆÕͨ¼¼ÄÜ£¬ÏûºÄMP»òSP¡£Èç¹ûÄãÖ»°Ñ¿Í»§¶ËµÄͼ±ê»òÃû³Æ¸ÄÁË£¬·þÎñ¶ËÈÔÈ»±ê¼ÇΪXP¼¼ÄÜ£¬ÊÍ·ÅÇëÇó»á±»¾Ü¾ø¡£
¿Í»§¶ËÕâ±ßÒª´ò¿ªMagicType.iniÎļþ£¬Î»ÖÃÔÚ¿Í»§¶ËiniĿ¼Ï¡£ÕÒµ½¶ÔÓ¦¼¼ÄÜIDµÄÅäÖÃÐУ¬¶¨Î»¾ö¶¨¼¼ÄÜÀàÐ͵IJÎÊýλ¡£²»Í¬°æ±¾Õâ¸ö²ÎÊýµÄλÖò»Ò»Ñù£¬ÓеÄÔÚµÚ21룬ÓеÄÔÚµÚ22룬ÐèÒª¶ÔÕոð汾µÄ²ÎÊý¹æÔòÀ´Êý¡£°Ñ¶ÔӦλÖõÄÖµ´Ó1¸ÄΪ0£¬Óë·þÎñ¶Ë±£³ÖÒ»Ö¡£
»¹ÓÐÒ»¸öÈÝÒשµôµÄ×Ö¶ÎÊÇ×ÊÔ´ÏûºÄ¡£XP¼¼ÄÜÔ±¾²»ÏûºÄMP»òSP£¬¸Ä³ÉÆÕͨ¼¼Äܺóϵͳ»á³¢ÊÔ¿Û³ýMP¡£Èç¹û¼¼ÄܵÄuse_mp×ֶα»ÉèÖÃΪ0»ò¿ÕÖµ£¬»òÕßÊýÖµÒ쳣ƫ¸ß£¬½ÇÉ«MP²»×ã¾Í»áÊÍ·Åʧ°Ü¡£°Ñuse_mp»òuse_spÉèΪһ¸öºÏÀíÖµ£¬±ÈÈç10µ½50Ö®¼ä¡£
¸ÄÍêÅäÖÃÎļþºó±ØÐëÖØÆô·þÎñ¶ËµÄËùÓнø³Ì£¬°üÀ¨AccountServer¡¢LoginServer¡¢MsgServer¡£Ö»ÖØÆôÓÎÏ·¿Í»§¶Ë²»¹»£¬¾ÉÅäÖÿÉÄÜ»¹ÔÚ»º´æÀï¡£ÖØÆôºóµÇ¼ÓÎÏ·£¬´ò¿ª¼¼ÄÜÃæ°åÈ·Èϸü¼ÄܳöÏÖÔÚÖ÷¶¯¼¼ÄÜ·ÖÒ³¶ø²»ÊÇXP¼¼ÄÜÇøÓò¡£Èç¹û»¹ÔÚXPÀ¸£¬ËµÃ÷¿Í»§¶ËÅäÖÃûÉúЧ£¬ÐèÒªÇåµôCacheÄ¿Â¼ÖØÐ¼ÓÔØ¡£
²¿·ÖħÓò°æ±¾¶Ô¼¼ÄÜIDÓÐÓ²±àÂëУÑé¡£Èç¹ûÔÀ´µÄ¼¼ÄÜIDÔÚXPÇø¼ä±ÈÈç5000ÒÔÉÏ£¬¼´Ê¹ÅäÖøijÉÁËÆÕͨ¼¼ÄÜ£¬¿Í»§¶Ëµ×²ãÈÔÈ»¾Ü¾øµ÷Óá£ÕâÖÖÇé¿öÏÂÐèÒª°Ñ¼¼ÄÜIDÌæ»»ÎªÒ»¸öÒÑÖª¿ÉÓÃµÄÆÕͨ¼¼ÄÜID£¬±ÈÈçսʿÁһ𽣷¨µÄ101£¬Í¬Ê±ÐÞ¸ÄSkillName.txtÀï¶ÔÓ¦µÄÃû³Æ±ÜÃâÏÔʾ´íÂÒ¡£
Èç¹ûÊǶàÈË»·¾³£¬·þÎñ¶ËSkillConfigĿ¼ÏÂÒ²ÐèÒª´æÔÚÏàͬµÄÅäÖ㬷ñÔòÊÍ·ÅÇëÇóÒÀÈ»»á±»¾Ü¾ø¡£µ¥»ú²âÊÔ¿ÉÒÔºöÂÔÕâÒ»²½£¬Áª»ú±ØÐëÁ½¶ËÒ»Ö¡£
XP½Å±¾µÄ±àд·½·¨
XP½Å±¾ºÍ¿ØÖƼ¼Äܵİ´¼ü¾«Áé½Å±¾ÊÇÁ½»ØÊ¡£ÕâÀï˵µÄXP½Å±¾Ö¸µÄÊÇħÓò·þÎñ¶Ë½Å±¾£¬ÓÃÓÚ¿ØÖÆNPC¶Ô»°¡¢ÈÎÎñ´¥·¢¡¢ÎïÆ·½»»¥ºÍʼþÏìÓ¦£¬²ÉÓÃÀàVBScriptÓï·¨£¬ÎļþÀ©Õ¹ÃûÊÇ.vbs»ò.xp£¬·ÅÔÚServerScriptsĿ¼Ï¡£
½Å±¾µÄ»ù´¡½á¹¹ÒÔSub Main()¿ªÍ·£¬End Sub½á⣬ËùÓвÙ×÷±ØÐëÔÚMain×Ó³ÌÐòÄÚÖ´ÐС£Ò»¸öÈÎÎñ½»¸¶½Å±¾µÄд·¨ÊÇÕâÑùµÄ£º
```
Sub Main()
If GetItemCount(12001) >= 1 Then
RemoveItem 12001, 1
GiveExp 5000
Say "ÈÎÎñÍê³É£¬»ñµÃ5000¾Ñé"
Else
Say "ȱÉÙÈÎÎñÎïÆ·"
End If
End Sub
```
GetItemCount¼ì²â±³°üÀïÖ¸¶¨ÎïÆ·µÄÊýÁ¿£¬²ÎÊýÊÇÎïÆ·ID¡£RemoveItem¿Û³ýÎïÆ·£¬GiveExpÖ±½ÓÔö¼Ó¾Ñ飬SayÃüÁîÏòÍæ¼Ò·¢ËÍÎı¾Ìáʾ¡£
ÎïÆ·Ê¹Óýű¾ÐèÒªÔÚItems.iniÀïÖ¸¶¨Script×ֶβÅÄÜÉúЧ¡£±ÈÈçÒ»¸ö»Ø³Ç¾íÖáµÄ½Å±¾£º
```
Sub Main()
ChangeMap 1000, 150, 150
Say "ÒÑ´«ËÍÖÁÖ÷³Ç"
End Sub
```
ChangeMapµÄ²ÎÊýÒÀ´ÎÊǵØÍ¼ID¡¢X×ø±ê¡¢Y×ø±ê£¬×ø±ê±ØÐëÔڸõØÍ¼µÄÓÐЧ·¶Î§ÄÚ¡£
ÈÎÎñNPC½Å±¾Í¨¹ýNPCs.ini°ó¶¨£¬×Ö¶ÎдScript=npc_quest.vbs¡£´ø¶àÑ¡ÏîÅжϵÄNPC½Å±¾¿ÉÒÔÓÃSelect Case½á¹¹£º
```
Sub Main()
Select Case GetTaskState(101)
Case 0
Say "½ÓÈ¡ÈÎÎñ£¿", 1
Case 1
If CheckMonsterKilled(2001, 10) = True Then
CompleteTask 101
GiveItem 19001, 1
Say "ÈÎÎñÍê³É"
End If
End Select
End Sub
```
GetTaskState·µ»ØÈÎÎñ½ø¶È£¬0ÊÇδ½Ó£¬1ÊǽøÐÐÖУ¬2ÊÇÒÑÍê³É¡£CheckMonsterKilledÑéÖ¤Ö¸¶¨¹ÖÎïµÄ»÷ɱÊýÁ¿ÊÇ·ñ´ï±ê¡£
½Å±¾Ð´ÍêºóÐèÒª¿ªÆôÈÕÖ¾ÅŲé´íÎó¡£ÔÚConfig.iniÀïÉèÖÃLogScriptError=1£¬´íÎóÐÅÏ¢»áдÈëLogsScript.logÎļþ¡£³£¼ûµÄ´íÎó°üÀ¨±äÁ¿Î´¶¨Òå¡¢º¯Êý²ÎÊýȱʧ¡¢µØÍ¼×ø±êÔ½½ç¡£ËùÓÐÎïÆ·IDºÍµØÍ¼ID±ØÐëÓëÊý¾Ý¿âÒ»Ö£¬Ð´´íÁËÖ¸Áî²»»á±¨´íµ«Ò²²»»áÉúЧ¡£
½Å±¾ÎļþµÄ±àÂë±ØÐëÓÃANSI±£´æ£¬UTF-8»áµ¼ÖÂÂÒÂë»ò½âÎöʧ°Ü¡£Ð޸Ľű¾ºóÐèÒªÖØÆô·þÎñ¶Ë£¬»òÕßÖ´ÐÐ/reload scriptsÖ¸ÁîÖØÐ¼ÓÔØ£¨Èç¹û°æ±¾Ö§³Ö£©¡£²âÊÔʱ½¨ÒéÓÃGMÕ˺ţ¬±ÜÃâȨÏÞ²»×ãµ¼Ö½ű¾Ö´ÐÐÖжϡ£
Èç¹ûÊÇÏëÓð´¼ü¾«ÁéʵÏÖÓÎÏ·ÄÚ×Ô¶¯·ÅXP¼¼ÄÜ£¬ÄÇÊÇÁíÒ»¸ö²ãÃæµÄ²Ù×÷¡£°´¼ü¾«Áé½Å±¾Í¨¹ýÄ£Äâ¼üÅ̰´¼üÀ´ÊÍ·ÅXP¼¼ÄÜ£¬ºËÐÄÊǼì²âXP²ÛÊÇ·ñÐîÂú£¬ÂúÁ˾Ͱ´Ô¤ÉèµÄXP¼¼ÄÜ¿ì½Ý¼ü¡£XP²ÛµÄ¼ì²â¿ÉÒÔÓÃGetPixelColor¶ÁÈ¡XPÌõλÖõÄÑÕÉ«£¬»òÕßÓÃFindPicÕÒXP¼¼ÄÜͼ±êÁÁÆðµÄСͼ¡£¶¨Ê±Ã¤°´Ò²ÐУ¬µ«ÈÝÒ×ÔÚÀäȴûºÃµÄʱºò¿Õ°´£¬ÓÃÕÒͼÅжÏÁÁÆðÔÙ°´¸üÎÈ¡£
Á½¸ö²ãÃæµÄ½Å±¾²»Òª¸ã»ì¡£·þÎñ¶ËXP½Å±¾¹ÜµÄÊÇÓÎÏ·ÄÚÈÝÂß¼£¬°´¼ü¾«Áé¹ÜµÄÊÇÄ£ÄâÍæ¼Ò²Ù×÷¡£¼¼Ä܏įÕͨ¼¼ÄÜÓò»Á˵ÄÎÊÌâÊôÓÚÅäÖÃÎļþÐ޸쬏ú°´¼ü¾«Áé½Å±¾Ã»ÓйØÏµ¡£

