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

Terraria v1.3.5.3 Делаем управление снарядами (С отправкой данных)


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

В этой теме можно узнать как сделать управление запускаемыми снарядами в Terraria и сделать отправку их положения на сервер (Что бы другие игроки видели как летает снаряд, простая замена условия в коде)
Скрипт:

Спойлер

[ENABLE]
alloc(newmem,200)
label(returnhere)
label(originalcode)
label(exit)

newmem:
push eax
mov eax,[[Terraria.Player::Update+33CF]] //CursorX
mov [CoordSC],eax
mov eax,[[Terraria.Player::Update+33CF]+4] //CursorY
mov [CoordSC+4],eax

fild dword [CoordSC] //X
fmul dword [multiplayer+4]

fsub dword [ecx+20]
fdiv dword [multiplayer] //Добавим деление для полавного преследования
fstp dword [ecx+28] //Записываем в ускорение

fild dword [CoordSC+4] //X
fmul dword [multiplayer+4]

fsub dword [ecx+24]
fdiv dword [multiplayer] //Добавим деление для полавного преследования
fstp dword [ecx+2C] //Записываем в ускорение



pop eax
originalcode:
fld dword ptr [ecx+000000A8]

exit:
jmp returnhere

CoordSC: //Координаты курсора
dd 0 0
multiplayer:
dd (float)6 (float)16

Terraria.Projectile::Update+3B2C:
db 90 90 90 90 90 90 90
db 90 90


Terraria.Projectile::ProjLight+7:
jmp newmem
nop
returnhere:

 
[DISABLE]
Terraria.Projectile::Update+3B2C:
cmp byte ptr [eax+000000E4],00
je Terraria.Projectile::Update+3B8D

dealloc(newmem)
Terraria.Projectile::ProjLight+7:
fld dword ptr [ecx+000000A8]
//Alt: db D9 81 A8 00 00 00

 


Видео:

Спойлер

 

 



 

Изменено пользователем inaginary
  • Понравилось 3
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

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

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

1 час назад, Xipho сказал:

на статьи это не тянет

@Xipho, Не соглашусь - рассмотрено довольно подробно. 

но есть нарекания:

@inaginary

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

2. Нужно поменять шрифты СЕ, ИМХО плохо-читабельно.

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

7 часов назад, Garik66 сказал:

2. Нужно поменять шрифты СЕ, ИМХО плохо-читабельно.

У меня это системный шрифт, если я его изменю то везде будет другой, попробую переснять с подробными комментариями.
@Xipho Но до какой подробности мне объяснять? там же рассказаны основные элементы, или мне рассказывать вообще все что я делаю? Это получается мне каждый раз заново рассказывать как проходить по смещениям, делать указатели, и прочее?
Там же рассказан принцип конкретно того что сделано, например полет снарядов на указатель

 

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

Вообще ерунда получилась, и еще и размером в час, пусть уж лучше это будет
в следующих видео учту

 

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

4 часа назад, inaginary сказал:

Но до какой подробности мне объяснять? там же рассказаны основные элементы, или мне рассказывать вообще все что я делаю? Это получается мне каждый раз заново рассказывать как проходить по смещениям, делать указатели, и прочее?

Необязательно совсем подробно ) Хотя бы примерно так, как я в своих уроках объясняю ) Это если как урок оформляешь. Если же просто как рассуждения, как был сделан хак - тогда можно как я в видео "Как я взламывал" )) В целом, конечно, на твое усмотрение, но желательно так, чтобы понимали не только продвинутые геймхакеры, но и новички тоже. 

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

  • 11 месяцев спустя...

Компилятор ругается на строки типа

mov eax,[[Terraria.Player::Update+33CF]] //CursorX

Необходимо включить какую то функцию, чтобы компилятор CE понимал такие строки? У меня CE 6.7 и 6,8

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

5 часов назад, ScalesAir сказал:

Компилятор ругается на строки типа

Если так, то перефразируй строки в такой вариант:

mov eax,[*adress*]
mov eax,[eax]

 

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

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

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

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