[CLEO] Вопрос - Ответ - Страница 115 - Форум Cheat-Master.ru
Модератор форума: Alowir, Sanoxxx  
[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
Toplivo Дата: Воскресенье, 06.09.2015, 01:14 | Сообщение # 1711
Советник
Сообщений: 728
Статус: Offline
Цитата sp1tf1re_ ()
Палится античитом, а другие клео на оружие, написанные скиловыми скриптерами, не палятся. Как они это делают, при помощи чего. Ссылку на статью, если можно, или исходник таких клео, если есть, дайте пожалуйста, хочу ознакомиться с ПРИНЦИПОМ работы.

Сейчас СФ позволяет пилить нопы в клео,поэтому все веапон хаки пилятся по типу дгана(т.е с нопом Disable Weapon Data)



Дурак дает,умный берет.
Toplivo Дата: Воскресенье, 06.09.2015, 01:14 | Сообщение # 1712
Советник
Сообщений: 728
Статус: Offline
Цитата [CM]iGadzha ()
Как сделать тп на метку? т.е как кинуть кординаты метки в переменные

Код

if 0AB6: store_target_marker_coords_to 0@ 1@ 2@ // IF and SET
then actor.putat($PLAYER_ACTOR,0@,1@,2@)
end

Разберешься крч



Дурак дает,умный берет.
Sano Дата: Воскресенье, 06.09.2015, 01:14 | Сообщение # 1713
Любитель
Сообщений: 48
Статус: Offline
Цитата sp1tf1re_ ()
Вопрос: Почему клео, к примеру Код Model.Load(#SNIPER) wait 500    Actor.GiveWeaponAndAmmo($PLAYER_ACTOR, 34, 24) wait 500    Model.Destroy(#SNIPER) Палится античитом, а другие клео на оружие, написанные скиловыми скриптерами, не палятся. Как они это делают, при помощи чего. Ссылку на статью, если можно, или исходник таких клео, если есть, дайте пожалуйста, хочу ознакомиться с ПРИНЦИПОМ обхода античитов.

Готовый ноп weapon data на 0.3z
Включить
Код

0B2E: 0@ = read_module_memory "samp.dll" offset 0x5530 size 1
0B2D: write_module_memory "samp.dll" offset 0x5530 value 0xC3 size 1

Выключить -
Код

0B2D: write_module_memory "samp.dll" offset 0x5530 value 0@ size 1


Естественно, сампфунс и все отсальные дела подключить надо.


/*============RAMPAGE=============*/
sp1tf1re_ Дата: Воскресенье, 06.09.2015, 01:14 | Сообщение # 1714
Боец
Сообщений: 58
Статус: Offline
Sano, огромное спасибо, избавил меня от поиска нопа и смещения smile
Сейчас еще 1 нубский вопрос:
(ПОЛНЫЙ КОД)

Код
{$CLEO .cs}  
0000:  
if not 25@ = SAMP.Base()  
then  
          end_thread  
end  

repeat  
          wait 400  

until 0afa: struct     
while true  
wait 0  
          if and
          0ab0: 16 // Shift  
          0ab0: 77 // M  
          then  

          repeat  
         wait 0  
          0B2E: 0@ = read_samp_memory offset 0x5530 size 1
          0B2D: write_samp_memory offset 0x5530 value 0xC3 size 1  
          0acd: "NOP On" 1500 "  
          until 0ab0: 53  
          0B2D: write_samp_memory offset 0x5530 value 0@ size 1  
          0acd: "NOP Off" 1500
          end  
end


Я просто плохо понимаю, как работают эти нопы. Их нужно включать только на время создания оружия, или они должны работать постоянно... В какое место мне в клео тут вставить эти 5 строчек?
И еще вопрос, если я сделаю выбор добавляемого оружия через листовое диалоговое окно, то мне включать ноп перед открытием окна и выключать после его закрытия, или делать включение и выключение его для каждой кнопки, которая будет добавлять то/иное оружие? Заранее спасибо за ответ, вы очень помогли, без вас еще туеву хучу времени потратил бы.


Сообщение отредактировал sp1tf1re_ - Четверг, 27.02.2014, 15:34
Toplivo Дата: Воскресенье, 06.09.2015, 01:15 | Сообщение # 1715
Советник
Сообщений: 728
Статус: Offline
Цитата sp1tf1re_ ()
Сейчас еще 1 нубский вопрос:

Я тебе вчера кидал ссылку на мой пост с рабочим кодом(ну как рабочим,если функи СФ уже перевели,то рабочим)



Дурак дает,умный берет.
DokerGT Дата: Воскресенье, 06.09.2015, 01:15 | Сообщение # 1716
★Doker крутой перец!★
Сообщений: 329
Статус: Offline
Вопрос: При компиляции вылезает ошибка "Неизвестная команда car.defined(2@)". Как я знаю такая команда есть, но у меня не работает.
sp1tf1re_ Дата: Воскресенье, 06.09.2015, 01:15 | Сообщение # 1717
Боец
Сообщений: 58
Статус: Offline
Toplivo, я прочитал ту тему несколько раз, у меня всё получилось, если запускаю отдельным клео - всё работает ( по крайней мере пишет "NOP On"). Мне же нужно добавить к этому нопу еще код, который будет выводить диалоговое окно, в котором нужно будет выбирать, какое оружие начитерить. И я не понимаю вообще систему, как это работает, каким образом оно защищает от кика. Т.е. включить ноп, прописать оружие и выключить его, и всё, кика не будет? Или же как только я отключу ноп, я словлю кик, не пойму.
Зачем тогда вообще придумали отключение (в теме, которую ты давал мне, для отключения отдельную кнопку сделали. Зачем?... Я просто что-то элементарное упустил, пойму принцип работы - всё будет отлично. :).


Сообщение отредактировал sp1tf1re_ - Четверг, 27.02.2014, 16:23
Sano Дата: Воскресенье, 06.09.2015, 01:15 | Сообщение # 1718
Любитель
Сообщений: 48
Статус: Offline
Цитата DokerGT ()
Вопрос: При компиляции вылезает ошибка "Неизвестная команда car.defined(2@)". Как я знаю такая команда есть, но у меня не работает.
'
Maddy в своем уроке использовал кейворды. Проверяем доступность авто этим опкодом:
Код
056E    does_vehicle_exist 0@

где 0@ - именно хендл, а не id
Если надо узнать хенд, а есть id
Код
1@ = Samp.GetVehicleHandleBySAMPVehicleID(0@)

0@ - id транспорта.
1@ - хендл

Добавлено (27.02.2014, 18:11)
---------------------------------------------

Цитата sp1tf1re_ ()
Toplivo, я прочитал ту тему несколько раз, у меня всё получилось, если запускаю отдельным клео - всё работает ( по крайней мере пишет "NOP On"). Мне же нужно добавить к этому нопу еще код, который будет выводить диалоговое окно, в котором нужно будет выбирать, какое оружие начитерить. И я не понимаю вообще систему, как это работает, каким образом оно защищает от кика. Т.е. включить ноп, прописать оружие и выключить его, и всё, кика не будет? Или же как только я отключу ноп, я словлю кик, не пойму. Зачем тогда вообще придумали отключение (в теме, которую ты давал мне, для отключения отдельную кнопку сделали. Зачем?... Я просто что-то элементарное упустил, пойму принцип работы - всё будет отлично. :).

Дело все в том,что кик не так то просто обойти. К примеру, нужно искать уязвимости. Но есть одно но - не забывай это проекты по 5 лет и с онлайном 1000+. По-этому, рассмотри:
Код
Disable Weapon Data

Disable - выключить информацию об оружии
На нубо-рп можно провернуть это очень просто, выкючил и включил ноп. ВСЕ.
Но вот на адвансе надо всегда её выкбченной, ибо если сервер получит инфу об оружии -кик. И то, твой скрипт не будет это обходить. Там намного тяжелее. Просто Weapon Data как "часть" этого. Пробуй на обычных проектах типо Crime street, где античит менее стабилен.
По теме того, что зачем вырубать. Disable weapon data - это,как-бы, ноп.
Но вот представь, что ты включил ноп OnFoot data. Ты выключил позицию об игроке, сделал действие и все. что альше? Ты стоишь для всех в афк, мир не грузиться, если поедешь. Вот и все. По-моему, все доступно обьяснил.
P.S По диалогам ищи уроки, их много. Получаешь кнопку диалога в цикле, если она нажата - выполнил действие.Думаю, гуглом умеешь пользоваться.


/*============RAMPAGE=============*/

Сообщение отредактировал Sano - Четверг, 27.02.2014, 18:04
sp1tf1re_ Дата: Воскресенье, 06.09.2015, 01:15 | Сообщение # 1719
Боец
Сообщений: 58
Статус: Offline
Sano, спасибо, доходчиво объяснил, теперь имею кое-какое представление о нопах.
Как делать диалоговое окно я читал, даже начинал делать кое-какие наброски:
Код
{$CLEO}
     
0000: NOP
     
const
      DIALOG_STYLE_MSGBOX = 0 // С текстом
      DIALOG_STYLE_INPUT = 1 // С полем для ввода текста
      DIALOG_STYLE_LIST = 2 // Со списком
      DIALOG_STYLE_PASSWORD = 3 // С полем для ввода текста, только скрывает точками
end
     
// SAMPFUNCS
if 8AF7: get_samp_base_to 33@
then 0A93: end_custom_thread
end
repeat
      wait 400
until 0AFA: is_samp_structures_available
// ---------------------
     
while true
      wait 0 // Чтобы не крашилась игра
      if 0ADC: test_cheat "BH" // Если мы "написали" BH не в чат(ну или нажали эти клавиши, как угодно =)
      then
          0AC8: 4@ = allocate_memory_size 128 // Выделение памяти
          0AD3: string 4@ format "Deagle%cSniper%cm4a1%cФотокамера" 10 10 10 // %c - идентификатор символа. Если он будет равен 10, это будет означать, что это новая строка.
          0B3B: samp show_dialog id 2 caption "[VW]WeaponCheat" text 4@ button_1 "ОК" button_2 "Отмена" style DIALOG_STYLE_LIST // Если всё же мы "написали" BH, то открываем диалог со списком
          0AC9: free_allocated_memory 4@ // Очищаем... т.к. не нужно
     
          repeat
              wait 0
          until 0B3C: samp dialog_respond 0@ button 1@ list_item 2@ input_text 3@v // Получаем возвращаемые параметры диалога(то, что было нажато, введено и т.п.)
     
          // 0@ - ID диалога, 1@ - нажатая кнопка, 2@ - выбранный пункт(только для DIALOG_STYLE_LIST), 3@v - введенный текст(только для DIALOG_STYLE_INPUT и DIALOG_STYLE_PASSWORD)
          if 0@ == 2 // Если наш диалог был закрыт(с ID 2)
          then // то
              if 1@ == 1 // Если была нажата кнопка Выбрал, т.е. 1
              then // то
                
//ДИГЛ
           if 2@ == 0 // Если был выбран пункт "Дигл"
           then                      
                      Model.Load(#DESERT_EAGLE)
                      wait 500   
                      Actor.GiveWeaponAndAmmo($PLAYER_ACTOR, 24, 24)
                      wait 500   
                      Model.Destroy(#DESERT_EAGLE)                     
           end
//СНАЙПА
          if 2@ == 1  // Если был выбран пункт "Тест2"                    Model.Load(#DESERT_EAGLE)
          then   
                      Model.Load(#SNIPER)
                      wait 500   
                      Actor.GiveWeaponAndAmmo($PLAYER_ACTOR, 34, 12)
                      wait 500   
                      Model.Destroy(#SNIPER)
          end
//ЭМКА
          if
                      2@ == 2  // Если был выбран пункт "Тест3"                    Model.Load(#DESERT_EAGLE)
                      Model.Load(#M4)
                      wait 500   
                      Actor.GiveWeaponAndAmmo($PLAYER_ACTOR, 31, 240)
                      wait 500   
                      Model.Destroy(#M4)
          end
//ФОТОАППАРАТ   
          if 2@ == 3  // Если был выбран пункт "Тест4"
                      Model.Load(#CAMERA)
                      wait 500   
                      Actor.GiveWeaponAndAmmo($PLAYER_ACTOR, 43, 24)
                      wait 500   
                      Model.Destroy(#CAMERA)
                            
              else 0AF8: samp add_message_to_chat "Отмена" color 0x00FF00 // если была нажата другая кнопка, выводим в чат "закрыто"
              end   
          end
      end

Но потом забил на это временно, т.к. надо разобраться с нопами.
[code]

И еще: я пишу клео для нашего белорусского сервера со стабильным онлайном в 100-150 человек, на котором играл около 6 лет, где все друг друга знают, я не замахиваюсь на самп рп или адванс, мне они не нужны, знаю одно, на этих адвансах защита уж в разы мощнее, чем тут, поэтому, думаю, ничего гениального писать не надо будет, всё будет более-менее просто.
Завтра проверю то, что написал, сейчас нет возможности, отпишу, когда получу результат.


Сообщение отредактировал sp1tf1re_ - Четверг, 27.02.2014, 18:59
[CM]Skand1k Дата: Воскресенье, 06.09.2015, 01:15 | Сообщение # 1720
Боец
Сообщений: 81
Статус: Offline
Киньте пример как включать нопы на 0.3z через команду с sampfuncsom, отблагодарю

Сообщение отредактировал [CM]Skand1k - Пятница, 28.02.2014, 19:24
Sano Дата: Воскресенье, 06.09.2015, 01:16 | Сообщение # 1721
Любитель
Сообщений: 48
Статус: Offline
Цитата [CM]Skand1k ()
0B2E: 0@ = read_module_memory "samp.dll" offset 0x5530 size 1 0B2D: write_module_memory "samp.dll" offset 0x5530 value 0xC3 size 1

Код
{$CLEO}

if
not 29@ = samp.Base()
then
end_thread
else
     while not samp.Available()
     wait 0
     end
end

0B34: samp register_client_command "nop" to_label @nop

while true
     wait 0   
end

:nop
wait 0
if 1@ == 0
then
     0B2E: 0@ = read_module_memory "samp.dll" offset 0x5530 size 1  
     0B2D: write_module_memory "samp.dll" offset 0x5530 value 0xC3 size 1
     0006: 1@ = 1
else
     0B2D: write_module_memory "samp.dll" offset 0x5530 value 0@ size 1
     0006: 1@ = 0
end
     


/*============RAMPAGE=============*/
[CM]Skand1k Дата: Воскресенье, 06.09.2015, 01:16 | Сообщение # 1722
Боец
Сообщений: 81
Статус: Offline
sano, крашит хер знает в чем беда

Сообщение отредактировал [CM]Skand1k - Пятница, 28.02.2014, 21:45
RAKSHA1337 Дата: Воскресенье, 06.09.2015, 01:16 | Сообщение # 1723
Советник
Сообщений: 784
Статус: Offline
[CM]Skand1k, конечно крашит, потомучто не так опкоды 0B2E и 0B2D используешь. В них по 3 параметра, а он 4 использует. Это устаревший вариант.

В казино рандом. Но рандом в программах - это генератор псевдослучайных чисел, который написан ручками человека. А значит есть формула! Есть алгоритм! Есть тактика!
Кто не согласен - ставьте минус, после того как докажете обратное. https://habrahabr.ru/post/196442/
[CM]Skand1k Дата: Воскресенье, 06.09.2015, 01:16 | Сообщение # 1724
Боец
Сообщений: 81
Статус: Offline
RAKSHA1337, напиши пример
Toplivo Дата: Воскресенье, 06.09.2015, 01:16 | Сообщение # 1725
Советник
Сообщений: 728
Статус: Offline
Цитата Sano ()
:nop
wait 0

Тут не обязательно wait 0 писать. Лишняя задержка



Дурак дает,умный берет.
Поиск:
Статистика Форума