Показать сообщение отдельно
Старый 19.05.2008, 11:26   #2
Новичок
 
Регистрация: 22.04.2008
Сообщений: 21
Сказал Спасибо: 8
Имеет 26 спасибок в 6 сообщенях
poizon пока неопределено
По умолчанию

встать из сидячего положения(покупка/продажа/просто сидит)interlude
1.команда подняться (если сидит то это пакет 45 00 00 00 00 00 00 00 00 00, если продаёт то это пакет 73, если покупает то это пакет 90)
2.отправить пакет validateposition 48 d(myX)d(myY)d(myZ)d(header)d(data)
myx myy myz это координаты персонажа нынешние, хеадер и дата можно получить посмотрев что отправляет клиент серверу сам.

сесть(начать продавать покупать или сесть)interlude
1.команда сесть или продавать или покупать (сесть пакет 45 00 00 00 00 00 00 00 00 00, продавать 73 покупать 90)
3.если это магазин то посылается(опционально) пакет с призывом лавочки, для покупки это buf:=#$94 WriteS(name);
для продажи это buf:=#$77 WriteS(name);
4.если это магазин то посылается пакет со списком предметов, покупаем - пакет 91 d(itemsCount) d(itemID1) d(0) d(itemCount1) d(itemPrice1) d(itemIDN) d(0) d(itemCountN) d(itemPriceN) ... ...
в пакете количество вещей на покупку далее идет повторяющаяся последовательность байтов ид вещи (не object id ) 4 байта пустых d(0) количество покупаемого, и прайс.
для продажи это пакет 74 d(0) d(listcount) d(Oid1) d(count1) d(price1) d(oidN) d(countN) d(priceN)
номер пакета(74) далее 4 пустых байта D(0) делаее количество продаваемых предметов, далее Objectid предмета(не просто ИД предмета) ну собственно далее количество и прайс, три последних d() повторяются в зависимости от количества продаваемого)
после отправки пакета с листом предметов он сам садится.
5.после того как персонаж сел(сел,покупать,продавать) посылается пакет validatepoosition (см.выше) и пакет validaterotate (или как его) вот пакет - buf:=#$4B d(degree) d(rconst).угол поворота персонажа, я беру его от клиента предварительно сев встав, и далее константа тоже беру от клиента.задержка между пакетами думаю не более 100мс.
poizon вне форума   Ответить с цитированием
За это сообщение poizon нажился 6 спасибками от: