NECros88
offline
Опыт:
16,351Активность: |
Проблема циклов и вэйтов
Столкнулся с проблемкой... Необходимо сделать для 8-ми игроков одни и те же трюки с камерой. Ну я загнал игроков в группу и циклом начал управлять камерами, но тут столкнулся с проблемой... так как в триггере с камерами необходимы вэйты, то цикл просто останавливается после первого же вэйта в триггере, причём останавливается навечно. Отсюда я сделал вывод, что вообще в любых циклах нельзя использовать вэйты. И единственный выход из этой ситуации я пока вижу только в переборе одних и тех же функций для каждого игрока, но если со стороны посмотреть на это, то получаться нехилые тормоза и просто гемор при создании этих триггеров. Собственно, подскажите как можно сделать всё это другим, более лёгким способом, можно на жассе... |
13.02.2007, 21:58 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exAres
I love magic :)
offline
Опыт:
7,788Активность: |
NECros 88 :
1) возможно у тебя цикл "виснет" из-за невозможности из него выйти(проверка не правильная) это в случае если ты пользуешся джассом. 2) вейты останавливают поток только если использовать их в группе, а в цикле они наоборот не дают потоку повиснуть если он исполняется очень много раз ! 3) можеш вместо цикла использовать просто ифы но придётся делать много copy-paste, да и писанины не меньше :( "получаться нехилые тормоза " - не думаю что тормоза будут больше чем при использовании цикла. |
13.02.2007, 23:25 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NECros88
offline
Опыт:
16,351Активность: |
Тут каматозник подкатил, щас разберёмся с ним)) Если что, отпишусь... |
13.02.2007, 23:30 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
VBSniper
Ёк макарёк
offline
Опыт:
3,486Активность: |
NECros 88
А что если для каждого игрока делать свои тригеры, что всё виснет?? Вот лично у меня ничего не виснет, ты посмори на доту, там сплошные тригеры!(джас) и ничего не виснет!" |
14.02.2007, 06:18 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
nic666
offline
Опыт:
5,612Активность: |
NECros 88
Проблема может быть в том, что счетчик цикла меняется другим триггером когда вэйт. Попробуй использовать цикл с отдельной переменной, которая не используется в других триггерах и циклах... |
14.02.2007, 10:26 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
Цитата:
Про глючность вэйтов писалось стопицот раз, используй таймеры, если ничего не поможед.. |
|
14.02.2007, 10:59 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MPI3
Хм...
offline
Опыт:
24,597Активность: |
Ну.. можно сделать тупо, но будет работать: 8 триггов, Одно и тоже совитие и условие, действия для разных игроков. Но это уже крайний случий! |
14.02.2007, 11:07 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
Насколько я знаю манипуляция с камерой в гуи идет через бж функцию, которая отлавливает игрока. А если просто попробовать юзать нативку, она должна походу для всех игроков пахать, ну эт если те над шоб одинаковая камера была. |
14.02.2007, 11:57 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
в сj есть натива ForForce(takes force whichForce, code callback returns nothing) для игроков.
|
14.02.2007, 12:11 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NECros88
offline
Опыт:
16,351Активность: |
Короче кто сказал чтобы для каждого игрока делать отдельный триг, я уже по-моему послал этот вариант на, так как это большой гемор. Группа игроков и циклы не пашут. Насчёт
Цитата:
ты сам пробовал? |
|
14.02.2007, 17:49 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
Нет, цитата из сурса *сж в тему. Сейчас попробую :): Можеш кстати пример кода с глючными вэйтами выложить, будем фиксить точечно |
14.02.2007, 17:53 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NECros88
offline
Опыт:
16,351Активность: |
FellGuard постараюсь выложить, если каматозник ничего не сообразит) Пока сам думаю...
|
14.02.2007, 17:57 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FellGuard
Losyash
offline
Опыт:
39,547Активность: |
» Так пробовал? DEAD URL |
14.02.2007, 17:59 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NECros88
offline
Опыт:
16,351Активность: |
После первого же вэйта далее не пашет... |
14.02.2007, 18:02 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
Хм, лол, а вы как думали? Посмотрите код функции PolledWait (триггерный Wait) и все вопросы сами отпадут. используй вместо него call TriggerSleepAction(Количество секунд) |
14.02.2007, 18:41 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NECros88
offline
Опыт:
16,351Активность: |
NETRAT угу, попробую...
|
14.02.2007, 18:44 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ComotozNick
Активность: 666
offline
Опыт:
26,206Активность: |
Цитата:
Цитата:
Касательно карты - сделал, все работает. Правда выглядит не очень красиво... и лаги, но зато работает. Пришлось немножко удлиннить триггер за счет того что заменил один цикл несколькими. |
||
15.02.2007, 01:59 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
online
Опыт: отключен
|
А ты попробуй циклом задавать переменную игрока и ранить тригг, запускающий камеру, n раз.. |
16.02.2007, 00:00 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NECros88
offline
Опыт:
16,351Активность: |
ScorpioT1000 впринципе толка? Лаги остануться...
NECros 88 добавил: Цитата:
ты неправ))) |
|
16.02.2007, 00:06 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|