Работа над Goddess of Destruction (part 6) - Страница 13 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Закрытая тема
Опции темы
Непрочитано 15.12.2013, 17:15   #121
Аватар для VenomRaider
Участник

По умолчанию Re: Работа над Goddess of Destruction (part 6)

это 558 чтоли???
а я то спрашиваю 575

Добавлено через 20 минут
ещё несколько пакетов:
ExAcquirableSkillListByClass:
Свернуть ↑Развернуть ↓

ExAcquireAPSkillList:
Свернуть ↑Развернуть ↓

ExPledgeWaitingListAlarm:
Свернуть ↑Развернуть ↓

Последний раз редактировалось VenomRaider; 15.12.2013 в 17:36. Причина: Добавлено сообщение
VenomRaider вне форума
Сказали спасибо:
Непрочитано 16.12.2013, 05:58   #122
Аватар для Mifesto
Пользователь

По умолчанию Re: Работа над Goddess of Destruction (part 6)

Цитата:
Сообщение от Hint Посмотреть сообщение
Смотрите внимательнее:
https://forum.zone-game.info/showthr...559#post336559
а ReadBitFlags можно функцию?

или хотя бы что читает и в каком формате возвращает.
Mifesto вне форума Отправить сообщение для Mifesto с помощью ICQ
Непрочитано 16.12.2013, 09:46   #123
Аватар для n3k0nation
Antihero

По умолчанию Re: Работа над Goddess of Destruction (part 6)

Цитата:
Сообщение от Mifesto Посмотреть сообщение
а ReadBitFlags можно функцию?

или хотя бы что читает и в каком формате возвращает.
Это побитовое чтение Возвращать может, то что Вы соберете из этих самых битов, любое число или bool-тип. Следуя логике тут читает ~3 байта, я думаю, что можно округлить до int.
__________________
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
n3k0nation вне форума
Сказали спасибо:
Непрочитано 16.12.2013, 10:11   #124
Аватар для Hint
Герой

По умолчанию Re: Работа над Goddess of Destruction (part 6)

Цитата:
Сообщение от Mifesto Посмотреть сообщение
а ReadBitFlags можно функцию?

или хотя бы что читает и в каком формате возвращает.
function TGamePacket.ReadBitFlags(Count: Integer = 0): TGamePacketBitFlags;
var
  N, I: Integer;
  B: array of Byte;
begin
  N := ReadH;
  if (N < 1) or ((Count > 0) and (N <> Count)) then raise Exception.Create('Invalid bit flags count!');
  I := Ceil(N / 8);
  SetLength(B, I);
  Move(FData[FCursor], B[0], I);
  Inc(FCursor, I);
  SetLength(Result, N);
  for I := 0 to N - 1 do
    begin
      Result[I] := (B[I div 8] shr (7 - (I mod 8))) and 1 = 1;
    end;
end;
Code: Pascal
__________________
hLaPEx, Evermore, hAuthD, L2on, ...
Hint вне форума
Сказали спасибо:
Непрочитано 16.12.2013, 17:29   #125
Аватар для Mifesto
Пользователь

По умолчанию Re: Работа над Goddess of Destruction (part 6)

 
Result[I] := (B[I div 8] shr (7 - (I mod 8)))[COLOR="Red"] and 1 = 1[/COLOR];
 
Code: Pascal
Вот мне интересно выделенное сравнение, зачем? Или это что бы паскаль записал результат первой операции как bool?
Mifesto вне форума Отправить сообщение для Mifesto с помощью ICQ
Непрочитано 16.12.2013, 18:39   #126
Аватар для Hint
Герой

По умолчанию Re: Работа над Goddess of Destruction (part 6)

Цитата:
Сообщение от Mifesto Посмотреть сообщение
 
Result[I] := (B[I div 8] shr (7 - (I mod 8)))[COLOR="Red"] and 1 = 1[/COLOR];
 
Code: Pascal
Вот мне интересно выделенное сравнение, зачем? Или это что бы паскаль записал результат первой операции как bool?
Да, чтобы преобразовать Integer в Boolean.
Код:
TGamePacketBitFlags = array of Boolean;
__________________
hLaPEx, Evermore, hAuthD, L2on, ...
Hint вне форума
Сказали спасибо:
Непрочитано 16.12.2013, 19:12   #127
Аватар для Mifesto
Пользователь

По умолчанию Re: Работа над Goddess of Destruction (part 6)

Странно, у меня все флаги -1 вот кусочек пакета до ника:
Цитата:
FE 5C 01 66 B6 D0 49 87 01 00 00 17 00 FF FF FE
00 00 00 00 1E 00 07
Зеленым выделено количество флагов, а красным 3 байта отвечающие за флаги(если судить по вашему коду).

Вот что получилось у меня на Java:
 
int N = readH(); // 23
 
if(N < 1)
    new Exception("Incorrect flags count.");
 
int I = (int)  Math.ceil((double) N / 8); // 23 / 8 = 3
 
byte B[] = new byte[I];
 
readB(B);
 
int result[] = new int[N];
for(int i = 0; i < N; i++)
{
        result[i] = B[i / 8] >> (7 - (i % 8)); // result[0] = -1 >> 7 
}
 
Code: Java
Mifesto вне форума Отправить сообщение для Mifesto с помощью ICQ
Непрочитано 16.12.2013, 23:33   #128
Аватар для n3k0nation
Antihero

По умолчанию Re: Работа над Goddess of Destruction (part 6)

Цитата:
Сообщение от Mifesto Посмотреть сообщение
Странно, у меня все флаги -1 вот кусочек пакета до ника:


Зеленым выделено количество флагов, а красным 3 байта отвечающие за флаги(если судить по вашему коду).

Вот что получилось у меня на Java:
 
int N = readH(); // 23
 
if(N < 1)
    new Exception("Incorrect flags count.");
 
int I = (int)  Math.ceil((double) N / 8); // 23 / 8 = 3
 
byte B[] = new byte[I];
 
readB(B);
 
int result[] = new int[N];
for(int i = 0; i < N; i++)
{
        result[i] = B[i / 8] >> (7 - (i % 8)); // result[0] = -1 >> 7 
}
 
Code: Java
Лучше используйте побитовое ИЛИ.
__________________
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
n3k0nation вне форума
Сказали спасибо:
Непрочитано 17.12.2013, 11:33   #129
Аватар для Mifesto
Пользователь

По умолчанию Re: Работа над Goddess of Destruction (part 6)

Эх в битовых операциях я еще мало разобрался(
Mifesto вне форума Отправить сообщение для Mifesto с помощью ICQ
Непрочитано 17.12.2013, 16:16   #130
Аватар для Bonux
Пользователь

По умолчанию Re: Работа над Goddess of Destruction (part 6)

ExUserInfo 575 протокол:

Код:
		writeEx(0x15C);
		writeD(obj_id);

		/*if(_secondInit)
		{
			writeD(56);

			writeB(new byte[]{(byte) 0x00, (byte) 0x80, (byte) 0x00});
		}
		else if(_init)*/
		{
			writeD(342 + _name.length() * 2 + title.length() * 2);
			writeH(23);

			writeB(new byte[]{(byte) 0xFF, (byte) 0xFF, (byte) 0xFF});

			writeD(_relation);
			writeH(16 + _name.length() * 2);
			writeH(_name.length());
			writeCutS(_name);
			writeC(gm_commands);
			writeC(_race);
			writeC(sex);
			writeD(base_class);
			writeD(class_id);
			writeC(level);

			writeH(14);
			writeH(_str);
			writeH(_dex);
			writeH(_con);
			writeH(_int);
			writeH(_wit);
			writeH(_men);

			writeH(14);
			writeD(maxHp);
			writeD(maxMp);
			writeD(maxCp);

			writeH(38);
			writeD(curHp);
			writeD(curMp);
			writeD(curCp);
			writeQ(_sp);
			writeQ(_exp);
			writeF(_expPercent);

			writeH(4);
			writeH(15); // unk

			writeH(15);
			writeD(hair_style);
			writeD(hair_color);
			writeD(face);
			writeC(1);

			writeH(5);
			writeC(mount_type);
			writeC(private_store);
			writeC(can_crystalize);

			writeH(56);
			writeH(_weaponFlag);
			writeD(_patk);
			writeD(_patkspd);
			writeD(_pdef);
			writeD(_pEvasion);
			writeD(_pAccuracy);
			writeD(_pCrit);
			writeD(_matk);
			writeD(_matkspd);
			writeD(_patkspd);
			writeD(_mdef);
			writeD(_mEvasion);
			writeD(_mAccuracy);
			writeD(_mCrit);

			writeH(14);
			writeH(defenceFire);
			writeH(defenceWater);
			writeH(defenceWind);
			writeH(defenceEarth);
			writeH(defenceHoly);
			writeH(defenceUnholy);

			writeH(18);
			writeD(_loc.x);
			writeD(_loc.y);
			writeD(_loc.z + Config.CLIENT_Z_SHIFT);
			writeD(vehicle_obj_id);

			writeH(18);
			writeH(_runSpd);
			writeH(_walkSpd);
			writeH(_swimRunSpd);
			writeH(_swimWalkSpd);
			writeH(_flRunSpd);
			writeH(_flWalkSpd);
			writeH(_flyRunSpd);
			writeH(_flyWalkSpd);

			writeH(18);
			writeF(move_speed);
			writeF(attack_speed);

			writeH(18);
			writeF(col_radius);
			writeF(col_height);

			writeH(5);
			writeC(attackElement.getId());
			writeH(attackElementValue);

			writeH(32 + title.length() * 2);
			writeH(title.length());
			writeCutS(title);
			writeH(pledge_type);
			writeD(clan_id);
			writeD(large_clan_crest_id);
			writeD(clan_crest_id);
			writeD(ClanPrivs);
			writeC(1);
			writeD(ally_id);
			writeD(ally_crest_id);
			writeC(partyRoom ? 0x01 : 0x00);

			writeH(22);
			writeC(pvp_flag);
			writeD(karma);
			writeC(noble);
			writeC(hero);
			writeC(pledge_class);
			writeD(pk_kills);
			writeD(pvp_kills);
			writeH(rec_left);
			writeH(rec_have);

			writeH(15);
			writeD(vitality);
			writeC(0);
			writeD(fame);
			writeD(0x00); // UNK

			writeH(10);
			writeC(talismans);
			writeC(openCloak);
			writeC(_team.ordinal());
			writeC(0);
			writeC(0);
			writeC(0);
			writeC(0);
			writeC(0);

			writeH(4);
			writeC(isFlying ? 0x02 : 0x00);
			writeC(running);

			writeH(10);
			writeD(name_color);
			writeD(title_color);

			writeH(9);
			writeD(0);
			writeH(InventoryLimit);
			writeC(0);

			writeH(13);
			writeC(1);
			writeH(0);
			writeD(0);
			writeD(0);
		}
Bonux вне форума Отправить сообщение для Bonux с помощью ICQ Отправить сообщение для Bonux с помощью Skype™
Сказали спасибо:
Закрытая тема

Метки
development, goddess of destruction, l2j, l2p, lineage 2 tauti owned!, tauti, vistall убил 2 часа, атата, гео tauti за картоху, геодата бункера, иди копай, карательный отряд, картоха vs ява, ололо - жесть, технология батарей 0о, у корейцев недержание, шаурмэ фейл


Здесь присутствуют: 5 (пользователей: 0 , гостей: 5)
 

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа над Goddess of Destruction Вопрос Мараторий Lineage II 29 11.06.2013 18:01
Работа над Goddess of Destruction Glory Days Mazaffaka Lineage II 89 07.05.2013 19:10
Lineage 2 Goddess of Destruction chapter 3: Lindvior part 2 - Lord of the West Wind LineOFWar Lineage II 0 09.12.2012 13:46
Работа над Goddess of Destruction (part 2) Ozzy Lineage II 411 22.06.2011 15:58
Адаптируем SQL BimBom Работа со скриптами 9 14.10.2009 15:14


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

Вверх