#26 Re: Вопросы по скриптингу » Один вопрос » 30-01-2010 12:15

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

#27 Re: Вопросы по скриптингу » GXT Hook vs. SA:MP » 30-01-2010 11:49

Что-то название совсем не соответствует теме... Оффтоп!)
GXT Hook vs. SA:MP буквально как GXT Hook против SA:MP'а rolleyes

#28 Re: Вопросы по скриптингу » Один вопрос » 08-01-2010 17:35

d88 wrote:

Хотя мне кажется опкоды всё же те, просто описаны неточно

01EA: 60@ = car 59@ max_passengers - макс. возможное число пассажиров (т.е. сколько их может поместиться в данной машине)

Неправильно тебе кажется.  smile
Тут как раз-таки имеется в виду кол-во пассажирских мест машины, а если бы речь шла о макс. кол-ве сидячих мест, то опкод бы выглядел примерно так:
07A2: 60@ = car 59@ max_seats
01E0: 43@ = car 71@ occupied_seats

#29 Re: Вопросы по скриптингу » Один вопрос » 08-01-2010 17:25

GTASA wrote:

Это проверяет, сколько пассажиров в трансопрте (педов). А надо мне проверять количество МЕСТ (не важно, пустых или занятых, просто мест).

Ух, какая сложной задачка! Зная кол-во пассажирских мест определить кол-во всех мест с водителем...
Уже в вопросе есть ответ! Просто к кол-ву макс. мест прибавляешь 1 и всё! В чём трудность-то?
"Не всё в мире автоматически, а приблежение к таковому лишь ведёт к забвению порвозданного."

#30 Re: Вопросы по скриптингу » Один вопрос » 07-01-2010 18:17

GTASA wrote:

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

Ты, верно, искал в опкоднике только по ключевым словам 'seats'. Конечно, в этом случае, ты не обнаружил искомое.
Набираешь в OST (Opcode Search Tool) в строке поиска 'passengers' и всё становится иначе!  smile
01E9: 43@ = car 71@ num_passengers - текущее кол-во пассажиров
01EA: 60@ = car 59@ max_passengers - макс. кол-во пассажиров
Кстати говоря, тот же вопрос выдвигал в этом топике ранее, допустив описанную выше мной оплошность.

GTASA wrote:

И вот. Как проверить, что какой-то актер выходит из машины?

Далеко не все действия актёров можно проверить простыми опкодами, только основные. Специально для этого были придуманы PEvents (Ped Events), с помощью которых можно проверить любое, даже незначительное действие какого-либо актёра, главное - знать нужный параметр.
PEvent 7 EVENT_DRAGGED_OUT_CAR попробуй это.
Ещё один из способов - связь какого-либо действия с нужной анимацией, для последующей проверки действия по анимации.
Некоторая информация.

#31 Re: Вопросы по скриптингу » Один вопрос » 03-01-2010 21:35

Он достоверен, если что-то существует.
Перестать быть подлинным он может в любое мгновение, так же возможно и обратное - подолгу является таковым.
Даже в самом мейне есть масса таких проверок, не стоит этим пренебрегать, ведь если попытаться совершить что-либо с чем-то несуществующим, игра поведёт себя мягко говоря нехорошо, - стопроцентный вылет  smile
А wait тут непричём. Сам подумай: как задержка может сказаться на оперируемом объекте? Просто бытует проверенное мнение насчёт действительности существования чего-либо, и верно. Если посмотреть  с логической точки зрения: при задержке мы можем утерять контроль над происходящим, как бы нет синхронизации из-за того что скрипт "ждёт" и не выполняет никаких действий. Соответсвенно, за это время без "сихронизации" между скриптом и игрой с предметом, машиной или актёром что-то может произойти из-за хода игрового процесса.

#32 Re: Вопросы по скриптингу » Один вопрос » 03-01-2010 12:48

Drift_Legend wrote:

подскажите, пожалуйста, можно ли на обычном автомобиле включить сирену (как на полицейской машине) со звуком, чтоб уступали дорогу другие водители?

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

Drift_Legend wrote:

как заставить нарисованную текстуру плавно исчезать с экрана в течении некоторого времени?

Именно такой команды нет, но сделать возможно. Нужно выводить эту же текстуру, со временем отображая текстуру всё прозрачнее и прозрачнее её самой. Для этого надлежит последнее значение (Alpha) в опкоде в параметрах RGBA при выводе каждый раз уменьшать (от 255 к нулю) с нужной прогрессией, чтобы становилось всё прозрачнее, а затем и вовсе удалить текстуру, когда она станет невидимой.
Я говорю о опкодах
038D: draw_texture 2 position 160.0 112.0 scale 320.0 224.0 RGBA 150 150 150 255
074B: draw_texture 2 position 160.0 112.0 scale 320.0 224.0 angle 90.0 RGBA 150 150 150 255

Всегда бывают статьи, предназначенные для туториала.

#33 Re: Вопросы по скриптингу » Один вопрос » 03-01-2010 12:14

Alien, у тебя такая же проблема, что и у d88 )
А может быть. ты просто не полностью прочитал мой вопрос.
Как можно имитировать использование скрипта вербовки игроком на каком-нибудь актёре.
Я говорю о скрипте, который срабатывает, когда ты прицеливаешься на гангстере грув и нанимаешь его в банду после нажатия GROUP_FORWARD, ещё этим же скриптом создаются маркеры на радаре и на карте и он же отвечает за устранение членов банды при удалении от них.

Как можно это иммитировать, сделать, что что происходит с грувом, когда игрок приглашает его в банду.
После согласия актёра на приглашение появляется зелёная иконка на радаре "Друг" (отмечает завербованного), ещё этот скрипт убирает актёра из группы, если игрок удалён от него на некоторое расстояние и удаляет о нанятом инфу (RemoveReferences).
Как сделать также на любом актёре?

Alien wrote:

Откуда в exe скрипты?

Ну, я имею в виду намертво вделанные в игру скрипты, такие как прибытие медиков, пожарных, погоня полицеских за игроком и остальные скрипты, которых нет в мейне и не external. Вот уж не знаю, где эти "забетонированные" в игру скрипты располагаются.

***

d88 wrote:

Да, я знаю этот способ, но проблема в том, что больше 2 новых педов записать нельзя, движок не выдерживает. Заменять старых тоже не очень хочется. Вот я и надеялся, что скриптом можно это сделать создав спецактёра.

Рассмотрим с этой позиции. Думаю, можно осуществить.

Сначала проверяешь группу прохожих и проежах тачек.
08D3: get_present_zone_popcycle_group_for_peds_and_cars_to 26@
Затем сравниваешь его с заранее выясненной группой попциклов, в которой есть грувы (например, можно взять Ganton) и если проверка возвращает тру, идти дальше. 
Находишь хендл рандомного актёра на улице, а затем (можно и с какой-либо вероятностью) изменяешь его модель на нужную, или лучше вообще заменить педа (если используешь спецактёра, дать ему decision maker, идентичный грувовцу). И так каждый раз, добавить только разные дополнительные проверки, чтобы ничего не выглядело искуственно и приписать нужные задержки.
Дерзай)

#34 Re: Вопросы по скриптингу » Один вопрос » 02-01-2010 19:23

Den_spb wrote:

Использовать scm log

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

GTASA wrote:

как определить место ошибки в скрипте?

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

#35 Re: Вопросы по скриптингу » Один вопрос » 02-01-2010 19:15

d88 wrote:

Daeman, нет, я имел ввиду второй вариант, чтоб они на улице встречались.

Тогда скажу о втором.
Здесь не всё так просто. Чтобы добавить педа, надо во всех файлах прописать о нём инфу, кто он такой, к какой группе относится, когда ходит, на каких машинах ездит, какой у него звуковой банк, его поведение... В общем, в абсолютно всех файлах о педах.

d88 wrote:

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

Нет, ты неправильно понял. Всегда нужно правильно понимать вопросы и вникать в них, от понимания вопроса зависит и ответ.
Насчёт работы с членами банды и способа, предложенного тобой, я знаю, но мне нужно вовсе не это.

Чтобы безошибочно понять вопрос нужно просто правильно его прочитать.

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

Уточню. Я имею в виду скрипт, намертво вшитый в exe-шник игры.
Ещё раз попрошу, ответьте кто-нибудь, пожалуйста!
Если слишком сложный для понимания вопрос, упрощу  smile
"Как можно сделать так, чтобы с актёром было то же самое, что и когда бы игрок дал ему команду войти в банду"

#36 Re: Вопросы по скриптингу » Один вопрос » 01-01-2010 12:32

можно ли скриптом создать спецактёра и сделать так чтоб он входил в банду Грув?

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

Чтобы в банду игрока входили ещё и доп.актёры кроме нанятых на улице, нужно увеличить макс. кол-во гангстеров в группе игрока (можно по стату, или прибегнуть к памяти), а затем добавить их как актёров в группу Player'а ($PLAYER_GROUP). Можно макс. кол-во бандитов и не изменять, только добавить нужных персонажей.

Ответьте, пожалуйста, на мой вопрос. Повторю его ещё раз.
Как можно имитировать использование скрипта вербовки игроком на каком-нибудь актёре.
Я говорю о скрипте, который срабатывает, когда ты прицеливаешься на гангстере грув и нанимаешь его в банду после нажатия GROUP_FORWARD, ещё этим же скриптом создаются маркеры на радаре и на карте и он же отвечает за устранение членов банды при удалении от них.

Ещё мини-просьба от меня. Скажите плиз, кому известно, адрес флоат стата 24 (max.health).


[---]
А, и чуть не забыл. smile
С НОВЫМ ГОДОМ! clap

#37 Re: Вопросы по скриптингу » Один вопрос » 28-12-2009 19:05

Ответил, теперь спрашиваю, передал эстафетную палочку самому себе)

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

#38 Re: Вопросы по скриптингу » Один вопрос » 28-12-2009 18:50

d88
Сначала узнаёшь айд куррент веапона (номер текущего оружия, по-русски)) у нужного тебе актёра
потом узнаёшь модель
0781: get_weapon_with_ID $AMMU_SELECTED_WEAPON model_to $AMMU_SELECTED_WEAPON_MODEL
нагло отбираешь у актёра оружие и взамен даёшь ему вруки модель-безделушку, которую потом можно сделать невидимой.

Но это не немного не то smile
С таким способом актёрам не получится атаковать или что-нибудь ещё

Мож, через память изменить модель нужного оружия, в данном случае огнемёта, на никакую?
Это где-то было такое, что-то типа адреса модели для каждого оружия. Можно с этим похимичить.

#39 Re: Вопросы по скриптингу » Один вопрос » 12-12-2009 11:06

GTASA wrote:

У меня номер оружия находится в переменной 1@.
Как мне в самом скрпте сделать конвертацию из номера в модель (#model), но чтобы эта модель тоже была в переменной, например, 2@.

Значение переменной не может быть, например

2@ = #MINIGUN

а будет всегда числовым

2@ = 362

Так что, это примечание от тебя здесь не совсем уместно.
Вот подходящий опкод:
0781: get_weapon_with_ID $AMMU_SELECTED_WEAPON model_to $AMMU_SELECTED_WEAPON_MODEL
0781: сохранить_модель_оружия_с_ID $AMMU_SELECTED_WEAPON в $AMMU_SELECTED_WEAPON_MODEL

#40 Re: Вопросы по скриптингу » Один вопрос » 09-12-2009 12:04

0376: 18@ = create_random_actor_at -1576.88 55.26 8.57
- создать рандомного актёра, только модель тоже наугад)

#41 Re: Вопросы по скриптингу » Один вопрос » 16-11-2009 12:03

Seemann
А лучше всё-таки в справку СБ smile


[Ещё один пост]
По поводу анкоунов, кто-нить разбирался? Тестировали чё-нить? А то вдруг там жутко интересный новый опкод объявится)

#42 Re: Вопросы по скриптингу » Один вопрос » 02-11-2009 10:33

@GTASA
08DD: keep_stuff_after_wasted 0 - даёт возможность оставлять оружее после того, как игрока убили
08DE: keep_stuff_after_busted 0 - оставляет оружее после того, как Карла арестовали

Справочный материал спасёт страну, ну, и ещё пару деревень; справка СБ спасёт скриптовый мир СА  smile

[c][large]0A24: enable_military_zones_wanted_level 0[/large][/c]
малоизвестный опкод, предугадывая вопрос @GTASA добавлю ещё:
07A8: enable_area69_sam 0 // включить(1)/выключить(0) ПВО в зоне area69
09E4: enable_aircraftcarrier_sam 0 // включить(1)/выключить(0) ПВО на Авианосце в СФ

Kostyan wrote:

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

Насчёт респавна блюстителей закона -
04F8: define_police_trigger_type 3 if_player_with_wanted_level_in_rectangle 2435.2 -1741.0 2454.9 -1723.4 spawn_policeA_at 2481.0 -1707.0 headed_towards 2480.0 -1732.0 spawn_policeB_at 2481.0 -1707.0 headed_towards 2480.0 -1732.0

Вот только мне слабо понятно, зачем использовать поворот головы (headed_towards), если можно просто прописать угол. И что за несусветная величина в параметрах с headed_towards, если для этого используются оффсеты от головного мозга, например в опкоде 0834.

#43 Re: Вопросы по скриптингу » Один вопрос » 21-09-2009 15:45

Можно бесконечно направлять камеру в ту точку, где находится объект.
Ещё вариант - прицепить педа к объекту и сфокусировать камеру на нём. Ну, это уже в конец замудрённо rolleyes

#44 Re: Вопросы по скриптингу » Один вопрос » 17-09-2009 14:26

Удовлетворяю своё желание поиграться с SAAT'ом smile
SCRIPT - Bank_046 (диалог из миссии где была сделка Балла и русских) - Sound_005
"Stop! Vygodu Byznes!" Ну, думаю, вы и сами поймёте - "Стоп! Выгодный бизнес!"
Смехотворное подобие на русскую речь grin

#45 Re: Вопросы по скриптингу » Один вопрос » 17-09-2009 13:58

Да, по-моему, то что надо appl.gif
А вот графа Offset (dec) за что отвечает? Это ID звука? Оффсет айда звука, тогда относительно чего?
Разрешите полюбопытствовать, почтейнейшие. smile

Это конечно всё хорошо, но есть ли таблицы с тем же описанием, но только ID игровых звуков. smile

#46 Re: Вопросы по скриптингу » Один вопрос » 16-09-2009 14:26

Насчёт экспортирования саундтреков.
Есть ли какая-то таблица звучков (внутриигровых звуков относительно извлекаемых) чтобы, к примеру, достав из игры звучки, SAAT'ом не наугад тыкаться, а точно знать где и что.
А то там всё по банкам (папкам) и имена числовые, совсем отличные от звуков.

#47 Re: Вопросы по скриптингу » Один вопрос » 11-09-2009 15:15

Нъльзя не согласиться с тобой, reute70. Но и знание съго завътного компонънта отнюдь не повръдитЪ скриптингу дабы отвъргнуться в случае крайнъм от нъжелатъльности разной, кой к той стати говоря, поразвълось на Руси великое множество, да и из стран заморских тоже пожаловали на такое вадиться.

#48 Re: Вопросы по скриптингу » Один вопрос » 10-09-2009 14:53

Это от того, что оная команда IGNORE_UNKNOWN есть команда toggle.
И использовать её надобно - IGNORE_UNKNOWN on/off
В прилагающейся учебной грамоте (F12) описаны задачи для консоли.

#49 Re: Вопросы по скриптингу » Один вопрос » 10-09-2009 12:45

Как можно заблокировать скрипт, чтоб его нельзя было декомпилировать, ну, или по крайнему чуру - очень сложно и поистине непостижимо для массовки скриптеров-новичков. Хочу использовать во избежании плагиаторства и присвоении идей скрипта, да, и как защита вообще.
Что касается добавления "неизвестного" опкода - то это решается настройками в консоле (toggle IGNORE_UNKNOWN on) и такой скрипт паче чаяния кодеров возможно открыть.
Я же слово молвлю о блокировке скрипта, чтобы никаким образом (или почти никаким) его нельзя было открыть.
Одинажды повстречал я такой скрипт - Супермэн мод. При попытке моей к декомпиляции SB зависает и не отвечает ни на какие команды.
Как можно добиться оного?
P.S.
Практикую старословие в качестве замены новых ухищрёных пришельцев русского языка из заморских речей.

#50 Re: Вопросы по скриптингу » Один вопрос » 03-09-2009 13:40

PIT wrote:

вопрос: как удалить у педа референцес, при этом чтобы он атакавал актёра?

ответ: узнаёшь у жертвы педтип и делаешь hate CivMale (или CivFemale) к оному. Затем можно смело удалять сведения.
Объясню на всякий случай, почему команда для педтипа прохожих, а не для текущего педтипа агрессора. Когда референцы удаляются актёру заново даётся хэндл как простому смертному.

Board footer

Powered by FluxBB