Генерация методом buildzone - Страница 15 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа с геодатой

Работа с геодатой Разработка и правка Геодаты для ява серверов.

Закрытая тема
Опции темы
Непрочитано 24.02.2012, 18:16   #141
Аватар для ANZO
Разработчик BDO Emu

По умолчанию Re: Генерация методом buildzone

Setting Initial Points как бы за себя и говорит. Чар тупо должен с 30000 по Z пропрыгать до минимальной точки в -16250 и выполняя TestMove "нащупать" плоскости.
ANZO вне форума Отправить сообщение для ANZO с помощью ICQ Отправить сообщение для ANZO с помощью Skype™
Сказали спасибо:
Непрочитано 26.02.2012, 03:03   #142
Аватар для ALF.
Герой

По умолчанию Re: Генерация методом buildzone

Что пока что "изучил"
PHP код:
int __cdecl SetPoints(int a1FWorldBuilder *fb)
{
  
int o// esi@1
  
signed int one// edi@1
  
int v4// ebp@1
  
double zero// st7@2
  
int v6// eax@2
  
signed int v7// ecx@2
  
int i// edi@5
  
int v9// eax@9
  
int v10// eax@13
  
int v11// edx@13
  
int _y// [sp+4h] [bp-64h]@6
  
int _x// [sp+8h] [bp-60h]@3
  
int v15// [sp+10h] [bp-58h]@2
  
int v16// [sp+14h] [bp-54h]@1
  
int v17// [sp+18h] [bp-50h]@1
  
int v18// [sp+1Ch] [bp-4Ch]@2
  
FVector CurrentVector// [sp+20h] [bp-48h]@8
  
FVector StartVectot// [sp+2Ch] [bp-3Ch]@9
  
FCheckResult ChekResult// [sp+38h] [bp-30h]@9
  
int v22// [sp+64h] [bp-4h]@9

  
0;
  
one 1;
  
j__vcomp_for_static_simple_init(0204711, &v17, &v16);
  
v4 v17;
  if ( 
v17 <= v16 )
  {
    
zero 0.0;
    
v6 16 v17;
    
v7 16;
    
v15 16 v17;
    
v18 16;
    do
    {
      
_x v6 + *(_DWORD *)dword_208936B4 8;
      if ( 
_x >= fb->min_x && _x <= fb->max_x )
      {
        for ( 
o2048; ++)
        {
          
_y = *(_DWORD *)(dword_208936B4 8) + 16 8;
          if ( 
_y >= fb->min_y && _y <= fb->max_y )
          {
            
CurrentVector.= (double)_x;
            
CurrentVector.= (double)_y;
            
CurrentVector.15000.0;
            while ( 
)
            {
              
StartVectot.zero;
              
StartVectot.zero;
              
StartVectot.= -30000.0;
              
v22 o;
              
LOBYTE(v9) = FWorldBuilder::TestMove(fb, &CurrentVector, &StartVectot, &ChekResult);
              if ( !
v9 )
                break;
              if ( 
CurrentVector.<= -16200.0 )
                goto 
LABEL_18;
              
zero 0.0;
            }
            
omp_set_lock(a1);
            if ( 
sub_201D49C0(dword_208936B4v4i, (signed int)CurrentVector.8, (int)&CurrentVector1) )
            {
              
v10 sub_201D4D00();
              if ( *(
_DWORD *)(v10 4) )
                *(
_DWORD *)(*(_DWORD *)(v10 8) + 36) = v11;
              else
                *(
_DWORD *)(v10 4) = v11;
              ++*(
_DWORD *)v10;
              *(
_DWORD *)(v10 8) = v11;
            }
            
omp_unset_lock(a1);
            
0;
LABEL_18:
            
zero 0.0;
          }
        }
        
j__vcomp_atomic_add_i4(&fb->unk11);
        
zero 0.0;
        
one 1;
        
v7 v18;
      }
      
v4 += one;
      
v6 v7 v15;
      
v15 += v7;
    }
    while ( 
v4 <= v16 );
  }
  
j__vcomp_for_static_end();
  return 
j__vcomp_barrier();

ALF. вне форума Отправить сообщение для ALF. с помощью ICQ Отправить сообщение для ALF. с помощью Skype™
Сказали спасибо:
Непрочитано 26.02.2012, 04:04   #143
Аватар для darkevil

По умолчанию Re: Генерация методом buildzone

За информацию спасибо, но вот интуиция подсказывает не там мы копаемся.
__________________
darkevil вне форума Отправить сообщение для darkevil с помощью ICQ Отправить сообщение для darkevil с помощью Skype™
Непрочитано 26.02.2012, 12:12   #144
Аватар для ALF.
Герой

По умолчанию Re: Генерация методом buildzone

Похоже что копать надо FWorldBuilder::TestMove

Еще есть интересные функции

UGameEngien::GetSWMapXY
UMasterLevel::GetLevelInfo
CheckWithTerrain
ULevel::MultiLineCheck

Все они вызываются в FWorldBuilder::TestMove

Добавлено через 24 минуты
Или же ошибка тут
PHP код:
int __userpurge sub_201D49C0<eax>(int a1<esi>, int a2int a3signed int a4int a5int a6)
{
  
signed int v6// ebp@1
  
int v7// edi@1
  
int v8// ebx@1
  
int result// eax@2
  
signed int v10// eax@6
  
int v11// eax@7
  
signed int v12// ecx@7
  
int v13// eax@17
  
int v14// ebx@18
  
int v15// eax@21
  
int v16// ebp@22
  
int v17// [sp+28h] [bp+Ch]@13

  
v6 a4;
  
v7 = (a2 << 11) + a3;
  
v8 = *(_DWORD *)(a1 v7 16);
  if ( 
v8 )
  {
    
v10 = *(_WORD *)v8;
    if ( 
v10 >= a4 )
    {
      if ( 
v10 == a4 )
      {
        
debugf(L"x=%d,y=%d,FAIL!!!"a2);
        
result 0;
      }
      else
      {
        while ( 
)
        {
          
v17 v8;
          
v8 = *(_DWORD *)(v8 32);
          if ( !
v8 )
            break;
          if ( 
v6 >= *(_WORD *)v8 )
          {
            if ( *(
_WORD *)v8 == v6 )
            {
              
debugf(L"x=%d,y=%d,FAIL????"a2);
              
result 0;
            }
            else
            {
              
v15 sub_20099B70(44);
              if ( 
v15 )
                
v16 sub_2012B820(v15a5v6a6);
              else
                
v16 0;
              *(
_DWORD *)(v16 32) = v8;
              *(
_DWORD *)(v17 32) = v16;
              ++*(
_DWORD *)(a1 25165844);
              ++*(
_WORD *)(a1 v7 16777232);
              
debugf(L"4-x=%d,y=%d,story=%d"a2);
              
result v16;
            }
            return 
result;
          }
        }
        
v13 = (***(int (__stdcall ****)(_DWORD_DWORD))GMalloc)(44L"new");
        if ( 
v13 )
          
v14 sub_2012B820(v13a5v6a6);
        else
          
v14 0;
        *(
_DWORD *)(v14 32) = 0;
        *(
_DWORD *)(v17 32) = v14;
        ++*(
_DWORD *)(a1 25165844);
        ++*(
_WORD *)(a1 v7 16777232);
        
debugf(L"3-x=%d,y=%d,story=%d"a2);
        
result v14;
      }
    }
    else
    {
      
v11 = (***(int (__stdcall ****)(_DWORD_DWORD))GMalloc)(44L"new");
      
v12 1;
      if ( 
v11 )
      {
        
result sub_2012B820(v11a5a4a6);
        
v12 1;
      }
      else
      {
        
result 0;
      }
      *(
_DWORD *)(a1 v7 16) = result;
      *(
_DWORD *)(result 32) = v8;
      *(
_DWORD *)(a1 25165844) += v12;
      *(
_WORD *)(a1 v7 16777232) += v12;
    }
  }
  else
  {
    
result = (***(int (__stdcall ****)(_DWORD_DWORD))GMalloc)(44L"new");
    if ( 
result )
    {
      *(
_WORD *)result a4;
      *(
_DWORD *)(result 4) = *(_DWORD *)a5;
      *(
_DWORD *)(result 8) = *(_DWORD *)(a5 4);
      *(
_DWORD *)(result 12) = *(_DWORD *)(a5 8);
      *(
_DWORD *)(result 32) = 0;
      *(
_DWORD *)(result 36) = 0;
      *(
_DWORD *)(result 40) = a6;
      *(
_WORD *)(result 22) = 0;
      *(
_WORD *)(result 20) = 0;
      *(
_WORD *)(result 18) = 0;
      *(
_WORD *)(result 16) = 0;
    }
    else
    {
      
result 0;
    }
    *(
_DWORD *)(a1 v7 16) = result;
    ++*(
_DWORD *)(a1 25165840);
    ++*(
_DWORD *)(a1 25165844);
    ++*(
_WORD *)(a1 v7 16777232);
  }
  return 
result;

Ибо СИП в этой функции сразу выходит с неё....
После проверки
PHP код:
 v8 = *(_DWORD *)(a1 v7 16);
  if ( 
v8 )
  { 
то есть у нас v8 = false


А не, v8 у нас может быть в true только когда эта же функция вызывается с FindRich.... в СИПе у нас она всегда фелс, не зависимо от того есть какие то точки или нету.....

Последний раз редактировалось ALF.; 26.02.2012 в 12:41. Причина: Добавлено сообщение
ALF. вне форума Отправить сообщение для ALF. с помощью ICQ Отправить сообщение для ALF. с помощью Skype™
Непрочитано 27.02.2012, 17:25   #145
Олдфаг

По умолчанию Re: Генерация методом buildzone

а какой длл вы тут копаете?
поделитесь мне тоже интересно покопатся

ну и я знаю то что нехотите знать вы
smeli вне форума
Непрочитано 27.02.2012, 17:28   #146
Аватар для ANZO
Разработчик BDO Emu

По умолчанию Re: Генерация методом buildzone

Engine.dll функцию FWorldBuilder и все вытекающее из нее
ANZO вне форума Отправить сообщение для ANZO с помощью ICQ Отправить сообщение для ANZO с помощью Skype™
Непрочитано 27.02.2012, 17:37   #147
Аватар для R2D2
Custodem

По умолчанию Re: Генерация методом buildzone

а если в корне уточнить то билд закрытых помещений на квадрате за один раз
__________________
Пусть в горле ложка застрянет у того кто писал систему вступления в клан. © Mifesto
R2D2 вне форума Отправить сообщение для R2D2 с помощью ICQ Отправить сообщение для R2D2 с помощью Skype™
Непрочитано 27.02.2012, 18:01   #148
Пользователь

По умолчанию Re: Генерация методом buildzone

Киньте Engine.dll для ХФ пожалуйста.
Linda вне форума
Непрочитано 27.02.2012, 18:12   #149
Аватар для darkevil

По умолчанию Re: Генерация методом buildzone

Цитата:
Сообщение от Linda Посмотреть сообщение
Киньте Engine.dll для ХФ пожалуйста.
У фьюри портал разве не пашет?
__________________
darkevil вне форума Отправить сообщение для darkevil с помощью ICQ Отправить сообщение для darkevil с помощью Skype™
Непрочитано 27.02.2012, 18:29   #150
Олдфаг

По умолчанию Re: Генерация методом buildzone

Цитата:
Сообщение от ANZO Посмотреть сообщение
Engine.dll функцию FWorldBuilder и все вытекающее из нее
интересно сколько бы весил архив со всем енгине длл которые выпустила нцсофт?...........
думаю на каздую версию протокола отдельная ендзин длл. так где то 1500+ дллов имеется в мире

поетому я и спрашиваю какая длл из етих 1500 ковыряется тут
smeli вне форума
Закрытая тема

Метки
buildzone, геодата, геодата бункера


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2020 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 23:14. Часовой пояс GMT +3.

Вверх