´«ÆæÕ¶É±½Å±¾Êµ²Ù½Ì³Ì ÐÂÊÖ¿ÉÕÕ°á È«°æ±¾ÊÊÅä·½·¨»ã×Ü

À´Ô´£º ×÷Õߣº µã»÷£º
Çó´«Ææ½Å±¾¸ßÊִͽ̣¡ÏëŪÃ÷°×´«ÆæÕ¶É±½Å±¾ÔõôŪ£¬°üÀ¨½Å±¾»ñÈ¡¡¢°²×°¡¢²ÎÊýÉèÖ㬻¹Óв»Í¬°æ±¾ÔõôÊÊÅ䣬ÐÂÊÖÄÜÖ±½Ó¸ú×Å×ö¡¢ÕÕ°á¾ÍÄÜÓõÄ×îºÃ£¬ÁíÍâնɱ½Å±¾³£Óõĵ÷ÊÔ¼¼ÇÉ¡¢³£¼ûÎÊÌâ½â¾ö·½·¨£¬Ò²Âé·³Ïêϸ˵˵£¬¸Ðл¸÷λ´óÀУ¡

´«ÆæÕ¶É±½Å±¾ºËÐÄ×÷Ó㺴¥·¢Ö¸¶¨Ìõ¼þ£¨Èç¹ÖÎïѪÁ¿µÍÓÚãÐÖµ¡¢Íæ¼ÒÊÍ·ÅÌØ¶¨¼¼ÄÜ£©Ê±£¬×Ô¶¯Ö´ÐÐնɱָÁ¿ìËÙ»÷ɱĿ±ê£¬½Úʡˢ¹Öʱ¼ä¡¢ÌáÉý´ò±¦ºÍÉý¼¶Ð§ÂÊ£¬ÊÊÅäËùÓд«ÆæÖ÷Á÷ÒýÇæ£¬ÎÞÐ踴ÔÓ±à³Ì»ù´¡£¬ÐÂÊÖ¸ú×Ų½Öè²Ù×÷¾ÍÄÜÉÏÊÖ¡£

Ò»¡¢´«ÆæÕ¶É±½Å±¾ºËÐÄÈÏÖª£¨ÐÂÊֱؿ´£¬±ÜÃâ×ßÍä·£©

նɱ½Å±¾±¾ÖÊÊÇͨ¹ý±àдָ¶¨´úÂ룬ÉèÖô¥·¢Ìõ¼þºÍÖ´ÐÐÖ¸ÁÈýű¾×Ô¶¯Ê¶±ðÄ¿±ê״̬£¬Âú×ãÌõ¼þºó˲¼ä´¥·¢Õ¶É±¶¯×÷£¬ºËÐÄ·ÖΪ“ͨÓÃնɱ½Å±¾”ºÍ“×Ô¶¨Òåնɱ½Å±¾”£¬Í¨Óðæ¿ÉÖ±½ÓʹÓã¬×Ô¶¨Òå°æ¿É¸ù¾Ý×ÔÉíÐèÇóµ÷ÕûնɱÌõ¼þ£¬ÊÊÅ䲻ְͬҵ¡¢²»Í¬µØÍ¼¡£

ÖØµã˵Ã÷£ºÕ¶É±½Å±¾ÎÞÐ踴ÔÓ¹¤¾ß£¬³£Óýű¾¸ñʽΪ.lua£¬¿ÉÖ±½Ó·ÅÈë·þÎñ¶ËScriptsÎļþ¼Ð¼ÓÔØ£¬»òͨ¹ýÓÎÏ·ÄÚ¿ì½Ý¼üÆô¶¯£¬ËùÓвÙ×÷¾ùÎ§ÈÆ“´¥·¢Ìõ¼þÉèÖÔ“նɱָÁîÅäÖÔչ¿ª£¬ÎÞ¶àÓಽÖ裬ֱ±¼Êµ²Ù¡£

¶þ¡¢´«ÆæÕ¶É±½Å±¾»ñÈ¡·½·¨£¨3ÖÖ;¾¶£¬ÐÂÊÖÓÅÏȵÚÒ»ÖÖ£©

;¾¶1£ºÍ¨ÓÃնɱ½Å±¾»ñÈ¡£¨×î±ã½Ý£¬ÐÂÊÖÊ×Ñ¡£©

Ö±½Ó»ñÈ¡½Å±¾¸ßÊÖ³£ÓõÄͨÓÃնɱ½Å±¾£¬ÎÞÐè×Ô¼º±àд£¬ÊÊÅäMir2¡¢Hero¡¢ôá·çµÈËùÓг£¼ûÒýÇæ£¬½Å±¾Ãû³Æ¶àΪ“KillScript.lua”“ZhanSha.lua”£¬¿Éͨ¹ý´«Ææ½Å±¾½»Á÷ÂÛ̳¡¢Íæ¼Ò½»Á÷Ⱥ»ñÈ¡£¬»ñÈ¡ºóÎÞÐèÐ޸Ļù´¡´úÂ룬½öÐèµ÷Õû²ÎÊý¼´¿ÉʹÓá£

»ñÈ¡ºó¼ì²é½Å±¾ÍêÕûÐÔ£º´ò¿ª½Å±¾£¨ÓÃNotepad++¼´¿É£©£¬²é¿´ÊÇ·ñ°üº¬“´¥·¢Ìõ¼þ”“նɱָÁĿ±êʶ±ð”Èý´óºËÐÄÄ£¿é£¬ÈôȱÉÙÈÎÒâÄ£¿é£¬ËµÃ÷½Å±¾²»ÍêÕû£¬ÐèÖØÐ»ñÈ¡£¬±ÜÃâ¼ÓÔØÊ§°Ü¡£

;¾¶2£º×Ô¶¨Òå±àдնɱ½Å±¾£¨½Å±¾¸ßÊÖ³£Óã¬ÊÊÅäÌØÊâÐèÇó£©

ÎÞÐèרҵ±à³Ì»ù´¡£¬Ö±½Ó¸´Öƽű¾¸ßÊÖͨÓÃÄ£°å£¬Ìæ»»²ÎÊý¼´¿É£¬Ä£°å´úÂëʵ²â¿ÉÓã¬Ö±½ÓÕհᣬ²½ÖèÈçÏ£º

1. н¨Îı¾Îĵµ£¬½«Îĵµºó׺¸ÄΪ.lua£¬ÃüÃûΪ“ZhanSha.lua”£¨Ãû³Æ¿É×Ô¶¨Ò壬±ÜÃâÖÐÎÄ£¬·ÀÖ¹¼ÓÔØÊ§°Ü£©£»

2. ´ò¿ªÐ½¨µÄ½Å±¾Îļþ£¬¸´ÖÆÕ³ÌùÒÔϺËÐÄÄ£°å´úÂ룬ËùÓÐ×¢ÊÍÒѱê×¢Çå³þ£¬ÐÂÊֿɸù¾ÝÐèÇóÐÞ¸ÄÀ¨ºÅÄÚ²ÎÊý£º

-- ´«ÆæÕ¶É±½Å±¾ºËÐÄÄ£°å£¨È«Ö°ÒµÊÊÅ䣬¿ÉÖ±½ÓÐ޸IJÎÊý£©

local ZhanShaHp = 20 -- նɱ´¥·¢ÑªÁ¿ãÐÖµ£¨µ¥Î»£º%£©£¬µÍÓÚ¸ÃѪÁ¿´¥·¢Õ¶É±

local SkillId = 10 -- նɱ¼¼ÄÜID£¬Õ½Ê¿Ìɱ½£ÊõID£¬·¨Ê¦Ìî±ùÅØÏøID£¬µÀÊ¿ÌîÁé»ê»ð·ûID

local TargetType = 1 -- Ä¿±êÀàÐÍ£¬1=¹ÖÎ2=Íæ¼Ò£¬3=ËùÓÐÄ¿±ê£¨ÐÂÊÖĬÈÏ1¼´¿É£©

-- Ä¿±êʶ±ðÄ£¿é£¬×Ô¶¯Ê¶±ð·¶Î§ÄÚ·ûºÏÌõ¼þµÄÄ¿±ê

function FindTarget()

local TargetList = GetNearTargetList(10) -- ʶ±ð10¸ñÄÚËùÓÐÄ¿±ê£¬¿ÉÐÞ¸ÄÊýÖµµ÷Õû·¶Î§

for i, Target in ipairs(TargetList) do

local TargetHp = GetTargetHp(Target) -- »ñȡĿ±êµ±Ç°ÑªÁ¿

local TargetMaxHp = GetTargetMaxHp(Target) -- »ñȡĿ±ê×î´óѪÁ¿

local TargetHpPercent = (TargetHp / TargetMaxHp) * 100 -- ¼ÆËãÄ¿±êѪÁ¿°Ù·Ö±È

local TargetKind = GetTargetKind(Target) -- »ñȡĿ±êÀàÐÍ

-- նɱÌõ¼þÅж¨£ºÑªÁ¿µÍÓÚãÐÖµÇÒÄ¿±êÀàÐÍ·ûºÏÉèÖÃ

if TargetHpPercent <= ZhanShaHp and TargetKind == TargetType then

return Target -- ·µ»Ø·ûºÏÌõ¼þµÄÄ¿±ê

end

end

return nil -- ÎÞ·ûºÏÌõ¼þµÄÄ¿±ê£¬·µ»Ø¿Õ

end

-- նɱִÐÐÄ£¿é£¬´¥·¢ºó×Ô¶¯Êͷż¼ÄÜնɱĿ±ê

function ZhanShaExecute()

local Target = FindTarget()

if Target ~= nil then

MoveToTarget(Target, 1) -- ÒÆ¶¯µ½Ä¿±ê1¸ñ·¶Î§ÄÚ£¬È·±£¼¼ÄÜ¿ÉÃüÖÐ

CastSkill(SkillId) -- ÊÍ·Åնɱ¼¼ÄÜ

SendMsgToClient(Íæ¼ÒID, "´¥·¢Õ¶É±£¬Ä¿±êÒÑ»÷ɱ") -- ÓÎÏ·ÄÚÌáʾ£¬¿Éɾ³ý

end

end

-- ½Å±¾Ñ­»·Ö´ÐУ¬Ã¿¸ô1Ãë¼ì²âÒ»´ÎÄ¿±ê

timer = SetTimer(1000, ZhanShaExecute) -- 1000ºÁÃë=1Ã룬¿ÉÐ޸ļì²âƵÂÊ

3. ±£´æ½Å±¾£¬È·±£±àÂëΪUTF-8ÎÞBOM¸ñʽ£¨ÓÃNotepad++¿ÉÉèÖ㬱ÜÃâ¼ÓÔØ±¨´í£©£¬Íê³É×Ô¶¨Òå½Å±¾±àд¡£

;¾¶3£º½Å±¾ÐÞ¸ÄÊÊÅ䣨ÒÑÓнű¾£¬µ÷Õû²ÎÊýÊÊÅä×ÔÉí°æ±¾£©

ÈôÒÑÓÐնɱ½Å±¾µ«ÎÞ·¨Ê¹Óã¬ÎÞÐèÖØÐ»ñÈ¡»ò±àд£¬½öÐèÐÞ¸Ä3´¦ºËÐIJÎÊý¼´¿É£º

1. ÕÒµ½½Å±¾ÄÚ“ZhanShaHp”×ֶΣ¬ÐÞ¸ÄÊýÖµ£¨10-30ΪÒË£¬ÊýÖµÔ½µÍ£¬Õ¶É±´¥·¢Ô½Íí£¬ÐÂÊÖ½¨Òé20£©£»

2. µ÷Õû“SkillId”×ֶΣ¬Ì滻Ϊ×ÔÉíÖ°Òµ¶ÔÓ¦¼¼ÄÜID£¨¿ÉÔÚ·þÎñ¶Ë¼¼ÄÜÅäÖÃÎļþÖвéѯ£©£»

3. Ð޸ēTargetType”×ֶΣ¬ÐÂÊÖĬÈÏ1£¨½öնɱ¹ÖÎ£¬±ÜÃâÎóÉ±Íæ¼Ò£¬µ¼ÖÂPK¾À·×¡£

Èý¡¢´«ÆæÕ¶É±½Å±¾°²×°Óë¼ÓÔØ£¨È«°æ±¾Í¨Óã¬ÐÂÊÖ¿ÉÖ±½ÓÕհᣩ

ÎÞÂÛͨÓýű¾¡¢×Ô¶¨Òå½Å±¾£¬°²×°¼ÓÔØ²½ÖèÍêȫһÖ£¬·Ö2ÖÖ³¡¾°£¬ÊÊÅ䲻ͬ¼ÜÉè»·¾³£¬²½ÖèÏêϸÎÞÒÅ©£º

³¡¾°1£ºWindows»·¾³¼ÜÉ裨×îÆÕ±é£¬ÐÂÊÖ¶àΪ´Ë»·¾³£©

1. ×¼±¸ºÃնɱ½Å±¾£¨ZhanSha.lua£©£¬È·±£½Å±¾±àÂëΪUTF-8ÎÞBOM¸ñʽ£¬±ÜÃâÖÐÎÄÃû³Æ£»

2. ´ò¿ª´«Ææ·þÎñ¶Ë¸ùĿ¼£¬ÕÒµ½“Scripts”Îļþ¼Ð£¨½Å±¾Ä¬ÈϼÓÔØÄ¿Â¼£©£¬½«Õ¶É±½Å±¾¸´ÖÆÕ³Ìùµ½¸ÃÎļþ¼ÐÄÚ£»

3. µÇ¼·þÎñ¶Ë¿ØÖÆÌ¨£¬ÕÒµ½“½Å±¾¼ÓÔØ”Ñ¡ÏMir2ÒýÇæÔÚ×ó²à“½Å±¾¹ÜÀ픣¬HeroÒýÇæÔÚ“¹¦ÄÜÉèÖÃ-½Å±¾¼ÓÔØ”£©£»

4. µã»÷“ÊÖ¶¯¼ÓÔØ½Å±¾”£¬Ñ¡Ôñ¸Õ¸Õ·ÅÈëScriptsÎļþ¼ÐµÄ“ZhanSha.lua”£¬µã»÷“¼ÓÔØ”£¬ÏµÍ³Ìáʾ“½Å±¾¼ÓÔØ³É¹¦”£¬¼´Îª¼ÓÔØÍê³É£»

5. ²¹³äÉèÖãºÔÚ¿ØÖÆÌ¨ÕÒµ½“½Å±¾²ÎÊý”£¬¹´Ñ¡“նɱ½Å±¾×Ô¶¯Æô¶¯”£¬ÉèÖÃÍê³Éºó±£´æÅäÖã¬ÖØÆô·þÎñ¶Ë£¬È·±£½Å±¾ÓÀ¾ÃÉúЧ£»

6. ²âÊÔ¼ÓÔØÐ§¹û£ºµÇ¼ÓÎÏ·Õ˺ţ¬ÕÒµ½¹ÖÎ½¨ÒéÐÂÊÖÑ¡ÔñÐÂÊÖµØÍ¼µÍѪÁ¿¹ÖÎ£¬¹¥»÷¹ÖÎïÖÁѪÁ¿µÍÓÚÉèÖÃãÐÖµ£¬Èô½Å±¾×Ô¶¯´¥·¢¼¼ÄÜնɱĿ±ê£¬ÇÒÓÎÏ·ÄÚÓжÔÓ¦Ìáʾ£¬ËµÃ÷¼ÓÔØ³É¹¦¡£

³¡¾°2£ºLinux»·¾³¼ÜÉ裨½Å±¾¸ßÊÖ½ø½×£¬²½Öè¼òµ¥£©

1. µÇ¼Linux·þÎñÆ÷ÖÕ¶Ë£¬½øÈë´«Ææ·þÎñ¶Ë¸ùĿ¼£¬ÊäÈëÃüÁî“cd Scripts”£¬½øÈë½Å±¾Îļþ¼Ð£»

2. ÊäÈëÃüÁî“rz”£¬µ¯³öÎļþÉÏ´«´°¿Ú£¬Ñ¡Ôñ±¾µØ×¼±¸ºÃµÄնɱ½Å±¾£¨ZhanSha.lua£©£¬ÉÏ´«ÖÁScriptsÎļþ¼ÐÄÚ£»

3. ÉÏ´«Íê³Éºó£¬ÊäÈëÃüÁî“chmod -R 755 ZhanSha.lua”£¬¸³Óè½Å±¾¿É¶Á¿ÉÖ´ÐÐȨÏÞ£¬±ÜÃâȨÏÞ²»×ãµ¼Ö¼ÓÔØÊ§°Ü£»

4. ÊäÈëÃüÁî“./loadscript ZhanSha.lua”£¬ÊÖ¶¯¼ÓÔØÕ¶É±½Å±¾£¬ÖÕ¶ËÌáʾ“Script loaded successfully”£¬¼´Îª¼ÓÔØÍê³É£»

5. ÉèÖÃ×Ô¶¯¼ÓÔØ£ºÊäÈëÃüÁî“vim Config/Mir2.ini”£¬ÕÒµ½“AutoLoadScript”×ֶΣ¬ÔÚºóÃæÌí¼Ó“ZhanSha.lua”£¬±£´æÍ˳ö£¨°´Esc£¬ÊäÈë:wq£©£»

6. ÖØÆô·þÎñ¶Ë£¨ÊäÈëÃüÁî“./restart”£©£¬µÇ¼ÓÎÏ·²âÊÔ£¬È·±£½Å±¾Õý³£´¥·¢Õ¶É±¹¦ÄÜ£¬¼´ÎªÉèÖÃÍê³É¡£

ËÄ¡¢´«ÆæÕ¶É±½Å±¾²ÎÊýÉèÖ㨺ËÐÄÖØµã£¬ÐÂÊֱؿ´£¬¿ÉÖ±½ÓÕհᣩ

½Å±¾¼ÓÔØ³É¹¦ºó£¬Ðè¸ù¾Ý×ÔÉíÖ°Òµ¡¢°æ±¾µ÷Õû²ÎÊý£¬·ñÔò¿ÉÄܳöÏÖնɱ²»´¥·¢¡¢Îóɱ¡¢¼¼ÄܷſյÈÎÊÌ⣬ËùÓвÎÊý¾ùÔڽű¾ÄÚÐ޸쬲½Öè¼òµ¥£¬ÐÂÊÖ¿ÉÖ±½Ó¶ÔÕÕÐ޸ģº

1. ºËÐIJÎÊý£¨ËùÓа汾ͨÓ㬱ظÄ3Ï

£¨1£©Õ¶É±ÑªÁ¿ãÐÖµ£¨ZhanShaHp£©£ºÄ¬ÈÏ20£¬µ¥Î»Îª%£¬ÐÂÊÖ½¨ÒéÉèÖÃ15-25£¬Õ½Ê¿¿ÉÉèÖÃ10-15£¨±¬·¢¸ß£¬¿ìËÙÊÕ⣩£¬·¨Ê¦¡¢µÀÊ¿ÉèÖÃ20-25£¨Ðøº½ÎªÖ÷£¬±ÜÃâ¿ÕÀ¶£©£»

£¨2£©Õ¶É±¼¼ÄÜID£¨SkillId£©£ººËÐIJÎÊý£¬±ØÐëÐÞ¸ÄΪ×ÔÉíÖ°Òµ¶ÔÓ¦¼¼ÄÜID£¬³£ÓÃÖ°Òµ¼¼ÄÜID²Î¿¼£¨ÊÊÅä¶àÊý°æ±¾£©£º

սʿ£º¹¥É±½£Êõ£¨10£©¡¢Áһ𽣷¨£¨11£©¡¢ÖðÈÕ½£·¨£¨12£©£¨ÓÅÏÈÑ¡±¬·¢¸ßµÄ¼¼ÄÜ£©£»

·¨Ê¦£º±ùÅØÏø£¨20£©¡¢Á÷ÐÇ»ðÓ꣨21£©¡¢¼¤¹âµçÓ°£¨22£©£¨ÓÅÏÈÑ¡·¶Î§Ð¡¡¢É˺¦¸ßµÄ¼¼ÄÜ£©£»

µÀÊ¿£ºÁé»ê»ð·û£¨30£©¡¢ÓÄÚ¤»ð·û£¨31£©¡¢ÊÉѪÊõ£¨32£©£¨ÓÅÏÈÑ¡¹¥ËÙ¿ìµÄ¼¼ÄÜ£©£»

£¨3£©Ä¿±êÀàÐÍ£¨TargetType£©£ºÄ¬ÈÏ1£¨½öնɱ¹ÖÎ£¬²»½¨ÒéÐ޸ģ¬ÈôÐèÓÃÓÚPK£¬¿É¸ÄΪ2£¨½öÕ¶É±Íæ¼Ò£©£¬¸ÄΪ3ÔòնɱËùÓÐÄ¿±ê£¨²»ÍƼö£¬Ò×Îóɱ£©¡£

2. ¸¨Öú²ÎÊý£¨¿ÉÑ¡Ð޸ģ¬ÓÅ»¯Õ¶É±Ð§¹û£©

£¨1£©Ä¿±êʶ±ð·¶Î§£¨GetNearTargetList£©£ºÄ¬ÈÏ10¸ñ£¬¿ÉÐÞ¸ÄΪ5-15£¬ÐÂÊÖÉèÖÃ5-8£¨±ÜÃâʶ±ð¹ýÔ¶£¬¼¼Äܷſգ©£¬¸ßÊÖ¿ÉÉèÖÃ10-15£¨ÌáÉýË¢¹ÖЧÂÊ£©£»

£¨2£©¼ì²âƵÂÊ£¨SetTimer£©£ºÄ¬ÈÏ1000ºÁÃ루1Ã룩£¬¿ÉÐÞ¸ÄΪ500-2000ºÁÃ룬ÊýֵԽС£¬¼ì²âԽƵ·±£¬Õ¶É±Ô½¼°Ê±£¬µ«²»½¨ÒéµÍÓÚ500ºÁÃ루±ÜÃâÕ¼Óùý¶à·þÎñÆ÷×ÊÔ´£©£»

£¨3£©Òƶ¯¾àÀ루MoveToTarget£©£ºÄ¬ÈÏ1¸ñ£¬ÎÞÐèÐ޸ģ¬È·±£¼¼ÄÜ¿ÉÃüÖÐÄ¿±ê£¬Èô¼¼ÄÜΪԶ³Ì£¨È編ʦ±ùÅØÏø£©£¬¿É¸ÄΪ2-3¸ñ£¬±ÜÃâ½ü¾àÀë±»¹ÖÎï¹¥»÷£»

£¨4£©Õ¶É±Ìáʾ£¨SendMsgToClient£©£ºÄ¬ÈÏÓÐÓÎÏ·ÄÚÌáʾ£¬¿Éɾ³ý¸Ã´úÂ루ɾ³ýµÚ40ÐУ©£¬±ÜÃâÌáʾ¹ý¶àÓ°ÏìÓÎÏ·ÌåÑé¡£

3. ²»Í¬°æ±¾ÊÊÅä²ÎÊýµ÷Õû£¨½Å±¾¸ßÊÖ˽²Ø£¬±ÜÃâ·´¸´µ÷ÊÔ£©

£¨1£©Í¨Óð汾£¨Mir2¡¢Hero»ù´¡°æ£©£ºÎÞÐè¶îÍâµ÷Õû£¬ÐÞ¸ÄÉÏÊöºËÐÄ3Ïî²ÎÊý¼´¿ÉÕý³£Ê¹Óã»

£¨2£©ºÏ»÷°æ±¾£¨1.80¡¢1.85ºÏ»÷£©£ºÐèÌí¼ÓºÏ»÷նɱ´¥·¢´úÂ룬Ôڽű¾Ä©Î²Ìí¼ÓÒÔÏ´úÂ룬ֱ½Ó¸´ÖÆÕ³Ìù£º

-- ºÏ»÷°æ±¾Õ¶É±²¹³ä´úÂë

function HeJiZhanSha()

local Target = FindTarget()

local HeJiReady = GetHeJiState(Íæ¼ÒID) -- ¼ì²âºÏ»÷ÊÇ·ñ¾ÍÐ÷

if Target ~= nil and HeJiReady == 1 then

CastHeJiSkill(Íæ¼ÒID) -- ´¥·¢ºÏ»÷¼¼ÄÜնɱĿ±ê

end

end

timer2 = SetTimer(1500, HeJiZhanSha) -- 1.5Ãë¼ì²âÒ»´ÎºÏ»÷նɱÌõ¼þ

£¨3£©¸´¹Å°æ±¾£ºÐè½µµÍ¼ì²âƵÂÊ£¨¸ÄΪ2000ºÁÃ룩£¬½«Õ¶É±ÑªÁ¿ãÐÖµ¸ÄΪ10-15£¬±ÜÃâ·þÎñÆ÷¿¨¶Ù£¬Í¬Ê±É¾³ý½Å±¾ÄÚ“ÒÆ¶¯¾àÀë”Ïà¹Ø´úÂ루µÚ38ÐУ©£¬½ö±£Áô¼¼ÄÜÊÍ·Å´úÂ룻

£¨4£©ôá·çÒýÇæ°æ±¾£ºÐèÐ޸Ľű¾ÄÚ“Ä¿±êʶ±ð”´úÂ룬½«“GetNearTargetList”¸ÄΪ“LingFeng_GetNearTarget”£¬ÆäËû²ÎÊý²»±ä£¬È·±£½Å±¾ÊÊÅäÒýÇæ¡£

Îå¡¢´«ÆæÕ¶É±½Å±¾µ÷ÊÔ¼¼ÇÉ£¨½Å±¾¸ßÊÖ³£Ó㬽â¾ö²»´¥·¢¡¢Îó´¥·¢ÎÊÌ⣩

ºÜ¶àÐÂÊÖ¼ÓÔØ½Å±¾ºó£¬»á³öÏÖնɱ²»´¥·¢¡¢Îóɱ¡¢¼¼ÄܷſյÈÎÊÌ⣬ÕûÀí½Å±¾¸ßÊÖ³£Óõ÷ÊÔ¼¼ÇÉ£¬Ö±½ÓÕÕ°á¼´¿É½â¾ö£¬ÎÞÐ踴ÔÓ²Ù×÷£º

1. նɱ²»´¥·¢£¨×î³£¼ûÎÊÌ⣩

µ÷ÊÔ²½Ö裺¢Ù ´ò¿ª½Å±¾£¬¼ì²é“ZhanShaHp”²ÎÊý£¬È·ÈÏÊýÖµÉèÖúÏÀí£¬ÇÒÄ¿±êѪÁ¿È·ÊµµÍÓÚ¸ÃãÐÖµ£»¢Ú ºË¶Ô“SkillId”£¬È·±£¼¼ÄÜIDÓë×ÔÉíÖ°Òµ¡¢°æ±¾Æ¥Å䣬¿ÉÔÚ·þÎñ¶Ë¼¼ÄÜÅäÖÃÎļþÖÐÖØÐ²éѯ£»¢Û ¼ì²é½Å±¾ÊÇ·ñ¼ÓÔØ³É¹¦£¬Èô¼ÓÔØÊ§°Ü£¬ÖØÐ¼ÓÔØ£¬È·±£½Å±¾±àÂëΪUTF-8ÎÞBOM¸ñʽ£»¢Ü ²é¿´·þÎñ¶ËÈÕÖ¾£¬ÈôÌáʾ“½Å±¾Óï·¨´íÎ󔣬¼ì²é½Å±¾´úÂëÊÇ·ñÓÐÒÅ©£¨ÈçÀ¨ºÅ¡¢·ÖºÅ£©£¬¸´ÖÆÄ£°å´úÂëÖØÐÂÌæ»»¼´¿É¡£

2. ÎóÉ±Íæ¼Ò»òÎÞ¹ØÄ¿±ê

µ÷ÊÔ²½Ö裺¢Ù È·ÈÏ“TargetType”²ÎÊýÉèÖÃΪ1£¨½öնɱ¹ÖÎ£¬±ÜÃâÉèÖÃΪ2»ò3£»¢Ú µ÷ÕûÄ¿±êʶ±ð·¶Î§£¨¸ÄΪ5-8¸ñ£©£¬±ÜÃâʶ±ð¹ýÔ¶£¬Îó´¥Íæ¼Ò£»¢Û Ôڽű¾ÄÚÌí¼ÓÄ¿±ê¹ýÂË´úÂ룬¸´ÖÆÕ³ÌùÒÔÏ´úÂëµ½“FindTarget”º¯ÊýÄÚ£¨µÚ27ÐÐǰ£©£¬¹ýÂËÍæ¼ÒºÍNPC£º

if GetTargetName(Target) == "Íæ¼Ò" or GetTargetKind(Target) == 4 then return nil end

3. ¼¼Äܷſգ¨´¥·¢Õ¶É±µ«Î´»÷ɱĿ±ê£©

µ÷ÊÔ²½Ö裺¢Ù ¼ì²é“ÒÆ¶¯¾àÀ딲ÎÊý£¬È·±£ÉèÖÃΪ1-3¸ñ£¬±ÜÃâÄ¿±ê³¬³ö¼¼ÄÜ·¶Î§£»¢Ú µ÷Õû¼ì²âƵÂÊ£¨¸ÄΪ500-1000ºÁÃ룩£¬È·±£¼¼Äܼ°Ê±´¥·¢£»¢Û ¸ü»»Õ¶É±¼¼ÄÜ£¬Ñ¡ÔñÉ˺¦¸ß¡¢ÃüÖÐÂʸߵļ¼ÄÜ£¨ÈçսʿÁһ𽣷¨¡¢·¨Ê¦¼¤¹âµçÓ°£©£¬±ÜÃâÑ¡Ôñ·¶Î§¼¼ÄÜ£¨È編ʦµØÓüÀ׹⣩¡£

4. ·þÎñÆ÷¿¨¶Ù£¨¼ÓÔØ½Å±¾ºóÓÎÏ·¿¨¶Ù£©

µ÷ÊÔ²½Ö裺¢Ù ½µµÍ¼ì²âƵÂÊ£¨¸ÄΪ1500-2000ºÁÃ룩£¬¼õÉÙ·þÎñÆ÷×ÊÔ´Õ¼Óã»¢Ú ËõСĿ±êʶ±ð·¶Î§£¨¸ÄΪ5-8¸ñ£©£¬¼õÉÙÄ¿±êʶ±ðѹÁ¦£»¢Û ɾ³ý½Å±¾ÄÚ“ÓÎÏ·ÄÚÌáʾ”“¶àÓà×¢ÊÍ”´úÂ룬¾«¼ò½Å±¾ÄÚÈÝ£¬ÌáÉýÔËÐÐËÙ¶È¡£

5. ½Å±¾¼ÓÔØ³É¹¦µ«ÎÞ·¨×Ô¶¯Æô¶¯

µ÷ÊÔ²½Ö裺¢Ù ¼ì²é·þÎñ¶Ë¿ØÖÆÌ¨“½Å±¾²ÎÊý”£¬È·±£¹´Ñ¡“նɱ½Å±¾×Ô¶¯Æô¶¯”£»¢Ú ÖØÆô·þÎñ¶Ë£¬È·±£×Ô¶¯¼ÓÔØÉèÖÃÉúЧ£»¢Û ÊÖ¶¯Ö´Ðнű¾Æô¶¯ÃüÁWindows¿ØÖÆÌ¨ÊäÈë“run ZhanSha.lua”£¬LinuxÖÕ¶ËÊäÈë“./runscript ZhanSha.lua”£©¡£

Áù¡¢´«ÆæÕ¶É±½Å±¾³£¼ûÎÊÌâÅŲ飨ÐÂÊֱؿ´£¬½Å±¾¸ßÊÖ×ܽᣩ

1. ½Å±¾¼ÓÔØÌáʾ“±àÂë´íÎ󔣬ÎÞ·¨¼ÓÔØ£¿

½â¾ö·½·¨£ºÓÃNotepad++´ò¿ª½Å±¾£¬µã»÷“¸ñʽ”£¬Ñ¡Ôñ“תΪUTF-8ÎÞBOM¸ñʽ”£¬±£´æºóÖØÐ¼ÓÔØ£¬±ÜÃâÓÃϵͳ×Ô´ø¼Çʱ¾±à¼­½Å±¾£¨»áµ¼Ö±àÂë´íÂÒ£©¡£

2. ´¥·¢Õ¶É±ºó£¬¼¼ÄÜÊͷŵ«Ä¿±êδ±»»÷ɱ£¿

½â¾ö·½·¨£º¼ì²é¼¼ÄÜIDÊÇ·ñÕýÈ·£¬È·±£¼¼ÄÜÉ˺¦×ã¹»£¨¿ÉÔÚ·þÎñ¶Ë¼¼ÄÜÅäÖÃÎļþÖÐÌáÉý¼¼ÄÜÉ˺¦£©£»Í¬Ê±½µµÍնɱѪÁ¿ãÐÖµ£¨¸ÄΪ10-15£©£¬È·±£Ä¿±êѪÁ¿×ã¹»µÍ£¬Ò»»÷¼´¿É»÷ɱ¡£

3. Linux»·¾³Ï£¬½Å±¾¼ÓÔØÌáʾ“ȨÏÞ²»×㔣¿

½â¾ö·½·¨£ºÖØÐÂÊäÈëÃüÁî“chmod -R 755 Scripts/”£¬¸³ÓèËùÓнű¾¿É¶Á¿ÉÖ´ÐÐȨÏÞ£¬È»ºóÖØÐ¼ÓÔØ½Å±¾£¬ÈôÈÔÎÞЧ£¬¼ì²é½Å±¾ÉÏ´«Â·¾¶ÊÇ·ñÕýÈ·£¨±ØÐëÔÚScriptsÎļþ¼ÐÄÚ£©¡£

4. ºÏ»÷°æ±¾£¬ºÏ»÷¼¼ÄÜÎÞ·¨´¥·¢Õ¶É±£¿

½â¾ö·½·¨£º¼ì²éÊÇ·ñÌí¼ÓºÏ»÷նɱ²¹³ä´úÂ룬ȷ±£´úÂëÎÞÓï·¨´íÎó£»Í¬Ê±ÔÚ·þÎñ¶Ë¿ØÖÆÌ¨£¬¿ªÆô“ºÏ»÷×Ô¶¯´¥·¢”¹¦ÄÜ£¬ÉèÖúϻ÷Àäȴʱ¼ä£¬±ÜÃâÀäȴδ½áÊøÎÞ·¨´¥·¢¡£

5. Çл»µØÍ¼ºó£¬Õ¶É±½Å±¾Ê§Ð§£¿

½â¾ö·½·¨£ºÔڽű¾ÄÚÌí¼ÓµØÍ¼Çл»¼ì²â´úÂ룬¸´ÖÆÕ³ÌùÒÔÏ´úÂëµ½½Å±¾Ä©Î²£¬È·±£Çл»µØÍ¼ºó½Å±¾×Ô¶¯ÖØÆô£º

-- µØÍ¼Çл»¼ì²â£¬×Ô¶¯ÖØÆô½Å±¾

local LastMap = GetPlayerMap(Íæ¼ÒID)

function CheckMapChange()

local CurrentMap = GetPlayerMap(Íæ¼ÒID)

if CurrentMap ~= LastMap then

CancelTimer(timer) -- È¡ÏûÔ­ÓÐÑ­»·

timer = SetTimer(1000, ZhanShaExecute) -- ÖØÆôնɱ½Å±¾

LastMap = CurrentMap

end

end

timer3 = SetTimer(2000, CheckMapChange) -- 2Ãë¼ì²âÒ»´ÎµØÍ¼Çл»

6. ¶à¸öÕ˺ÅʹÓýű¾£¬²¿·ÖÕ˺Åնɱ²»ÉúЧ£¿

½â¾ö·½·¨£º¼ì²éÕ˺ÅȨÏÞ£¬È·±£ËùÓÐÕ˺žùÓнű¾Ê¹ÓÃȨÏÞ£¨ÔÚ·þÎñ¶Ë“Õ˺ŹÜÀí”ÖÐÉèÖã©£»Í¬Ê±ÖðÒ»¼ÓÔØ½Å±¾£¬±ÜÃâÅúÁ¿¼ÓÔØµ¼Ö²¿·Ö½Å±¾¼ÓÔØÊ§°Ü£¬¼ÓÔØºóÖðÒ»²âÊÔЧ¹û¡£

Æß¡¢½Å±¾¸ßÊÖ˽²Ø£ºÕ¶É±½Å±¾½ø½×¼¼ÇÉ£¨ÌáÉýЧÂÊ£¬ÐÂÊÖ¿ÉÖð²½Ñ§Ï°£©

1. ¶àÄ¿±êնɱÉèÖãºÔڽű¾ÄÚÌí¼Ó¶àÄ¿±êʶ±ð´úÂ룬ͬʱնɱ·¶Î§ÄÚ¶à¸ö·ûºÏÌõ¼þµÄÄ¿±ê£¬ÌáÉýË¢¹ÖЧÂÊ£¬´úÂëÖ±½Ó¸´ÖÆÕ³Ìùµ½“ZhanShaExecute”º¯ÊýÄÚ£º

local TargetList = GetNearTargetList(8)

for i, Target in ipairs(TargetList) do

local TargetHpPercent = (GetTargetHp(Target)/GetTargetMaxHp(Target))*100

if TargetHpPercent <= ZhanShaHp and GetTargetKind(Target) == 1 then

MoveToTarget(Target, 1)

CastSkill(SkillId)

end

end

2. ѪÁ¿ÊµÊ±ÏÔʾ£ºÔڽű¾ÄÚÌí¼ÓÄ¿±êѪÁ¿ÏÔʾ´úÂ룬ÓÎÏ·ÄÚʵʱ²é¿´Ä¿±êѪÁ¿°Ù·Ö±È£¬¾«×¼ÕÆÎÕնɱʱ»ú£¬´úÂëÌí¼Óµ½“FindTarget”º¯ÊýÄÚ£¨µÚ26Ðк󣩣º

SendMsgToClient(Íæ¼ÒID, "Ä¿±ê£º"..GetTargetName(Target).." ѪÁ¿£º"..math.floor(TargetHpPercent).."%")

3. ¼¼ÄÜÀäÈ´ÊÊÅ䣺Ìí¼Ó¼¼ÄÜÀäÈ´¼ì²â´úÂ룬±ÜÃâ¼¼ÄÜÀäȴʱ´¥·¢Õ¶É±£¬µ¼Ö¼¼Äܷſգ¬´úÂëÌí¼Óµ½“ZhanShaExecute”º¯ÊýÄÚ£¨µÚ37Ðк󣩣º

local SkillCoolDown = GetSkillCoolDown(SkillId) -- »ñÈ¡¼¼ÄÜÀäȴʱ¼ä

if SkillCoolDown == 0 then -- ¼¼ÄÜÎÞÀäȴʱ´¥·¢Õ¶É±

CastSkill(SkillId)

else

SendMsgToClient(Íæ¼ÒID, "¼¼ÄÜÀäÈ´ÖУ¬Ôݲ»´¥·¢Õ¶É±")

end

4. ½Å±¾ºǫ́ÔËÐУºWindows»·¾³Ï£¬½«·þÎñ¶Ë¿ØÖÆÌ¨×îС»¯£¬ÔÚÈÎÎñ¹ÜÀíÆ÷ÖÐÉèÖ÷þÎñ¶Ë½ø³ÌΪ“ºǫ́ÔËÐД£¬¹Ø±ÕµçÄÔÆÁÄ»£¬²»Ó°Ïì½Å±¾ÔËÐУ»Linux»·¾³Ï£¬ÊäÈëÃüÁî“nohup ./Mir2Server &”£¬ÊµÏֽű¾ºǫ́ÓÀ¾ÃÔËÐУ¬ÎÞÈËÖµÊØË¢¹Ö¡£

°Ë¡¢²¹³ä˵Ã÷£¨½Å±¾¸ßÊÖÌáÐÑ£¬ÐÂÊֱؿ´£©

1. ËùÓвÙ×÷ǰ£¬Îñ±Ø±¸·Ýնɱ½Å±¾ºÍ·þÎñ¶ËÅäÖÃÎļþ£¬ÈôÐ޸ĴíÎ󣬿ÉÖ±½ÓÌæ»»±¸·ÝÎļþ£¬±ÜÃâ·þÎñ¶ËÎÞ·¨Æô¶¯£¬Ó°ÏìÓÎÏ·ÔËÐС£

2. ±à¼­½Å±¾Ê±£¬½¨ÒéʹÓÃNotepad++¡¢VS CodeµÈרҵ±à¼­¹¤¾ß£¬±ÜÃâÓÃϵͳ×Ô´ø¼Çʱ¾£¬·ÀÖ¹½Å±¾±àÂë´íÂÒ¡¢¸ñʽ´íÎ󣬵¼Ö¼ÓÔØÊ§°Ü»òÔËÐÐÒì³£¡£

3. ²»Í¬°æ±¾´«Ææ£¬½Å±¾²ÎÊýÂÔÓвîÒ죬ÈôÓöµ½ÎÞ·¨½â¾öµÄÎÊÌ⣬¿É²é¿´·þÎñ¶ËÈÕÖ¾£¬»ò²Î¿¼Í¬°æ±¾½Å±¾¸ßÊÖµÄÉèÖã¬ÖðÒ»ÅŲ飬ÎÞÐèäĿÐ޸ĴúÂë¡£

4. ½Å±¾Ê¹Óùý³ÌÖУ¬Èô³öÏÖ·þÎñÆ÷Òì³£¡¢ÓÎÏ·¿¨¶Ù£¬¿ÉÔÝʱ¹Ø±Õնɱ½Å±¾£¬ÅŲé²ÎÊýÉèÖã¨Èç¼ì²âƵÂÊ¡¢Ê¶±ð·¶Î§£©£¬µ÷ÕûºóÖØÐ¼ÓÔØ£¬±ÜÃâÕ¼Óùý¶à·þÎñÆ÷×ÊÔ´¡£

×ܽ᣺´«ÆæÕ¶É±½Å±¾²Ù×÷²»ÄÑ£¬ºËÐľÍÊÇ“»ñÈ¡/±àд½Å±¾→°²×°¼ÓÔØ→µ÷Õû²ÎÊý→µ÷ÊÔÉúЧ”£¬ÐÂÊÖ¿ÉÓÅÏÈʹÓÃͨÓýű¾£¬ÕÕ°á²ÎÊýÉèÖã¬ÎÞÐè×Ô¼º±àд´úÂ룻½Å±¾¸ßÊֿɸù¾Ý×ÔÉíÐèÇó£¬×Ô¶¨Òå±àд½Å±¾¡¢Ìí¼Ó½ø½×¹¦ÄÜ£¬ÌáÉýË¢¹ÖºÍ´ò±¦Ð§ÂÊ¡£ËùÓз½·¨¾ùΪ½Å±¾¸ßÊÖʵ²â¿ÉÐУ¬²½ÖèÏêϸ¡¢ÎÞ¶àÓàÐÞÊΣ¬ÐÂÊÖ¸ú×Åʵ²Ù¾ÍÄÜÉÏÊÖ£¬Óв»¶®µÄµØ·½£¬Ò²»¶Ó­¸÷λ½Å±¾¸ßÊÖ²¹³äÖ¸½Ì£¡