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

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


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

Здраствуйте! Я написал трейнер, но скомпилировать в 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 и посмотреть его содержимое текстовым редактором. Возможно там повторяющиеся функции генератора и твои или ещё что-то.

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

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

  В 18.06.2012 в 20:55, maxi10027 сказал:

Дак вот именно то что он генерируется открывается, но не работает, а если сделать в виде .*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

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

  В 18.06.2012 в 22:35, Xipho сказал:

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

Не процесс правильный 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). Она сама сработает как только процесс будет сам найден и открыт.

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

  В 20.06.2012 в 11:13, misha сказал:

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

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

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

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

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

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