#51 Re: GTA Modding » I think something's wrong with my code to change character! Help??? » 17-10-2011 22:20

Código de main.scm na mesagem #13 determina como o herói aparece no jogo pela primeira vez... Eu tentei mudá-lo usando o script - não poderia fazê-lo... Você pode até perguntar aqui...
Ou eu vou perguntar aqui em russo grin

Народ, как бразильскому товарищу поменять модельку CJ'я при старте? Только редактированием мейна или можно скриптом? А то я чёт по португальски могу пообщаться, а с этим в лужу сел blush

#52 Re: GTA Modding » I think something's wrong with my code to change character! Help??? » 17-10-2011 21:46

É possível, mas não com Cleo. Acho que para isso, precisamos de mudar main.scm.
Encontrar este código com um SB:

0053: $PLAYER_CHAR = create_player #NULL at 2488.562 -1666.865 12.8757

E substituir modelo. Mas não tenho certeza se isso vai funcionar em "cutscenes"...

#53 Re: GTA Modding » I think something's wrong with my code to change character! Help??? » 17-10-2011 21:39

Não sei como escrever código de alto nível. Aqui está o código que muda o jogador pressionando T (Lá e de volta). O herói está sempre em nova roupagem, mesmo em missões, à excepção de certos "cutscenes" prescritos em .exe:

{$CLEO .cs}
//-------------MAIN---------------
0000: NOP 
0001: wait 0 ms 
0006: 0@ = 0 
0002: jump @NONAME_5

:NONAME_5
0001: wait 0 ms 
00D6: if 
0256:   player $PLAYER_CHAR defined 
004D: jump_if_false @NONAME_5 
00D6: if 
0AB0:    key_pressed 84 
004D: jump_if_false @NONAME_5
0001: wait 50 ms
0002: jump @NONAME_10 

:NONAME_10
00D6: if 
0039:   0@ == 0 
004D: jump_if_false @NONAME_20 
0247: request_model 252 
038B: load_requested_models

:NONAME_15
00D6: if 
0248:   model 252 available 
004D: jump_if_false @NONAME_15 
09C7: change_player $PLAYER_CHAR model_to 252 
0006: 0@ = 1 
0249: release_model 252 
0002: jump @NONAME_5 

:NONAME_20
00D6: if 
0039:   0@ == 1 
004D: jump_if_false @NONAME_10 
0247: request_model #NULL 
038B: load_requested_models 

:NONAME_25
00D6: if 
0248:   model 7 available 
004D: jump_if_false @NONAME_15 
09C7: change_player $PLAYER_CHAR model_to #NULL 
0006: 0@ = 0 
0249: release_model #NULL 
0002: jump @NONAME_5

Funciona. Eu verifiquei.
Por favor.

#54 Re: GTA Modding » I think something's wrong with my code to change character! Help??? » 17-10-2011 18:20

тогда уж с запрошенной моделью smile
Eu acho que é por causa da diferença de Português em Portugal e no Brasil smile
Não ... estudo do Português não foi a minha escolha. Estudei no Instituto das Relações Internacionais e, em seguida, a distribuição das línguas, a pedido do Ministério das Relações Exteriores.
aqui é o código com o modelo, que você gostaria:

{$CLEO .cs}
0000: NOP 
wait 0
repeat
wait 0
 repeat
   wait 0
 until 0AB0: 84
   model.Load(252)
   038B: load_requested_models 
   09C7: change_player $PLAYER_CHAR model_to 252 
   model.Destroy(252)
until false

funciona para mim. eu verifiquei

#55 Re: GTA Modding » I think something's wrong with my code to change character! Help??? » 17-10-2011 15:44

Estudei Português no Instituto... E desde que há 10 anos que se formou usando tradutor do Google wink. Além disso, eu não tenho um layout de teclado para o Português.
O código deve ser aproximadamente assim com estes cheques:

//-------------MAIN---------------
0000: NOP 
0000: NOP 
wait 0

:NONAME_10
wait 0
if
0256:   player $PLAYER_CHAR defined 
jf @NONAME_10
if 
0AB0:   key_pressed 84 
jf @NONAME_10
jump @NONAME_23 

:NONAME_15
Model.Load(#WMYVA2)

:NONAME_20
if 
0248:   model #WMYVA2 available 
jf @NONAME_20
09C7: change_player $PLAYER_CHAR model_to #WMYVA2

Embora eu não testei e não tenho certeza que o código vai funcionar blush

#56 Re: GTA Modding » I think something's wrong with my code to change character! Help??? » 17-10-2011 12:24

Manoel Victor wrote:

I want by pressing the "T", the player becomes the model "WMYVA2", but my code when I enter the game, it gives error! And the GTA closes.
What's wrong?
Here is my code:

// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP 
0000: NOP 
wait 0 
if 
0AB0:   key_pressed 84 
jump @NONAME_23 

:NONAME_23
Model.Load(#WMYVA2)
09C7: change_player $PLAYER_CHAR model_to #WMYVA2

Help me please!
cry

Não sei, se isso vai resolver o seu problema, mas você precisará de pelo menos duas mudanças em seu código.
Em primeiro lugar, quando você faz qualquer coisa para o jogador, você precisa verificar se ele está definido.

0256:

A segunda verificação é quando você carregar qualquer modelo, você precisa verificar se ele é carregado

0248:

oh, quanto tempo eu não usei o Português... cool

#57 Re: Вопросы по скриптингу » Один вопрос » 12-10-2011 10:35

444andrei444 wrote:

А можно ли заставить актера точнее игрока спускаться на веревке?

Где-то скачал, но уже не помню где... Если честно, до сих пор так и не потестил... В описании написано, что вроде можно...
И еще вот тут у Deji кое-что есть...

#58 Re: Работа с памятью, EXE » Вопрос по памяти » 12-10-2011 10:23

DK22Pac wrote:

Загружаешь при загрузке текстур стандартного HUD'а

можно поподробнее?
Я думал текстуры стандартного худа в памяти постоянно висят... С другой стороны, у меня все элементы стандартного худа будут скриптово отключены, так что (если текстуры грузятся-выгружаются как и все другие) будут всегда выгружены.

#59 Re: Беседка » Размер шрифта (второго, не готического) и его изменение (GTA SA) » 12-10-2011 10:20

fonts.dat содержит таблицы пропорциональности шрифтов... хз за что они отвечают.
По сути вопроса - место отображения и цвет шрифта, выводящегося на экран как элемент hud'а, прописан в .exe. Изменить можно - путём изменения соответствующих значений в памяти игры. Лично я адрес в памяти не знаю. Может кто скажет... Есть InterfaceEditor, который, насколько я помню, позволяет отредактировать положение этого шрифта. Цвет, насколько я помню, можно изменить только вместе с деньгами... Что касается размера - то возможно, он отображается в "натуральную" величину, и тогда изменить его, возможно, можно только изменив текстуры или значения пропорциональности в fonts.dat... Ну и ещё при большом желании можно скриптово отключить этот элемент (09B9: show_entered_car_name 0) и отображать название собственным кодом.

#60 Re: Работа с памятью, EXE » Вопрос по памяти » 10-10-2011 07:13

Jack Daniel's wrote:
Jack Daniel's wrote:

По какому адресу находится значение задержки обновления кадров? Я не про fps limiter

Если кому интересно, написал плагин, меняющий стандартное значение задержки (14мс) на 0мс:
http://dl.dropbox.com/u/34394266/Optimiser.asi
Делает игру очень плавной, если итак высокий фпс.

С compact.exe от Listener не работает. Игра вылетает при старте.

#61 Re: Беседка » Вибрация ноутбука » 09-10-2011 06:23

~AquaZ~ wrote:

У меня ноут первую неделю. И это явно не вибрация кулера - она бОльшей частоты и чувствуется только на металле. Когда ноут выключен но питание есть, вибрация тоже есть. Может это 50 Гц от переменного тока?

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

#62 Re: Вопросы по скриптингу » Один вопрос » 09-10-2011 06:08

Dr_Emmett_Brown_2011 wrote:
Занопать можно, но тогда это будет на все авто действовать, а не только на авто героя...

Так вот мне и надо выключить взрыв у всех автомобилей..

Это я поторопился малось, сказав, что все таймеры отключаться... Отключится как раз только авто героя, ну или той машины, от хендла которой считать оффсет таймера... Чтобы отключить у всех (ну или почти у всех) я бы искал интерсептором перевёрнутое авто и вышеуказанным опкодом запрещал взрыв + нопил таймер в авто героя (поскольку компьютерные педы из авто при переворачивании вылезают - их авто будет пустой и опкод будет работать, а авто героя будет с героем пока кнопку выхода не нажмёшь).

#63 Re: Работа с памятью, EXE » Вопрос по памяти » 09-10-2011 00:47

DK22Pac wrote:

Проверить можно, вызывая drawTexturedRect, где в качестве параметра (this*) передаётся адресс структуры RwTexture (прочитать из 0xA94B68).

Если ты хочешь, чтобы твои текстуры не выгружались, - их лучше добавить в hud.txd и самому загружать/выгружать, когда это нужно.

1) На компакт экзе я это и так проверил и знаю. Я спрашивал про другие версии, которых у меня нет.
2) Угу. Вопрос: "когда это нужно". wink

#64 Re: Вопросы по скриптингу » Один вопрос » 09-10-2011 00:37

Jack Daniel's wrote:

Занопать функцию того самого изменения таймера.

Занопать можно, но тогда это будет на все авто действовать, а не только на авто героя...
Кстати, вопрос к тебе: у тебя что-то вышло с добавлением нового шрифта в игру?

Вопрос ко всем: у кого-нибудь есть почищенный мейн (то есть не совсем пустой, как в файлах СБ идёт, а почищенный от рокстаровского мусора типа опкодов про mutual_activities и идущих подряд jump'ов)?

И еще нубский вопрос... Можно ли в мейне (не в клео) сделать госабом переход в "левую" метку? Например, добавить в мейн интерсептор. Из одного потока искать, скажем авто... из второго - педов. Но искать их госабами, обращаясь к единому интерсептору? Или, можно ли использовать в каждом из таких потоков опкод 0AB1: call_scm_func @interceptor 0, а, соответствено, метку интерсептора в мейне иметь одну?

#65 Re: Вопросы по скриптингу » Один вопрос » 08-10-2011 10:09

444andrei444 wrote:

Есть такой опкод. Находил в базе deji. Сейчас сам хочу найти. Можно посмотреть тему cleo favorites там тоже кое что есть.

Да, действительно, есть опкод на эту тему. Мой SASCM.INI знает один:
03ed=2,set_car %1d% disable_flipped_explosion_when_empty %2h%
1ый параметр - переменная авто, 2ой, насколько я понимаю, - флаг 0/1
Однако, судя по описанию, он отключает взрыв только на пустой машине...

#66 Re: Вопросы по скриптингу » Один вопрос » 08-10-2011 03:15

Dr_Emmett_Brown_2011 wrote:

Подскажите, можно ли выключить взрыв автомобилей при переворачивании?

мои тесты (путем включения чита неубиваемости текущего авто) показывают, что авто при переворачивании не взрывается как таковое, а быстро теряет здоровье (как известно при здоровье меньше 250 авто начинает гореть и потом (при 0) взрывается - с включенным читом оно порывается загореться, но сразу тушится). Согласно базе данных по адресам в СА по оффсету +1216 находится флоат значение оставшегося здоровья авто, а по оффсету +2276 - флоат таймер горения. Соответственно отключить взрыв можно, проверив находится ли авто в перевернутом положении, и переписывая в лупе значение либо здоровья, либо таймера. Хотя, возможно, где-то есть флаг, отвечающий за последствия переворачивания...

#67 Re: Работа с памятью, EXE » Вопрос по памяти » 08-10-2011 02:46

Господа, такая пара вопросов...
1) кто может подтвердить или опровергнуть тот факт, что во всех вариантах gta_sa.exe по адресу 0xA94B68 находится текстура, загруженная под номером 1 (то, что в IDA базе от Listener называется TXDPool)? Compact от Listener не интересует, ибо там я и сам это могу подтвердить...
2) по моим тестам адрес является статическим... указатель не требуется... опровержения (?) приветствуются...
Проверить совсем просто с помощью, например, ArtMoney... сложнее, но тоже возможно, написав скрипт выводящий на экран 1, если значение по адресу больше 0. Далее зайти в ГринБотлзБар и запустить либо пул, либо один из двух аркадных автоматов...
Спасибо.

#68 Re: Вопросы по скриптингу » Один вопрос » 01-10-2011 18:56

Metis wrote:

Помогите разобраться,что в этом скрипте не так?не работает sad

:NONAME_226
if 
   Actor.Driving($PLAYER_ACTOR)
07A5: AS_actor 1@ attack_actor $PLAYER_ACTOR -1 ms 
jump @NONAME_179

jf @ не пробовал добавить? а то когда герой пешком у тебя код подвисает...

#69 Re: Вопросы по скриптингу » Один вопрос » 30-09-2011 16:10

444andrei444 wrote:

А у меня такая проблема. Мне надо считать сколько я убил бандитов банды баласс и вагос. Причем в 2 счетчика в одно м балассы в другом вагосы. (уровень розыска банд)

Если я правильно понимаю: берешь нацеленного педа, проверяешь есть ли он и какой он модели, если баллас или вагос - проверяешь жив ли он, если нет - проверяешь кто его грохнул, если герой - +1 к соответствующей переменной-счетчику...
Правда, это не будет считать, например, задавленных...

#70 Re: Вопросы по скриптингу » Один вопрос » 28-09-2011 18:24

Yoda wrote:

на gtaforums.com ZAZ ткнул меня в функцию isTxdDictionaryLoaded (сообщение от  Wesser)...

mfisto wrote:

Там, кстати, в этом примере с проверкой на загруженность txd архива нужно еще название потока указывать, что я заметил, так что...

хм... господа, а может кто-нибудь из людей сведующих в языках программирования помочь использовать упомянутые функции? Там просто этот код написан с целью выгрузки текстур из памяти... А мне бы хотелось понять как можно отслеживать использование текстур... Если можно на пальцах объяснить, например, куда название потока или словаря указывать... Например, main.scm содержит поток :POOL2. Под одной из его меток (:POOL2_1292 в моем декомпилированном main.scm) игра загружает txd словарь 'LD_POOL'. Как уточнить, что код сработал и игра словарь загрузила (если словари грузятся-выгружаются) /использует (если они грузятся при старте экзешника)? Можно ли как-то в памяти отследить загрузку словаря текстур? Может есть флаг где-то, что загруженный словарь используется? Или счетчик использований?

#71 Re: Вопросы по скриптингу » Один вопрос » 23-09-2011 09:25

@mfisto, @Den_spb - на gtaforums.com  ZAZ ткнул меня в функцию isTxdDictionaryLoaded (сообщение от  Wesser)... разбираюсь... может тоже пригодится.

#72 Re: Вопросы по скриптингу » Шрифты в GTA SA » 23-09-2011 09:18

Jack Daniel's wrote:

Попробую добавить в функцию загрузки шрифтов загрузку своего отдельного шрифта и попробую "активировать" его в игре, но ничего не получится - закон подлости.

Вопрос в том, что загрузка шрифта из экзешника производится при старте игры. Если я правильно понимаю раньше клео. Тогда изменить функцию в игре можно только патчем экзешника... Хотя, может, есть ещё вариант "догрузки" своего шрифта после старта игры через клео-скрипт..?

#73 Re: Вопросы по скриптингу » Шрифты в GTA SA » 22-09-2011 15:15

@Sw[ee]t - не понял о каком меню речь...
есть опкод

0349: set_text_draw_font 3

Если я правильно понимаю, допустимые параметры от 0 до 3. То есть на выбор 4 шрифта. Они присутствуют в игровых файлах (дат и тхд). И вопрос как раз не в "подмене" существующего (это элементрано (тхд поменять и всё)) а в добавлении новых шрифтов (2 на каждый новый тхд).

#74 Re: Вопросы по скриптингу » Шрифты в GTA SA » 21-09-2011 18:33

Sw[ee]t wrote:

не уверен, но мне кажется это зашито глубоко в exe и игра не предусматривает несколько шрифтов (как и возможность модификации tongue)

Дат файл содержит два шрифта ИД 0 и ИД 1, тхд две картинки фонт1 и фонт2. При чем на каждой картинке и в каждой секции дат файла по два шрифта. Через скрипт они вызываются как шрифты 0,1,2,3. Вот собственно и хотел узнать можно ли в дат добавить ИД 2, в тхд фонт3 и через скрипт юзать их как 4 и 5... У меня так просто не получилось... Собственно и спрашивал не пробовал ли кто с экзешником разобраться по этому поводу smile

#75 Re: Вопросы по скриптингу » Шрифты в GTA SA » 21-09-2011 18:10

Sw[ee]t wrote:

а смысл? делать такие твики со шрифтами

можно вместо текстур использовать. как звёзды в оригинале реализованы.

Board footer

Powered by FluxBB