HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #801  
Старый 18.01.2016, 23:39
nikita_cheater
Новичок
Регистрация: 06.10.2015
Сообщений: 13
С нами: 5580077

Репутация: 0
По умолчанию

Цитата:
Сообщение от kemperrr  

Спрошу еще раз, нашел как отправить на сервер пакет о нажатии клавиши, но беда, нажимается только один раз (код находится в mainloop), пытаясь отправить пакет о том что клавиша не нажата так же нажимается 1 раз + теряется соединение с сервером, дак вот более опытные подскажите как сделать что бы не отправлялось столько пакетов(во избежания дисконнектов) и сделать цикличное нажатие одной и той же клавиши дапустим Y ( Y - 64(0x40) , когда не нажата - 0(0x0) )

Код:





Код:
stOnFootData sync;
            memset(&sync, 0, sizeof(stOnFootData));

            sync = SF->getSAMP()->getPlayers()->pLocalPlayer->onFootData;

            sync.byteCurrentWeapon = 64; // Y

            BitStream bsActorSync;
            bsActorSync.Write((BYTE)ID_PLAYER_SYNC);
            bsActorSync.Write((PCHAR)&sync, sizeof(stOnFootData));
            SF->getRakNet()->SendPacket(&bsActorSync);

byteCurrentWeapon - оружие в руке, а не нажатая клавиша
 
Ответить с цитированием

  #802  
Старый 19.01.2016, 13:22
kemperrr
Участник форума
Регистрация: 04.02.2014
Сообщений: 104
С нами: 6456767

Репутация: 68
По умолчанию

Цитата:
Сообщение от nikita_cheater  

byteCurrentWeapon - оружие в руке, а не нажатая клавиша
RakLogger пиздеть не будет + я же говорю что он 1 раз нажимается
 
Ответить с цитированием

  #803  
Старый 19.01.2016, 20:48
nikita_cheater
Новичок
Регистрация: 06.10.2015
Сообщений: 13
С нами: 5580077

Репутация: 0
По умолчанию

Цитата:
Сообщение от kemperrr  

RakLogger пиздеть не будет + я же говорю что он 1 раз нажимается
Значит в твоем случае пиздит
 
Ответить с цитированием

  #804  
Старый 19.01.2016, 21:48
kemperrr
Участник форума
Регистрация: 04.02.2014
Сообщений: 104
С нами: 6456767

Репутация: 68
По умолчанию

Цитата:
Сообщение от nikita_cheater  

Значит в твоем случае пиздит
Говорю еще раз - он 1 раз нажимает клавишу второй раз не хочет, а если после этой клавиши будет другая дапустим N потом Y и так поочередно то работает спокойно, но если же N надо нажать два раза то нажимается 1 раз вместо 2, 3 и так далее
 
Ответить с цитированием

  #805  
Старый 19.01.2016, 22:18
Woofing Giraffe
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами: 5744580

Репутация: 28
По умолчанию

Где ты взял что Y это 64?
 
Ответить с цитированием

  #806  
Старый 19.01.2016, 22:56
Woofing Giraffe
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами: 5744580

Репутация: 28
По умолчанию

Цитата:
Сообщение от kemperrr  

Говорю еще раз - он 1 раз нажимает клавишу второй раз не хочет, а если после этой клавиши будет другая дапустим N потом Y и так поочередно то работает спокойно, но если же N надо нажать два раза то нажимается 1 раз вместо 2, 3 и так далее
C++:





Код:
void
EmulKey
(
int
KeyId
)
{
stOnFootData sync
;
memset
(
&
sync
,
0
,
sizeof
(
stOnFootData
)
)
;
sync
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
onFootData
;
sync
.
byteCurrentWeapon
=
KeyId
;
BitStream bsActorSync
;
bsActorSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsActorSync
.
Write
(
(
PCHAR
)
&
sync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsActorSync
)
;
memset
(
&
bsActorSync
,
0
,
sizeof
(
BitStream
)
)
;
sync
.
byteCurrentWeapon
=
0
;
bsActorSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsActorSync
.
Write
(
(
PCHAR
)
&
sync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsActorSync
)
;
}


И в мэин

C++:





[CODE]
for
(
int
i
=
0
;
i

 
Ответить с цитированием

  #807  
Старый 20.01.2016, 10:29
kemperrr
Участник форума
Регистрация: 04.02.2014
Сообщений: 104
С нами: 6456767

Репутация: 68
По умолчанию

[QUOTE="Woofing Giraffe"]

C++:





Код:
void
EmulKey
(
int
KeyId
)
{
stOnFootData sync
;
memset
(
&
sync
,
0
,
sizeof
(
stOnFootData
)
)
;
sync
=
SF
->
getSAMP
(
)
->
getPlayers
(
)
->
pLocalPlayer
->
onFootData
;
sync
.
byteCurrentWeapon
=
KeyId
;
BitStream bsActorSync
;
bsActorSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsActorSync
.
Write
(
(
PCHAR
)
&
sync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsActorSync
)
;
memset
(
&
bsActorSync
,
0
,
sizeof
(
BitStream
)
)
;
sync
.
byteCurrentWeapon
=
0
;
bsActorSync
.
Write
(
(
BYTE
)
ID_PLAYER_SYNC
)
;
bsActorSync
.
Write
(
(
PCHAR
)
&
sync
,
sizeof
(
stOnFootData
)
)
;
SF
->
getRakNet
(
)
->
SendPacket
(
&
bsActorSync
)
;
}


И в мэин

C++:





[CODE]
for
(
int
i
=
0
;
i
 
Ответить с цитированием

  #808  
Старый 20.01.2016, 12:18
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Зачем это ты используешь?

Код:





Код:
memset(&bsActorSync, 0, sizeof(BitStream));
    sync.byteCurrentWeapon = 0;
    bsActorSync.Write((BYTE)ID_PLAYER_SYNC);
    bsActorSync.Write((PCHAR)&sync, sizeof(stOnFootData));
    SF->getRakNet()->SendPacket(&bsActorSync);
 
Ответить с цитированием

  #809  
Старый 20.01.2016, 12:22
Woofing Giraffe
Постоянный
Регистрация: 14.06.2015
Сообщений: 402
С нами: 5744580

Репутация: 28
По умолчанию

Обнулить клавишу, оно без этого почему то 2 и более раз 1 и ту же клавишу не отправит
 
Ответить с цитированием

  #810  
Старый 21.01.2016, 22:10
Tray228
Участник форума
Регистрация: 09.03.2015
Сообщений: 218
С нами: 5884065

Репутация: 0
По умолчанию

есть ли функция конвектора из 3D в 2D
 
Ответить с цитированием
Ответ





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


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




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.