Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function TD_Clear(range){
- var _orgx, _orgy;
- var _skiplist, _gid_attackcount;
- var _attackcount = 0;
- var _target;
- var _distance, _mingid, _mindistance;
- var _result;
- var i = 0;
- _orgx = me.x;
- _orgy = me.y;
- _skiplist = new Array();
- _gid_attackcount = new Array();
- while(_attackcount < (i+1)*100)
- {
- if(TD_AllPlayersIn(103) && _attackcount > 10)
- return;
- _mindistance = 100000;
- _target = NTC_FindUnit(NTC_UNIT_MONSTER);
- if(_target)
- {
- do
- {
- if(_skiplist.indexOf(_target.gid) < 0)
- {
- if(_target.IsAttackable() && TD_IsValid(_target))
- {
- if(GetDistance(_orgx, _orgy, _target.x, _target.y) <= range && NTA_IsValidMonster(_target))
- {
- _distance = GetDistance(me, _target);
- if(_distance < _mindistance)
- {
- _mingid = _target.gid;
- _mindistance = _distance;
- }
- }
- }
- else
- _skiplist.push(_target.gid);
- }
- } while(_target.GetNext());
- }
- if(_mindistance < 100000)
- {
- _target = NTC_FindUnit(NTC_UNIT_MONSTER, _mingid);
- if(_target)
- {
- _result = NTA_Attack(_target, (_attackcount%30) == 0);
- if (_gid_attackcount[_mingid] == undefined)
- _gid_attackcount[_mingid] = 1;
- else
- _gid_attackcount[_mingid]++;
- if (_gid_attackcount[_mingid] > 15)
- {
- Print("I can't hit him!!! -> skipped");
- _skiplist.push(_mingid);
- }
- switch(_result)
- {
- case 1:
- _skiplist.push(_mingid);
- break;
- case 2:
- case 3:
- _attackcount++;
- break;
- default:
- return false;
- }
- }
- }
- else
- break;
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement