Сейчас 13:57:16 Среда, 24 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Воскрешение крипа спустя время (Голова не варит чёт, мб подскажет кто...)
Воскрешение крипа спустя время
NaturekidДата: Четверг, 30 Августа 2012, 15:44:45 | Сообщение # 1
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Вот есть кривое уг, оно пашет... ну как пашет всё время 1 и тот же тип крипа. разбираться не особо сейчас хочется, но ошибки хотя бы с локалками у меня по любому есть.
http://savepic.su/2421588.htm




Сообщение отредактировал Naturekid - Пятница, 31 Августа 2012, 11:25:15
 

kapa6acvlkДата: Четверг, 30 Августа 2012, 15:49:09 | Сообщение # 2
Группа: Проверенные
Сообщений: 612
Награды: 0
Репутация: 361
Блокировки:
1. не используй wait, используй таймер
2. нафига тебе кеш им с версии 1,23, вроде, никто не пользуется, т.к. ввели хеш таблицы. Кеш только для сохранения в кампаниях.



Как говориться, не обязательно есть всю кучу говна, чтобы понять, что она однородна.
© Александр Зорич
 

[SeKtOR]Дата: Четверг, 30 Августа 2012, 16:15:34 | Сообщение # 3
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
http://rghost.ru/40095941
На таймерах, безутечно, оптимизировано, MUI
P.S. Если тебе нужно не для нейтрально-враждебного то исправь
Code
Player(PLAYER_NEUTRAL_AGGRESSIVE)

на
Code
Player(* НОМЕР *)
(0 - красный, 1 - синий и т.д.)




Сообщение отредактировал [SeKtOR] - Четверг, 30 Августа 2012, 16:16:32
 

NerobrineДата: Четверг, 30 Августа 2012, 17:21:45 | Сообщение # 4
7 уровень
Группа: Проверенные
Сообщений: 336
Награды: 0
Репутация: 102
Блокировки:
Мне тож такое надо, тока так чтобы воскрешался при наступлении ночи, и если рядом юниты игроков то не создавались. Причем мобы должны быть за серого игрока.

"Хаос — не пропасть. Хаос — это лестница. Многие пытались взобраться по ней, но оступились и уже не пытались вновь — падение ломало их. У других был шанс взойти наверх, но они отказывались, продолжая цепляться за государство, за богов или за любовь. Всё это иллюзии. Реальна лишь лестница, и важен лишь подъем наверх."
Петир Бейлиш - Игра престолов
 

lawsonДата: Четверг, 30 Августа 2012, 17:21:56 | Сообщение # 5
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Четверг, 30 Августа 2012, 17:22:24
 

[SeKtOR]Дата: Четверг, 30 Августа 2012, 17:47:46 | Сообщение # 6
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
Quote (lawson)
Мне тож такое надо, тока так чтобы воскрешался при наступлении ночи, и если рядом юниты игроков то не создавались. Причем мобы должны быть за серого игрока.

Момент buba

Добавлено (30 Августа 2012, 17:47:46)
---------------------------------------------
Хотя нет, мне впадлу


 

med_vedДата: Четверг, 30 Августа 2012, 18:07:32 | Сообщение # 7
6 уровень
Группа: Проверенные
Сообщений: 205
Награды: 0
Репутация: 79
Блокировки:
Мож я что то непонел, ну вот простенько можно под себя сделать



 

[SeKtOR]Дата: Четверг, 30 Августа 2012, 18:10:20 | Сообщение # 8
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
Получив 1 утечную группу, вейт и утечную точку



Сообщение отредактировал [SeKtOR] - Четверг, 30 Августа 2012, 18:10:26
 

SmartarosДата: Четверг, 30 Августа 2012, 18:17:15 | Сообщение # 9
9 уровень
Группа: Проверенные
Сообщений: 810
Награды: 0
Репутация: 135
Блокировки:
я смотрю ты всем помогаешь, ты свой проект делаешь? если нет, то напиши в лс
 

lawsonДата: Четверг, 30 Августа 2012, 18:35:41 | Сообщение # 10
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (kapa6acvlk)
не используй wait, используй таймер

Можно и вейт, просто убитого юнита пихай в локалку, и все будет огого!


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

kapa6acvlkДата: Четверг, 30 Августа 2012, 19:16:51 | Сообщение # 11
Группа: Проверенные
Сообщений: 612
Награды: 0
Репутация: 361
Блокировки:
Quote (lawson)
Можно и вейт, просто убитого юнита пихай в локалку, и все будет огого!

Wait'ы от природы криво работают, при большом их количестве, могут завалить поток, либо работать с неверными задержками.

[SeKtOR],
Юнита удалять необязательно, он и сам удалится после разложения. Единственная проблема такого воскрешения, юнит появится там, где умер.



Как говориться, не обязательно есть всю кучу говна, чтобы понять, что она однородна.
© Александр Зорич
 

lawsonДата: Четверг, 30 Августа 2012, 19:49:41 | Сообщение # 12
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Четверг, 30 Августа 2012, 19:57:49
 

[SeKtOR]Дата: Четверг, 30 Августа 2012, 19:51:47 | Сообщение # 13
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
Quote (lawson)
стукрутрка





Сообщение отредактировал [SeKtOR] - Четверг, 30 Августа 2012, 19:51:55
 

lawsonДата: Четверг, 30 Августа 2012, 19:57:22 | Сообщение # 14
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (kapa6acvlk)
Wait'ы от природы криво работают, при большом их количестве, могут завалить поток, либо работать с неверными задержками.

Не парься, используй вэйты!


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Четверг, 30 Августа 2012, 20:04:37
 

HelperManДата: Четверг, 30 Августа 2012, 22:12:19 | Сообщение # 15
3 уровень
Группа: Пользователи
Сообщений: 49
Награды: 0
Репутация: 7
Блокировки:
ВСе очень просто :P
Событие: Unit Умирает
Условие: Ну допустим игрока 12
Действие:Create Unit Facing Angle выбираешь в нужной области
Unti Type Of Dying Unit
Или не
выбираешь в нужной области а Center Of Position of Dying Unit

Элементарно:)


Хелперс Сити ^_^
 

[SeKtOR]Дата: Четверг, 30 Августа 2012, 22:32:04 | Сообщение # 16
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
Quote (HelperMan)
ВСе очень просто :P
Событие: Unit Умирает
Условие: Ну допустим игрока 12
Действие:Create Unit Facing Angle выбираешь в нужной области
Unti Type Of Dying Unit
Или не
выбираешь в нужной области а Center Of Position of Dying Unit

Элементарно:)

Quote (|SeKtOR|)
http://rghost.ru/40095941
На таймерах, безутечно, оптимизировано, MUI
P.S. Если тебе нужно не для нейтрально-враждебного то исправь
Code
Player(PLAYER_NEUTRAL_AGGRESSIVE)

на
Code
Player(* НОМЕР *)
(0 - красный, 1 - синий и т.д.)

Моя с задержкой buba и на тему уже дали ответ




Сообщение отредактировал [SeKtOR] - Четверг, 30 Августа 2012, 22:32:16
 

SirNikolasДата: Пятница, 31 Августа 2012, 06:27:34 | Сообщение # 17
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
lawson, народ требует больше, чем wait'ы!

 

HelperManДата: Пятница, 31 Августа 2012, 08:59:27 | Сообщение # 18
3 уровень
Группа: Пользователи
Сообщений: 49
Награды: 0
Репутация: 7
Блокировки:
[SeKtOR], Я знаю:) но так будет легче:) так можно wair юзать только не в больших количествах могут быть баги, и неработать ато

Хелперс Сити ^_^
 

HexingДата: Пятница, 31 Августа 2012, 09:25:37 | Сообщение # 19
10 уровень
Группа: Проверенные
Сообщений: 1645
Награды: 1
Репутация: 432
Блокировки:
Quote (HelperMan)
[SeKtOR], Я знаю:) но так будет легче:) так можно wair юзать только не в больших количествах могут быть баги, и неработать ато

ForGroup+wait = печаль
loop+wait = возможная печаль, зависит от длинны вейта и кол-ва итераций
и wait-ы всегда не точны! и не зависимо от количества иногда багуют:)


 

NaturekidДата: Пятница, 31 Августа 2012, 11:28:47 | Сообщение # 20
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Так-с.

[SeKtOR],
Спасибо за наработку респавна крипов через время. Но если придираться, а я именно придираюсь - ты мне написал РЕСПАВН крипов а не РЕЗЗУРЕКТ.
Иначе говоря, у меня может быть прокаченный крип, с дополнительными бонусами и т.п., а также с набором предметов, но после его гибели я получаю обычный штамп без ничего.

Это относится и ко всем, кто в ленте отписал про никчемность кэша - при использовании кэша бонусы сохраняются.

Почему никто не отписал про мои локалки? Я их правильно использовал что ли? Нет? Почему тогда у меня чёрти что получается?
Воскрешаетс всегда последний убитый тип юнита, словно я глобалку юзаю. Как сделать, чтобы каждое событие вызывало ЛОКАЛЬНОЕ запоминание?

HelperMan, про тебя я вообще молчу, золотце моё, ты - Бог картостроения.

Добавлено (31 Августа 2012, 11:28:47)
---------------------------------------------
Отредактировал 1-ый пост. По прежнему жду помощи. Наработка в джассе - замечательно, но я работаю в 1.21b редакторе(Это я Сектору), на патче 1.26 без крайней необходимости не пользуюсь, это я к тому, что надо бы найти ошибки и подправить ГУИ-вариант. :o


 

[SeKtOR]Дата: Пятница, 31 Августа 2012, 11:42:58 | Сообщение # 21
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
У тебя дело вот в чём, ты должен заносить в локальную переменную юнита и потом работать с ним(потому что GetTriggerUnit() 100500 раз обновится)

P.S. Я думаю, что ещё нужно очистить категорию игрового хэша по этому ключу, но хз как(чтобы не засорять память) и заменить wait на таймер
P.S.S. И проверять, что этот юнит нейтрально-враждебного, а если юнита призвали? У тебя и на него триггер сработает
P.S.S. У тебя BJ функции и утечная точка GetUnitLoc(GetTriggerUnit()) buba

Добавлено (31 Августа 2012, 11:42:58)
---------------------------------------------
Если ты подразумеваеш под 1.21b JNGP, то я тоже avtoradolf
P.S. И я не думаю, что создавать 100500 игровых кэшов приведёт к добру




Сообщение отредактировал [SeKtOR] - Пятница, 31 Августа 2012, 11:46:05
 

lawsonДата: Пятница, 31 Августа 2012, 11:50:12 | Сообщение # 22
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Локальная переменная, при уничтожении вернет значение последнего юнита а не сохраненного ранее.

Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Пятница, 31 Августа 2012, 12:13:45
 

[SeKtOR]Дата: Пятница, 31 Августа 2012, 11:52:18 | Сообщение # 23
Группа: Проверенные
Сообщений: 1143
Награды: 0
Репутация: 1168
Блокировки:
Получается шайтан и хэш-таблица?



Сообщение отредактировал [SeKtOR] - Пятница, 31 Августа 2012, 11:52:26
 

lawsonДата: Пятница, 31 Августа 2012, 12:03:27 | Сообщение # 24
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (|SeKtOR|)
Получается шайтан

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


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Пятница, 31 Августа 2012, 12:17:32
 

SirNikolasДата: Пятница, 31 Августа 2012, 12:32:28 | Сообщение # 25
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (|SeKtOR|)
Сообщение # 21
Кэш нужно флашить и создавать при инициализации.
By the way, lawson прав.

local unit u = GetTriggerUnit()
call PolledWait(12.)
call StoreUnit(bj_lastCreatedGameCache, "", "", u)
call RestoreUnit(bj_lastCreatedGameCache, "", "", Player(12), GetWidgetX(u), GetWidgetY(u), GetRandomReal(.0, 360.))
call RemoveUnit(u)
set u = null

Добавлено (31 Августа 2012, 12:32:28)
---------------------------------------------
[SeKtOR], кстати, ты его как-то криво флашишь.
call FlushGameCache(InitGameCache("MapName.w3v"))


 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Воскрешение крипа спустя время (Голова не варит чёт, мб подскажет кто...)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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