#4426 26-12-2013 18:23

RitrS
From: Downtown
Registered: 11-07-2013
Posts: 62
Website

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

DK22Pac wrote:

Узнать, мёртв ли актёр, дальше

CPed +0x764 m_pLastEntityDamaged // CPed *

Сверить со структом игрока.

Сразу записать любого актера в перемененную. Потом проверить мертв ли он? А дальше можно по подробнее?

Offline

#4427 26-12-2013 20:23

DK22Pac
From: Ukraine
Registered: 26-03-2010
Posts: 447
Website

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

Получить структ педа, добавить смещение, прочитать структ убийцы (4 байта). Сверить структ убийцы со структом игрока.


Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

#4428 27-12-2013 11:56

RitrS
From: Downtown
Registered: 11-07-2013
Posts: 62
Website

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

DK22Pac wrote:

Получить структ педа, добавить смещение, прочитать структ убийцы (4 байта). Сверить структ убийцы со структом игрока.

ввиде кода пример можешь?

Offline

#4429 27-12-2013 12:19

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

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

RitrS wrote:
DK22Pac wrote:

Получить структ педа, добавить смещение, прочитать структ убийцы (4 байта). Сверить структ убийцы со структом игрока.

ввиде кода пример можешь?

Если у тебя есть хэндл убитого педа, то вот:

// Предположим, что хэндл убитого педа записан в 0@
0A96: 1@ = actor 0@ struct
0A96: 2@ = actor $PLAYER_ACTOR struct
1@ += 0x764
0A8D: 3@ = read_memory 1@ size 4 virtual_protect 0
if
003B:   2@ == 3@  // Сравниваем указатели
then
// Тут твой код, если именно игрок убил педа
end

Last edited by Voron295 (27-12-2013 22:58)


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

Offline

#4430 27-12-2013 19:29

RitrS
From: Downtown
Registered: 11-07-2013
Posts: 62
Website

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

Voron295 wrote:
RitrS wrote:
DK22Pac wrote:

Получить структ педа, добавить смещение, прочитать структ убийцы (4 байта). Сверить структ убийцы со структом игрока.

ввиде кода пример можешь?

Если у тебя есть хэндл убитого педа, то вот:

// Предположим, что хэндл убитого педа записан в 0@
0A96: 1@ = actor 0@ struct
0A96: 2@ = actor $PLAYER_ACTOR struct
1@ += 0x764
0A8D: 3@ = read_memory 1@ size 4 virtual_protect 0
if
003B:   2@ == 3@  // Сравниваем указатели
then
// Тут твой код, если имено игрок убил педа
end

спасибо

Offline

#4431 15-01-2014 14:47

d88
Registered: 15-12-2009
Posts: 254
Website

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

Я перенёс несколько внешних скриптов из оригинального мэйна в свой. Вроде работают все, кроме скрипта парашюта. Код запуска тоже скопировал из оригинала:

:MAIN_6638
if 
   Actor.HasWeapon($PLAYER_ACTOR, 46)
else_jump @MAIN_6718 
0926: $SCRIPT_STATUS = external_script_status 0 (PLAYER_PARACHUTE) 
if 
  $SCRIPT_STATUS == 0 
else_jump @MAIN_6711 
08A9: load_external_script 0 (PLAYER_PARACHUTE) 
if 
08AB:   external_script 0 (PLAYER_PARACHUTE) loaded 
else_jump @MAIN_6711 
0913: run_external_script 0 (PLAYER_PARACHUTE)  

:MAIN_6711
jump @MAIN_6726 

:MAIN_6718
090F: end_external_script 0 (PLAYER_PARACHUTE)

Пробовал вставлять fade 0 1000 между некоторыми строками, чтобы понять, срабатывают ли эти проверки. Так вот, когда поставил его перед 0913:, потемнения не было. Выходит, что проверка 08AB: не срабатывает, т.е. скрипт просто не загружается! Но он один такой, остальные работают нормально. Кто-нибудь знает, в чём может быть проблема?


И ещё такой вопрос. Можно ли сделать, чтобы копы не могли арестовать игрока? Чтоб только стреляли в него, но не арестовывали?

Offline

#4432 15-01-2014 17:23

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

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

Уверен, что твой скрипт имеет нулевой номер?


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

Offline

#4433 15-01-2014 18:31

d88
Registered: 15-12-2009
Posts: 254
Website

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

Voron295 wrote:

Уверен, что твой скрипт имеет нулевой номер?

Да. Сначала он был под другим номером, но когда я увидел, что он не работает, поставил его в начале чтобы был тот же номер, что и в оригинале.

DEFINE EXTERNAL_SCRIPTS 50 // Use -1 in order not to compile AAA script
DEFINE SCRIPT PLAYER_PARACHUTE AT @PLCHUTE // 0
//-------------External script 0 (PLAYER_PARACHUTE)---------------

:PLCHUTE
thread 'PLCHUTE'

Но не помогло.

Offline

#4434 16-01-2014 16:57

Dark_Knight
From: г. Полтава
Registered: 09-07-2013
Posts: 33

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

0ad3: 8@ = "http:%c%cадресс сайта/php/record.php?Nickname=%s&Kills=%d&Deaths=%d&Model=%d&Exp=%d&CompID=%d&IpS=%s" 47 47 9@ ScoreKill ScoreDeath Model Experience 7@ 15@

Я выделяю и очищаю память, но строку я могу найти в памяти СА. Как это можно обойти?

Last edited by Dark_Knight (16-01-2014 16:58)

Offline

#4435 16-01-2014 18:34

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

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

Dark_Knight wrote:

Я выделяю и очищаю память, но строку я могу найти в памяти СА. Как это можно обойти?

Прежде чем выгружать память, обнули её.

Last edited by Voron295 (16-01-2014 18:34)


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

Offline

#4436 16-01-2014 21:35

Dark_Knight
From: г. Полтава
Registered: 09-07-2013
Posts: 33

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

Voron295 wrote:
Dark_Knight wrote:

Я выделяю и очищаю память, но строку я могу найти в памяти СА. Как это можно обойти?

Прежде чем выгружать память, обнули её.

0ac8: 8@ = 512
0ad3: 8@
0ac9: 8@

Так же? Не работает.

Offline

#4437 16-01-2014 22:26

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

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

Нет. Обнулить, значит приравнять весь диапазон памяти к нулю.
Например так:

0A8C: write_memory 0@ size 512 value 0 virtual_protect 0

Где 0@ - указатель на твою память, а 512 нужно поменять на размер выделенной памяти.


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

Offline

#4438 16-01-2014 22:33

Dark_Knight
From: г. Полтава
Registered: 09-07-2013
Posts: 33

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

Voron295 wrote:

Нет. Обнулить, значит приравнять весь диапазон памяти к нулю.
Например так:

0A8C: write_memory 0@ size 512 value 0 virtual_protect 0

Где 0@ - указатель на твою память, а 512 нужно поменять на размер выделенной памяти.

0ac8: 0@ = 512
0ad3: 0@ = "Test"
0a8c: 0@ 512 0 0
0ac9

tak?

Offline

#4439 17-01-2014 17:51

Mr. Rollton
From: Томск
Registered: 17-01-2014
Posts: 8

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

Доброго времени суток. Конкретно темы о SA Limit Adjuster не нашел, поэтому решил спросить здесь.
На данный момент, у меня установлено лишь два плагина: ASI Loader от Sneaky и SA Limit Adjuster от Sacky (до этого стояла еще и библиотека CLEO 4, которая как раз недавно обновилась; думал, что проблема в ней, но ошибался).
Игра не запускается вообще. Стоит стимовская версия игры с экзешником 1.0 US (тот, который размером в 14 383 616 байт). Пробовал ставить другую версию - не помогло.
Версия лоадера - та, которая сейчас идет с клео, версия SALA - альфа 8 с фиксом загрузки dll.
И на десерт - собственно, крэшдамп:

GTA:SA Crashed, Debug Info Follows:

GTA Info:

Version: US 1.0
Last File Loaded: 
Last Library Loaded: 
Error: Unknown

Assembly Info:

Exception At Address: 0x007F67CF
Exception Code: 0xc0000005 (EXCEPTION_ACCESS_VIOLATION)

Registers:
EAX: 0x03800CC0	EBX: 0x00000000
ECX: 0xDDDDDDDD	EDX: 0x00000500
ESI: 0x03824290	EDI: 0x00C9C078
EBP: 0x00000000	ESP: 0x0028F8C8

Заранее спасибо за помощь.

Небольшой оффтопик: давно потерял надежду, что найду живой форум о скриптинге в SA. Рад, что наткнулся на вас smile

Offline

#4440 17-01-2014 20:32

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

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

Собственно, проблема в чём? Вылетает из-за Limit Adjuster'а? Выложи его куда-нибудь, потестим. Пробуй ставить аси-лоадер, который идёт с CLEO обычно.
Исходя из крэшдампа, ничего конкретного сказать нельзя. Вылет происходит в районе функции рендера поверхности, насколько я понял.


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

Offline

#4441 17-01-2014 21:47

Mr. Rollton
From: Томск
Registered: 17-01-2014
Posts: 8

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

Voron295 wrote:

Собственно, проблема в чём? Вылетает из-за Limit Adjuster'а? Выложи его куда-нибудь, потестим. Пробуй ставить аси-лоадер, который идёт с CLEO обычно.
Исходя из крэшдампа, ничего конкретного сказать нельзя. Вылет происходит в районе функции рендера поверхности, насколько я понял.

Да-да, похоже, именно из-за аджастера. Убираю его длл из папки - все работает, возвращаю - снова крэш.
Архив с ним внизу. В архиве (дополнительно к файлам SALA) лежит лог загрузки. Может, по нему можно будет сказать большее.

P.S. с помощью великого гугла по коду ошибки набрел на единственную страничку, на которой говорилось, что эта ошибка возникает, если на Windows Vista/7/8 выбрать в игре 16-битную цветность. Пробовал менять на 32, потом обратно на 16, пробовал разные разрешения - не помогло.

Last edited by Mr. Rollton (17-01-2014 22:12)

Offline

#4442 17-01-2014 23:07

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

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

P.S. с помощью великого гугла по коду ошибки набрел на единственную страничку, на которой говорилось, что эта ошибка возникает, если на Windows Vista/7/8 выбрать в игре 16-битную цветность

Код ошибки может играть роль только в данном конкретном случае. Он может встретиться в самых различных программах и играх, так что нет смысла искать что-либо в интернете по этому поводу.

Поставил себе этот лимит аджастер - игра прекрасно работает. Попробуй, как я и сказал, поставить аси-лоадер, который идёт в комплекте с CLEO.


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

Offline

#4443 17-01-2014 23:15

Mr. Rollton
From: Томск
Registered: 17-01-2014
Posts: 8

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

Voron295 wrote:

Попробуй, как я и сказал, поставить аси-лоадер, который идёт в комплекте с CLEO.

Скачал с главной страницы, поставил - все равно не работает. Может, какая-нибудь аппаратная или программная несовместимость?

Offline

#4444 18-01-2014 00:13

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

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

Скачал с главной страницы, поставил - все равно не работает. Может, какая-нибудь аппаратная или программная несовместимость?

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


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

Offline

#4445 18-01-2014 00:33

Mr. Rollton
From: Томск
Registered: 17-01-2014
Posts: 8

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

Voron295 wrote:

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

Да, я тоже думал, что вроде бы ничего не должно конфликтовать, но мало ли.
И дамп не дает практически никакой информации. Я уже и не знаю, что делать. Переустанавливал игру два или три раза =\
Тогда, может быть, есть какая-нибудь альтернатива для снятия лимитов? Я знаю, что есть отдельный stream memory fix, но он имеет только одну функцию из тех, что нужны мне.

И если не секрет, какой операционной системой пользуешься, Ворон?

Offline

#4446 18-01-2014 13:19

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

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

Тогда, может быть, есть какая-нибудь альтернатива для снятия лимитов? Я знаю, что есть отдельный stream memory fix, но он имеет только одну функцию из тех, что нужны мне.

Есть SALimitAdjuster от Alexander'а. Прикреплю его. Он правит сам экзешник игры.

И если не секрет, какой операционной системой пользуешься, Ворон?

Windows 7 x64


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

Offline

#4447 18-01-2014 13:59

Mr. Rollton
From: Томск
Registered: 17-01-2014
Posts: 8

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

Voron295 wrote:

Есть SALimitAdjuster от Alexander'а. Прикреплю его. Он правит сам экзешник игры.

Похоже, он позволяет править только Dynamic Limits.
Может, есть другие форумы на примете? Тут, похоже, только между нами диалог идет, другие и не заглядывают sad

Offline

#4448 19-01-2014 18:59

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

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

Mr. Rollton wrote:

Может, есть другие форумы на примете?

Может GTA Forums подойдёт? Правда это не русский форум.

А вообще, какие лимиты тебя интересуют?

Last edited by Voron295 (19-01-2014 18:59)


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

Offline

#4449 19-01-2014 19:18

DK22Pac
From: Ukraine
Registered: 26-03-2010
Posts: 447
Website

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

Там все основные лимиты патчатся одной заменой числа.
SA Limit Adjuster писался ещё во времена мамонтов, а потому устарел, и его ошибки никто исправлять не будет. Там куча лимитов патчится, и, как мне показалось, работоспособность большой части из тех патчей авторами не проверялась.


Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

#4450 19-01-2014 19:33

Mr. Rollton
From: Томск
Registered: 17-01-2014
Posts: 8

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

Voron295 wrote:

Может GTA Forums подойдёт? Правда это не русский форум.

Уже был там, тема о самом Limit Adjuster'е умерла, но вопрос все же задал, может, ответит кто.

Voron295 wrote:

А вообще, какие лимиты тебя интересуют?

В первую очередь интересуют Streaming Memory, Streaming Vehicles, CarMods и Vehicle Models.
Вообще, эти лимиты нужны мне для добавления (не замены) автомобилей и возможности их тюнинга собственными деталями.
Ну а Streaming Memory - чуть ли не must have для HQ-моддеров.

DK22Pac wrote:

SA Limit Adjuster писался ещё во времена мамонтов, а потому устарел, и его ошибки никто исправлять не будет. Там куча лимитов патчится, и, как мне показалось, работоспособность большой части из тех патчей авторами не проверялась.

С одной стороны, подавляющее большинство лимитов, которые позволяет менять этот аджастер, меня не интересуют. С другой - только в этом аджастере есть те, которые нужны мне. Так что я даже и не знаю, что делать =\ Не хотелось бы останавливать "творческий процесс" из-за нерабочей утилиты.

Offline

Board footer

Powered by FluxBB