• QQ21031394

    工作时间

    周一至周五:9:30-18:30

    周末及节日:根据情况调休

  • 手机版二维码

    随时手机查素材

  • 扫描二维码

    加入官方QQ群

站长推荐
怪诞生 二级会员
  • 未知地域
  • 227发帖数
  • 23主题数
  • 1关注数
  • 9粉丝

AI补刀的函数

[复制链接]
怪诞生 发表于 2020-3-7 20:28:39 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
提莫作坊QQ群:提莫作坊www.tbwlm.cn

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
  1. [jass]//远离一个单位一定距离
  2. function LeaveUnit takes unit AiUnit,unit target,real length returns nothing
  3. local real a=GetUnitX(AiUnit)-GetUnitX(target)
  4. local real b=GetUnitY(AiUnit)-GetUnitY(target)
  5. local real c=SquareRoot(a*a+b*b)
  6. local real x=(length/c)*a+GetUnitX(AiUnit)
  7. local real y=(length/c)*b+GetUnitY(AiUnit)
  8. call IssuePointOrder(AiUnit,"move",x,y)
  9. call DisplayTextToForce( GetPlayersAll(),"123456")
  10. endfunction
  11. //找到周围最弱的单位并A之
  12. function KillWeakestUnit takes unit center,real range,real hpkill returns nothing
  13. local unit temp
  14. local unit weakest
  15. local group g=CreateGroup()
  16. call GroupEnumUnitsInRange(g,GetUnitX(center),GetUnitY(center),range,null)
  17. call GroupRemoveUnit(g,center)
  18. loop
  19. set weakest=FirstOfGroup(g)
  20. if weakest==null then
  21. call DestroyGroup(g)
  22. set temp = null
  23. set g = null
  24. return
  25. endif
  26. call GroupRemoveUnit(g,weakest)
  27. exitwhen GetUnitState(weakest,UNIT_STATE_LIFE)>0 //IsUnitEnemy(weakest,GetOwningPlayer(center)) and
  28. endloop
  29. loop
  30. set temp=FirstOfGroup(g)
  31. exitwhen temp == null
  32. if GetUnitState(temp, UNIT_STATE_LIFE)>0 then
  33. if GetUnitState(weakest,UNIT_STATE_LIFE)>GetUnitState(temp, UNIT_STATE_LIFE) then
  34. set weakest = temp
  35. endif
  36. endif
  37. call GroupRemoveUnit(g,temp)
  38. endloop
  39. call DestroyGroup(g)
  40. set temp = null
  41. set g = null
  42. if IsUnitAliveBJ(weakest)and(weakest != null)and(GetUnitState(weakest,UNIT_STATE_LIFE)<hpkill)and(GetUnitCurrentOrder(center) != String2OrderIdBJ("attack"))and(not(IsUnitType(weakest, UNIT_TYPE_HERO))) then
  43. //call DisplayTextToForce( GetPlayersAll(), ("===|c000000FF"+GetUnitName(center)+ "|R当前尝试补刀目标单位是:" + ( GetUnitName(weakest) + ( "|||||当前血量" + R2S(GetUnitStateSwap(UNIT_STATE_LIFE,weakest ))))))
  44. call IssueTargetOrder(center,"attack",weakest)
  45. endif
  46. endfunction
  47. //单位是否死亡或者存活
  48. function IsDead takes unit TheUnit returns boolean
  49. return (TheUnit==null)or(IsUnitType(TheUnit,UNIT_TYPE_DEAD))or(IsUnitDeadBJ(TheUnit))
  50. endfunction
  51. function IsAlive takes unit TheUnit returns boolean
  52. return (TheUnit!=null)and(IsDead(TheUnit)==false)
  53. endfunction
  54. //取得单位身后的点
  55. function GetUnitBackLoc takes unit TheTarget,real TheRange returns location
  56. local real TheDir
  57. if (TheTarget!=null)and(GetUnitState(TheTarget,UNIT_STATE_LIFE)>0) then
  58. set TheDir=Deg2Rad(GetUnitFacing(TheTarget)+180)
  59. return (Location(TheRange*Cos(TheDir)+GetUnitX(TheTarget),TheRange*Sin(TheDir)+GetUnitY(TheTarget)))
  60. endif
  61. return null
  62. endfunction
  63. //单位组前面的点
  64. function GetUnitFrontLoc takes group whichGroup,real TheRange returns location
  65. local real TheDir
  66. local unit TheTarget
  67. set TheTarget=FirstOfGroup(whichGroup)
  68. if (TheTarget!=null)and(IsAlive(TheTarget)) then
  69. set TheDir=Deg2Rad(GetUnitFacing(TheTarget))
  70. return (Location(TheRange*Cos(TheDir)+GetUnitX(TheTarget),TheRange*Sin(TheDir)+GetUnitY(TheTarget)))
  71. endif
  72. return null
  73. endfunction
  74. [/jass]
复制代码

楼主热帖
免责条款:本站仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,并不承担任何法律责任,如果对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以删除。

本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。

本网站所提供的信息,只供参考之用。本网站不保证信息的准确性、有效性、及时性和完整性。本网站及其雇员一概毋须以任何方式就任何信息传递或传送的失误、不准确或错误,对用户或任何其他人士负任何直接或间接责任。在法律允许的范围内,本网站在此声明,不承担用户或任何人士就使用或未能使用本网站所提供的信息或任何链接所引致的任何直接、间接、附带、从属、特殊、惩罚性或惩戒性的损害赔偿。

精彩评论3

haha7328 发表于 2020-3-23 11:10:29 | 显示全部楼层
楼主发贴辛苦了,谢谢楼主分享!我觉得天工社区是注册对了!
tsmbw 发表于 2020-4-4 09:03:02 来自手机 | 显示全部楼层
支持一下
海鸣丿Aqoo 发表于 2020-9-29 22:31:24 | 显示全部楼层
支持天工维度,支持天天RPG

强调下版规的规定,如有恶意灌水从重处罚:
=====发表主题规则=======
1.主题内容请一定要附带预览图片,谢谢;
2.搬运来的东西请尽量不要卖钱!;
3.发帖有任何疑问请联系QQ21031394;
=====发表回复规则=======
1.禁止直接复制标题内容的;
2.禁止纯数字或者纯字母的;
3.禁止乱打一通文不对题;
4.禁止屠版和刷分行为;
第一次扣分处理,第二次扣分+警告,警告三次禁言三天,绝不手软,情况严重的直接封号,请大家珍惜自己的账号!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

猜你喜欢
天工维度唯一QQ群
786014245

欢迎进群交流,入群答案:编辑器

  • 官方在线客服

    QQ客服:小雪

    点击交谈

    QQ客服:砂糖

    点击交谈

    团队老大:荀公子

    商务合作
  • 上海市静安区共和新路4718号宏慧新汇园6号楼603室

  • 手机扫码查看手机版

    手机查找资源更方便

  • 扫一扫关注官方微信

    加入官方QQ群

Powered by 天天RPG&DZX3.4 ©2020-2021 Comsenz Inc.提百万设计( 沪ICP备18032615号-1 )营业执照