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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Предметы
Предметы
SunCreepДата: Среда, 01 Июня 2011, 16:53:54 | Сообщение # 1
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
Пфф,вопрос глупый,но увы:
Как соединить 2 одинаковых предмета в один.
Ну у меня есть предмет - "одна часть ключа".Когда у героя станет 2 таких предмета,то удалить оба и дать предмет "две части ключа".
Я пока писал подумал,может можно как то установить,что если у героя есть предмет этого типа в инвентаре установить х=х+1,и если х=2 то делать.Хотя это как то геморно звучит...
 

MrReverseДата: Среда, 01 Июня 2011, 17:03:06 | Сообщение # 2
9 уровень
Группа: КоМодераторы
Сообщений: 1162
Награды: 1
Репутация: 737
Блокировки:
SunCreep, я конечно в этом плохо шарю, а нельзя сделать это крафтом?

 

Deadly-manДата: Среда, 01 Июня 2011, 17:10:26 | Сообщение # 3
7 уровень
Группа: Заблокированные
Сообщений: 279
Награды: 0
Репутация: 26
Блокировки:
SunCreep,
с: A unit Получает предмет
у: Matching unit has Одна часть ключа
у: Item beign manipulated равно Одна часть ключа
д: Герой - Create Ключ for Triggering Unit


Я ПОРВАЛ ФОРУМ!
 

romaN-1998Дата: Среда, 01 Июня 2011, 17:15:46 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 1368
Награды: 0
Репутация: 10
Блокировки:
я недавно сделал такую систему:

Юнит получает предмет
------------------------------------
Item being manipulated = Часть ключа
-------------------------------------
Set i = i + 1
set item[i] = Item being manipulated
Если i = 2 то дропнуть item[1] у Triggering Unit, удалить последний дропнутый предмет, дропнуть item[2] у Triggering Unit, удалить последний дрпонутый предмет, создать и дать КЛЮЧ Triggering Unit, set i = 0

Триггер 2:

Юнит теряет предмет
------------------------------
Item being manipulated = Часть ключа
---------------------------------
set i = 0

i = целочисленная
 

SunCreepДата: Среда, 01 Июня 2011, 17:16:05 | Сообщение # 5
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
У меня русские триггеры))
Quote (Deadly-man)
Matching unit has

Это что за юнит,я только его не понял)
 

Deadly-manДата: Среда, 01 Июня 2011, 17:17:12 | Сообщение # 6
7 уровень
Группа: Заблокированные
Сообщений: 279
Награды: 0
Репутация: 26
Блокировки:
SunCreep, походу что-то вроде "проверяемый юнит"

Я ПОРВАЛ ФОРУМ!
 

SunCreepДата: Среда, 01 Июня 2011, 17:17:41 | Сообщение # 7
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
romaN-1998, ну в общем то о чём я и говорил в правильном формате))

Добавлено (01-06-2011, 17:17)
---------------------------------------------
Deadly-man, совпадающий мб?

 

Gr0mДата: Среда, 01 Июня 2011, 17:18:00 | Сообщение # 8
8 уровень
Группа: Проверенные
Сообщений: 729
Награды: 0
Репутация: 249
Блокировки:
(-_-)
 

romaN-1998Дата: Среда, 01 Июня 2011, 17:19:06 | Сообщение # 9
10 уровень
Группа: Проверенные
Сообщений: 1368
Награды: 0
Репутация: 10
Блокировки:
Quote (SunCreep)
Deadly-man, совпадающий мб?

да. но моя система тоже норм, а его вроде с багами, test pls.

Добавлено (01-06-2011, 17:19)
---------------------------------------------
Gr0m, лолчто? вообще посты не смотришь?

 

Deadly-manДата: Среда, 01 Июня 2011, 17:22:06 | Сообщение # 10
7 уровень
Группа: Заблокированные
Сообщений: 279
Награды: 0
Репутация: 26
Блокировки:
ой, да точно, багнутая. У тебя потом ключи будут вечно появляться и игра вылетит

Я ПОРВАЛ ФОРУМ!
 

Gr0mДата: Среда, 01 Июня 2011, 17:25:04 | Сообщение # 11
8 уровень
Группа: Проверенные
Сообщений: 729
Награды: 0
Репутация: 249
Блокировки:
Ах да тупанул чет... просто добавить массивы нужно
 

SirNikolasДата: Среда, 01 Июня 2011, 17:41:11 | Сообщение # 12
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Какие массивы? Это делается вот так:

Действия:
Установить Boolean = Нет
Для каждого (Целое Integer), от 1 до 6, делать (Действия)
_Если
__(Тип предмета (Предмет, переносимый (Переключающий юнит) в слоте Integer)) = Одна часть ключа
_То
__Если
___Boolean = Да
__То
___Предмет - Удалить (Предмет, переносимый (Переключающий юнит) в слоте Integer)
___Предмет - Удалить (Переносимый (Переключающий юнит) предмет типа Одна часть ключа)
___Герой - Создать предмет типа Ключ и дать его (Переключающий юнит)
___Пропустить последующие действия
__Иначе
___Установить Boolean = Да

Это если сборный предмет собирается из двух одинаковых. Если из трех и более, надо не логической, а целочисленной.




Сообщение отредактировал SirNikolas - Среда, 01 Июня 2011, 17:42:39
 

Gr0mДата: Среда, 01 Июня 2011, 17:52:51 | Сообщение # 13
8 уровень
Группа: Проверенные
Сообщений: 729
Награды: 0
Репутация: 249
Блокировки:
SirNikolas, А если в одно и тоже время 2 героя возьмут предмет? криво будет
 

SirNikolasДата: Среда, 01 Июня 2011, 17:56:51 | Сообщение # 14
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Gr0m, даже если дать предметы действительно одновременно, в разных потоках, все равно ничего криво не будет, т. к. скорость выполнения данного алгоритма никак не сравнима со скоростью запуска второго потока.

 

DeadJassДата: Среда, 01 Июня 2011, 21:33:05 | Сообщение # 15
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
На форуме есть наработка по этому. Если нужно дам ссылку


^ кликабельно
Archers Of The Island v1.8 - на стадии завершения
 

SunCreepДата: Четверг, 02 Июня 2011, 21:16:36 | Сообщение # 16
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
SirNikolas, хм.Каждый следующий предмет Одна часть ключа,сразу же превращается в Две части ключа,даже если нет части.Это потому,что переменная уже равна "да".А как её снова установить на "нет"?Эта наработка на 1 героя,или она глобальна?
 

FkoFFДата: Четверг, 02 Июня 2011, 21:40:12 | Сообщение # 17
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
SunCreep,

local unit u=GetManipulatingUnit()
local item i=GetManipulatedItem()
local integer id=GetItemTypeId(i)
local integer int=1
loop
exitwhen int>6
if GetItemTypeId(UnitItemInSlot(u,int))==i and UnitItemInSlot(u,int)!=i then
call UnitRemoveItemFromSlot(u,int)
call RemoveItem(i)
call UnitAddItemById(u,newitemrawcode)
set int=6
endif
set int=int+1
endloop
set i=null
set u=null


 

SunCreepДата: Четверг, 02 Июня 2011, 22:39:27 | Сообщение # 18
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
FkoFF, где среди этого всего тип поднятого и полученного предмета?Вернее я так понял там не указан тип,в место него там:"ItemById(u,newitemrawcode)".Что это,как работает,как установить определённый тип.
 

SirNikolasДата: Пятница, 03 Июня 2011, 07:08:50 | Сообщение # 19
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (SunCreep)
Каждый следующий предмет "Одна часть ключа" сразу же превращается в "Две части ключа", даже если нет части. Это потому, что переменная уже равна "Да".
Quote (SirNikolas)
Действия:

Установить Boolean = Нет

Для каждого (Целое Integer), от 1 до 6, делать (Действия)
_Если
__(Тип предмета (Предмет, переносимый (Переключающий юнит) в слоте Integer)) = Одна часть ключа
_То
__Если
___Boolean = Да
__То
___Предмет - Удалить (Предмет, переносимый (Переключающий юнит) в слоте Integer)
___Предмет - Удалить (Переносимый (Переключающий юнит) предмет типа Одна часть ключа)
___Герой - Создать предмет типа Ключ и дать его (Переключающий юнит)
___Пропустить последующие действия
__Иначе
___Установить Boolean = Да


 

t0sДата: Пятница, 03 Июня 2011, 08:03:08 | Сообщение # 20
7 уровень
Группа: Проверенные
Сообщений: 443
Награды: 0
Репутация: 219
Блокировки:
SunCreep,
Code
Событие - Юнит получает предмет  
Условие - ИЛИ - Любое ксловие - истина:  
Предмет который подобрали(начали манипулировать) = Тетива  
Предмет который подобрали(начали манипулировать) = Палка  
Действия:  
Если(Условия)/То(Действия)/Иначе(Действия):  
Если:  
Предмет который подобрали(начали манипулировать) = Тетива  
Предмет который подобрали(начали манипулировать) = Палка  
Тогда:  
Удалить предмет у героя, который подобрал (начал манипулировать) предметом = Тетива
Удалить предмет у героя, который подобрал (начал манипулировать) предметом = Палка  
Создать Плохой лук на позиция героя, который подобрал предмет  
Дать предмет герою, который подобрал предмет.  
Иначе: ------(Ничего)
 

FkoFFДата: Пятница, 03 Июня 2011, 08:05:10 | Сообщение # 21
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
t0s, самый страшный и тупой способ который только существует. Правда сам таким пользовался, было дело с год-полтора назад.

 

SirNikolasДата: Пятница, 03 Июня 2011, 08:06:42 | Сообщение # 22
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
t0s, во-первых, спрашивалось про сборку из двух одинаковых предметов, а во-вторых, твой способ попросту не работает.

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

Quote (t0s)
Если:
Предмет который подобрали(начали манипулировать) = Тетива
Предмет который подобрали(начали манипулировать) = Палка
Это условие выполнится, только если обе переменные будут указывать на один предмет. Кстати, надо не через переменные, а через типы.


 

t0sДата: Пятница, 03 Июня 2011, 08:12:21 | Сообщение # 23
7 уровень
Группа: Проверенные
Сообщений: 443
Награды: 0
Репутация: 219
Блокировки:
Это типа у тебя тетива и палка. Из них собирается лук.

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

Quote (SirNikolas)
про сборку из двух одинаковых предметов

Понятно
Quote (SirNikolas)
твой способ попросту не работает

хмм...
 

SirNikolasДата: Пятница, 03 Июня 2011, 08:12:54 | Сообщение # 24
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (t0s)
Это типа у тебя тетива и палка.
То, что ты написал - это не типы "Тетива" и "Палка". Это переменные.


 

t0sДата: Пятница, 03 Июня 2011, 08:22:31 | Сообщение # 25
7 уровень
Группа: Проверенные
Сообщений: 443
Награды: 0
Репутация: 219
Блокировки:
Это из статьи Floppy.
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Предметы
  • Страница 1 из 1
  • 1
Поиск:

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