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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Реализация системы сложения предметов.
CHLSNДата: Пятница, 13 Мая 2011, 00:25:58 | Сообщение # 1
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
В общем, как и многие другие карты, моя карта щеголяет системой какого-никакого "крафтинга".
Но вот сложилась проблема...

if then endif OR if then elseif elseif elseif ... 100500elseif endif - либо большое количество проверок, либо слишком большая вложенность elseif'ов.
loop-endloop тоже наврядли поможет, т.к. много разных функций и разных входных данных на них, на все предметы.

Как наиболее быстродейственно реализовать систему крафта? Когда предметов штук 20, все еще ничего, но планируется гораздо больше.




Я в контакте и на warcraft3ft.info.
Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
 

FkoFFДата: Пятница, 13 Мая 2011, 02:47:13 | Сообщение # 2
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
есть наработка от дуоса... вообще самый простой крафт (6 слотов инвентаря без поддержки отключенных предметов) реализовать можно в пару тройку джасс функций.

 

CHLSNДата: Пятница, 13 Мая 2011, 03:17:33 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
*закрыто цензурой*
Вкратце, то, что не умеет сохранять Chrome при неудачной попытке отправки данных:
FkoFF, не нашел наработку от дуоса. 2. Не совсем простая система крафта у меня имеется. Разные предметы, разного типа складываются по-разному в разные предметы, разного количества, не всегда одинакового типа. Грубо говоря, на 3 входных предмета не меньше 4 возможных функций, 9 возможных выходных предметов.




Я в контакте и на warcraft3ft.info.
Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
 

FkoFFДата: Пятница, 13 Мая 2011, 05:12:06 | Сообщение # 4
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
CHLSN, наработка от дуоса валяется в картострое; последнее твое предложение не понял.

Короче суть в том что написать простой шестислотный крафт и при этом удобный, с поддержкой в том числе и материалов - задача достаточно простая и реализуема в пару часов.


 

lawsonДата: Пятница, 13 Мая 2011, 08:39:17 | Сообщение # 5
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
CHLSN,
Если я тебя правильно понял то у меня на карте есть такая "система", это просто функция в которую вписываешь предметы, а она тебе возвращает уже собранный по рецепту предмет. Тебе это надо?
Эта фигня работает через 3BJ функции которые я раскрыл.


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


Сообщение отредактировал lawson - Пятница, 13 Мая 2011, 08:40:06
 

CHLSNДата: Пятница, 13 Мая 2011, 15:25:21 | Сообщение # 6
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
FkoFF, что-то нифига я таки наработку не найду.

Quote (lawson)
Если я тебя правильно понял то у меня на карте есть такая "система", это просто функция в которую вписываешь предметы, а она тебе возвращает уже собранный по рецепту предмет. Тебе это надо?
Эта фигня работает через 3BJ функции которые я раскрыл.
Нет. Это проще раз в 10.
Quote (CHLSN)
Разные предметы, разного типа складываются по-разному в разные предметы, разного количества, не всегда одинакового типа. Грубо говоря, на 3 входных предмета не меньше 4 возможных функций, 9 возможных выходных предметов.




Я в контакте и на warcraft3ft.info.
Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
 

SirNikolasДата: Пятница, 13 Мая 2011, 15:43:06 | Сообщение # 7
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Вот же она. Можно сделать по этой наработке примерно так: из ингредиентов собирается пустышка, затем срабатывает твой триггер на получение героем этой пустышки и заменяет ее на то, что тебе нужно.

 

CHLSNДата: Пятница, 13 Мая 2011, 15:54:16 | Сообщение # 8
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
Quote (SirNikolas)
Вот же она

T_T название темы рулит: FICS al'a FIGS


Quote (SirNikolas)
Можно сделать по этой наработке примерно так: из ингредиентов собирается пустышка, затем срабатывает твой триггер на получение героем этой пустышки и заменяет ее на то, что тебе нужно.

О май гад, о май гад... *закрыто цензурой*... Мне не надо не пустышек, ни деактивов, никакой прочей *закрыто цензурой*...фигни... Извините.

Мне нужна система, которая бы создала из ТАКИХ_ТО предметов по ТАКОЙ_ТО функции ТАКИЕ_ТО предметы. Что неясно?

Добавлено (13-05-2011, 15:54)
---------------------------------------------
Я уж молчу про БД.




Я в контакте и на warcraft3ft.info.
Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?


Сообщение отредактировал CHLSN - Пятница, 13 Мая 2011, 15:50:50
 

FkoFFДата: Пятница, 13 Мая 2011, 16:51:58 | Сообщение # 9
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (CHLSN)
Мне нужна система, которая бы создала из ТАКИХ_ТО предметов по ТАКОЙ_ТО функции ТАКИЕ_ТО предметы. Что неясно?Добавлено (13-05-2011, 15:54)---------------------------------------------Я уж молчу про БД.

так тебе надо на 6-ти слотах? просто если не из пустышек собирать то тогда только на 6-ти слотах. Могу написать небольшую системку..


 

CHLSNДата: Пятница, 13 Мая 2011, 17:00:14 | Сообщение # 10
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
Quote (FkoFF)
так тебе надо на 6-ти слотах? просто если не из пустышек собирать то тогда только на 6-ти слотах. Могу написать небольшую системку..

Скажем так.. Я не говорил, что мне надо на более 6 слотах. Да, именно 6 слотов меня устраивают. У юнита есть специальный крафт-сборник (юзаем спелл), с помощью которого он может оперировать над этими предметами по-разному (разрушить/разобрать/собрать...), после чего получает выходные материалы. +в зависимости от того, что у него лучше прокачано (способность какая или характеристика), он получает разные предметы.




Я в контакте и на warcraft3ft.info.
Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
 

FkoFFДата: Пятница, 13 Мая 2011, 17:08:21 | Сообщение # 11
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
CHLSN, тоесть тебе крафт с премудростями нужен.. экий ты хитрый )

 

CHLSNДата: Суббота, 21 Мая 2011, 19:27:41 | Сообщение # 12
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
FkoFF, люблю про*потеть мозг )

____________________________________________________

Code
function Prototype takes unit u, integer p, integer result, integer resultcharge, item i1, item i2, item i3, item i4, item i5, integer c1, integer c2, integer c3, integer c4, integer c5, integer w1, integer w2, integer w3, integer w4, integer w5, integer w6, integer v1, integer v2, integer v3, integer v4, integer v5, integer v6 returns nothing
       if c1 > 0 then
           call SAE_DC( i1, c1 )
       else
           call RemoveItem( i1 )
       endif
       if c2 > 0 then
           call SAE_DC( i2, c2 )
       else
           call RemoveItem( i2 )
       endif
       if c3 > 0 then
           call SAE_DC( i3, c3 )
       else
           call RemoveItem( i3 )
       endif
       if c4 > 0 then
           call SAE_DC( i4, c4 )
       else
           call RemoveItem( i4 )
       endif
       if c5 > 0 then
           call SAE_DC( i5, c5 )
       else
           call RemoveItem( i5 )
       endif
       if <Проверка условий (в моем случае заданы глобально, поэтому параметры не передаются)> then
           call SetItemCharges( UnitAddItemById( u, result ), resultcharge )
       else
           if w1 != 0 then
               call SAE_TU( u, w1, v1 )
           endif
           if w2 != 0 then
               call SAE_TU( u, w2, v2 )
           endif
           if w3 != 0 then
               call SAE_TU( u, w2, v2 )
           endif
           if w4 != 0 then
               call SAE_TU( u, w2, v2 )
           endif
           if w5 != 0 then
               call SAE_TU( u, w2, v2 )
           endif
           if w6 != 0 then
               call SAE_TU( u, w2, v2 )
           endif
           call SAE_F( u )
       endif
       set u = null
       set i1 = null
       set i2 = null
       set i3 = null
       set i4 = null
       set i5 = null
endfunction

SAE_DC - вычет зарядов из предмета.
SAE_TU - создание предмета с заданным количеством зарядов.

Универсальная функция для сложения предметов, хороша? Плюс: сокращение строчек кода и функций. Минус: в Х% случаев передача большого количества нулевых параметров и их ненужная обработка (а вот как это будет ужасно выглядеть: call SAE_Prototype( u, p, 'plcl', 1, i[0], null, null, null, null, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 )).

Ладно, хрен с этим. Меня интересует больше проверка предметов для сложения - 10+20 раз писать elseif ? Если не больше (а мало ли).




Я в контакте и на warcraft3ft.info.
Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?


Сообщение отредактировал CHLSN - Суббота, 21 Мая 2011, 20:48:02
 

  • Страница 1 из 1
  • 1
Поиск:

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