Сейчас 07:47:14 Четверг, 2 мая, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Вычисление игрока (Читайте внимательно вопрос)
Вычисление игрока
FatalBladeДата: Вторник, 02 Августа 2011, 03:23:07 | Сообщение # 1
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Мультипродавец, это нейтральный продавец, который не просто продаёт предметы, а продаёт их по категориям, например категория Топоры. Когда нажимаешь на иконку "Топоры", то игроку открываются разные топоры которые можно купить. Но поскольку у меня в карте можно играть с союзниками, то такая система - лажа. Надо триггерно удалять и добавлять предметы в магазин, каждый раз когда герой выбирает категорию, при том что это происходит для всех, а не для каждого игрока локально.

Я решил сделать для каждого игрока своего мультипродавца, но продавать он будет не предметы, а абилки пустышки, засунутые в спеллбуки. Это для того, что бы если у моего героя полный инвентарь, а среди его предметов есть нужные предметы что бы скрафтить желаемый предмет, ему не пришлось вытаскивать 1 из не нужных для крафта предметов который находится у него в инвентаре, изза нехватки места, чтобы только скрафтить новый, который триггерно сам освободит много места. Поэтому я сделал абилки с иконками предметов, на которых если нажать, то при наличие нужных предметов, эти нужные предметы удалятся, а желаемый появится. Идеальная система. У каждого игрока есть свой мультипродавец, который продаёт только его герою.

Как триггер работает: Игрок нажимает на иконку предмета - абилку пустышку, у своего мультипродавца. Проверяется есть ли герои игрока владельца магазина рядом с самим магазином. Если есть, проверяется достаточно ли у героя ресурсов и предметов для желаемого предмета, и если да, то всё нужное исчезает, и герой получает желаемый предмет.

Однако сегодня я случайно заметил, что как только я дал всем продавцам абилку Select Hero, то оказывается теперь я могу кастовать абилки пустышки других продавцов. Видимо эта абилка, Select Hero, обобщает не только предметы в лавках торговцев, но и абилки и комманды. Так значит, может быть можно будет сделать 1 мультипродавца для всех союзников? Я залез в код который отвечает за покупку предметов, изменил там, что бы проверялось наличие не только героев владельца продавца, рядом с самим продавцом, но и вообще все герои. Зашёл в игру и вуаля! Работает! Теперь у меня есть мультипродавец который продаёт всем союзникам, не только 1-му, а значит можно обойтись 1 продацом, а не 5-ю.

Однако тут у меня возникли сомнения. Ведь до этого, в триггере проверялись герои владельца продавца, когда продавец нажимал на абилку. Теперь проверяются любые герои которые близко к продавцу. А что если к нему подойдут сразу 5 героев, и владелец каждого из героев нажмёт на что нибудь. Нет нет, я совсем не об универсальности триггера. Он и так универсален. Вот нажал игрок на абилку у мультипродавца. Продавец = Casting Unit. Теперь он начинает проверять наличие героев вокруг себя, и опана.... тут аж 5 героев! Ему надо дать Пикнутому (занесённому в локальную переменную) герою предмет, а он пикнул целых 5. Ведь тут нету конкретного юнита, которому надо дать предмет, ведь тогда проблема решалась бы локальной переменной.... Нет... юнит находится и вычисляется. Так что же теперь получается, что герой например купил шлем, так этот шлем появится у всех 5-ых игроков. Либо скорее всего у того героя, которого функция пикнула первым, а не у того, чей владелец нажал на кнопку.

Так вот у меня есть вопрос, ответ на который спасёт положение и очень мне поможет. Если я нажал на юнита который не принадлежит мне, но имеет абилку Select Hero, которая даёт мне возможность кастовать абилки через него, то Casting Unit = продавец. Локалка Hero = это может быть владелец любого игрока оказавшегося поблизости. А мне нужно именно вычислить СЕБЯ, ну или того кто нажал на абилку у продавца.

Вообщем, как вычислить игрока нажавшего на кнопку абилки, принадлежащую юниту другого игрока (союзника).




Сообщение отредактировал FatalBlade - Вторник, 02 Августа 2011, 03:40:10
 

ЭллесарДата: Вторник, 02 Августа 2011, 03:34:32 | Сообщение # 2
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
Я систему таких магазов делал, сейчас поищу... если найду кину...

Но смысл в том, что я создавал 12 магазинов в одной и той же точке. Но весь прикол в другом, что я скрывал другие магазины, чтобы их нельзя было выделить другим игрокам(прозрачность + уменьшил до 0)


база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

FatalBladeДата: Вторник, 02 Августа 2011, 04:04:03 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (Эллесар)
чтобы их нельзя было выделить другим игрокам(прозрачность + уменьшил до 0)

Даже союзникам?

Добавлено (02-08-2011, 04:04)
---------------------------------------------

Quote (Эллесар)
уменьшил до 0

Тогда как игрок видит СВОЙ магазин?


 

ЭллесарДата: Вторник, 02 Августа 2011, 04:41:02 | Сообщение # 4
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
Вот Ссылка

Это наработка была сделана 2 года назад, в этот же день, когда учил vjass и русский язык).


база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE


Сообщение отредактировал Эллесар - Вторник, 02 Августа 2011, 05:04:47
 

ExtrematorДата: Вторник, 02 Августа 2011, 07:48:40 | Сообщение # 5
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
ещё можно продавать руны... 1 руна и кд 1 сек... например
при клике на руну она попадает в карман и событие на получение итема срабатывает, руна удаляется, под продавцом создаётся юнит с размером 0, без тени и на высоте 1000+ ... (его нельзя будет выбрать, но он не маскит... если что)... триггерно даём игроку (который владеет тем кто взял/купил руну) выбор на этот магазин... в магазине свой асортимент...

При событии "игрок снял выделение с юнита" проверяем является ли этот юнит одним из магазинов и УДАЛЯЕМ его... всё )))
 

FatalBladeДата: Вторник, 02 Августа 2011, 08:28:47 | Сообщение # 6
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (Extremator)
под продавцом создаётся юнит с размером 0, без тени и на высоте 1000+ ... (его нельзя будет выбрать, но он не маскит... если что)... триггерно даём игроку (который владеет тем кто взял/купил руну) выбор на этот магазин... в магазине свой асортимент...

Зачем это всё?)))))))


 

ExtrematorДата: Вторник, 02 Августа 2011, 08:41:26 | Сообщение # 7
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Quote (FatalBlade)
Зачем это всё?)))))))

минимал гуи триггеринг ИЛИ джасс машина... даже и не знаю что выбрать >_<

вот пример для тех кому лениво делать простые веСЧи - http://rghost.ru/16602771
и да... там точка утекает при пикке... как исправить сами знаете...
 

FatalBladeДата: Вторник, 02 Августа 2011, 09:07:07 | Сообщение # 8
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (Эллесар)
Это наработка была сделана 2 года назад, в этот же день, когда учил vjass и русский язык).

Спс но врядли я это осилю. :D
А это кстати работает даже на союзников? То есть союзник тоже не может выбрать магазин своего союзника?


 

ExtrematorДата: Вторник, 02 Августа 2011, 09:30:17 | Сообщение # 9
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
я порой рубаюсь что можно выкручивать на джассе О_О

Добавлено (02-08-2011, 09:30)
---------------------------------------------

Quote (FatalBlade)
А это кстати работает даже на союзников?

ты к кому обращаешься?
 

FatalBladeДата: Вторник, 02 Августа 2011, 09:40:57 | Сообщение # 10
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (Extremator)
ты к кому обращаешься?

К Эллесару) К тому кто выложил наработку)


 

ExtrematorДата: Вторник, 02 Августа 2011, 09:44:58 | Сообщение # 11
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Quote (FatalBlade)
К Эллесару) К тому кто выложил наработку)

а у меня на много хуже? :/
 

FatalBladeДата: Вторник, 02 Августа 2011, 10:01:36 | Сообщение # 12
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (Extremator)
а у меня на много хуже? :/

Я ещё не смотрел))

Добавлено (02-08-2011, 10:01)
---------------------------------------------
Хотя к тебе тот же вопрос. Твоя наработка работает тоже на союзников?


 

ExtrematorДата: Вторник, 02 Августа 2011, 10:05:28 | Сообщение # 13
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Quote (FatalBlade)
Хотя к тебе тот же вопрос. Твоя наработка работает тоже на союзников?

она работает на всех и всегда... ибо простая
 

FatalBladeДата: Вторник, 02 Августа 2011, 10:23:59 | Сообщение # 14
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (Extremator)
она работает на всех и всегда... ибо простая

ща посмотрю

Добавлено (02-08-2011, 10:23)
---------------------------------------------
мм действительно просто и практично. Я сделал немного подругому, на основе твоей. Я в одном и том же месте поставил продавцов для всех игроков, дал им модель дамми, поставил Selection Size на 0. Там же поставил нейтрального продавца, который ничё не продаёт. Как только игрок нажимает на продавца, то ему триггерно выбирается его продавец.




Сообщение отредактировал FatalBlade - Вторник, 02 Августа 2011, 10:24:32
 

ExtrematorДата: Вторник, 02 Августа 2011, 10:41:04 | Сообщение # 15
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Quote (FatalBlade)
мм действительно просто и практично. Я сделал немного подругому, на основе твоей. Я в одном и том же месте поставил продавцов для всех игроков, дал им модель дамми, поставил Selection Size на 0. Там же поставил нейтрального продавца, который ничё не продаёт. Как только игрок нажимает на продавца, то ему триггерно выбирается его продавец.

О_О ...зачем создавать для всех игроков по продавцу для каждого такого продавца? ... если можно создавать дополнительно для игрока и в нужном месте... и одновременно не более одного для каждого игрока...
 

FatalBladeДата: Вторник, 02 Августа 2011, 10:52:51 | Сообщение # 16
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (Extremator)
О_О ...зачем создавать для всех игроков по продавцу для каждого такого продавца? ... если можно создавать дополнительно для игрока и в нужном месте... и одновременно не более одного для каждого игрока...

Я имею ввиду что они созданны в самой карте, а не триггерно. А зачем? хм. Триггер будет намного проще, и утечки не будет )


 

FkoFFДата: Вторник, 02 Августа 2011, 11:27:09 | Сообщение # 17
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
FatalBlade, ты Л.С читаешь, нет? )

 

FatalBladeДата: Вторник, 02 Августа 2011, 11:58:08 | Сообщение # 18
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
да
я отходил

Добавлено (02-08-2011, 11:58)
---------------------------------------------
Народ, как мне сделать что бы юнит был абсолютно прозрачным. Но или почти абсолютно прозрачным?
И что бы портрет всё равно был виден. А то ведь когда Selection переключается на продавца, посколько он с моделью дамми, у него нету портрета, тогда как у нейтралного продавца есть. А между переключением есть какая то доля секунды, поэтому получается что портрет как бы "мигает". Ведь сначала игрок выбирает нейтрального продавца.


 

ExtrematorДата: Вторник, 02 Августа 2011, 11:59:44 | Сообщение # 19
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Quote (FatalBlade)
Я имею ввиду что они созданны в самой карте, а не триггерно. А зачем? хм. Триггер будет намного проще,
забивать в переменные магазины или просто пикать ближайший дамми магазин... = та же утечка + много кода... зачем? ну если тебе проще, то делай так...

Quote (FatalBlade)
и утечки не будет )
...а ты знаешь где утечка? и в чём она заключается? ...чёт мне кажется что нет...
 

FatalBladeДата: Вторник, 02 Августа 2011, 12:06:48 | Сообщение # 20
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
А ещё что бы он не отображался на минимапе.

Добавлено (02-08-2011, 12:06)
---------------------------------------------

Quote (Extremator)
...а ты знаешь где утечка? и в чём она заключается? ...чёт мне кажется что нет...

Ну, само местоположение куда создаётся новый продавец. Да и я не забиваю в переменные магазины. Обьект ведь уже создан на карте. Я всего лишь сделал триггер, который делает следующее:
Если игрок который выбрал нейтрального продавца, то Select Unit (продавца этого игрока). И так для каждого игрока, по номерам. Можно и засунуть продавцов в массив, но помоему чисто для быстродействия, быстрее будет так как я сделал.

Вообщем, Extremator, я сделал фактически то же самое что ты, только немного другим путём.)


 

ExtrematorДата: Вторник, 02 Августа 2011, 12:12:19 | Сообщение # 21
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Quote (FatalBlade)
А ещё что бы он не отображался на минимапе.

галачка в РО есть для этого...

Quote (FatalBlade)
Вообщем, Extremator, я сделал фактически то же самое что ты, только немного другим путём.)

совсем не то -_-
 

ЭллесарДата: Вторник, 02 Августа 2011, 16:43:15 | Сообщение # 22
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
FatalBlade, работает на союзников, разобраться там не сложно) просто посмотри как я добавлял к каждой категории предметов итемы. и как к магазину эти категории (категории - это спел, на которые жмешь и появляются предметы).

Quote (FatalBlade)
А это кстати работает даже на союзников? То есть союзник тоже не может выбрать магазин своего союзника?

Да, на всех. каждый может покупать все что захочет.


база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

SPtrueДата: Вторник, 02 Августа 2011, 19:27:24 | Сообщение # 23
Mí alegre
Группа: Проверенные
Сообщений: 2732
Награды: 2
Репутация: 692
Блокировки:
А зачем для каждого игрока делать отдельный магазин, если можно сделать по 1 для каждого отдела и все. Или не так? :)
 

FatalBladeДата: Вторник, 02 Августа 2011, 19:53:21 | Сообщение # 24
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (SPtrue)
А зачем для каждого игрока делать отдельный магазин, если можно сделать по 1 для каждого отдела и все. Или не так? :)

Ну так мультипродавец намного... оригинальнее. А сделать 1 мультипродавца для всех не получится.

Quote (Эллесар)
Да, на всех. каждый может покупать все что захочет.

Ок. Только мои знания джасса слишком ничтожны для твоей наработки. Я там реально почти ничего не понимаю. :) Да и как показал Extremator, можно сделать попроще.)
Quote (Эллесар)
(категории - это спел, на которые жмешь и появляются предметы).

У меня спеллбуки)


 

ЭллесарДата: Вторник, 02 Августа 2011, 22:40:09 | Сообщение # 25
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
FatalBlade,
Quote (FatalBlade)
Ок. Только мои знания джасса слишком ничтожны для твоей наработки. Я там реально почти ничего не понимаю. Да и как показал Extremator, можно сделать попроще.)


посмотри ещё раз:



это разве так сложно ?) Могу пропачить твои триггеры), чтобы был не costume code, а такие же как стандартные) у тебя стоит руссофикатор?
Прикрепления: 0467065.jpg (72.3 Kb)


база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Вычисление игрока (Читайте внимательно вопрос)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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