[CLEO] Вопрос - Ответ
|
|
[CM]Рафаэль |
Дата: Суббота, 05.09.2015, 20:19 | Сообщение # 1
|
Cheat-Master
Сообщений: 3080
Статус: Offline
|
В этой теме задаются вопросы по CLEO, конкретным опкодам (например, назначение того или иного опкода) и т.д.
Форма вопроса: Код [color=#1E90FF][b]Вопрос:[/b][/color] text
Форма ответа: Код [color=#1E90FF][b]Ответ:[/b][/color] text
Мой Shop Официальный гарант
Контактные данные: VK: vk.com/ali_benua Skype: lvinyipen Telegram: @AliBenua ICQ: 552-090-283
|
|
|
|
MindFreak |
Дата: Суббота, 05.09.2015, 22:56 | Сообщение # 901
|
Боец
Сообщений: 117
Статус: Offline
|
Цитата (Ricci|CM|) 0xFFA9C4E4 В данном случаем FF лишнее. 0xA9C4E4 будет правильнее.
|
|
|
|
davidoos |
Дата: Суббота, 05.09.2015, 22:56 | Сообщение # 902
|
Боец
Сообщений: 129
Статус: Offline
|
Как установить SAMPFUNCS в Санни ? Ну я имею ввиду что вот диалоги из этого урока не работают без SF http://cheat-master.ru/forum/116-70566-1Добавлено (21.03.2013, 21:39) --------------------------------------------- Все с этим разобрался. Теперь такая проблема: Создаю диалог, все норм компилит. Захожу в игру и она вылетает. Добавлено (21.03.2013, 21:42) --------------------------------------------- PS: Другие скрипты с диалогами работают!
BomjeSob for ARP. Create: 0%
|
|
|
|
iRicci |
Дата: Суббота, 05.09.2015, 22:56 | Сообщение # 903
|
|
davidoos, в скрипте надо сделать вызов сампфункс
|
|
|
|
Sterx |
Дата: Суббота, 05.09.2015, 22:56 | Сообщение # 904
|
Боец
Сообщений: 90
Статус: Offline
|
Вопрос:какой опкод нужен для выхода в афк и обратно?
1500 дней на СМ!
|
|
|
|
davidoos |
Дата: Суббота, 05.09.2015, 22:57 | Сообщение # 905
|
Боец
Сообщений: 129
Статус: Offline
|
Ricci[CM], сделано!
BomjeSob for ARP. Create: 0%
|
|
|
|
Рудя |
Дата: Суббота, 05.09.2015, 22:57 | Сообщение # 906
|
Боец
Сообщений: 81
Статус: Offline
|
Объясните, как работать с RakNet? Я читал урок от FYP - ничего не понял. Объясните мне пожалуйста, как отправить инфу о позиции игрока (нужно так, как в Auto Materials by Ricci[CM]). Вообщем, нужно так: 1. Я нажал на кнопку. 2. Отправилась инфа, что я нахожусь, например, на той координате, где переодеваться на ферме. Чтобы, когда я, например, стою возле мясовоза (на ферме), я нажал кнопочку и у меня открылся диалог, чтобы завершить рабочий день фермера. Естественно я понимаю, что если такое делать на расстоянии, то кикнет. Но просто удобнее для меня будет, собираешь зерно на ферме, нажал кнопочку и получил ЗП, путём отправки пакетов о том, что я нахожусь, на том месте, где переодеваться. Ну также ещё на грузчиках. Как-то я много написал. Ну вообщем, объясните, как отправить инфу о фейковой позиции игрока. Мне не нужно Actor.PutAt, а именно, так как в Auto Materials by Ricci[CM], чтобы на расстоянии. Знаю, что тут нужно использовать RakNet (SampFunCs 2.3 у меня есть). P.S. Я как-то очень много написал, повторяя одно и то же, но так уж вышло. Главное, чтобы вы меня поняли.Добавлено (22.03.2013, 23:41) --------------------------------------------- Инфу о позиции нужно отправить только один раз по нажатию кнопки.
Бот на ферму - https://www.youtube.com/watch?v=sYjCkLjBQ5g
Сообщение отредактировал Рудя - Пятница, 22.03.2013, 23:22 |
|
|
|
Sterx |
Дата: Суббота, 05.09.2015, 22:57 | Сообщение # 907
|
Боец
Сообщений: 90
Статус: Offline
|
MelomanCool, да. Надо чтобы стоял в афк 35 сек.
1500 дней на СМ!
Сообщение отредактировал Sterx - Суббота, 23.03.2013, 11:16 |
|
|
|
Рудя |
Дата: Суббота, 05.09.2015, 22:57 | Сообщение # 908
|
Боец
Сообщений: 81
Статус: Offline
|
Цитата (Sterx) MelomanCool, да. Надо чтобы стоял в афк 35 сек. Может попробуй урок от Могайки: "Эмулируем нажатие клавиши" - http://cheat-master.ru/forum/116-64695-1 И эмулируй нажатие кнопки Esc.Добавлено (23.03.2013, 11:45) ---------------------------------------------
Такое может писать, если ты не установил SampFunCS в SB. В архиве с SampFunCS есть файлы, вот их нужно кинуть в папку с SB (с заменой).
Бот на ферму - https://www.youtube.com/watch?v=sYjCkLjBQ5g
|
|
|
|
Рудя |
Дата: Суббота, 05.09.2015, 22:58 | Сообщение # 909
|
Боец
Сообщений: 81
Статус: Offline
|
MelomanCool, ты напишешь пример скрипта с отправкой пакетов? Или ссылку на урок дай. Что мне нужно читай выше.
Бот на ферму - https://www.youtube.com/watch?v=sYjCkLjBQ5g
Сообщение отредактировал Рудя - Суббота, 23.03.2013, 13:31 |
|
|
|
davidoos |
Дата: Суббота, 05.09.2015, 22:58 | Сообщение # 910
|
Боец
Сообщений: 129
Статус: Offline
|
Помогите пожалуйста. Создайте простой диалог как в этой теме и киньте мне. http://cheat-master.ru/forum/116-70566-1 Мне для разбора. Так не получается, игра вылетает
BomjeSob for ARP. Create: 0%
|
|
|
|
CM_TiRaN |
Дата: Суббота, 05.09.2015, 22:58 | Сообщение # 911
|
Авторитет
Сообщений: 1087
Статус: Offline
|
Sterx, 0AB1: call_scm_func @keyPress 2 key "нужная клавиша" time 500
Сообщение отредактировал CM_TiRaN - Суббота, 23.03.2013, 18:54 |
|
|
|
mgmoldova |
Дата: Суббота, 05.09.2015, 22:58 | Сообщение # 912
|
Боец
Сообщений: 95
Статус: Offline
|
Код {$CLEO} const // все возможные стили диалогов, взято из a_samp.inc DIALOG_STYLE_MSGBOX = 0 DIALOG_STYLE_INPUT = 1 DIALOG_STYLE_LIST = 2 DIALOG_STYLE_PASSWORD = 3 end
while true wait 0 if 0AB0: key_pressed 0x31 // 1 then 0B3B: samp show_dialog id 2 caption "Пример №1" text "Нажмите "Да", если вам хочется нажать "Да", иначе нажмите "Нет"." button_1 "Да" button_2 "Нет" style DIALOG_STYLE_MSGBOX while true // бесконечный цикл, пока пользователь не закроет диалог wait 0
if 0B3C: samp dialog_respond 2 button 1@ list_item 0 input_text 0 // проверим, был ли диалог с идом 2 закрыт и запишем в переменную 1@ ид нажатой кнопки, поскольку остальные параметры нам не нужны, туда можно записать нули then if 1@ == 1 // если была нажата левая кнопка then 0B3B: samp show_dialog id 2 caption "Инфо" text "Вы нажали кнопку "Да"" button_1 "Ок" button_2 "" style DIALOG_STYLE_MSGBOX else 0B3B: samp show_dialog id 2 caption "Инфо" text "Вы нажали кнопку "Нет"" button_1 "Ок" button_2 "" style DIALOG_STYLE_MSGBOX end break end
while 0AB0: key_pressed 0x31 // на всякий случай подождём, пока пользователь не отпустит клавишу wait 20 end end end Из мануала фипаДобавлено (23.03.2013, 19:59) ---------------------------------------------
Цитата (Рудя) MelomanCool, ты напишешь пример скрипта с отправкой пакетов? Код const sizeof_stOnFootData = 68 // размер структуры информации о игроке пешком end
:SendOnfootFakePosition // 0@, 1@, 2@ = coords // Example: 0AB1: call @SendOnfootFakePosition 3 xyz 10@ 11@ 12@ 3@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR) 3@ = SAMP.GetPlayerStruct(3@) 3@ += 109 // получаем указатель на локальную onFootData, чтобы потом её скопировать в наш буффер, изменив в нём только позицию 0AC8: 4@ = allocate_memory_size sizeof_stOnFootData // выделим память для буффера такого же размера, каким является размер структуры данных синхронизации пешком 0AB1: call @memcpy 3 destination 4@ source 3@ size sizeof_stOnFootData // моя функция побайтового копирования данных одного участка памяти в другой 0085: 5@ = 4@ // нужно чтоб сохранить адрес на начало нашего буффера
5@ += 6 // прибавим оффсет на fPosition[0] ( X ), т.к. нам кроме позиции ничего не нужно 0A8C: write_memory 5@ size 4 value 0@ virtual_protect 0 // запишем новое значение позиции, в переменной 0@ - хранится X (об этом позже) 5@ += 4 // размер типа float составляет 4 байта, а т.к. в массиве все элементы расположены упорядоченно, прибавив 4 байта, мы получим указатель на fPosition[1] ( Y ) 0A8C: write_memory 5@ size 4 value 1@ virtual_protect 0 // и запишем новое значение координаты Y 5@ += 4 // fPosition[2] ( Z ) 0A8C: write_memory 5@ size 4 value 2@ virtual_protect 0
0B3D: raknet 5@ = new_bit_stream
0B40: raknet bit_stream 5@ write PACKET_PLAYER_SYNC type BS_TYPE_BYTE size 1 // пишем ид пакета, PACKET_PLAYER_SYNC - это синхронизация пешком, тип обязательно должен быть указан BS_TYPE_BYTE 0B40: raknet bit_stream 5@ write 4@ type BS_TYPE_ARRAY size sizeof_stOnFootData // запишем наш буффер в битстрим, т.к. буффер - это массив байтов, укажем тип BS_TYPE_ARRAY и размер, равный размеру буффера 0B42: raknet send bit_stream 5@ priority PRIORITY_HIGH reliability UNRELIABLE_SEQUENCED ordering_channel 0 // отправим всё это на сервер
0B3E: raknet delete_bit_stream 5@ // освобождаем память выделенную под BitStream 0AC9: free_allocated_memory 4@ // освобождаем память выделенную под буффер
0AB2: ret 0 // выходим из функции
:memcpy
var 0@ : integer 1@ : integer 2@ : integer 3@ : integer end
// 0@ - destination, 1@ - source, 2@ - size // Example: 0AB1: call @memcpy 3 destination 0@ source 1@ size 2@
dec(2@) for 3@ = 0 to 2@ 0A8D: 4@ = read_memory 1@ size 1 virtual_protect 0 0A8C: write_memory 0@ size 1 value 4@ virtual_protect 0 1@ += 1 0@ += 1 end
0AB2: ret 0 Этот код в конец скрипта.
Мой скайп взломан
Сообщение отредактировал mgmoldova - Суббота, 23.03.2013, 19:56 |
|
|
|
davidoos |
Дата: Суббота, 05.09.2015, 22:58 | Сообщение # 913
|
Боец
Сообщений: 129
Статус: Offline
|
mgmoldova, а вызов SF? Добавлено (23.03.2013, 21:48) --------------------------------------------- А не, там все норм. Но все равно игру крашит!
BomjeSob for ARP. Create: 0%
|
|
|
|
mgmoldova |
Дата: Суббота, 05.09.2015, 22:58 | Сообщение # 914
|
Боец
Сообщений: 95
Статус: Offline
|
Так поставь вызов после {$CLEO}
Мой скайп взломан
|
|
|
|
davidoos |
Дата: Суббота, 05.09.2015, 22:59 | Сообщение # 915
|
Боец
Сообщений: 129
Статус: Offline
|
mgmoldova, как? В Readme от SF такой же код как ты мне скинул, там нету вызова тоже. Значит так и должно быть. Когда я сам пытался сделать, у меня gta_sa.exe завершался типа. А с твоим кодом SAMP крашит. SAMPFUNCS установлен, все ок.
BomjeSob for ARP. Create: 0%
|
|
|
|