Перейти к публикации
Lorn

Горячая линия по вопросам редактирования игрового клиента

Рекомендованные сообщения

Сколько времени убил ?

Неделю точно. Но в разные время разные его части писались. И дело забивалось не раз из-за занятости.

Тут просто нигде информации не было по структуре. Особенно строк. Там длина упорото заэнкожена + по ней определяется - UCS-2LE или CP1251.

Пришлось методом тыка.

 

Например:

(можно было бы укоротить, но пофиг)

       public function readASCF() {
           if (!isset($this->data[$this->offset + 1]))
               throw new Exception("Can't read ASCF! Unexpected EOF at ".($this->offset + 1));
         
           $a = ord($this->data[$this->offset]);
           $b = ord($this->data[$this->offset + 1]);
         
           if ($a > 0x80 && $a < 0xC0) {
               $len = $a & ~0x80;
             
               $start = $this->offset + 1;
               if ($start + $len * 2 + 1 >= strlen($this->data))
                   throw new Exception("Can't read ASCF! Unexpected EOF at ".$start);
             
               $this->offset += 1 + $len * 2;
               return @iconv("UCS-2LE", "UTF-8", substr($this->data, $start, $len * 2));
           } else if ($a >= 0xC0 && $a <= 0xFF) {
               $n = ($b - ($b % 2)) / 2;
               $len = (($a & ~($b % 2 == 0 ? 0xC0 : 0x80)) + ($n * 0x80));
             
               $start = $this->offset + 2;
               if ($start + $len * 2 + 2 >= strlen($this->data))
                   throw new Exception("Can't read ASCF! Unexpected EOF at ".$start);
             
               $this->offset += 2 + $len * 2;
               return @iconv("UCS-2LE", "UTF-8", substr($this->data, $start, $len * 2));
           } else if ($a < 0x40) {
               if (!$this->offset + 1 + $a >= strlen($this->data))
                   throw new Exception("Can't read ASCF! Unexpected EOF at ".($this->offset + 1));
             
               $data = substr($this->data, $this->offset + 1, $a);
               $this->offset += 1 + $a;
               to_encoding($data, "UTF-8");
               return $data;
           } else if ($a >= 0x40) {
               $n = ($b - ($b % 2)) / 2;
               $len = (($a & ~($b % 2 == 0 ? 0xC0 : 0x80)) + ($n * 0x80));
             
               if (!$this->offset + 2 + $len >= strlen($this->data))
                   throw new Exception("Can't read ASCF! Unexpected EOF at ".($this->offset + 2));
             
               $data = substr($this->data, $this->offset + 2, $len);
               $this->offset += 2 + $len;
               to_encoding($data, "UTF-8");
               return $data;
           }
       }
     

Ссылка на сообщение
Поделиться на других сайтах

Неделю точно. Но в разные время разные его части писались. И дело забивалось не раз из-за занятости.

Тут просто нигде информации не было по структуре. Особенно строк. Там длина упорото заэнкожена + по ней определяется - UCS-2LE или CP1251.

Пришлось методом тыка.

 

Например:

(можно было бы укоротить, но пофиг)

       public function readASCF() {
           if (!isset($this->data[$this->offset + 1]))
               throw new Exception("Can't read ASCF! Unexpected EOF at ".($this->offset + 1));
       
           $a = ord($this->data[$this->offset]);
           $b = ord($this->data[$this->offset + 1]);
       
           if ($a > 0x80 && $a < 0xC0) {
               $len = $a & ~0x80;
           
               $start = $this->offset + 1;
               if ($start + $len * 2 + 1 >= strlen($this->data))
                   throw new Exception("Can't read ASCF! Unexpected EOF at ".$start);
           
               $this->offset += 1 + $len * 2;
               return @iconv("UCS-2LE", "UTF-8", substr($this->data, $start, $len * 2));
           } else if ($a >= 0xC0 && $a <= 0xFF) {
               $n = ($b - ($b % 2)) / 2;
               $len = (($a & ~($b % 2 == 0 ? 0xC0 : 0x80)) + ($n * 0x80));
           
               $start = $this->offset + 2;
               if ($start + $len * 2 + 2 >= strlen($this->data))
                   throw new Exception("Can't read ASCF! Unexpected EOF at ".$start);
           
               $this->offset += 2 + $len * 2;
               return @iconv("UCS-2LE", "UTF-8", substr($this->data, $start, $len * 2));
           } else if ($a < 0x40) {
               if (!$this->offset + 1 + $a >= strlen($this->data))
                   throw new Exception("Can't read ASCF! Unexpected EOF at ".($this->offset + 1));
           
               $data = substr($this->data, $this->offset + 1, $a);
               $this->offset += 1 + $a;
               to_encoding($data, "UTF-8");
               return $data;
           } else if ($a >= 0x40) {
               $n = ($b - ($b % 2)) / 2;
               $len = (($a & ~($b % 2 == 0 ? 0xC0 : 0x80)) + ($n * 0x80));
           
               if (!$this->offset + 2 + $len >= strlen($this->data))
                   throw new Exception("Can't read ASCF! Unexpected EOF at ".($this->offset + 2));
           
               $data = substr($this->data, $this->offset + 2, $len);
               $this->offset += 2 + $len;
               to_encoding($data, "UTF-8");
               return $data;
           }
       }
   

Только спусты 2 минуты осознал, что это пыха, мои глаза. forums.goha.ru___F_Shared_frm_avatar_avatar776362_1.gif

С style.

Вообще вот каноничный пых:

https://github.com/yiisoft/yii2/blob/master/framework/rbac/DbManager.php

 

А вообще полезная штука, плюс.

Ссылка на сообщение
Поделиться на других сайтах

Только спусты 2 минуты осознал, что это пыха, мои глаза. forums.goha.ru___F_Shared_frm_avatar_avatar776362_1.gif

С style.

Вообще вот каноничный пых:

https://github.com/yiisoft/yii2/blob/master/framework/rbac/DbManager.php

 

А вообще полезная штука, плюс.

 

Ну это норм. Кстати у меня огромная часть кода написана на C++. В виде модулей php.

Всякие прослойки к libmysql и препроцессоры текста.

 

// Какой ужас. ORM головного мозга.

/* Да эти все php-фреймворки такое УГ откровенное. Тупо ниодного нет нормально. Ну кроме cphalcon. Он привлёк немного.

Недавно по работе пытались заставить юзать фреймворк. Это было главное условие. Написал свой. */

Ссылка на сообщение
Поделиться на других сайтах

Можно подробнее, какую именно анимацию и каких именно скилов?

вот когда я юзаю на другом серваке промик или ауру анимация скилла остается после юза гдето на 2-3 сек. без просвета и тд. как мне на Аверие сделать такое?

 

rghost.net_57365091_image.png rghost.net_57365088_image.png

 

Ссылка на сообщение
Поделиться на других сайтах

вот когда я юзаю на другом серваке промик или ауру анимация скилла остается после юза гдето на 2-3 сек. без просвета и тд. как мне на Аверие сделать такое?

 

rghost.net_57365091_image.png rghost.net_57365088_image.png

Хроники тоже High Five? Можно получить файл skillgrp.dat из папки system с этого "другого" сервера? И если не сложно еще systemmsg-ru.dat, заметил кое-что интересное в нем.

Ссылка на сообщение
Поделиться на других сайтах

Хроники тоже High Five? Можно получить файл skillgrp.dat из папки system с этого "другого" сервера? И если не сложно еще systemmsg-ru.dat, заметил кое-что интересное в нем.

да, HF.

вот skillgrp http://rghost.net/57365973

 

вот systemmsg-ru http://rghost.net/57365976

Ссылка на сообщение
Поделиться на других сайтах

да, HF.

вот skillgrp http://rghost.net/57365973

вот systemmsg-ru http://rghost.net/57365976

Время анимации в данной ситуации зависит от настроек сервера. Стандартное время везде одинаковое, это я выяснил, сравнив Ваш skillgrp с нашим. А уже зависимость этого времени от скорости каста настраивает сам сервер.

Ссылка на сообщение
Поделиться на других сайтах

Время анимации в данной ситуации зависит от настроек сервера. Стандартное время везде одинаковое, это я выяснил, сравнив Ваш skillgrp с нашим. А уже зависимость этого времени от скорости каста настраивает сам сервер.

а на Аверии не смогу время анимации изменить?

Ссылка на сообщение
Поделиться на других сайтах

а на Аверии не смогу время анимации изменить?

Необходимо будет менять настройки сервера. А этого никто делать не будет.

Ссылка на сообщение
Поделиться на других сайтах

  • 2 недели спустя...

Доброго времени суток, не знаю куда обратиться, думаю что сюда. Нельзя ли как нибудь сделать, чтобы где-нибудь справа экрана либо еще где (кроме чата) выскакивала надпись о прохождении скилла либо дебафа??

Ссылка на сообщение
Поделиться на других сайтах

Доброго времени суток, не знаю куда обратиться, думаю что сюда. Нельзя ли как нибудь сделать, чтобы где-нибудь справа экрана либо еще где (кроме чата) выскакивала надпись о прохождении скилла либо дебафа??

На нашем сервере невозможно вывести сообщение об удачном прохождении скила.

Ссылка на сообщение
Поделиться на других сайтах

  • 2 недели спустя...

Как можно сделать другой шрифт букв в л2? видел в мувиках скорна и в теме простокваши про различные модификации клиента но так и не видел файл про шифт

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...