Сейчас 21:04:21 Пятница, 22 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Замена Waity
VladSekretДата: Суббота, 18 Октября 2014, 14:44:38 | Сообщение # 1
6 уровень
Группа: Проверенные
Сообщений: 198
Награды: 0
Репутация: -50
Блокировки:
ЗАмена Wait, мне Сектор сказал, что проблема в карте из-за него, можно ли альтернативу на джассе? Таймер не предлагать,там не получится нормально сделать для многих игрков, если все сдохнут в течение 5сек, система нафигполетит.
 

НаклзДата: Суббота, 18 Октября 2014, 16:34:11 | Сообщение # 2
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Нет. Замены не существует. Только таймера (может сторожили объяснят как ими пользоваться, ибо я не понимаю, как нормальной системе с локальными переменными юзать таймера).
 

VladSekretДата: Суббота, 18 Октября 2014, 16:52:05 | Сообщение # 3
6 уровень
Группа: Проверенные
Сообщений: 198
Награды: 0
Репутация: -50
Блокировки:
ок таймер, но полную систему как его сделать, просто у меня Unit умирает, Вейт 5 сек, и создать рандом Unit[Random 0-3]] for OWNER oF DYING UNIT at Respawn Point Of DYING UNIT. У меня в карте перестают респаунится войны, сектор сказал вейт все нафиг ломает, а как сделать таймером, что For Owner of Dying Unit, другое событие всетаки, это уже не сработает, а надо это. ПРобовал создать типо боевая еденица - Dying unit, но надо массив, а в другой переменной если Dying Unit[Хрен знает что тут, Owner of Dying Unit не сработает]
 

MelodiaДата: Суббота, 18 Октября 2014, 16:55:44 | Сообщение # 4
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
таймеры жизни юнитам)))))))00000000000

CM wars 1.15
ЭПОХА АНИМИРОВАННЫХ ТРИГГИРАФ ПРЕШЛА
 

VladSekretДата: Суббота, 18 Октября 2014, 16:59:08 | Сообщение # 5
6 уровень
Группа: Проверенные
Сообщений: 198
Награды: 0
Репутация: -50
Блокировки:
нашееел!
CustomScript TriggerSleepAction(5.00)


Сообщение отредактировал VladSekret - Суббота, 18 Октября 2014, 16:59:24
 

BorodachДата: Суббота, 18 Октября 2014, 17:20:53 | Сообщение # 6
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
TriggerSleepAction(5.00) = GUI'шному Wait
Если без таймера..., альтернатива Wait(Game-Time)


Karamba
 

VladSekretДата: Суббота, 18 Октября 2014, 17:51:48 | Сообщение # 7
6 уровень
Группа: Проверенные
Сообщений: 198
Награды: 0
Репутация: -50
Блокировки:
Я уж понял, триггер слип актион тож не как

Добавлено (18 Октября 2014, 17:28:39)
---------------------------------------------
Бородач а можешь с таймером сделать как-то?

Добавлено (18 Октября 2014, 17:51:48)
---------------------------------------------
Wait GameTime тоже не пашет, либо у меня все таки действие слетает

 

НаклзДата: Суббота, 18 Октября 2014, 18:01:21 | Сообщение # 8
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Нет, оно изначально не пашет у всех, вейты это зло.
 

BorodachДата: Суббота, 18 Октября 2014, 18:31:41 | Сообщение # 9
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
Цитата Наклз ()
вейты это зло.

Только в мультиплеерной игре.

Сдесь тебе помогут локальные переменные Load....


Karamba


Сообщение отредактировал Borodach - Суббота, 18 Октября 2014, 18:32:10
 

ExtrematorДата: Суббота, 18 Октября 2014, 19:08:00 | Сообщение # 10
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Лучшая замена - таймер.
Оптимален, гибок, управляем.
Можно построить что угодно.

Цитата Наклз ()
я не понимаю, как нормальной системе с локальными переменными юзать таймера
локально ты создаёшь лишь переменную, по обращению к которой будешь получать свой таймер
сам же таймер - существует как объект, вне понятий локальный или глобальный

ты можешь объявлять локалку и цеплять на неё созданный таймер
local timer t = CreateTimer()
далее запускать таймер с указанием активируемой им функции
call TimerStart( t, .03, true, function Func0001 )
либо создавать триггер, и добавлять ему ивент со срабатыванием своего таймера
call TriggerRegisterTimerExpireEvent( trig, t )


Сообщение отредактировал Extremator - Суббота, 18 Октября 2014, 19:10:03
 

VladSekretДата: Суббота, 18 Октября 2014, 19:24:02 | Сообщение # 11
6 уровень
Группа: Проверенные
Сообщений: 198
Награды: 0
Репутация: -50
Блокировки:
Скажи как конкретно сделать, идут действия, таймер с 5 секундами, и еще действия. Но надо чтоб если сработает этот триггер еще раз, до того как истечет таймер, нужно чтоб таймер не слетел.
 

НаклзДата: Суббота, 18 Октября 2014, 19:24:33 | Сообщение # 12
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Extremator, оу, об этом коде я не знал (плохое знание Jass)... пол года назад я бы за это тебе бутылку вискаря подарил, а так - лови плюс(завтра только смогу), очень поможет в работе.

Сообщение отредактировал Наклз - Суббота, 18 Октября 2014, 19:28:34
 

ExtrematorДата: Суббота, 18 Октября 2014, 19:41:32 | Сообщение # 13
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Цитата Наклз ()
оу, об этом коде я не знал (плохое знание Jass)
я сам не знаю Jass .-.
 

VladSekretДата: Суббота, 18 Октября 2014, 19:55:31 | Сообщение # 14
6 уровень
Группа: Проверенные
Сообщений: 198
Награды: 0
Репутация: -50
Блокировки:
Цитата Extremator ()
call TimerStart( t, .03, true, function Func0001 )

Какая нафиг функция??? ОТКУДА Я УЗНАЮ номер функции и че это такое, обьяснил бы хоть
 

ExtrematorДата: Суббота, 18 Октября 2014, 19:57:53 | Сообщение # 15
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:






Сообщение отредактировал Extremator - Суббота, 18 Октября 2014, 20:07:15
 

VladSekretДата: Суббота, 18 Октября 2014, 20:12:03 | Сообщение # 16
6 уровень
Группа: Проверенные
Сообщений: 198
Награды: 0
Репутация: -50
Блокировки:
ФАААААААКК... У меня щас моозг взорвется просто! В начале я писал что таким способом никак не получится. ПОтому-что за эти 5 секунд таких триггеров запустится еще раз 5, слетит 100 раз, надо в 1 тригг, или мега профф в два, я таким способом давно пробовал, даже посложнее...
 

BorodachДата: Суббота, 18 Октября 2014, 21:07:27 | Сообщение # 17
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
Так я не понял... то что скинул тебе не помогло??? Какого результата ты добиваешся???

Karamba
 

MelodiaДата: Суббота, 18 Октября 2014, 21:34:52 | Сообщение # 18
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
Цитата Borodach ()
Какого результата ты добиваешся???

Ты сделаешь ему наработку, которую он воткнёт в карту, а потом будет клянчить у другого, чтобы проверил всю карту и "исправил, почему не работает"


CM wars 1.15
ЭПОХА АНИМИРОВАННЫХ ТРИГГИРАФ ПРЕШЛА
 

VladSekretДата: Суббота, 18 Октября 2014, 21:50:39 | Сообщение # 19
6 уровень
Группа: Проверенные
Сообщений: 198
Награды: 0
Репутация: -50
Блокировки:
Цитата Borodach ()
Так я не понял... то что скинул тебе не помогло??? Какого результата ты добиваешся???

Нет, я твою наработку не открывал, а она мне разве? ты там локальные переменные какие-то.

Добавлено (18 Октября 2014, 21:50:08)
---------------------------------------------
а где таймер то? Нет сдесь таймера!

Добавлено (18 Октября 2014, 21:50:39)
---------------------------------------------
wait game second не работает говорю ж! из-за него все слетает, мне надо именно заменить wait а не переменные.

 

BorodachДата: Суббота, 18 Октября 2014, 22:36:32 | Сообщение # 20
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
Цитата VladSekret ()
а где таймер то?

Без таймера чтоб тебе было проще
Цитата VladSekret ()
wait game second не работает говорю ж!

А ты проверял??? Там все юниты ресаются как надо и без сбоя, какой результат тебе нужен???


Karamba
 

VladSekretДата: Суббота, 18 Октября 2014, 23:47:24 | Сообщение # 21
6 уровень
Группа: Проверенные
Сообщений: 198
Награды: 0
Репутация: -50
Блокировки:
Facepalm, зачем я спрашиваю если я не проверял... И причем у меня система такая же как у тебЯ.Только в раз 10 сложнее, сектор вейт после опред времени перестает ее. Тянуть, вот и мне нужен таймер. А ты мне ухудшенную копию моей системы кидаешь ктюоторую. Я неделю делал. Спасибо поржал.
 

BorodachДата: Воскресенье, 19 Октября 2014, 00:10:52 | Сообщение # 22
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
Скинь скрин своей системы которая не работает.

Karamba
 

sumertДата: Воскресенье, 19 Октября 2014, 07:31:56 | Сообщение # 23
10 уровень
Группа: Проверенные
Сообщений: 2330
Награды: 2
Репутация: 1094
Блокировки:
VladSekret, твоя проблема в том, что ты не понимаешь, почему у тебя не работает система.
Давай объетивно посмотрим на все, что ты написал:
Цитата VladSekret ()
ЗАмена Wait, мне Сектор сказал, что проблема в карте из-за него

Цитата VladSekret ()
просто у меня Unit умирает, Вейт 5 сек, и создать рандом

Цитата VladSekret ()
У меня в карте перестают респаунится войны, сектор сказал вейт все нафиг ломает

Цитата VladSekret ()
Скажи как конкретно сделать, идут действия, таймер с 5 секундами, и еще действия. Но надо чтоб если сработает этот триггер еще раз, до того как истечет таймер, нужно чтоб таймер не слетел.

Цитата VladSekret ()
ПОтому-что за эти 5 секунд таких триггеров запустится еще раз 5

Во-первых, с таймерами триггер может запускать хоть 10 раз в течении 5 секунд и все ок работает. Твоя проблема в том, что он теряет по истечении этих 5-и секунд юнита. Поэтому тебе надо использовать локальные переменные. Можно даже и с вейтом. Вставь в начале триггера
Local unit u=DyingUnit()
Wait(5)
Действия, но уже с переменной u (Создаешь действия с юнитом, переносишь в другой триггер, нажимаешь ctrl+d или конвертировать в текст, копируешь, вставляешь в исходных триггер, но меняешь юнита на переменную u)
Set u=null.
Объясняю принцип работы триггеров: триггер срабатывает при каждом произошедшем событии. Например, ты используешь глобальную переменную Unit. И например, умирают два юнита с периодичностью 2 сек. Вот что происходит.
Умер первый юнит, переменная Unit=первый юнит, проходит 2 сек, умирает второй юнит, и переменная Unit=второй юнит. Проходит 3 сек, триггер, который был для первого юнита срабатывает для переменной Unit (а он уже равен второму юниту). А еще через 2 сек срабатывает триггер для второго юнита. Таким образом умирают 2 разных юнита, а воскрешается 2 раза последний юнит. Локальные переменные позволяют исправить это дело: ты схраняешь внутри триггера этого юнита и он не перезаписывается. Кстати та же проблема с глобальными переменными касается и реакций на событие (TrigerringUnit, DyingUnit и т. д.). Проблема не в вейтах и таймерах, тебя сектор жестоко обманул. Или ты его не понял.
 

VladSekretДата: Воскресенье, 19 Октября 2014, 11:58:53 | Сообщение # 24
6 уровень
Группа: Проверенные
Сообщений: 198
Награды: 0
Репутация: -50
Блокировки:
Фааак, я тут вам понаписал строчек 50, но не отправилось. КАроче у меня там после waita over 100500 триггеров и в одном действие по 15 переменныХ, суперсложная система которую я писал неделю, сектор говорит либо в системе косяк, либо вейт ломает, но в системе косяков нет, перепроверил раз 100, заного пересоздал переменные, и что интересно ломается только одно основное действие после вейта
 

sumertДата: Воскресенье, 19 Октября 2014, 13:30:45 | Сообщение # 25
10 уровень
Группа: Проверенные
Сообщений: 2330
Награды: 2
Репутация: 1094
Блокировки:
Цитата VladSekret ()
КАроче у меня там после waita over 100500 триггеров

А ты знаешь разницу между триггерами и действиями?
Если тебе надо, чтобы после смерти юнит воскрешался, самое простое:
событие: юнит умирает.
Действие:
локальная переменная u=умерший юнит
Ждем 5 сек
Воскрешаем юнит типа юнита u.
Очищаем переменную u.

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

  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz