Регистрация Главная Пользователи Все разделы прочитаны
Сообщения за день Справка Регистрация

Автопуть

-

Общение разработчиков

- Программирование для Perfect World, общение и обсуждене разработок

Ответ
 
Опции темы
Старый 30.06.2014, 12:07   #1
 Сержант
Аватар для pw.assistant
 
pw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауру
Регистрация: 16.02.2012
Сообщений: 105
Популярность: 651
Сказал(а) спасибо: 19
Поблагодарили 39 раз(а) в 31 сообщениях
 
По умолчанию Автопуть

Никто не подскажет, как вызвать автопуть, тот что в игре по ALT+ЛКМ на карте? Клиент - РуОф 1.5.1. Интересует новый автопуть, который по поверхности обходит препятствия. Попытки найти по аналогии со старым привели к тому что был найдет именно старый вариант, где перс пер напрямки, а нужен новый.

Заранее спасибо всем кто конструктивно откликнется.
________________
backup - акт проявления трусости
  Ответить с цитированием
Старый 30.06.2014, 15:23   #2
-= Мастер Света =-
 Рыцарь-капитан
Аватар для Ginrey
 
Ginrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака Норриса
Регистрация: 14.06.2012
Сообщений: 511
Популярность: 7566
Сказал(а) спасибо: 4
Поблагодарили 181 раз(а) в 88 сообщениях
 
По умолчанию Re: Автопуть

искали бряком на доступ к базовому адресу? а то я таким образом находил нужный участок кода, гайды не читал вообще как его находят.Но это на старых версиях
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"

Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
  Ответить с цитированием
Старый 30.06.2014, 16:28   #3
 Сержант
Аватар для pw.assistant
 
pw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауру
Регистрация: 16.02.2012
Сообщений: 105
Популярность: 651
Сказал(а) спасибо: 19
Поблагодарили 39 раз(а) в 31 сообщениях
 
По умолчанию Re: Автопуть

Нет, не искал, сейчас нет возможности на нормальном компе с нормальным и-нетом запустить ПВ. С грехом пополам нашел не то )) Подумал, может кто уже находил и проще спросить, чем мучаться на этом планшете.
________________
backup - акт проявления трусости
  Ответить с цитированием
Старый 30.06.2014, 17:33   #4
-= Мастер Света =-
 Рыцарь-лейтенант
Аватар для Smertig
 
Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(Smertig сломал счётчик популярности :(
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
Отправить сообщение для Smertig с помощью ICQ Отправить сообщение для Smertig с помощью Skype™
 
По умолчанию Re: Автопуть

Цитата:
Подумал, может кто уже находил и проще спросить, чем мучаться на этом планшете.

С планшета дебажить пв.. Ужос

Если до 3-го числа никто ничего не найдёт, сам попробую поискать. И если клиент найду
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
  Ответить с цитированием
Старый 30.06.2014, 22:19   #5
 Сержант
Аватар для pw.assistant
 
pw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауру
Регистрация: 16.02.2012
Сообщений: 105
Популярность: 651
Сказал(а) спасибо: 19
Поблагодарили 39 раз(а) в 31 сообщениях
 
По умолчанию Re: Автопуть

Спасибо
________________
backup - акт проявления трусости
  Ответить с цитированием
Старый 03.07.2014, 01:07   #6
 Разведчик
Аватар для fds255
 
fds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известен
Регистрация: 23.06.2012
Сообщений: 43
Популярность: 427
Сказал(а) спасибо: 18
Поблагодарили 59 раз(а) в 35 сообщениях
 
По умолчанию Re: Автопуть

Цитата:
Никто не подскажет, как вызвать автопуть, тот что в игре по ALT+ЛКМ на карте? Клиент - РуОф 1.5.1. Интересует новый автопуть, который по поверхности обходит препятствия. Попытки найти по аналогии со старым привели к тому что был найдет именно старый вариант, где перс пер напрямки, а нужен новый.

Оригинал:
Autopath.JPG

Соответственно асмокод:

Код:
addr:=Pointer($00448B60)

  asm
    pushad
    mov eax,x
    mov ecx,y
    push ecx
    push 0
    push eax
    push 3
    push 0
    push 0
    push $14A
    mov ecx,$00C9DFAC
    mov ecx,dword ptr [ecx]
    add ecx,$1C
    mov ecx,dword ptr[ecx]
    call addr
    popad
  end;

Перемещение по высоте как и раньше:

Код:
addr:=Pointer($00448B60)

  asm
    pushad
    mov eax,z
    push 0
    push 0     //0 или 1 приземлиться у цели
    push eax
    push 1     //Команда на взлёт
    push 0
    push 0
    push $14A
    mov ecx,$00C9DFAC
    mov ecx,dword ptr [ecx]
    add ecx,$1C
    mov ecx,dword ptr[ecx]
    call addr
    popad
  end;

Координаты X и Y считываем как обычно по цепочкам BA+0x1C+0x30+0x3C,.....
Так как раньше делали (в моем случае ): "round(PSingle(@X)^)" делать НЕ НУЖНО.
А координату Z считываем и определяем также как раньше: round(PSingle(@Z)^)
Просто считываем координаты и передаем в асмокод

Плюсы:
1)Теперь перс находясь на земле бежит не по прямой траектории, а обходит препятствия;
2)Правильно рисуется маршрут на карте.

Минусы:
1) Пока не получилось автоматически при начале движения заставить перса взлетать и набирать высоту, как раньше. Однако если взлететь вручную или пакетом или инжектом асмокода, то перс будет набирать высоту.
________________
MultiXBot
MultiX_POT

Последний раз редактировалось fds255; 04.07.2014 в 00:54.
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
pw.assistant (04.07.2014), _KastA_ (07.01.2023)
Старый 03.07.2014, 02:39   #7
 Пехотинец
Аватар для Стрелок
 
Стрелок излучает ауруСтрелок излучает ауруСтрелок излучает ауруСтрелок излучает ауруСтрелок излучает ауруСтрелок излучает ауру
Регистрация: 25.04.2009
Сообщений: 50
Популярность: 663
Сказал(а) спасибо: 11
Поблагодарили 8 раз(а) в 5 сообщениях
 
По умолчанию Re: Автопуть

мои наблюдения показали, что авто путь настроен на ограниченный список нпц (начальные локи и гд)
  Ответить с цитированием
Старый 03.07.2014, 23:56   #8
 Сержант
Аватар для pw.assistant
 
pw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауру
Регистрация: 16.02.2012
Сообщений: 105
Популярность: 651
Сказал(а) спасибо: 19
Поблагодарили 39 раз(а) в 31 сообщениях
 
По умолчанию Re: Автопуть

Цитата:
1) Пока не получилось автоматически при начале движения заставить перса взлетать и набирать высоту, как раньше. Однако если взлететь вручную или пакетом или инжектом асмокода, то перс будет набирать высоту.

это и без игры норм пашет
спасибо за инфу, ща начну тестить

Цитата:
мои наблюдения показали, что авто путь настроен на ограниченный список нпц (начальные локи и гд)

на уровне 10+ есть полёт, дальше можно им обойтись
________________
backup - акт проявления трусости

Последний раз редактировалось pw.assistant; 04.07.2014 в 04:33.
  Ответить с цитированием
Старый 04.07.2014, 00:51   #9
 Разведчик
Аватар для fds255
 
fds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известен
Регистрация: 23.06.2012
Сообщений: 43
Популярность: 427
Сказал(а) спасибо: 18
Поблагодарили 59 раз(а) в 35 сообщениях
 
По умолчанию Re: Автопуть

Небольшая корректировка:
Координаты X и Y просто считываем и используем в асмокоде, а вот
координату Z таки придется определять по старому, т.е. realZ:=round(PSingle(@Z)^), где Z считанное значение по цепочке BA+0x1C+0x30+0x40
________________
MultiXBot
MultiX_POT

Последний раз редактировалось fds255; 04.07.2014 в 01:06.
  Ответить с цитированием
Старый 04.07.2014, 04:31   #10
 Сержант
Аватар для pw.assistant
 
pw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауруpw.assistant излучает ауру
Регистрация: 16.02.2012
Сообщений: 105
Популярность: 651
Сказал(а) спасибо: 19
Поблагодарили 39 раз(а) в 31 сообщениях
 
По умолчанию Re: Автопуть

fds255, ОГРОМНОЕ человеческое спасибо! Пашет.
________________
backup - акт проявления трусости
  Ответить с цитированием
Старый 28.12.2014, 20:06   #11
 Разведчик
Аватар для Hilling
 
Hilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личность
Регистрация: 05.09.2010
Сообщений: 32
Популярность: 1182
Сказал(а) спасибо: 38
Поблагодарили 12 раз(а) в 10 сообщениях
 
По умолчанию Re: Автопуть

А можно вообще отдельно кусок без взлета использовать?
Переделал асм код
Код:
  asm
    pushad
    mov eax,x
    mov ecx,y
    push ecx
    push 0
    push eax
    push 3
    push 0
    push 0
    push $14A
    mov ecx,$00C9DFAC
    mov ecx,dword ptr [ecx]
    add ecx,$1C
    mov ecx,dword ptr[ecx]
    call addr
    popad
  end;
в такое асм-представление для инжекта:
Код:
   public void AutoPath(Single coord_X, Single coord_Y)
        {

            ASM asm = new ASM(this.memory);
            asm.Pushad();
            asm.Mov_EAX(coord_X);
            asm.Mov_ECX((int)coord_Y);
            asm.Push_ECX();
            asm.Push68(0);
            asm.Push_EAX();
            asm.Push68(3);
            asm.Push68(0);
            asm.Push68(0);
            asm.Push68(0x14A);
            asm.Mov_ECX(PWOffssAndAddrss.base_address); // 0xD22C74;
            asm.Mov_ECX_DWORD_Ptr_ECX();
            asm.Add_ECX(0x1C);
            asm.Mov_ECX_DWORD_Ptr_ECX();
            asm.Mov_EDX(PWOffssAndAddrss.AutoPath); // 0x455940;
            asm.Call_EDX();
            asm.Popad();
            asm.Ret();
            asm.RunAsm();
           
        }
при инжекте вылетает. Один раз заметил, что перс взлететь пытался Оо
P.S> Адреса ПВИшные

функция в клиенте пви:
Код:
0074F76C   51               PUSH ECX
0074F76D   8B0D 742CD200    MOV ECX,DWORD PTR DS:[D22C74]            ; elementc.00D233F8
0074F773   52               PUSH EDX
0074F774   50               PUSH EAX
0074F775   6A 03            PUSH 3
0074F777   8B49 1C          MOV ECX,DWORD PTR DS:[ECX+1C]
0074F77A   6A 00            PUSH 0
0074F77C   6A 00            PUSH 0
0074F77E   68 4A010000      PUSH 14A
0074F783   E8 B861D0FF      CALL elementc.00455940
Думаю накосячил при переделывании асм-кода. Помогите пожалуйста косяк исправить
  Ответить с цитированием
Старый 01.01.2015, 21:14   #12
 Разведчик
Аватар для Simyr
 
Simyr никому не известный тип
Регистрация: 24.10.2010
Сообщений: 7
Популярность: 12
Сказал(а) спасибо: 0
Поблагодарили 7 раз(а) в 5 сообщениях
 
По умолчанию Re: Автопуть

заработало в таком виде:
Код:
Procedure autoPathCall(x.f,y.f,z.f)
  calladdr = $00455940
  ;собираем опкод для наглядности
  opcode.s ="60"                  ;60  PUSHAD
  opcode=opcode+"b900000000"      ;B9 00000000    MOV ECX,y
  opcode=opcode+"ba00000000"      ;BA 00000000    MOV EDX,z
  opcode=opcode+"b800000000"      ;B8 00000000    MOV EAX,x
  opcode=opcode+"6a00"            ;6A 00          PUSH 0
  opcode=opcode+"51"              ;51             PUSH ECX
  opcode=opcode+"52"              ;52             PUSH EDX
  opcode=opcode+"50"              ;50             PUSH EAX
  opcode=opcode+"6a03"            ;6A 03          PUSH 3
  opcode=opcode+"6a00"            ;6A 00          PUSH 0
  opcode=opcode+"6a00"            ;6A 00          PUSH 0
  opcode=opcode+"684A010000"      ;68 4A010000    PUSH 14A
  opcode=opcode+"b900000000"      ;B9 00000000    MOV ECX,BA
  opcode=opcode+"8B09"            ;8B09           MOV ECX,DWORD PTR DS:[ECX]
  opcode=opcode+"83C11C"          ;83C1 1C        ADD ECX,1C
  opcode=opcode+"8B09"            ;8B09           MOV ECX,DWORD PTR DS:[ECX]
  opcode=opcode+"BB00000000"      ;BB 00000000    MOV EBX,calladr
  opcode=opcode+"FFD3"            ;FFD3           CALL EBX
  opcode=opcode+"61"              ;61             POPAD
  opcode=opcode+"c3"              ;C3             RETN
  
  lenght=Len(opcode) / 2 - 1 
  For i=0 To lenght 
    asm\Code[i]=Val("$"+Mid(opcode, i*2+1 ,2)) ; записываем в массив байт 
  Next 
  ;прописываем значения:
  PokeF(@asm\Code[2],y)
  PokeF(@asm\Code[7],z)
  PokeF(@asm\Code[12],x)
  
  PokeL(@asm\Code[33],#BA)
  PokeL(@asm\Code[45],calladdr)
  ;Запуск Инжекта
  Inject()
  
EndProcedure
движение без взлета, хотя нет, если бежать далеко все-таки взлетает
кусок из клиента
[IMG][Ссылки могут видеть только зарегистрированные пользователи. ][/IMG]

Заметил еще, если открыт диалог с нипом - двигаться отказывается (

Последний раз редактировалось Simyr; 02.01.2015 в 19:05.
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Hilling (02.01.2015), _KastA_ (07.01.2023)
Старый 02.01.2015, 13:12   #13
 Разведчик
Аватар для Hilling
 
Hilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личность
Регистрация: 05.09.2010
Сообщений: 32
Популярность: 1182
Сказал(а) спасибо: 38
Поблагодарили 12 раз(а) в 10 сообщениях
 
По умолчанию Re: Автопуть

Цитата:
Сообщение от SimyrПосмотреть сообщение
заработало в таком виде:
Код:
Procedure autoPathCall(x.f,y.f,z.f)
  calladdr = $00455940
  ;собираем опкод для наглядности
  opcode.s ="60"                  ;60  PUSHAD
  opcode=opcode+"b900000000"      ;B9 00000000    MOV ECX,y
  opcode=opcode+"ba00000000"      ;BA 00000000    MOV EDX,z
  opcode=opcode+"b800000000"      ;B8 00000000    MOV EAX,x
  opcode=opcode+"6a00"            ;6A 00          PUSH 0
  opcode=opcode+"51"              ;51             PUSH ECX
  opcode=opcode+"52"              ;52             PUSH EDX
  opcode=opcode+"50"              ;50             PUSH EAX
  opcode=opcode+"6a03"            ;6A 03          PUSH 3
  opcode=opcode+"6a00"            ;6A 00          PUSH 0
  opcode=opcode+"6a00"            ;6A 00          PUSH 0
  opcode=opcode+"684A010000"      ;68 4A010000    PUSH 14A
  opcode=opcode+"b900000000"      ;B9 00000000    MOV ECX,BA
  opcode=opcode+"8B09"            ;8B09           MOV ECX,DWORD PTR DS:[ECX]
  opcode=opcode+"83C11C"          ;83C1 1C        ADD ECX,1C
  opcode=opcode+"8B09"            ;8B09           MOV ECX,DWORD PTR DS:[ECX]
  opcode=opcode+"BB00000000"      ;BB 00000000    MOV EBX,calladr
  opcode=opcode+"FFD3"            ;FFD3           CALL EBX
  opcode=opcode+"61"              ;61             POPAD
  opcode=opcode+"c3"              ;C3             RETN
  
  lenght=Len(opcode) / 2 - 1 
  For i=0 To lenght 
    asm\Code[i]=Val("$"+Mid(opcode, i*2+1 ,2)) ; записываем в массив байт 
  Next 
  ;прописываем значения:
  PokeF(@asm\Code[2],y)
  PokeF(@asm\Code[7],z)
  PokeF(@asm\Code[12],x)
  
  PokeL(@asm\Code[33],#BA)
  PokeL(@asm\Code[45],calladdr)
  ;Запуск Инжекта
  Inject()
  
EndProcedure
движение без взлета, хотя нет, если бежать далеко все-таки взлетает
кусок из клиента
[IMG][Ссылки могут видеть только зарегистрированные пользователи. ][/IMG]

Спасибо большое, работает!

Хотя зачем сюда Z-координата подается - непонятно. Всё-равно клиент на ее значение в данном случае вообще не реагирует, даже если находиться на полете.
  Ответить с цитированием
Старый 02.01.2015, 15:28   #14
 Разведчик
Аватар для Simyr
 
Simyr никому не известный тип
Регистрация: 24.10.2010
Сообщений: 7
Популярность: 12
Сказал(а) спасибо: 0
Поблагодарили 7 раз(а) в 5 сообщениях
 
По умолчанию Re: Автопуть

чтоб на Z реагировал надо добавить
Код:
    opcode.s ="60"                  ;60  PUSHAD
    opcode=opcode+"b900000000"      ;B9 00000000    MOV ECX,z
    opcode=opcode+"6A00"            ;6A 00          PUSH 0
    opcode=opcode+"6A00"            ;6A 00          PUSH 0
    opcode=opcode+"6A00"            ;6A 00          PUSH 0 1-преземлится у цели
    opcode=opcode+"51"              ;51             PUSH ECX
    opcode=opcode+"6A01"            ;6A 01          PUSH 1
    opcode=opcode+"6A00"            ;6A 00          PUSH 0
    opcode=opcode+"6A00"            ;6A 00          PUSH 0
    opcode=opcode+"684A010000"      ;68 4A010000    PUSH 14A
    opcode=opcode+"b900000000"      ;B9 00000000    MOV ECX,BA
    opcode=opcode+"8B09"            ;8B09           MOV ECX,DWORD PTR DS:[ECX]
    opcode=opcode+"83C11C"          ;83C1 1C        ADD ECX,1C
    opcode=opcode+"8B09"            ;8B09           MOV ECX,DWORD PTR DS:[ECX]
    opcode=opcode+"BB00000000"      ;BB 00000000    MOV EBX,calladr
    opcode=opcode+"FFD3"            ;FFD3           CALL EBX
    opcode=opcode+"61"              ;61             POPAD
    opcode=opcode+"c3"              ;C3
тогда изменяет высоту
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Hilling (02.01.2015), _KastA_ (07.01.2023)
Старый 02.01.2015, 17:22   #15
 Разведчик
Аватар для Hilling
 
Hilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личностьHilling определенно авторитетная личность
Регистрация: 05.09.2010
Сообщений: 32
Популярность: 1182
Сказал(а) спасибо: 38
Поблагодарили 12 раз(а) в 10 сообщениях
 
Smile Re: Автопуть

Все отлично. Может кому пригодится.

Код:
       public void AutoPath(Single coord_X, Single coord_Y, int coord_Z)
        {
    
                       ASM asm = new ASM(this.memory);
                        asm.Pushad();

                        asm.Mov_ECX(coord_Y);
                        asm.Mov_EDX(coord_Z);
                        asm.Mov_EAX(coord_X);
                        asm.Push6A(0);
                        asm.Push_ECX();
                        asm.Push_EDX();
                        asm.Push_EAX();
                        asm.Push6A(3);
                        asm.Push6A(0);
                        asm.Push6A(0);
                        asm.Push68(0x14A);
                        asm.Mov_ECX(PWOffssAndAddrss.base_address);
                        asm.Mov_ECX_DWORD_Ptr_ECX();
                        asm.Add_ECX(0x1C);
                        asm.Mov_ECX_DWORD_Ptr_ECX();
                        asm.Mov_EBX(PWOffssAndAddrss.AutoPath);
                        asm.Call_EBX();
                        asm.Popad();

                        asm.Pushad();
                        asm.Mov_ECX(coord_Z);
                        asm.Push6A(0);
                        asm.Push6A(0);
                        asm.Push6A(0);
                        asm.Push_ECX();
                        asm.Push6A(1);
                        asm.Push6A(0);
                        asm.Push6A(0);
                        asm.Push68(0x14A);
                        asm.Mov_ECX(PWOffssAndAddrss.base_address); 
                        asm.Mov_ECX_DWORD_Ptr_ECX();
                        asm.Add_ECX(0x1C);
                        asm.Mov_ECX_DWORD_Ptr_ECX();
                        asm.Mov_EBX(PWOffssAndAddrss.AutoPath);
                        asm.Call_EBX();
                        
            
            asm.Popad();
            asm.Ret();
            asm.RunAsm();
           
        }
Simyr, чтобы я без тебя делал ))
  Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
Desmond Hume (02.01.2015), fds255 (14.06.2015), _KastA_ (07.01.2023)
Ответ

Опции темы

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

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

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

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 17:47.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net