Записи участника ([DUОS]) - Форум


Правила форума ·

Результаты поиска

[DUОS]

#151 | Тема: FICS
Название: 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_Proceed().
5. Наконец, составляется список рецептов. Вызывается функция FICS_RegisterN(resultId, id0, id1, ..., idN), где N - количество ингредиентов, а resultId, id0, id1, ..., id6 - порядковые номера предметов.



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

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

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




Скачать (v1.5)
Скачать (v1.4)
Скачать (v1.3)
Скачать (v1.2)
Скачать (v1.1)
Скачать (v1.0)
Школа - это место, где шлифуют булыжники и портят алмазы. © Роберт Ингерсолл

[DUОS]

#159 | Тема: Speed Hill System
Code
function SH_Filter takes nothing returns boolean
     local unit u = GetFilterUnit()
     local real a = GetUnitFacing(u)
     local real x = GetUnitX(u)+80.*Cos(a*.0174532)
     local real y = GetUnitY(u)+80.*Sin(a*.0174532)
     local location l = Location(x,y)
     local location l2 = GetUnitLoc(u)
     local real z = GetLocationZ(l)
     local real z2 = GetLocationZ(l2)
     local real z3Rb = z - z2
     local real dms = GetUnitDefaultMoveSpeed(u)  
      
     if IsUnitType(u,UNIT_TYPE_GROUND) or IsUnitType(u, UNIT_TYPE_HERO) then
          
         if z3Rb > 30. and z3Rb < 69. then
             call SetUnitMoveSpeed(u,dms*.3)
         endif
          
         if z3Rb > 70. and z3Rb < 179. then
             call SetUnitMoveSpeed(u,dms*.1)
         endif
          
         if z3Rb > 180. and z3Rb < 999. then
             call SetUnitMoveSpeed(u,0.)
         endif

         if z3Rb >= -15. and z3Rb <= 15. then
             call SetUnitMoveSpeed(u,dms)
         endif
          
         if z3Rb < -30. and z3Rb > -69. then
             call SetUnitMoveSpeed(u,dms*1.5)
         endif
          
         if z3Rb < -80. and z3Rb > -999. then
             call SetUnitMoveSpeed(u,dms*2.)
         endif
       
     endif
      
     call RemoveLocation(l)
     call RemoveLocation(l2)
   
     return false
endfunction

function SH_Ac takes nothing returns nothing
     local group g = CreateGroup()    
      
     call GroupEnumUnitsInRect(g,GetWorldBounds(),Filter(function SH_Filter))

     call DestroyGroup(g)
     set g = null
endfunction

//=========================================================

function InitTrig_hill_System takes nothing returns nothing
     set gg_trg_hill_System = CreateTrigger()
     call TriggerRegisterTimerEvent(gg_trg_hill_System,.20,true)
     call TriggerAddAction(gg_trg_hill_System,function SH_Ac)
endfunction


Вот он - нормальный безутечный код твоей системы.
Школа - это место, где шлифуют булыжники и портят алмазы. © Роберт Ингерсолл

[DUОS]

#163 | Тема: Octo Push
Название: Octo Push
Категория: Melee
Кол-во игроков: 1-8
Описание: Стандартное Melee с 8-ю горами.
Прикрепления: 4375148.jpg (32.9 Kb)
Школа - это место, где шлифуют булыжники и портят алмазы. © Роберт Ингерсолл

[DUОS]

#164 | Тема: Официальные модификации от Blizzard



Прикрепления: 4336455.jpg (65.9 Kb) · 6701169.jpg (75.4 Kb) · 2642095.jpg (72.9 Kb) · 0358410.jpg (85.0 Kb)
Сообщение отредактировал [DUOS] - Вс, 15.04.12, 14:25
Школа - это место, где шлифуют булыжники и портят алмазы. © Роберт Ингерсолл
Поиск: