Цитата (Снайпер): |
...в скрипте пишете цикл по всем живым юнитам карты кроме нулевого игрока и CreateLightning от игрока до них А потом просто ходите и мочите |
Цитата: |
5. А где бы вообще адекватные доки по скриптовому языку глянуть? |
Цитата: |
...и так далее до 31... |
Код: |
GlobalVars ( NULL : object, VSS#i#val : object, i : object, NearestEnemy : object, Distance : float, AllMonsters : group ) DeclareScript #CreateGroup#1 ( fStartPl : float , fEndPl : float ) DeclareScript #CreateGroup#2 ( fPlayer : float ) DeclareScript #CreateGroup#3 ( fStartPl : float , fEndPl : float ) DeclareScript #GetNearest#1 ( ) DeclareScript #GetNearest#2 ( this : object ) DeclareScript #Lightning#1 ( ) DeclareScript #Lightning#2 ( ) Script #Lightning#1 ( if ( ) then ( KillScript() Distance = 1000000 #GetNearest#1 ( ) Sleep(30) // update time (2 sec) DeleteLightning ( 8888 ) #Lightning#2 ( ) ) ) Script #Lightning#2 ( if ( ) then ( KillScript() CreateLightning ( 8888 , GetX(GetUnitOfPlayer(0,0)) , GetY(GetUnitOfPlayer(0,0)) , GetZ(GetUnitOfPlayer(0,0)) , GetX(NearestEnemy) , GetY(NearestEnemy) , GetZ(NearestEnemy) , 5 ) #Lightning#1 ( ) ) ) Script #GetNearest#1 ( if ( ) then ( KillScript() For( VSS#i#val , AllMonsters ) ( #GetNearest#2 ( VSS#i#val ) ) ) ) Script #GetNearest#2 ( if ( IsLess( DistanceUnitUnit ( GetUnitOfPlayer ( 0 , 0 ) , this ) , Distance ) ) then ( KillScript() NearestEnemy = this Distance = DistanceUnitUnit ( GetUnitOfPlayer ( 0 , 0 ) , this ) ) ) Script #CreateGroup#1 ( if ( ) then ( KillScript() #CreateGroup#2 ( fStartPl ) #CreateGroup#3 ( fStartPl , fEndPl ) ) ) Script #CreateGroup#2 ( if ( IsLess( GetDiplomacy( 0 , fPlayer ) , 0 ) // Diplomacy -1 (enemy) ) then ( KillScript() AllMonsters = GroupAdd ( AllMonsters , GetPlayerUnits ( fPlayer ) ) ) ) Script #CreateGroup#3 ( if ( IsLess( fStartPl , Add(fEndPl,1) ) ) then ( KillScript() #CreateGroup#1 ( Add(fStartPl,1) , fEndPl ) ) ) WorldScript ( ConsoleString ( "AllMonsters OK" ) // <-- Sleep( 2 ) #CreateGroup#1 ( 1 , 31 ) Sleep(50) #Lightning#1 ( ) ) |
Цитата (Sandro_wizard): |
Поиграл еще...
Зараза, че-то тормозит даже с одной молнией. |
Цитата (Sandro_wizard): |
А как моб выгружать нафиг?)) |
Цитата (Sandro_wizard): |
Прикольно)
Значит, если на другую карту выйти, то нет молнии. А всякий раз, когда сюда возвращаешься - у меня это Пески - то тут она есть... Оно как-то подцепилось к зоне и теперь всякий раз с ней загружается. |
Цитата (Sandro_wizard): |
А нельзя DeleteLightning в консоли? |
Код: |
Script #Lightning#2 ( if ( Not( IsEqual( GSGetVar(0, "CanselCansel" ) , 8888 ) ) ) then ( KillScript() CreateLightning ( 8888 , GetX(GetUnitOfPlayer(0,0)) , GetY(GetUnitOfPlayer(0,0)) , GetZ(GetUnitOfPlayer(0,0)) , GetX(NearestEnemy) , GetY(NearestEnemy) , GetZ(NearestEnemy) , 5 ) #Lightning#1 ( ) ) ) |
Цитата: |
Гы Не думал я что оно так прицепится. |
Цитата (Снайпер): |
... с неудалением мёртвых юнитов из группы - это и будет тормозить. |
Цитата (Снайпер): |
Короче, ничего не знаю - я просто подсвечивал в своё время молниями ВСЕХ сразу - один раз лаганёт, а потом довольно удобно - никаких лагов. |
Цитата (BaaL): |
А всеже, почему именно 31 ? |
Цитата: |
А можно ли как-то посмотреть у сейва список подключенных мобов?
|
Цитата (Снайпер): |
Рекомендую первые несколько точек рисовать на константном расстоянии, и только потом использовать математику |
Цитата (BaaL): |
Sagrer, если чесно, то ничего не понял. А давайте я просто больше не буду скрипты выкладывать. |
Цитата: |
возможно, следовало попросить об оформлении на странице несколько деликатнее |
Цитата: |
Дело в том, что у меня ничего не растягивается. Длинные строки разделяются на несколько строк, поэтому я сначала и не понял о чем вобще речь. |