Посмотреть структуру синхры и прочитать, почему для тебя это так сложно?Я как раз и спросил как это сделать
Посмотреть структуру синхры и прочитать, почему для тебя это так сложно?Я как раз и спросил как это сделать
Не сложно. Покажи мне тупому, где тут считывать ид игрока?Посмотреть структуру синхры и прочитать, почему для тебя это так сложно?
[*]PACKET_PLAYER_SYNC = 207 | +109
[*] struct stOnFootData ( size = 68 )
[*]uint16_t sLeftRightKeys;
[*]uint16_t sUpDownKeys; +2
[*]uint16_t sKeys; +4
[*]float fPosition[3]; +6
[*]float fQuaternion[4]; +18
[*]uint8_t byteHealth; +34
[*]uint8_t byteArmor; +35
[*]uint8_t byteCurrentWeapon; +36
[*]uint8_t byteSpecialAction; +37
[*]float fMoveSpeed[3]; +38
[*]float fSurfingOffsets[3]; +50
[*]uint16_t sSurfingVehicleID; +62
[*]short sCurrentAnimationID; +64
[*]short sAnimFlags; +66
у входящего пакета синхры идёт изначально ид игрока и только потом структура OnfootDataНе сложно. Покажи мне тупому, где тут считывать ид игрока?
Код:[*]PACKET_PLAYER_SYNC = 207 | +109 [*] struct stOnFootData ( size = 68 ) [*]uint16_t sLeftRightKeys; [*]uint16_t sUpDownKeys; +2 [*]uint16_t sKeys; +4 [*]float fPosition[3]; +6 [*]float fQuaternion[4]; +18 [*]uint8_t byteHealth; +34 [*]uint8_t byteArmor; +35 [*]uint8_t byteCurrentWeapon; +36 [*]uint8_t byteSpecialAction; +37 [*]float fMoveSpeed[3]; +38 [*]float fSurfingOffsets[3]; +50 [*]uint16_t sSurfingVehicleID; +62 [*]short sCurrentAnimationID; +64 [*]short sAnimFlags; +66
0AC8: alloc 0@ 68
0C11: memset destination 0@ value 0 size 68
1@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
0BBA: samp store_player 1@ onfoot_data 0@
0C0D: struct 0@ offset 36 size 1 = 1 // https://sampwiki.blast.hk/wiki/Keys
0BC0: samp send_onfoot_data 0@
0AC9: free_allocated_memory 0@
Кто может кинуть статейку или сказать как делать таймер в cleo (32@ 33@)
32@ = 0 // Ты задал время отсчета
while true
wait 0
if
0029: 32@ >= 5000 //5 секунд
then
0af8: "Прошло 5 секунд, начинаю отсчет заново" -1
32@ = 0
else
0@ = 5000 //5 секунд
0062: 0@ -= 32@ // (int)
0016: 0@ /= 1000
0af8: "Подождите еще: %d sec." -1 0@
end
end
В ручную перебирай, сделай для себя простенький код... /onfoot [%d]Но как ни пытался у меня с ним ниче не вышло. 1 после = на 1024 менял и на 0x400 и оффсет менял (думал что 36 для т/с). Но чет хз
0AC8: alloc 0@ 68
0C11: memset destination 0@ value 0 size 68
1@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
0BBA: samp store_player 1@ onfoot_data 0@
0C0D: struct 0@ offset 36 size 1 = 2@ //ПОДСТАВЛЯЕШЬ ПЕРЕМЕННУЮ ИЗ КОМАНДЫ /onfoot
0BC0: samp send_onfoot_data 0@
0AC9: free_allocated_memory 0@
В ручную перебирай, сделай для себя простенький код... /onfoot [%d]
{$CLEO}
0000: NOP
repeat
wait 3000
cmd "alt" @cmd
until samp
pause 0
:cmd
0B35: samp 20@ = get_last_command_params
0AD4: 25@ = scan_string 20@ format "%d" 2@
0AC8: alloc 0@ 68
0C11: memset destination 0@ value 0 size 68
1@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR)
0BBA: samp store_player 1@ onfoot_data 0@
0C0D: struct 0@ offset 36 size 1 = 2@
0BC0: samp send_onfoot_data 0@
0AC9: free_allocated_memory 0@
cmdret
Через винапи делай нажатие на альтЯ не знаю, может я что-то делаю не так или это на самом сервере фикс, но не реагирует ни на один код из того списка на вики. По идее 1024 это и есть альт. Пробовал другие - тож нет реакции. А на некоторые вообще сервер кикает.
CLEO:{$CLEO} 0000: NOP repeat wait 3000 cmd "alt" @cmd until samp pause 0 :cmd 0B35: samp 20@ = get_last_command_params 0AD4: 25@ = scan_string 20@ format "%d" 2@ 0AC8: alloc 0@ 68 0C11: memset destination 0@ value 0 size 68 1@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR) 0BBA: samp store_player 1@ onfoot_data 0@ 0C0D: struct 0@ offset 36 size 1 = 2@ 0BC0: samp send_onfoot_data 0@ 0AC9: free_allocated_memory 0@ cmdret
Может для опкода 0b56 есть альт? Но на бх вики его нет в списке. Я пробовал методом тыка, конечно, но все не то.
Где мне найти инфу про это? Ни разу не сталкивалсяЧерез винапи делай нажатие на альт
Где мне найти инфу про это? Ни разу не сталкивался
А, так оно же будет win кнопку нажимать? т.е. если игра в окне и не в фокусе, на неё не сработает. Так?Через винапи
Если включён анти-афк, то будет работать. Скрипты вроде не работают если окно игры не активноА, так оно же будет win кнопку нажимать? т.е. если игра в окне и не в фокусе, на неё не сработает. Так?
не работают, но есть скрипт который заставляет их это делать.Скрипты вроде не работают если окно игры не активно
Зачем ты советуешь эту парашу для нубов.. Куда быстрее будет отправить хукЧерез винапи делай нажатие на альт
Начинай прям с самого начала 1, 2, 3, 4... 128. Стой именно там, где тебе нужно нажимать на Альт.Я не знаю, может я что-то делаю не так или это на самом сервере фикс, но не реагирует ни на один код из того списка на вики. По идее 1024 это и есть альт. Пробовал другие - тож нет реакции. А на некоторые вообще сервер кикает.
CLEO:{$CLEO} 0000: NOP repeat wait 3000 cmd "alt" @cmd until samp pause 0 :cmd 0B35: samp 20@ = get_last_command_params 0AD4: 25@ = scan_string 20@ format "%d" 2@ 0AC8: alloc 0@ 68 0C11: memset destination 0@ value 0 size 68 1@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR) 0BBA: samp store_player 1@ onfoot_data 0@ 0C0D: struct 0@ offset 36 size 1 = 2@ 0BC0: samp send_onfoot_data 0@ 0AC9: free_allocated_memory 0@ cmdret
Может для опкода 0b56 есть альт? Но на бх вики его нет в списке. Я пробовал методом тыка, конечно, но все не то.
Ты указал оффсет на byteCurrentWeaponЯ не знаю, может я что-то делаю