reggy
15.10.2002, 17:30
Помогите разобраться!
Я тут начал собирать скрипт для МР.
Выложил бы, да требуют брифинга и пр. Я еще новичок - не знаю как энто делать, да и времени нет.
Сюжет такой:
Игроки с каждой стороны могут управлять несколькими группами + своей группой. Ч/з радиокоманды, передвигая WP-маркеры, давая команду на движение и поведение.
Другие маркеры отслеживают местоположение группы.
На каждую группу можно включить камеру или ч/з радиокоманду получить информацию о состоянии.
У меня шестнадцать групп с каждой стороны, а так - сколько выдержит ваш боевой писюк.
Каждую группу, включая свою, игрок укомплектовывает по своему усмотрению.
Стоимость юнитов определяется в зависимости от скила и типа и вычитается из счета игрока.
Также покупаются вииклы и т.д.
Дальше можно наворачивать сколько угодно.
Все вышеприведенное работает кроме...
Речь идет о команде CreateUnit и особенностях сетевой работы OFP.
Перебрал уже с десяток-другой вариантов - без толку.
Это последний.
Как известно, для того чтобы скриэйтить юнит, нужна существующая группа:
UnitType CreateUnit (position,group) - остальные optional.
Организую это так - в ините юнита: GroupName = group this
Но удаляю юнит в скрипте, вызываемого из init.sqs: перебираю группы и ч/з DeleteVehicle удаляю юнит, остается пустая группа, - по крайней мере, это пока луший вариант из перебранных.
На компе, где сервер, почти все нормально. А на клиентской юнит генерится, но принадлежит к нулевой группе и NearestObject не его не находит. И никак до него, гаденыша, не добраться!
Если лидера группы не удалять, то созданный юнит за ним бегает, с особенностями описанными ниже. Но, как лидера убивают, опять прикидывается ветошью.
Тут как-то замешаны преславутые сетевые особенности.
1. Покрутил с ?!(local Server):goto "end" и никак не могу "поймать" чё ж он делает?
Как я понимаю, с помощью вышеприведенного скрипта заставляют скрипт выполняться на клиенте или сервере. Если на клиенте, то что значения, присвоенные глобальным переменными не будут видны на других машинах? и т.д.
2. Что за переменная Server и как все это влияет на выполнение скриптов?
3. Далее, почему не работает оператор join на клиенте?
4. Соданные юниты, даже несмотря на персональный приказ двигаться к точке или за лидером, начинают движение только после того как лидер достиг точки назначения. Это касается только юнитов, созданных в процессе игры.
Может кто-нить толково разъяснить по этому поводу?
Спасибо!
Я тут начал собирать скрипт для МР.
Выложил бы, да требуют брифинга и пр. Я еще новичок - не знаю как энто делать, да и времени нет.
Сюжет такой:
Игроки с каждой стороны могут управлять несколькими группами + своей группой. Ч/з радиокоманды, передвигая WP-маркеры, давая команду на движение и поведение.
Другие маркеры отслеживают местоположение группы.
На каждую группу можно включить камеру или ч/з радиокоманду получить информацию о состоянии.
У меня шестнадцать групп с каждой стороны, а так - сколько выдержит ваш боевой писюк.
Каждую группу, включая свою, игрок укомплектовывает по своему усмотрению.
Стоимость юнитов определяется в зависимости от скила и типа и вычитается из счета игрока.
Также покупаются вииклы и т.д.
Дальше можно наворачивать сколько угодно.
Все вышеприведенное работает кроме...
Речь идет о команде CreateUnit и особенностях сетевой работы OFP.
Перебрал уже с десяток-другой вариантов - без толку.
Это последний.
Как известно, для того чтобы скриэйтить юнит, нужна существующая группа:
UnitType CreateUnit (position,group) - остальные optional.
Организую это так - в ините юнита: GroupName = group this
Но удаляю юнит в скрипте, вызываемого из init.sqs: перебираю группы и ч/з DeleteVehicle удаляю юнит, остается пустая группа, - по крайней мере, это пока луший вариант из перебранных.
На компе, где сервер, почти все нормально. А на клиентской юнит генерится, но принадлежит к нулевой группе и NearestObject не его не находит. И никак до него, гаденыша, не добраться!
Если лидера группы не удалять, то созданный юнит за ним бегает, с особенностями описанными ниже. Но, как лидера убивают, опять прикидывается ветошью.
Тут как-то замешаны преславутые сетевые особенности.
1. Покрутил с ?!(local Server):goto "end" и никак не могу "поймать" чё ж он делает?
Как я понимаю, с помощью вышеприведенного скрипта заставляют скрипт выполняться на клиенте или сервере. Если на клиенте, то что значения, присвоенные глобальным переменными не будут видны на других машинах? и т.д.
2. Что за переменная Server и как все это влияет на выполнение скриптов?
3. Далее, почему не работает оператор join на клиенте?
4. Соданные юниты, даже несмотря на персональный приказ двигаться к точке или за лидером, начинают движение только после того как лидер достиг точки назначения. Это касается только юнитов, созданных в процессе игры.
Может кто-нить толково разъяснить по этому поводу?
Спасибо!