@GrieVeR-13
Давай полемику об ущербе оставим в стороне. У каждого тут свое мнение - но "правильное" все равно у разрабов ;)
Quote:
|
if (Result.ID > 1) and (Result.ID < 50000) and (Result.WID >= 3222000000) and (Result.WID < 3223000000) then
|
О_О
Мдамс. Ну, я даже не знаю, что на это сказать... А самое главное, что не в диапазоне дело...
if Result.ID < 100000 then
Ты бы хоть разобрался для чего это...
По хорошему (если у тебя есть вся база предметов на руках и не будет предполагать автоматического расширения) то вообще проверки не надо (ну или на 0 проверить, -если вызываешь без предварительной проверки)
А 100000 - это для:
aItems : array [0..100000] of TaItem;
Вот и вся недолга...
Также по поводу свима/флая/граунда - в ножике ошибка - нужен другой код.
И также там еще замечена ошибка с определением пола (причем в 91 работало правильно, а в 95 - ошибается, а может я ошибаюсь :) ). Еще не правил - времени нет вообще ;(
Quote:
|
в твоём ножике не правильно рассчитывается дистанция.
|
Code:
Result.Location.HDelta := SQRT(ABS(Result.Location.X - aPlayer.Location.X) * ABS(Result.Location.X - aPlayer.Location.X) +
ABS(Result.Location.Y - aPlayer.Location.Y) * ABS(Result.Location.Y - aPlayer.Location.Y));
Result.Location.VDelta := ABS(Result.Location.Z - aPlayer.Location.Z);
Result.Location.Distance := SQRT(Result.Location.HDelta * Result.Location.HDelta + Result.Location.VDelta * Result.Location.VDelta);
Поправь меня тогда плиз...