Перейти к содержимому


Вадим Буренков

Регистрация: 15 Jun 2009
Offline Активность: 07 Nov 2010 11:07
-----

Мои сообщения

В теме: Скриптинг в GTA IV

25 June 2009 - 17:53

Тогда по идее должен быть файл в котором прописано когда должны запускаться .sco миссии и скрипты.

В теме: Скриптинг в GTA IV

25 June 2009 - 16:54

А как устроены скрипты в Gta4? В GTASA был Main с миссиями и внешние скрипты. Open IV открывает sco скрипты, они являются внешними или в них еще и миссии содержатся? Какова роль Main.sc в common/data?

В теме: Скриптинг в GTA IV

23 June 2009 - 08:13

Это общее правило для всех версий, в SB тоже нужно было ожидание делать.

В SB я не делал ожидания и у меня все работало. И я не видел ни одного скрипта в SB где проверялось существование обьекта командой Exsist после создания . Эта команда нужна была только когда ты берешь например случайную машину из игры в раюиусе x метров от игрока , и нужно проверить существует ли такая машина.

Уже немало скриптовых модов (в т.ч. gta-real.com) и под луа немало интересных

В основном все моды по изменению погоды и времени, камеры, прицепления к обьектам и.т.д. Ничего интересного не нашел. Правдо был мод киллера(типа миссий), но он упакован в ASI и я не знаю как достать исходный код.

Кто нибудь зеает как использовать Group команды?Вот код:
//создаб группу
CreateGroup(false,@MyGroup,true);
while not DoesGroupExist(MyGroup) do wait(0);

//находим координаты
 GetOffsetFromCharInWorldCoords(PlayerChar, 0, 15, 0, @tx, @ty, @tz);
//создаем Char'а
Actor.ActorCreate(MODEL_IG_BRUCIE,tx,ty,tz,Actors[1]);
//дальше нужно добавить его в группу,  но ничего не происходит
SetGroupMember(MyGroup,Actors[1]);
Я также эксперементировал с коммандами
SetGroupFormation
SetGroupFormationSpacing
SetGroupSeparationRange, но они не дают результата.
Если же добавлять Char'а в группу игрока, то все работает:
GetPlayerGroup(PlayerID, @MyGroup);
SetGroupMember(MyGroup,Actors[1]);
Помогите, очень нужно.Кстати, может знает кто где найти моды на Alice SDK с открытым кодом на Delphi?

В теме: Скриптинг в GTA IV

22 June 2009 - 18:13

Путем проб и ошибок понял одну важную вещь: если создаешь какой либо игровой объект ( машину, человека и.т.д), то нужно останавливать код до тех пор пока она не создастся. Например:
//создаем человека
CreateChar(4, Model, x, y ,z, @Actor, true);
//даем оружие
GiveWeaponToChar(Actor,WEAPON_SHOTGUN, 100, true);
Данный код не работает, поскольку человек создается командой CreateChar определенное время, а команда GiveWeaponToChar наступает до его создания

Вот рабочий пример:
//создаем человека
CreateChar(4, Model, x, y ,z, @Actor, true);
//если Char не создан ждем 
while not DoesCharExist(Actor) do wait(0);
//как Char создался код идет дальше.
GiveWeaponToChar(Actor,WEAPON_SHOTGUN, 100, true);


Также разобрал команду
TaskShootAtChar(Char1, Char2 : Ped; TimeMaybe : u32; UnkI : i32);
Char1-кто стреляет
Char2-в кого стреляют
TimeMaybe-время
UnkI- мне известны значения: 1 - просто навести оружие на Char2 но не стрелять; 5,4(возможно 3 и 2) - стрелять
Есть предположение что 2,3,4,5 это часть тела в которую стрелять.

В теме: Скриптинг в GTA IV

22 June 2009 - 08:54

либо декомпилировать sco и смотреть КАК используются функции по контектсу, и делать выводы. Либо ставить разные параметры и смотреть на результаты в игре.

Проблема в том, что раньше (GTASA и SannyBuilder) я пользовался первым способом, а тут никакого SCO нет, ведь скрипты пишутся в чистом .ext на Delphi, а подбирать такое количество значений вручную можно вечно и безрезультатно.
А разве уже есть программы для редактирования игровых скриптов gta4 в SCO?

А как с помошью Alice SDK вывести на экран коогдинаты игрока. Получить я их смог, а выводить не умею(пробовал Print'ом и не получается).