Логин:
Пароль:
Настройки
http://lfforever.ru/design/black.css http://lfforever.ru/design/ds_dw.css http://lfforever.ru/design/xmas.css
Присоединяйся к каналу LFF в Discord!
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Фан Форум для LF'айтеров » Игрострой » Модострой LF2 » Стейты,эффекты,кинды и прочее (для использования в .dll)
Стейты,эффекты,кинды и прочее
23.03.12 11:13 | #21

Репутация: 14
Постов: 691
Захотелось уметь делать всякие там стейты каинды, и прочее...
Я взял пример от подкачки:
CMP EAX,5000 ;Минимальное значение стейта, я это понял
jl xzxz ;Я это тоже понял кажется, если стейт меньше 5000 то перемещается стейту который здесь написан jl xzxz, если нет то к ретрун.
CMP EAX,5999 ;Максимальное значение стейта.
jge xzxz ;Тоже как это "jl" но немножко другое.
sub eaX,5000 ;Я это не понял, скажи пожалуйста что это
MOV EDX,DWORD PTR DS:[EBX+EDI*4+194h] ; Ну это немножко понятно
add dword ptr ds:[edx+308h] ;Это понятно, но откуда ты взял число "308"?
cmp dword ptr ds:[edx+308h],500 ;Это понятно, но откуда ты взял число "500"
jle return ;Не понял, объясни плз
mov dword ptr ds:[edx+308h],500 ;Не очень то понятно
Ответьте на мои вопросы плз

Добавлено (23/03/2012, 11:13)
---------------------------------------------
А как делать тот стейт - Если нажимаешь "назад", то перемещаешься на определенный кадр.
Сам попробую сделать, если получится код выложу.


---------------------------
Мой Блог!

http://thedeathmask.forum2x2.ru/
23.03.12 18:26 | #22

Репутация: 84
Постов: 1151
CMP EAX,5000 ;+
jl xzxz ;правильно понял, jl - jump less (прыжок если значение меньше)
CMP EAX,5999 ;+
jge xzxz ;jump great or equal т.е. если больше или равно
sub eaX,5000 ;вычитаем из eax'а значение, для последующего использования
MOV EDX,DWORD PTR DS:[EBX+EDI*4+194h] ; точка обращения к обьекту

Прокомментирую вторую часть тогда,когда школололо из тебя выйдет
И начнёшь относится к людям как к равным

23.03.12 18:43 | #23

Репутация: 14
Постов: 691
Сегодня буду изгонять школоло, одним средневековьим способом.

---------------------------
Мой Блог!

http://thedeathmask.forum2x2.ru/
23.03.12 19:10 | #24

Репутация: 122
Постов: 854
EXtraBender, я наверно поддержу Сурика

SURIK, ну ладно)) может он не успел)

[ Маленький Фриз говорит: это сообщение было отредактировано!]
23.03.12 19:58 | #25

Репутация: 84
Постов: 1151
молодец....
24.03.12 13:13 | #26

Репутация: 14
Постов: 691
Code
defholdxxx:
           CMP EAX,25000
           jl return
           CMP EAX,25800 ;Почему 25800 а не 25999?
           jge return
           MOV EDX,DWORD PTR DS:[EBX+EDI*4+194h]    
           cmp byte ptr ds:[edx+0CCh],0 ;Это назначение кнопки если я не ошибаюсь, [edx+0CCh] ноль и h не трогаем, "CC" это код клавиши "удерживания блока".
     je defhold1 ;Кажется перемешается к "defhold1", но из-за чего перемешается туда я не понял.    
        jmp return  


Для чего они используются?
Code
State8xxx proc
     CMP EAX,21
     je holdforward
     CMP EAX,22
     je holdbackward
     CMP EAX,23
     je holdatk
     CMP EAX,24
     je holdjmp
     CMP EAX,25
     je holddef
                   CMP EAX,1F40h
                   jl state4xxx
                   CMP EAX,2328h
                   jge state4xxx
                   jmp Transform1

[ Маленький Фриз говорит: это сообщение было отредактировано!]

---------------------------
Мой Блог!

http://thedeathmask.forum2x2.ru/
24.03.12 15:59 | #27

Репутация: 66
Постов: 1020
Quote (SURIK)
когда школололо из тебя выйдет

10 баллов! den_lol

26.08.12 16:08 | #28

Репутация: 14
Постов: 691
Если нажать "назад" то персонаж перейдет в определенный кадр
Code
Bakward:
         CMP EAX,92000
         jl return
         CMP EAX,92800
         jge return
         MOV EDX,DWORD PTR DS:[EBX+EDI*4+194h]
         cmp byte ptr ds:[edx+080h],0
   je press1left
      jmp press1right   
    
           
BakwardYes:
      sub eax,92000
      mov dword ptr ds:[edx+70h],eax
      add dword ptr ds:[edx+70h],0   
      jmp return

press1left:  
  cmp byte ptr ds:[edx+0CFh],1
  je BakwardYes
  jmp return
   
press1right:
  cmp byte ptr ds:[edx+0D0h],1
  je BakwardYes
  jmp return

return: jmp Transform2  


---------------------------
Мой Блог!

http://thedeathmask.forum2x2.ru/
26.08.12 20:37 | #29

Репутация: 84
Постов: 1151
Угу, и допиши кто автор
26.08.12 21:15 | #30

Репутация: 14
Постов: 691
SURIK, Сделал эдит сдесь
Code
cmp byte ptr ds:[edx+080h],0 ; 0 Беквард, 1 Фовард


Добавлено (26/08/2012, 21:15)
---------------------------------------------
Code
Bakward:
CMP EAX,92000
jl return ;Дальше по порядку, если не то реутрн
CMP EAX,92800
jge return ;Дальше по порядку, если не то реутрн
MOV EDX,DWORD PTR DS:[EBX+EDI*4+194h] ;Обозначаем что это обьект
cmp byte ptr ds:[edx+080h],0 ;Фейсинги Ну там по этим присвлево1 и присвправо1
;Можно сделать 0 Беквард, 1 Фовард
je press1left ;равно или равно кажись
jmp press1right ;хер его знает

BakwardYes:
sub eax,92000
mov dword ptr ds:[edx+70h],eax ;Без действие, ну там фрей нету
add dword ptr ds:[edx+70h],0 ;И это туда же
jmp return ;Прости прощай, и до свидания

press1left:
cmp byte ptr ds:[edx+0CFh],1
je BakwardYes
jmp return

press1right:
cmp byte ptr ds:[edx+0D0h],1
je BakwardYes
jmp return

return: jmp Transform2 ;Transform2    dd 0041F675h Адрес можно найти через ольку

[ Маленький Фриз говорит: это сообщение было отредактировано!]

---------------------------
Мой Блог!

http://thedeathmask.forum2x2.ru/
27.08.12 14:10 | #31

Репутация: 84
Постов: 1151
Ужасть, мои коменты на транслите выглядят лучше
27.08.12 15:36 | #32

Репутация: 14
Постов: 691
SURIK, Ты мне размыл мозг и забыл протереть сухой тряпкой, поэтому получились размытые комментарии.

---------------------------
Мой Блог!

http://thedeathmask.forum2x2.ru/
28.08.12 01:43 | #33

Репутация: 84
Постов: 1151
Твой мозг - твои проблемы
12.06.13 21:01 | #34

Репутация: 66
Постов: 1020
Как много полезной инфы
Фан Форум для LF'айтеров » Игрострой » Модострой LF2 » Стейты,эффекты,кинды и прочее (для использования в .dll)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: