Creatife
маппер
offline
Опыт:
537Активность: |
Триггеры : появление предмета (нид хэлп)
Надо сделать появление заного предмета после 30 секунд после его поднятия
я тут наработал немного, но ничего правильно не получается.. если ставить олжидание дольше 5 секунд то переменная предмета очищается как то непонятно.. еще если два предмета взять сразу то они оба появляются в месте последнего предмета... и первый предмет получает тип второго.. вообще не понятные вещи творятся.. как я только не пробовал.. даже через массивы пытался.. ниче не получается.. см. прикрепленный файл там сообщения я сделал что бы видеть когда пропадает переменная предмета.. и проверку на уровень..(это работает правильно) помогите пожалуйста... Creatife добавил: еще .. эти предметы действуют сразу после поднятия.. леченье, мана, скорость.. |
23.12.2005, 14:06 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
Creatife это патамушта когда юнит подбирает предмет, ссылка на него работает нормально. Но через 4 секунды (я так понял что предмет - что-то типа руны) этого предмета уже нету - нечего показывать и восстанавливать
|
23.12.2005, 14:15 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
MapMan
Corey 8 Taylor
offline
Опыт:
21,554Активность: |
Попробуй так:
MapMan добавил: Для нормального изображения жмите увеличить!!! Хз почему так |
23.12.2005, 14:53 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Creatife
маппер
offline
Опыт:
537Активность: |
MapMan У меня было так уже сделано, я делал для проверки..
к двум предметам.. А на карте у меня порядка 30-40 предметов должно быть.. если так для каждого писать то я умру вообще и карту это подтормозит.. плюс области надо делать для каждого предмета.. триггер создавать(по 2-а на предмет).. я вот и взялся за написание универсального триггера.. у меня щас получается только воссоздание последнего предмета через 4 секунды.. Creatife добавил: а через Кеш можно это сделать.. почему предмет не сохраняется в переменной? Creatife добавил: Вот здесь предмет появляетсядаже после 5 секунд от момента поднятия. Но от цели далеко.. если взять подряд два предмета то они оба появятся в точке последнего взятого предмета..надеюсь понятно.. пробовал через массимы - не получается.. но почему? помогите теперь с этим разобраться.. |
23.12.2005, 16:39 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
BoogieMan
offline
Опыт:
562Активность: |
Creatife
я не пойму, в чем проблема-то? у меня всё работает. качай приаттаченную мапу. правда с рунами это не работает =) |
23.12.2005, 17:26 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Creatife
маппер
offline
Опыт:
537Активность: |
BoogieMan вот именно что с рунами не работает..
я как только начал сделал точно так же.. мне надо именно с рунами.. почему с рунами не получается? Creatife добавил: руны до 5 секунды только могут появляться.. обычные предметы после 5 минут тоже могут... в чем причина?? Creatife добавил: BoogieMan таким способом создаются только те предметы которые добавилиь в инвентарь, а если успеть использовать подобранный предмет то он не создастся больше.. |
23.12.2005, 18:01 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
BoogieMan
offline
Опыт:
562Активность: |
Creatife
хм... можно пойти извращенным путём... креатишь на мапе много-много регионов (так чтобы получилось поле из квадратиков; хотя впринципе форма на твоё усмотрение ;) ). для каждого региона креатишь свою переменную отвещающую за кол-во итемов в данном регионе (например "i"). делаешь так, чтобы при взятии итема проверялось его местоположение, и если он например находится в регионе А, то и переменную i[A] уменьшаешь на 1. ещё надо сделать триггер, который будет креатить итем в случайной точку региона A, если i[A] меньше, например, 30. тут уже только рандом поможет. можно конечно и ещё больше намудрить.. %) А смысл создания кучи регионов в том, чтобы итемы были распределены по карте более-менее равномерно. Но это я думаю, и так должно быть понятно )) BoogieMan добавил: тебе там ещё придется сделать список предметов, из которых рандомом будет выбираться случайный.. ) ну, думаю, мою мыслю ты уловил ;) >> почему с рунами не получается? ну дык с рунами то же самое - они используются сразу при взятии... Отредактировано BoogieMan, 23.12.2005 в 19:09. |
23.12.2005, 18:58 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Iron
Листовой
offline
Опыт:
24,427Активность: |
А слабо заделать руну на базе итема, но при его подборе просто его ремувать (правда тут есть проблема с тем, что необходим 1-ин свободный слот). Или еще лучше, при входе героя в регион (регион не созданный в редакторе, а созданный функцией convert item to region) ремувать итем (хотя тут уже можно поизвращаться и заделать вместо итема, юнита, тогда все траблы должны отпасть).
А насчет появления 2-х предметов на 1-ой точке, то лучше всего при подборе итема на его месте создавать току и сразу ее заносить в массив, а потом ставить итем на точку, а не на месторасположение itemtake2, так как руна ремувается из игры через несколько секунд после ее взятия и в переменной ее уже не будет. Отредактировано Iron, 23.12.2005 в 19:22. |
23.12.2005, 19:17 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
BoogieMan
offline
Опыт:
562Активность: |
вот только щас дошло, что можно и так сделать =)) |
23.12.2005, 19:21 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Iron
Листовой
offline
Опыт:
24,427Активность: |
УУУУУУУУУ, слишком усложнил код. Перечитай пост выше, я его отредил, и поймешь почему переменная itemtake обнуляется. |
23.12.2005, 19:26 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
BoogieMan
offline
Опыт:
562Активность: |
Iron
ну не знаю блин... по-моему описанный тобою способ намного замудрённей =) |
23.12.2005, 19:51 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Creatife
маппер
offline
Опыт:
537Активность: |
Iron я уже выложил код с точками и массивами..
не получается с его помощью ничего... BoogieMan слишком сложный способ... до этого я делал с регионами(но проще), но хочется сделать общий триггер(или два триг.) .. я щас думаю запускать таймер к каждому подобранному предмету.. и в другом триггере проверять через цикл на окончание таймера определенного.. Creatife добавил: Да, так и есть... РЕшил с помощь таймеров... в итоге два триггера используются.. по 10 строчек ) без областей гадких )) |
23.12.2005, 20:56 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Iron
Листовой
offline
Опыт:
24,427Активность: |
Смотри мой вариант, в 1-ин триггер.
Используются всего 2-е глобальные и 2-е локальные переменные (1-а для сохранения точки предмета, а 2-я для сохранения его типа). Таймер поставил на 15 сек. Теперь можешь подобрать хоть 1000 рун и предметов в произвольном порядке и с произвольным интервалом, но каждый из них восстановится ровно через 15 сек после того, как ты взял именно его. Creatife не гони пургу, я даже без массивов с точками сделал, и все пашет. PS: Я твои триггеры оставил, судя по всему твой вариант срабатывал не через 30 сек, а каждые 30 сек восстанавливались все недостающие итемы, т.е. не совсем то, что тебе было нужно вначале. Отредактировано Iron, 24.12.2005 в 00:02. |
23.12.2005, 23:56 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
Iron лол а нафига этот прикол с глобалами? не легче ли просто вот так?
Код:
|
24.12.2005, 01:34 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
BoogieMan
offline
Опыт:
562Активность: |
>> а каждые 30 сек восстанавливались все недостающие итемы, т.е. не совсем то, что тебе было
>> нужно вначале.
угу, да впринципе то без разницы ;) а в этих кустом скриптах я ваще полный нуп.. =) |
24.12.2005, 14:29 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Creatife
маппер
offline
Опыт:
537Активность: |
Iron я с локальными переменными не работал никогда...
щас гляну на атач твой.. Van Damm я тож ниче не понимаю в этом )) |
24.12.2005, 15:06 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Iron
Листовой
offline
Опыт:
24,427Активность: |
Van Damm Я делал с глобалами, т.к. понял, что Creatife не очень дружит с jass-ом. А так проще разобраться.
Creatife локальная переменная отличается от глобальной только тем, что ее содержимое существует только для одного запуска функции (триггера), т.е. ели триггер запускают несколько раз еще до окончания работы триггера предыдущего запуска, то для каждого триггера создается отдельная переменная, содержимое которой не заменяется при последующем его запуске. Отредактировано Iron, 24.12.2005 в 18:44. |
24.12.2005, 18:39 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Creatife
маппер
offline
Опыт:
537Активность: |
Iron я знаю что такое локальные переменные, просто я не знал как ими пользоваться,
т.к. небыло нужды.. Я посмотрел твой атач с локальными, это то что надо, респект, спасиб... |
24.12.2005, 19:00 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
Creatife BoogieMan хм... как-то сразу об этом не подумал. В принципе мой кусок кода - это то же самое, что в аттаче у Iron, но для его работы не нужны глобальные переменные. Вот и вся разница. И ещё - если есть время и желание или знание какого-то другого языка программирования, - учите жасс, с ним фсё намного проще (признаюсь честно, ещё пол-года назад я сам пугался и падал со стула при виде custom script =)
|
24.12.2005, 23:09 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Korneliy
DMF
offline
Опыт:
23,443Активность: |
Van Damm Преогромнейший тебе сенькс и респект!!!
|
25.12.2005, 02:10 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|