Сейчас 15:54:10 Вторник, 26 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
12 ощибок в одной функции О_о
RehanДата: Пятница, 26 Ноября 2010, 18:11:30 | Сообщение # 1
6 уровень
Группа: Проверенные
Сообщений: 247
Награды: 0
Репутация: 79
Блокировки:
Ни как не можем понять почему 1 функция порождает 12! ошибок, чаще с аргументом "отсутствует название", заодно, отвечая на вопрос помогите, пожалуйста, справиться с утечками.

Code
function order1move takes unit unit1, unit unit2, real dist, real angle returns nothing
       local real angleun
       local location point
       set angleun = AngleBetweenPoints(GetUnitLoc(unit2), GetUnitLoc(unit1))
       set point = PolarProjectionBJ(GetUnitLoc(unit2), dist, angleun + angle)
       call IssuePointOrderLocBJ( unit1, "blink", point )
       set angleun = 0
       set point = null
endfunction


Требуются тестеры, обращайтесь.
 

rixt7956Дата: Пятница, 26 Ноября 2010, 19:00:46 | Сообщение # 2
9 уровень
Группа: Проверенные
Сообщений: 1097
Награды: 0
Репутация: 153
Блокировки:
Rehan, Выложи весь код, возможно ты указал не все аргументы при вызове этой функции
 

RehanДата: Пятница, 26 Ноября 2010, 19:54:23 | Сообщение # 3
6 уровень
Группа: Проверенные
Сообщений: 247
Награды: 0
Репутация: 79
Блокировки:
Ошибка не при вызове функции, а при её существовании, боль ше нигде о неё речи нет.
Функция вставлена в "специфический код программы"

Добавлено (26-11-2010, 19:54)
---------------------------------------------
уже всё О_о по неизведанным причинам ошибка шла сама собой..
Может кто помочь в устранении утечек? Чем заменить полярку? А её подобие нужно..


Требуются тестеры, обращайтесь.
 

EdiTTORRДата: Пятница, 26 Ноября 2010, 20:49:16 | Сообщение # 4
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Rehan,
Code
function order1move takes unit u1, unit u2, real D, real angle returns nothing
local real ax=GetUnitX(u1)
local real ay=GetUnitY(u1)
local real bx=GetUnitX(u2)
local real by=GetUnitY(u2)
local real ang=57.29577951*Atan2(ay-by,ax-bx)
local real X=bx+D*Cos((ang+angle)*0.01745329)
local real Y=by+D*Sin((ang+angle)*0.01745329)
call IssuePointOrder(u1,"blink",point)
set u1=null
set u2=null      
endfunction


Местами здесь.
 

RehanДата: Пятница, 26 Ноября 2010, 21:59:43 | Сообщение # 5
6 уровень
Группа: Проверенные
Сообщений: 247
Награды: 0
Репутация: 79
Блокировки:
Quote (EdiTTORR)
local real X=bx+D*Cos((ang+angle)*0.01745329)
local real Y=by+D*Sin((ang+angle)*0.01745329)
call IssuePointOrder(u1,"blink",point)

какой функцией можно создать точку point из этих координат, чтобы не было утечек?


Требуются тестеры, обращайтесь.
 

EdiTTORRДата: Пятница, 26 Ноября 2010, 22:42:57 | Сообщение # 6
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Функция Location(координата Х, координата Y)
Пример:
Code
set point=Location(bx+D*Cos((ang+angle)*0.01745329),by+D*Sin((ang+angle)*0.01745329))

Для устранения утечек, необходимо удалить и обнулить переменную point после использования:
Code
call RemoveLocation(point)
set point=null


Местами здесь.


Сообщение отредактировал EdiTTORR - Пятница, 26 Ноября 2010, 22:44:42
 

FkoFFДата: Пятница, 26 Ноября 2010, 22:45:20 | Сообщение # 7
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Code
call IssuePointOrder(u1,"blink",point)

Code

native IssuePointOrder              takes unit whichUnit, string order, real x, real y returns boolean

это действие работает на координатах. Тебе не нужна точка.


 

RehanДата: Пятница, 26 Ноября 2010, 23:40:11 | Сообщение # 8
6 уровень
Группа: Проверенные
Сообщений: 247
Награды: 0
Репутация: 79
Блокировки:
Quote (FkoFF)
это действие работает на координатах. Тебе не нужна точка.

всмысле в параметры одной и той-же функции, в котогрую мы вводили обычно точку можно вводить и координаты?

call IssuePointOrder(u1,"blink",x, y)
вместо
call IssuePointOrder(u1,"blink", point)
?

Добавлено (26-11-2010, 23:38)
---------------------------------------------
извините, не сообразили что функция другая.. теперь дошло -)) спасибо всем, вопрос исчерпан -)

Добавлено (26-11-2010, 23:40)
---------------------------------------------
жаль что репутацию не имеем права повышать.. у нас идея:
rixt7956, EdiTTORR, FkoFF, повысьте друг другу репутацию от нашего лица :D


Требуются тестеры, обращайтесь.
 

  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz