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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
[Система] FICS
[DUОS]Дата: Четверг, 05 Мая 2011, 17:19:15 | Сообщение # 1
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Название: Full-Inventory Crafting System
Авторы: bowser499 aka [DUOS] and SirNikolas
Тип исполнения: JASS2 and cJass
Тестовая карта: Присутствует
Минимальный патч: Любой

Одна из нашумевших наработок, которую мало кто доводил до конца конкретно на JASS2. Из-за крайней сложности её создания решил выложить, так как это решит много вопросов, с этим связанных.



Возможности:

  • Сбор при полном инвентаре (рецепты максимум до 7 слотов);
  • Сбор с участием идентичных предметов;
  • Смена иконки предмета из магазина и предмета в инвентаре (покупаешь рецепт с иконкой сборного предмета - в инвентарь идет свиток);
  • Смена предмета на деактивированный предмет (любой, кто берет предмет, не принадлежащий ему, не получает свойств предмета);
  • Сложение "зарядов" предметов (банка с 3 зарядами + банка с 8 зарядами = банка с 11 зарядами).



База данных предметов и рецептов формируется по следующему принципу:

1. Создаются в РО три копии одного и того же предмета:
  • Normal (обычный предмет, находится у купившего)
  • Rune (используется мгновенно, находится в магазине и лежит на земле)
  • Disabled (находится у того, кто "украл" предмет)
Обратите внимание: Все предметы должны быть нестандартными!
2. Rune-копии добавляются в магазины.
3. В триггере инициализации регистрируются предметы путем вызова для каждого FICS_Register(rawNormal, rawRune, rawDisabled, goldCost, lumberCost). Каждому предмету дается порядковый номер, начиная с единицы.
4. Наконец, составляется список рецептов. Вызывается функция FICS_RegisterN(resultId, id0, id1, ..., idN), где N - количество ингредиентов, а resultId, id0, id1, ..., id6 - порядковые номера предметов.



Импорт наработки:

Версия JASS2:
1. Скопируйте основной код карты FICS v1.6.w3x в основной код своей карты.
2. Скопируйте триггер "FICS".
3. Скопируйте все переменные (для облегчения задачи можно скопировать, а затем удалить триггер "FICS variables", если включено автоматическое создание переменных).

Версия cJass:
1. Скопируйте триггер "FICS cJass" (и разблокируйте его).



Прикрепления: FICS_v1.6.w3x (28.1 Kb)
 

RedRomkaДата: Среда, 30 Мая 2012, 16:44:41 | Сообщение # 26
2 уровень
Группа: Пользователи
Сообщений: 22
Награды: 0
Репутация: 13
Блокировки:
Спасибо. Система очень помогла. Только одно: у меня работало для одного игрока: красного - Player(0). Другим выдавал дисаблед предметы(Даже если покупал сам). Не знаю, может кому поможет: в функциях
Code

function Item_GetOwningPlayer takes item i returns player
     return Player(LoadInteger(udg_FicsHash,GetHandleId(i),10))
endfunction

function Item_SetOwningPlayer takes item i, player p returns nothing
     call SaveInteger(udg_FicsHash,GetHandleId(i),10,GetPlayerId(p))
endfunction


Заменил сохранение и загрузку интегера Id игрока на хэндл игрока. Стало работать для всех игроков.
 

SirNikolasДата: Среда, 30 Мая 2012, 17:10:02 | Сообщение # 27
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (RedRomka)
Id игрока на хэндл игрока
А смысл? Разве мы не можем сказать, какой ID будет у какого игрока?
Протестируй еще раз: вполне возможно, что после этого изменения можно пользоваться чужими предметами.


 

RedRomkaДата: Среда, 30 Мая 2012, 17:40:47 | Сообщение # 28
2 уровень
Группа: Пользователи
Сообщений: 22
Награды: 0
Репутация: 13
Блокировки:
Quote (SirNikolas)
можно пользоваться чужими предметами.


Чёрт( И верно...

Ну а вчём тогда проблема? У меня только для красного работает. Вот два компа по локалке соединил - красный пашет, остальным дисаблед раздаёт.

Добавлено (30 Май 2012, 17:40:47)
---------------------------------------------
Даже получается так, что все предметы красному игроку принадлежат.

 

SirNikolasДата: Среда, 30 Мая 2012, 18:55:14 | Сообщение # 29
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Хэш инициализирован?

 

RedRomkaДата: Среда, 30 Мая 2012, 19:05:38 | Сообщение # 30
2 уровень
Группа: Пользователи
Сообщений: 22
Награды: 0
Репутация: 13
Блокировки:
Quote (SirNikolas)
Хэш инициализирован?

Да.

Вклеил систему в карту: сначала подстроил под неё - тестил, получил то, что выше описал. Потом попробовал ничего не трогать, тоже самое вышло.
Чёрт знает. Я пока в джасе нуб, раз десятый уже просматриваю код: вроде всё верно.
 

SirNikolasДата: Четверг, 31 Мая 2012, 14:46:04 | Сообщение # 31
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
В тестовой карте [DUОS]'а такой баг есть?

 

RedRomkaДата: Суббота, 02 Июня 2012, 00:01:55 | Сообщение # 32
2 уровень
Группа: Пользователи
Сообщений: 22
Награды: 0
Репутация: 13
Блокировки:
Quote (SirNikolas)
В тестовой карте [DUОS]'а такой баг есть?


Да. Создал там другого игрока: тоже самое - выдаёт Disabled предметы.

Добавлено (31 Май 2012, 23:34:04)
---------------------------------------------
Несколько переделал систему: вместо сохранения в хеш-таблице Id игрока сделал присваивание предмету игрока (SetItemPlayer). Сразу говорю, не знаю на сколько утечна эта функция, но система стала работать для всех игроков(Тестил в своей карте). Изменил наработку [DUOS]'a: так же добавил совместимую c FICS систему собирания предметов магическим кругом (как в доте). Я думаю, что это полезно будет тем, кто систему использовать будет. Протестите, сам я багов не нашёл.

Вот скинул.
http://depositfiles.com/files/28qphl05h

Добавлено (02 Июнь 2012, 00:01:55)
---------------------------------------------
Друзья, нашёл баг (который так же присутствовал в варсии 1.2) - При передаче предмета напрямую (Не кладя на землю, а перетаскиванием иконки предмета на героя/юнита) юниту, не принадлежащему игроку предмет сохранялся в форме Normal. Исправлено!

Добавил: 1)Магический круг выкидывает на свою позицию предметы при покупке
2)Магический круг собирает предметы из НЕгероев, находящихся в области сбора (Если планируете использовать курьеров и т.д.)

Если найдёте ошибку или баг - сообщите.

FICS V1.4
http://rghost.ru/38423115
 

[DUОS]Дата: Суббота, 02 Июня 2012, 14:06:46 | Сообщение # 33
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
RedRomka,
Спасибо за правки, до которых у меня руки не дошли о_о
Но доту из наработки тоже делать не надо :Р

FICS V1.4
http://rghost.ru/38423115


Закрепите.


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

OrlokДата: Среда, 25 Июля 2012, 02:30:55 | Сообщение # 34
2 уровень
Группа: Пользователи
Сообщений: 28
Награды: 0
Репутация: -1
Блокировки:
при сохранении карты после импорта стыкнулся вот с такой проблемой:


Divine Championship
 

BorodachДата: Воскресенье, 18 Ноября 2012, 05:31:51 | Сообщение # 35
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
Обновите ссылку

Karamba
 

SirNikolasДата: Воскресенье, 18 Ноября 2012, 07:16:59 | Сообщение # 36
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
У кого осталась версия 1.4, скиньте, пожалуйста.

 

Ty3uKДата: Воскресенье, 18 Ноября 2012, 10:37:35 | Сообщение # 37
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
http://www.hiveworkshop.com/forums....-211797

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек


Сообщение отредактировал Ty3uK - Воскресенье, 18 Ноября 2012, 13:17:47
 

BorodachДата: Понедельник, 19 Ноября 2012, 10:10:24 | Сообщение # 38
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
Ty3uK, Скачал версию 1.2. Или ее просто сохранили как v1.2?

Karamba
 

Ty3uKДата: Понедельник, 19 Ноября 2012, 10:24:42 | Сообщение # 39
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Это единственное, что я нашел

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

Q1wAseДата: Суббота, 12 Января 2013, 09:56:25 | Сообщение # 40
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Кто может перезалить ссылку на 1.4 версию? у меня баг, сделал всё как сказанно и при покупке вещи Rune из лавки герою даются 2 предмета Rune и Normal.

 

SirNikolasДата: Среда, 16 Января 2013, 19:20:51 | Сообщение # 41
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Так и должно быть. Однако предмет-руна должен быть сделан на основе руны, и тогда при получении он сразу исчезнет.

 

Q1wAseДата: Понедельник, 21 Января 2013, 15:07:52 | Сообщение # 42
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Ага понял

Добавлено (18 Января 2013, 21:50:46)
---------------------------------------------
SirNikolas другая проблема теперь((
Работает для игрока красного только(((
Скиньте плз для 12 игроков. Очень прошу.

Добавлено (21 Января 2013, 15:07:52)
---------------------------------------------
SirNikolas
Перезалейте пожалуйста версию 1.4. В 1.2 работает только на красного игрока(((


 

SirNikolasДата: Вторник, 12 Февраля 2013, 15:07:06 | Сообщение # 43
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Система переписана с нуля. Значительно оптимизирован алгоритм поиска рецептов. Также изменился интерфейс (см. первый пост или примеры в карте).

 

Ty3uKДата: Среда, 17 Апреля 2013, 00:02:42 | Сообщение # 44
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Мне кажется, или в cJASS-версии православнее будет переписать хурму вида Register1234567 на макрос перегруженный? :)

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

CCTCTCCДата: Среда, 17 Апреля 2013, 09:30:37 | Сообщение # 45
4 уровень
Группа: Проверенные
Сообщений: 83
Награды: 0
Репутация: 26
Блокировки:
Мне вот интересно как убрать баг с передачей предметов?!?!? %)

 

Ty3uKДата: Среда, 17 Апреля 2013, 10:21:19 | Сообщение # 46
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
CCTCTCC, напиши Коле, он разберется.

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

DuosoraДата: Среда, 17 Апреля 2013, 14:09:40 | Сообщение # 47
The cats never sleep...
Группа: Ветераны
Сообщений: 6734
Награды: 10
Репутация: 2161
Блокировки:
Ty3uK,
Драгону ведь пофиг :3


Не зли других и сам не злись.
Мы - гости в этом мире.
И если что не так - смирись,
Будь поумнее - улыбнись,
Ведь в мире всё закономерно.
Зло, излучённое тобой,
К тебе вернётся непременно.
 

SirNikolasДата: Среда, 17 Апреля 2013, 14:23:28 | Сообщение # 48
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Цитата (Duosora)
Драгону ведь пофиг :3
Все прекрасно поняли, кому надо писать.
Цитата (Ty3uK)
Register1234567 на макрос перегруженный?
Дело в том, что уже есть функция Register, принимающая 5 аргументов. К тому же, я стремился сделать так, чтобы интерфейс библиотеки был одинаковым для всех языков.
И мне это удалось.


 

Ty3uKДата: Среда, 17 Апреля 2013, 17:04:00 | Сообщение # 49
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
SirNikolas, ну как знаешь. Погнушался таким удобством и красотой написания. :)

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

(ZFT)T_DДата: Четверг, 20 Июня 2013, 00:15:01 | Сообщение # 50
1 уровень
Группа: Пользователи
Сообщений: 4
Награды: 0
Репутация: -10
Блокировки:
Прошу прощения, за то что поднимаю старую тему, но я создал второго героя за Красного игрока и дал ему перчатки скорости. Получилось так что у обоих героев появился предмет. Передал обратно и у первого уже 3 перчатки. Ну и еще у меня пару ошибок в триггерах (уже в моей карте). Все кроме "FICS". Отсутствует функция FICS_Register в Базе...
 

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

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