´«ÆæGOMÒýÇæ´Ìɱ´¥·¢½Å±¾´úÂëÍêÕûʵÏÖ·½°¸

À´Ô´£º ×÷Õߣº µã»÷£º
Ò»¡¢GOMÒýÇæ´Ìɱ´¥·¢ºËÐÄÂß¼­

´«ÆæÏµÁÐÖдÌɱ¼¼ÄÜ×÷Ϊ¾­µä½üÕ½ºËÐļ¼ÄÜ£¬ÔÚGOMÒýÇæÖÐÐèͨ¹ý½Å±¾¾«×¼¿ØÖÆ´¥·¢Ìõ¼þ¡¢É˺¦¼ÆËã¼°ÊÓ¾õ·´À¡¡£ºËÐÄÂß¼­Î§ÈƽÇÉ«¹¥»÷״̬Åж¨¡¢Ä¿±ê¾àÀë¼ì²â¡¢¼¼ÄÜÀäÈ´ÑéÖ¤Èý´óά¶È£¬È·±£´¥·¢Ê±»ú·ûºÏÓÎÏ·É趨£¬Í¬Ê±¼æ¹Ë²»Í¬Ö°ÒµÊ¹Ó󡾰ϵļæÈÝÐÔ¡£

´¥·¢Ç°ÌáÐèÂú×㣺½ÇÉ«ÒÑѧϰ´Ìɱ¼¼ÄÜ¡¢¼¼ÄÜ´¦ÓÚ·ÇÀäȴ״̬¡¢¹¥»÷Ä¿±ê´¦ÓÚ½üÕ½¹¥»÷·¶Î§ÄÚÇÒδ´¦ÓÚÎ޵лòÃâÒß״̬¡£½Å±¾ÐèÓÅÏÈ»ñÈ¡½ÇÉ«ÓëÄ¿±êµÄ×ø±êÐÅÏ¢£¬Í¨¹ý¾àÀ빫ʽ¼ÆËãÁ½Õß¼ä¾à£¬Åж¨ÊÇ·ñ·ûºÏ´Ìɱ¼¼ÄÜ´¥·¢µÄ¾àÀëãÐÖµ¡£

¶þ¡¢´Ìɱ´¥·¢½Å±¾ºËÐÄ´úÂëʵÏÖ

ÒÔÏÂΪGOMÒýÇæÍ¨ÓÃÐÍ´Ìɱ´¥·¢ÍêÕû½Å±¾´úÂ룬º­¸Ç¼¼ÄÜ´¥·¢Åж¨¡¢É˺¦¼ÆËã¡¢ÀäÈ´¿ØÖƼ°Ð§¹ûչʾ£¬ÊÊÅä¶àÊýGOMÒýÇæ°æ±¾£¬¿É¸ù¾Ý·þÎñÆ÷Íæ·¨ÐèÇó΢µ÷²ÎÊý£º

--´Ìɱ¼¼ÄÜ´¥·¢ºËÐĽű¾
functionAssassinTrigger(attackertarget)
--»ñÈ¡½ÇÉ«¼¼ÄÜѧϰ״̬
localhasSkill=GetPlayerSkillLevel(attacker"´Ìɱ½£Êõ")
ifhasSkill<1then
returnfalse--δѧϰ¼¼ÄÜ£¬²»´¥·¢
end
--»ñÈ¡¼¼ÄÜÀäȴ״̬
localcdState=GetSkillCD(attacker"´Ìɱ½£Êõ")
ifcdState>0then
returnfalse--¼¼ÄÜÀäÈ´ÖУ¬²»´¥·¢
end
--¼ÆËã½ÇÉ«ÓëÄ¿±ê¾àÀë
localattXattY=GetPlayerXY(attacker)
localtarXtarY=GetPlayerXY(target)
localdistance=math.abs(attX-tarX)+math.abs(attY-tarY)
--Åж¨¾àÀëÊÇ·ñ·ûºÏ´¥·¢Ìõ¼þ£¨GOMĬÈÏ´Ìɱ´¥·¢¾àÀëΪ1-2¸ñ£©
ifdistance<1ordistance>2then
returnfalse--¾àÀë²»·û£¬²»´¥·¢
end
--Åж¨Ä¿±ê״̬£¨ÅųýÎÞµÐ/ÃâÒßÄ¿±ê£©
localtarState=GetPlayerState(target"NOHURT")
iftarState==1then
returnfalse--Ä¿±ê´¦ÓÚÎÞµÐ״̬£¬²»´¥·¢
end
--¼ÆËã´Ìɱ¼¼ÄÜÉ˺¦£¨»ù´¡É˺¦+¼¼Äܵȼ¶¼Ó³É£©
localbaseDmg=GetPlayerAttack(attacker)
localskillDmg=hasSkill*50--ÿ¼¶¼¼ÄܶîÍâ¼Ó³É50µãÉ˺¦
localtotalDmg=baseDmg+skillDmg
--´¥·¢É˺¦½áËã
SetPlayerDamage(targettotalDmg)
--ÉèÖü¼ÄÜÀäÈ´£¨µ¥Î»£ºÃ룬¿É¸ù¾ÝÐèÇóµ÷Õû£©
SetSkillCD(attacker"´Ìɱ½£Êõ"3)
--´¥·¢¼¼ÄÜÊÓ¾õЧ¹û£¨GOMÒýÇæÄÚÖÃЧ¹ûID£©
PlayEffect(attacker1024tarXtarY)
--·¢Ëͼ¼ÄÜ´¥·¢Ìáʾ
SendPlayerMsg(attacker25500"´Ìɱ½£Êõ´¥·¢£¬¶ÔÄ¿±êÔì³É"..totalDmg.."µãÉ˺¦£¡")
returntrue
end

--°ó¶¨¹¥»÷ʼþ´¥·¢
BindAttackEvent("AssassinTrigger")

´úÂë˵Ã÷£º½Å±¾Í¨¹ý×Ô¶¨Ò庯ÊýAssassinTriggerʵÏÖºËÐÄÂß¼­£¬Í¨¹ýGOMÒýÇæÄÚÖýӿڻñÈ¡½ÇÉ«¼¼ÄÜ״̬¡¢×ø±êÐÅÏ¢¼°Ä¿±ê״̬£¬Íê³É¶àά¶ÈÅж¨ºóÖ´ÐÐÉ˺¦½áËãÓëЧ¹û´¥·¢¡£×îºóͨ¹ýBindAttackEvent½Ó¿Ú½«º¯ÊýÓë½ÇÉ«¹¥»÷ʼþ°ó¶¨£¬ÊµÏÖ¹¥»÷ʱ×Ô¶¯¼ì²â´¥·¢¡£

Èý¡¢½Å±¾¹Ø¼ü²ÎÊýµ÷ÕûÖ¸ÄÏ

1.¼¼ÄÜÀäȴʱ¼ä£º½Å±¾ÖÐSetSkillCD½Ó¿ÚµÚÈý¸ö²ÎÊýΪÀäȴʱ¼ä£¨µ¥Î»£ºÃ룩£¬Ä¬ÈÏÉèÖÃΪ3Ã룬¿É¸ù¾Ý·þÎñÆ÷ƽºâÐèÇóµ÷Õû£¬ÀýÈçսʿְҵ¿ÉËõ¶ÌÖÁ2Ã룬Ôöǿְҵ¾ºÕùÁ¦¡£

2.¼¼ÄÜÉ˺¦¼Ó³É£º´úÂëÖÐskillDmg±äÁ¿Îª¼¼Äܵȼ¶¼Ó³É£¬Ä¬ÈÏÿ¼¶¼Ó³É50µãÉ˺¦£¬¿É¸ù¾Ý¼¼Äܵȼ¶Ìݶȵ÷Õû£¬Èç1¼¶¼Ó³É30µã¡¢2¼¶¼Ó³É60µã¡¢3¼¶¼Ó³É100µã£¬´òÔì¸üºÏÀíµÄ¼¼Äܳɳ¤ÇúÏß¡£

3.´¥·¢¾àÀëãÐÖµ£ºÍ¨¹ýdistance±äÁ¿Åж¨´¥·¢¾àÀ룬ĬÈÏ1-2¸ñ£¬ÈôÐèÀ©´ó»òËõС´¥·¢·¶Î§£¬¿Éµ÷Õûifdistance<1ordistance>2thenÖеÄÊýÖµ£¬ÀýÈ罫2¸ÄΪ3¿ÉʵÏÖ3¸ñÄÚ´¥·¢¡£

4.ÊÓ¾õЧ¹ûID£ºPlayEffect½Ó¿ÚµÚ¶þ¸ö²ÎÊýΪЧ¹ûID£¬Ä¬ÈÏ1024ΪGOMÒýÇæÄÚÖôÌɱЧ¹û£¬¿ÉÌæ»»ÎªÆäËûЧ¹ûID£¬ÊµÏÖ²»Í¬µÄ¼¼ÄÜÊÓ¾õչʾ£¬¾ßÌåЧ¹ûID¿É²Î¿¼GOMÒýÇæÐ§¹ûÁбíÎĵµ¡£

ËÄ¡¢½Å±¾²¿ÊðÓëµ÷ÊÔ²½Öè

1.½Å±¾·ÅÖ÷¾¶£º½«ÉÏÊö´úÂë¸´ÖÆµ½GOMÒýÇæ·þÎñ¶ËScriptsÎļþ¼ÐϵÄSkill.luaÎļþÖУ¬Èô¸ÃÎļþ²»´æÔÚ£¬¿Éн¨Skill.luaÎļþ²¢Õ³Ìù´úÂë¡£

2.½Ó¿ÚȨÏÞÑéÖ¤£ºÈ·±£·þÎñ¶Ë¿ªÆôÁ˽ű¾½Ó¿ÚȨÏÞ£¬µÇ¼GOMÒýÇæ¿ØÖÆÆ÷£¬½øÈ듽ű¾ÅäÖÃ”Ò³Ãæ£¬¼ì²éGetPlayerSkillLevel¡¢SetSkillCDµÈ½Ó¿ÚÊÇ·ñ´¦ÓÚÆôÓÃ״̬£¬Î´ÆôÓÃÔò¹´Ñ¡ÆôÓò¢±£´æÅäÖá£

3.²âÊÔµ÷ÊÔÁ÷³Ì£ºÆô¶¯·þÎñ¶Ëºó£¬´´½¨²âÊÔÕ˺ţ¬Ñ§Ï°´Ìɱ¼¼ÄÜ£¬¶Ô²»Í¬×´Ì¬µÄÄ¿±ê½øÐй¥»÷²âÊÔ¡£Öصã²âÊÔÒÔϳ¡¾°£ºÎ´Ñ§Ï°¼¼ÄÜʱÊÇ·ñ´¥·¢¡¢Àäȴ״̬ÏÂÊÇ·ñ´¥·¢¡¢²»Í¬¾àÀëÏ´¥·¢Çé¿ö¡¢Ä¿±êÎÞµÐʱÊÇ·ñ´¥·¢£¬È·±£¸÷³¡¾°·ûºÏÔ¤ÆÚ¡£

4.Òì³£ÎÊÌâ´¦Àí£ºÈô³öÏֽű¾²»´¥·¢ÎÊÌ⣬Ê×Ïȼì²é¼¼ÄÜÃû³ÆÊÇ·ñÓë·þÎñÆ÷ÄÚ¼¼ÄÜÃû³ÆÒ»Ö£¨Çø·Ö´óСд£©£¬Æä´ÎÑéÖ¤½Ó¿Ú²ÎÊýÊÇ·ñÕýÈ·£¬×îºó²é¿´·þÎñ¶ËÈÕÖ¾£¬¶¨Î»±¨´íÐÅÏ¢²¢µ÷Õû´úÂë¡£Èô³öÏÖÉ˺¦Òì³££¬Ðè¼ì²é»ù´¡É˺¦»ñÈ¡½Ó¿ÚGetPlayerAttackµÄ·µ»ØÖµÊÇ·ñÕýÈ·£¬È·±£É˺¦¼ÆËãÂß¼­ÎÞÎó¡£

Îå¡¢¶à³¡¾°ÊÊÅäÓÅ»¯¼¼ÇÉ

1.ְҵרÊôÊÊÅ䣺ÈôÐèΪ²»Í¬Ö°Òµ¶¨ÖÆ´Ìɱ´¥·¢¹æÔò£¬¿ÉÔÚº¯Êý¿ªÍ·Ôö¼ÓÖ°ÒµÅж¨Âß¼­£¬ÀýÈç½öÔÊÐíսʿְҵ´¥·¢£¬¿ÉÌí¼Ólocaljob=GetPlayerJob(attacker)£¬ifjob~=1thenreturnfalseend£¨1ΪսʿְҵID£¬¾ßÌåIDÐè²Î¿¼·þÎñÆ÷Ö°ÒµÅäÖã©¡£

2.×°±¸¹ØÁª´¥·¢£ºÈôÐèʵÏÖÌØ¶¨×°±¸¼Ó³ÖÏÂÔöÇ¿´ÌɱЧ¹û£¬¿ÉÌí¼Ó×°±¸¼ì²âÂß¼­£¬Í¨¹ýGetPlayerEquip(attacker"weapon")»ñÈ¡ÎäÆ÷ÐÅÏ¢£¬Åж¨ÎäÆ÷ÀàÐÍ»òÊôÐÔºóÔö¼Ó¶îÍâÉ˺¦¼Ó³É£¬ÀýÈç³ÖÓÐÍÀÁúµ¶Ê±É˺¦¶îÍâÌáÉý20%¡£

3.ȺÌå´¥·¢¿ØÖÆ£ºÈôÐèÏÞÖÆ´Ìɱ¼¼ÄܶÔÍæ¼Ò»ò¹ÖÎïµÄ´¥·¢²îÒ죬¿ÉÌí¼ÓÄ¿±êÀàÐÍÅж¨£¬Í¨¹ýIsPlayer(target)½Ó¿ÚÇø·ÖÍæ¼ÒÓë¹ÖÎ·Ö±ðÉèÖò»Í¬µÄÉ˺¦ÏµÊý»òÀäȴʱ¼ä£¬ÀýÈç¶Ô¹ÖÎï´¥·¢ÀäÈ´Ëõ¶ÌÖÁ1Ã룬¶ÔÍæ¼Ò±£³Ö3ÃëÀäÈ´¡£

Áù¡¢½Å±¾³£¼ûÎÊÌâ½â´ð

Q£º½Å±¾²¿Êðºó¹¥»÷ʱδ´¥·¢´ÌɱЧ¹û£¬¿ÉÄÜÊÇʲôԭÒò£¿

A£ºÓÅÏÈÅŲéÈýµã£ºÒ»ÊǽÇɫδѧϰ´Ìɱ¼¼ÄÜ»ò¼¼Äܵȼ¶Îª0£¬ÐèÈ·Èϼ¼ÄÜÃû³ÆÓë½Å±¾ÖÐÒ»Ö£»¶þÊǼ¼ÄÜÀäÈ´½Ó¿Ú²ÎÊý´íÎ󣬼ì²éSetSkillCDÓëGetSkillCDµÄ¼¼ÄÜÃû³ÆÊÇ·ñÆ¥Å䣻ÈýÊǾàÀëÅж¨Âß¼­Òì³££¬¿ÉÔÚ´úÂëÖÐÌí¼Ó´òÓ¡ÈÕÖ¾½Ó¿Ú£¬Êä³ödistance±äÁ¿Öµ£¬ÑéÖ¤¾àÀë¼ÆËãÊÇ·ñÕýÈ·¡£

Q£º´¥·¢´Ìɱ¼¼ÄܺóÎÞÊÓ¾õЧ¹û£¬ÈçºÎ½â¾ö£¿

A£ºÊ×ÏÈÈ·ÈÏPlayEffect½Ó¿ÚµÄЧ¹ûIDÊÇ·ñÊÊÅ䵱ǰGOMÒýÇæ°æ±¾£¬²»Í¬°æ±¾ÄÚÖÃЧ¹ûID¿ÉÄÜ´æÔÚ²îÒ죻Æä´Î¼ì²é·þÎñ¶ËЧ¹û×ÊÔ´ÊÇ·ñÍêÕû£¬ÈôЧ¹û×ÊԴȱʧ£¬Ðè²¹³ä¶ÔӦЧ¹ûÎļþÖÁ·þÎñ¶ËEffectÎļþ¼ÐÏ£»×îºóÑéÖ¤´¥·¢º¯ÊýÊÇ·ñÖ´Ðе½PlayEffect²½Ö裬¿Éͨ¹ý·¢ËͲâÊÔÏûÏ¢½Ó¿Ú¶¨Î»ÎÊÌâ¡£

Q£ºÈçºÎʵÏÖ´Ìɱ¼¼ÄÜ´©Í¸Ð§¹û£¬¹¥»÷Ä¿±êÉíºóµÄ½ÇÉ«£¿

A£º¿ÉÔÚÔ­Óнű¾»ù´¡ÉÏÔö¼Ó·¶Î§¼ì²âÂß¼­£¬Í¨¹ýGetPlayerAround½Ó¿Ú»ñȡĿ±êÉíºóÖ¸¶¨·¶Î§ÄڵĽÇÉ«£¬È»ºó¶ÔÕâЩ½ÇɫִÐÐÉ˺¦½áË㣬ͬʱÌí¼Ó´©Í¸Ð§¹ûµÄÊÓ¾õչʾ£¬×¢Òâ¿ØÖÆ´©Í¸É˺¦µÄϵÊý£¬±ÜÃâÓ°ÏìÓÎϷƽºâ¡£