#3501 14-06-2011 10:32

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

Re: Один вопрос

MB116 wrote:

Уже спрашивали на 135-139 страницах (или раньше). Либо там поищи, либо поиск по форуму юзай

Ничего не нашел! Пожалуйста, если не трудно, опишите тут еще раз. Заранее благодарен!!!=)

Я вот после того как написал, тоже по форуму поискал и ничего не нашёл (кроме четырёх постов, где спрашивают этот же вопрос). Попробуй написать в личку Sergey81, он этими делами занимался недавно.

Offline

#3502 14-06-2011 14:31

MB116
From: Almaty
Registered: 15-09-2010
Posts: 104
Website

Re: Один вопрос

Еще вопрос. Как заставить $Actor перелезть через забор?

Offline

#3503 14-06-2011 14:36

444andrei444
Registered: 29-03-2011
Posts: 317
Website

Re: Один вопрос

Думаю никак. Так как перелазенье есть прыжок. Можно заставить прыгнуть, если актер находится возле забора.

Offline

#3504 14-06-2011 15:34

MB116
From: Almaty
Registered: 15-09-2010
Posts: 104
Website

Re: Один вопрос

05BC: AS_actor 2@ jump 0

Он подпрыгивает но не цепляется....

Last edited by MB116 (14-06-2011 15:34)

Offline

#3505 14-06-2011 16:11

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

Re: Один вопрос

MB116 wrote:
05BC: AS_actor 2@ jump 0

Он подпрыгивает но не цепляется....

а на что влияет последний параметр? может его попробовать изменить?


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#3506 14-06-2011 16:21

MB116
From: Almaty
Registered: 15-09-2010
Posts: 104
Website

Re: Один вопрос

05BC: AS_actor $Actor jump 0 - актёр прыгает,0-стиль прыжка,есть и 1,но особого отличия не
 видно.

Offline

#3507 15-06-2011 16:20

444andrei444
Registered: 29-03-2011
Posts: 317
Website

Re: Один вопрос

У меня скопился вопрос. Каким опкодом снять с игрока одежду на определенной части тела?

Offline

#3508 15-06-2011 17:03

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

Re: Один вопрос

444andrei444 wrote:

У меня скопился вопрос. Каким опкодом снять с игрока одежду на определенной части тела?

Один вопрос, а уже скопился grin
Ну снять может и нельзя, но вот установить текстуру null, можно.

087B: set_player $PLAYER_CHAR clothes_texture "VEST" model "VEST" body_part 0

body_part назначения ищи в справке СБ.

Offline

#3509 16-06-2011 19:40

444andrei444
Registered: 29-03-2011
Posts: 317
Website

Re: Один вопрос

У меня еще один вопрос. Я скачал отладчик olly dbg но не могу понять что к чему. Подскажите как с помошью этой проги искать адреса. Заранее спасибо.

Offline

#3510 16-06-2011 20:38

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Один вопрос

Лучше скачай базу от listener и программу IDA для её чтения. В базе многие адреса и функции проименованы, что сильно облегчает исследование exe. Но всё равно работать с кодом в один момент не научишься - для этого необходимо приобрести опыт.

Offline

#3511 16-06-2011 20:46

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

Re: Один вопрос

Продолжаю вести разработку First-Person мода. Возникла очень важная проблема. При включении во второй раз, камера "обрезает" игрока в радиусе 0.1-0.2 метра. Эксперименты показали, что виноват camera.Restore_WithJumpCut в коде выключения вида от первого лица. Вопрос состоит в том, как избежать этого самого "обрезания" модели игрока, либо как вернуть на место камеру после опкода 067B, чтобы при этом не возникало "обрезания"?
Вот скрины:

Первый запуск: 4545ca2bf2bbt.jpg

Второй запуск: 8304a08c8ec2t.jpg

Last edited by Voron295 (16-06-2011 21:36)


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#3512 17-06-2011 22:26

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

Re: Один вопрос

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


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#3513 18-06-2011 08:24

Alien
Registered: 12-10-2008
Posts: 564

Re: Один вопрос

Попробуйте вручную обнулить rwCamera->nearClipPlane.

Offline

#3514 18-06-2011 19:58

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

Re: Один вопрос

Alien wrote:

Попробуйте вручную обнулить rwCamera->nearClipPlane.

А можно немного понятнее, это пока за пределами моих знаний xD
Кстати, Alien, вы не могли бы глянуть сюда и ответить на мой вопрос насчёт CLEO 4?

UPD. Как я понял, это функция, которую нужно вызвать одним из опкодов 0AA5-0AA8? Вот, что-то нашёл в базе listener'а:

.text:007EE1D0     _RwCameraSetNearClipPlane proc near     ; CODE XREF: sub_45D760+609p
.text:007EE1D0                                             ; _sub_50CB90+47p
.text:007EE1D0                                             ; sub_50DD70+174p
.text:007EE1D0                                             ; sub_50EB70+85Cp ...
.text:007EE1D0
.text:007EE1D0     arg_0           = dword ptr  4
.text:007EE1D0     arg_4           = dword ptr  8
.text:007EE1D0
.text:007EE1D0 000                 fld     [esp+arg_4]
.text:007EE1D4 000                 push    esi
.text:007EE1D5 004                 mov     esi, [esp+4+arg_0]
.text:007EE1D9 004                 push    esi
.text:007EE1DA 008                 fstp    [esi+RwCamera.nearPlane]
.text:007EE1E0 008                 call    _CameraUpdateZShiftScale
.text:007EE1E5 008                 mov     eax, [esi+RwCamera.object.object.parent]
.text:007EE1E8 008                 add     esp, 4
.text:007EE1EB 004                 test    eax, eax
.text:007EE1ED 004                 jz      short loc_7EE1F8
.text:007EE1EF 004                 push    eax             ; frame
.text:007EE1F0 008                 call    _RwFrameUpdateObject
.text:007EE1F5 008                 add     esp, 4
.text:007EE1F8
.text:007EE1F8     loc_7EE1F8:                             ; CODE XREF: _RwCameraSetNearClipPlane+1Dj
.text:007EE1F8 004                 mov     eax, esi
.text:007EE1FA 004                 pop     esi
.text:007EE1FB 000                 retn
.text:007EE1FB     _RwCameraSetNearClipPlane endp

Где-нибудь (может на этом форуме?) есть описание, как правильно вызвать из игры нужную функцию и т.п.? Или если кому не сложно - объясните пожалуйста. arg_0 и arg_4 - это параметры которые нужно в эту функцию (может это всё-таки подругому называется, исправьте меня если что-то не так) передать, я не ошибаюсь? Как понять за что они отвечают? Мнда, мне ещё учиться и учиться... smile

Last edited by Voron295 (18-06-2011 20:16)


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#3515 18-06-2011 21:27

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

Re: Один вопрос

Посмотри места где есть вызовы данной ф-ции, т.к. сложно сказать что эти два параметра делают.

Offline

#3516 18-06-2011 21:44

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Один вопрос

Voron295 wrote:

Где-нибудь (может на этом форуме?) есть описание, как правильно вызвать из игры нужную функцию и т.п.? Или если кому не сложно - объясните пожалуйста. arg_0 и arg_4 - это параметры которые нужно в эту функцию (может это всё-таки подругому называется, исправьте меня если что-то не так) передать, я не ошибаюсь?

http://sannybuilder.com/forums/viewtopic.php?id=941

Offline

#3517 18-06-2011 21:44

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

Re: Один вопрос

Sw[ee wrote:

t]Посмотри места где есть вызовы данной ф-ции, т.к. сложно сказать что эти два параметра делают.

Так каким опкодом её вызывать? Судя по этим словам:

Alien wrote:

Попробуйте вручную обнулить

один из параметров должен быть равен нулю...


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#3518 18-06-2011 22:04

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

Re: Один вопрос

Спасибо!

Sw[ee wrote:

t]Посмотри места где есть вызовы данной ф-ции, т.к. сложно сказать что эти два параметра делают.

Хмм...

.text:0045DD69 08C                 call    _RwCameraSetNearClipPlane

и где тут параметры?

UPD. Я попробовал так:

 0AA5: call 0x7EE1D0 num_params 0 pop 1

Ничего не изменилось. Кстати, после нескольких нажатий клавиши (я написал коротенький скрипт, чтобы опкод 0AA5 выполнялся при нажатии клавиши) игра вылетела...

Last edited by Voron295 (18-06-2011 22:07)


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#3519 18-06-2011 22:23

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Один вопрос

и где тут параметры?

Щёлкни по названию вызываемой функции - в окне отобразится её код. Наверху, перед началом кода, будет показана структура переменных этой функции (stack frame). Переменные, имеющие положительное смещение - это и есть параметры, передаваемые в данную функцию.

Я попробовал так:

Параметр "pop" должен быть равен "num_params" (изучи внимательно тему, на которую я указал, и ссылки, размещённые в ней).

Offline

#3520 20-06-2011 09:47

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

Re: Один вопрос

@Den_spb - вы не могли бы сейчас мне просто помочь, изучив эту функцию, либо выяснить каким способом можно избежать бага указанного в одном из предыдущих моих сообщений, а то...

Voron295 wrote:

а то я пообещал мод 20-го числа выложить, как-то не хочется выкладывать с таким багом...

А потом я возьмусь за теорию и постараюсь изучить работу с IDA как можно доскональнее smile. Просто мне сейчас ещё нужно закончить 5-ую версию моего паркур-мода, в котором будет этот самый вид от первого лица. Поэтому у меня сейчас нет времени изучать это, нужно заняться паркур-модом. Если вы мне поможете с этим, просите что хотите (в пределах моих возможностей конечно) smile

Last edited by Voron295 (20-06-2011 09:51)


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#3521 20-06-2011 21:42

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Один вопрос

Я не знаю, как можно избежать вышеупомянутого явления.

Offline

#3522 21-06-2011 06:19

kenking
From: Казахстан
Registered: 28-06-2010
Posts: 253

Re: Один вопрос

@Voron295
(Если я правильно понял суть проблемы=))
Попробуй так

Camera.SetBehindPlayer
Camera.Restore_WithJumpCut

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

Offline

#3523 21-06-2011 06:37

444andrei444
Registered: 29-03-2011
Posts: 317
Website

Re: Один вопрос

Я так понял константы - это аналог глобальных переменных. Их можнь использовать в клео скриптах без ограничений. Если да тогда вопрос зачем нужны глобальные клео переменные?

Offline

#3524 21-06-2011 07:47

VintProg_Pro
Registered: 17-06-2010
Posts: 153

Re: Один вопрос

@Voron295

Это что хотьба от певрого лица?

Offline

#3525 21-06-2011 09:47

~AquaZ~
Registered: 01-03-2010
Posts: 726

Re: Один вопрос

444andrei444 wrote:

Я так понял константы - это аналог глобальных переменных. Их можнь использовать в клео скриптах без ограничений. Если да тогда вопрос зачем нужны глобальные клео переменные?

Глобальная переменная - структура данных, значение которой можно прочитать и изменить в любой части приложения, из любого потока (глобально).
Константа - виртуальная (после компиляции их уже нет) структура (или не совсем), доступная в пределах одного потока (локально).
Вообще эти две абсолютно разные структуры используют для одинаковых целей - чтобы дать переменной имя. Только глобальные переменные в Клео использовать нельзя, поэтому используют константы. Тут константа представляет из себя как-бы заглушку для имени локальной переменной.

Offline

Board footer

Powered by FluxBB