Перейти к содержанию

Какая То Проблема С Генирацией Тейнеров.


Рекомендуемые сообщения

Здраствуйте! Я написал трейнер, но скомпилировать в EXE не могу, в скрипт автоматически пишется что нужно обязательно запустить СЕ 6.2 и он типа .СETRAINER , если изменить на .ЕХЕ то он серавно при создании возвращает обратно. Подскажите пожалуйста в чем может быть проблема и как ее решить?

Ссылка на комментарий
Поделиться на другие сайты

Вот


unction CEButton1Click(sender)
------------------------------------
------------------------------------
----Debuging--------------------------
function debugger_onBreakpoint()
if (debugState ~= 3) then
debugState = 2
ONdebugger()
end
return 1
end
--------------------------------
function ONdebugger(pmAddress)
if (debugState == 0) then
debugState = 1
debugProcess()
debug_setBreakpoint(pmAddress)
end
if (debugState == 2) then
debugState = 3
debug_removeBreakpoint(pmAddress)
pause()
unpause()
adresgrav= EDI+0x58
end
end
-----------------------------------
function s2()
writeDouble(adresgrav, 1000)
end
function s3()
writeDouble(adresgrav, -1000)
end
-----------------------------------
-----------------------------------
function Obzor_AOB()
pause()
results=AOBScan("F3 0F 7E 47 58 66 0F 2E C1 76 24 8B 53 5C 8B 43 7C 8B 79 60 8D 4D D8 89 5D D8 89 55 DC 89 45 E0","+X-W-C")
unpause()
if (results~=nil) then
count=stringlist_getCount(results)
if (count==1) then
pmAddress=getAddress(stringlist_getString(results,0))
else
object_destroy(results)
results=nil
end
end
object_destroy(results)
results=nil
debugState = 0
ONdebugger(pmAddress)
end
function myattach(timer)
if getProcessIDFromProcessName("plugin-container.exe") ~= nil then
object_destroy(timer)
openProcess("plugin-container.exe")
count2=0
debugState = 0
Obzor_AOB()
else
showMessage("Процесс не найден!")
closeCE()
end
end
f=createForm(false) --create an invisible window
t=createTimer(F);
timer_setInterval(t,100) --10 might have been too fast for xp...
timer_onTimer(t,myattach)
function checkEnd(timer)
if (isKeyPressed(VK_F1)) then
s2()
end
if (isKeyPressed(VK_F2)) then
s3()
end
end
tEnd=createTimer(nil) --Блок hotkey
timer_setInterval(tEnd, 100)
timer_onTimer(tEnd, checkEnd)
timer_setEnabled(tEnd, true)
showMessage("GHOST активирован")
end
--TRAINERGENERATORSTART--
--Этот код сгенерирован автоматически. Изменение кода в этом блоке
--будет стерто и перезаписано если вы сгенерируете код трейнера заново
--Uncomment the following line if this is a Cheat Table format trainer and you don't want CE to show (Tip, save as .CETRAINER alternatively)
--hideAllCEWindows()
RequiredCEVersion=6.2
if (getCEVersion==nil) or (getCEVersion()<RequiredCEVersion) then
messageDialog('Please install Cheat Engine '..RequiredCEVersion, mtError, mbOK)
closeCE()
end
addresslist=getAddressList()
strings_add(getAutoAttachList(), "plugin-container.exe")
gBeepOnAction=false
form_show(CETrainer)
function CloseClick()
closeCE()
return caFree --onClick doesn't care, but onClose would like a result
end
--TRAINERGENERATORSTOP--

Ссылка на комментарий
Поделиться на другие сайты

>> нужно обязательно запустить СЕ 6.2 и он типа .СETRAINER

Построй трейнер и сохрани его как *.CT файл. Открой его Notpad+ и отредактируй убрав всё лишнее. Сохрани изменения. Открой снова этот файл с помощью CE и сохрани уже как EXE. Должно помочь. Если не помогает, то целый файл сбрось в сообщении, я посмотрю.

Ссылка на комментарий
Поделиться на другие сайты

В подфоруме "Видео" есть видео о генерации трейнера - ты его смотрел, ты всё делаешь как делают авторы (может быть проверишь ещё раз)?

Попробуй понять в чём ошибка сборки трейнера, может быть вообще не в коде, а из-за русских букв в путях или в словах в трейнере, или из-за каких-то других причин.

Попробуй построить трейнер без твоего Lua-кода... получается?

Попробуй построить трейнер с твоим Lua-кодом, но более простым чем в посте 3 ... получается?

Если получается построить трейнер без твоего Lua-кода и или с твоим более простым кодом (который точно работает правильно), значит проблема в твоём коде (похожего на код опубликованный в посте 3) и тебе нужно проверить его сохранив как .*CETRAINER и посмотреть его содержимое текстовым редактором. Возможно там повторяющиеся функции генератора и твои или ещё что-то.

Всё это необходимо проверять тебе самому

Ссылка на комментарий
Поделиться на другие сайты

Дак вот именно то что он генерируется открывается, но не работает, а если сделать в виде .*CETRAINER то все отлично работает.

Тогда проверяй свой код. Добавь print("номер метки") в местах поиска и подключения к процессу. Собери как exe -трейнер и обрати внимание в каком порядке выводятся твои метки.

Я только сейчас обратил внимание как ты ищешь процесс. Очень вероятно что он у тебя открывает два раза, хотя и это не должно было помешать.

Первый раз это добавление названия процесса в список процессов открываемых автоматически. И второй раз, когда ты открываешь через openProcess.

Попробуй как я писал в своих примерах - на форуме и на главной сайте используя функцию onOpenProcess.


function onCloseClick(sender)
closeCE()
return caFree
end
trainerForm = createForm()
form_onClose(trainerForm, onCloseClick)
autoAttachList = getAutoAttachList()
stringlist_add(autoAttachList,'calc.exe');
function OnCheckHotkeys()
if isKeyPressed(VK_K) then
— сделать какое-то действие
print(«Hot-key K»)
return
end
if isKeyPressed(VK_L) then
— сделать какое-то действие
print(«Hot-key L»)
return
end
end
function onOpenProcess(processid)
print('Найден процесс игры. Запускаю проверку горячих клавиш')
hotKeyTimer = createTimer(trainerForm)
timer_setInterval(hotKeyTimer, 100)
timer_onTimer(hotKeyTimer, OnCheckHotkeys)
end

Ссылка на комментарий
Поделиться на другие сайты

Вполне возможно, что ты неправильно указываешь имя процесса.

Не процесс правильный 100 раз проверял.

Вот этот код изменять нельзя он обратно перезаписывается т.ь. если сгенерировать трейнер в .exe то получим ошибку. Если переделать в коде .CETRAINER на .exe то он сгенерируется, но работать не будет т.к. после создания трейнера СЕ стирает и перезаписывает код заменяя .exe на .CETRAINER. Возникает вопрос, можно ли как нибудь сделать так, что бы эту часть кода программа не создавала ?


--TRAINERGENERATORSTART--
--Этот код сгенерирован автоматически. Изменение кода в этом блоке
--будет стерто и перезаписано если вы сгенерируете код трейнера заново
--Uncomment the following line if this is a Cheat Table format trainer and you don't want CE to show (Tip, save as .CETRAINER alternatively)
--hideAllCEWindows()
RequiredCEVersion=6.2
if (getCEVersion==nil) or (getCEVersion()<RequiredCEVersion) then
messageDialog('Please install Cheat Engine '..RequiredCEVersion, mtError, mbOK)
closeCE()
end
addresslist=getAddressList()
strings_add(getAutoAttachList(), "plugin-container.exe")
gBeepOnAction=false
form_show(CETrainer)
function CloseClick()
closeCE()
return caFree --onClick doesn't care, but onClose would like a result
end
--TRAINERGENERATORSTOP--

Ссылка на комментарий
Поделиться на другие сайты

Ух и автор, пора уж знать о тонкостях генЕрации трейнеров в СЕ, а, хотя о чем же я, ведь код не он писал, а я еще давно. Это на онлайн игру браузерную.

Автор, читай мануалы до дыр))

Ссылка на комментарий
Поделиться на другие сайты

>>Возникает вопрос, можно ли как нибудь сделать так, что бы эту часть кода программа не создавала ?

Наверно, можно если не будешь пользоваться генератором трейнеров. Т.е. сам сделаешь свою форму на Lua или через дизайнер форм.

Этот код ни чем не должен мешать. Я никогда с этой проблемой не сталкивался так остро. Учитывай, что код генерируется и пиши свой код в соответствии с этим. Если мне память не изменят с генерацией дополнительного кода столкнулся Uchiha Sasuke я подредактировал его код и у него всё заработало - у него были одинаковые функции onOpenProcess(processid) и ещё вроде одна. Посты остались где-то на форуме.

Как я уже писал, maxi10027, изменил код подключения процесса на нормальный. Если ты включаешь имя искомого процесса в список авто-поиска


addresslist=getAddressList()
strings_add(getAutoAttachList(), "plugin-container.exe")

Код1.

то твоего ручного поиска процесса по его имени через таймер быть не должно - это лишнее.


function myattach(timer)
if getProcessIDFromProcessName("plugin-container.exe") ~= nil then
object_destroy(timer)
openProcess("plugin-container.exe")
count2=0
debugState = 0
Obzor_AOB()
else
showMessage("Процесс не найден!")
closeCE()
end
end
f=createForm(false) --create an invisible window
t=createTimer(F);
timer_setInterval(t,100) --10 might have been too fast for xp...
timer_onTimer(t,myattach)

Код2

Не используй Код2. Оставь Код1(генерируется CE) и используй функцию function onOpenProcess(processid). Она сама сработает как только процесс будет сам найден и открыт.

Ссылка на комментарий
Поделиться на другие сайты

Автор, ты скажи что хочешь, сделать гравитацию на майтанк и зачем тебе exe?

Мне сгенерировать для тебя раз плюнуть.

Нет этот код я дал в пример.
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.