Rus. server

03/02/2010 11:19 Shamanpovt#1501
Ребят, а как кто решает проблему разрыва с сервером? Вот подумал - может проверять - убил ли бот за 5 или 10 минут хоть одного моба, если нет - значит разыв с сервером. Поделитесь мыслями?
P.S. FunkU, я бы даже разбираться не стал - если на точке фарма работает мой бот и не мой и если моего банят - то понятно кто. В тот же день скрин в саппорт. Око за око как говорится)
03/02/2010 14:15 GrieVeR-13#1502
AlexGD,
Quote:
Упс )
Действительно в тулзе ошибка. LootID -> $10C, а не $11C.
Прошу прощения за дезу...
(интересно, правда, как у меня все работает )
Всё норма, теперь буду всегда проверять инфу сам, а то принимают тут за нуба некоторые..
А на счет работы, посмотри тут:
[Only registered and activated users can see links. Click Here To Register...]
Я тебе пару комментов оставил.

Quote:
Originally Posted by AlexGD View Post
@FunkU
Банят любых ботов - это тебе моСк промывали. Какая разница сам писал или пиратеса юзал - ущерб игре-то одинаковый )
Неа, не одинаковый. Когда причиняешь ущерб ботом, который есть только у тебя, вред минимальный, но от етого еще и удовольствие получаешь)
03/02/2010 15:21 dwar#1503
GrieVeR-13
Ид предметов до 26000 на данный момент, список в приложении (может быть, пропущено предметов 20).
03/02/2010 16:38 muzhig#1504
Труба вы тут войну устроили, пока меня не было)))
03/02/2010 16:39 AlexGD#1505
@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);
Поправь меня тогда плиз...
03/02/2010 16:40 AlexGD#1506
Мужиг. Колись на инжект для джинов ;) А то и тебя зацепим ;)
03/02/2010 16:46 GrieVeR-13#1507
Quote:
Originally Posted by dwar View Post
GrieVeR-13
Давайте перепишу указанную добавку в более понятном виде: Result.WID >= -2.184662) and (Result.WID < -2.42308.
И с каких это пор id предметов имеет отрицательное не целочисленное значение?
При чем здесь отрицательное и не целочисленное? о_О

"and (Result.WID >= 3222000000) and (Result.WID < 3223000000)"
Что в этих числах тебе не понравилось?
Или ты считаешь их лишними?) Будь добр, поясни.

AlexGD, пардон, у тебя всё правильно считает, просто я привык рассчитывать как
sqrt(sqr(x1-x2)+sqr(y1-y2)+sqr(z1-z2)) (фактически ето одно и тоже, но у тебя столько намешано, что было не легко разобрать)
Приведи к человеческому виду:
Result.Location.HDelta := SQRT(SQR(Result.Location.X - aPlayer.Location.X) +SQR(Result.Location.Y - aPlayer.Location.Y));
Result.Location.VDelta := ABS(Result.Location.Z - aPlayer.Location.Z);
Result.Location.Distance := SQRT(SQR(Result.Location.HDelta) + SQR(Result.Location.VDelta));
03/02/2010 17:02 silkytail#1508
Quote:
Originally Posted by dwar View Post
GrieVeR-13
Мдя.... еще и пояснять... я ведь уже перевел!!! или у нас возникают трудности с пониманием представлений различных типов данных? 3222000000 - это есть -2.184662 (float).
мм, новое слово в трактовании типов :) Чего-то я не понимаю наверно, а зачем ID предмета переводить во float?
03/02/2010 17:20 GrieVeR-13#1509
AlexGD
Quote:
Мдамс. Ну, я даже не знаю, что на это сказать... А самое главное, что не в диапазоне дело...
if Result.ID < 100000 then
Ты бы хоть разобрался для чего это...
Откуда уже 100к взялось? оО В твоем коде этого нет. Ну или не было когда я качал.
03/02/2010 17:23 AlexGD#1510
Да просто WID (3222000000) длинноват... Я бы тоже воспринял, что это сингл (32 бит)... Просто нецелесообразно кидаться лонгвордами со значимой частью в Hi для айди както (хотя я сам обычно кардиналы храню ;) )

А... вот ты о чем, что неверно ) Так дык написал же - что ножик старался максимально расписать иногда в ущерб оптимизации ))) Видимо "перерасписал" )))
03/02/2010 17:24 AlexGD#1511
Блин. Тяжко со старыми версиями работать.. счаз гляну...
03/02/2010 17:29 AlexGD#1512
Version 0.09.12.24

if (Result.ID <> 0) and (Result.ID <> 220) then

Ну как я и говорил. Айди проверяется только на 0 и на 220. Что такое это 220 - я так и не успел разобраться. Оно в 95й перестало выпрыгивать не к месту )
03/02/2010 17:34 GrieVeR-13#1513
Quote:
Originally Posted by AlexGD View Post
Просто нецелесообразно кидаться лонгвордами со значимой частью в Hi для айди както (хотя я сам обычно кардиналы храню ;) )
Что-то сомневаюсь, что dwar придрался именно к тому, что я храню WID в dword, а не в single Oo. Весят-то оба 32 бита.
03/02/2010 17:34 AlexGD#1514
А теперь сакральный вопрос - а зачем WID проверять?
03/02/2010 17:36 dwar#1515
Quote:
зачем ID предмета переводить во float
вернее, никто ничего не переводит, скорее всего, простая путаница, возникшая с первого поста, где было указано:
+$11C Name +$10C +$110
3302222363 Монета 3222352294 3044
первое значение - есть координата (float), но не как не id или wid предмета

GrieVeR-13
просто укажи, откуда были получены данные числа, и почему должна быть проверка в диапазоне - 3222000000 - 3223000000