Вы находитесь на сайте модмейкеров.
Пятница, 17.05.2024, 11:22
Участники · Правила форума · ПОИСК!
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Форум » Редактор WorldEditor » Библиотека картостроителя » [Статья]Скрешивание предметов
[Статья]Скрешивание предметов
GlaberДата: Вторник, 29.03.2011, 11:47 | Сообщение # 11



Сообщений: 1055

Quote (Evgexa)
омг, не проще всё делать на GUI ?!

Я ж ток что привел пример
Вот приставь Триггер в фиг знает какую оффигенную длинну и надо все значения поменять , вот это будет нудно и неинтересно
А на джассе быстро все прописал и все.


--
EvgexaДата: Вторник, 29.03.2011, 11:51 | Сообщение # 12



Сообщений: 1204

F@lk, а как на JASS'е ты будешь менять переменные?) а как на JASS'е ты будешь указывать точку?) по координатам? там всё муторно и нудно...

--
GlaberДата: Вторник, 29.03.2011, 11:55 | Сообщение # 13



Сообщений: 1055

Quote (Evgexa)
муторно и нудно...

Поинтереснее чем выбирать из списочка .

Quote (Evgexa)
JASS'е ты будешь менять переменные?

Просто
Если локалка
Code
local integer i = 0
//Действие
set i = i + 1 , i / 1 , 1 * 5 , i - 10
set i = #(Число)

Если глобалка

Code
set udg_u = GetTriggerUnit()
// Действие ну допустим создать юнитп
set udg_u = GetLastCreatedUnit()

Добавлено (29.03.2011, 11:55)
---------------------------------------------

Quote (Evgexa)
как на JASS'е ты будешь указывать точку?

local location q = Get - чо то там я забыл не юзаю обычно это ()
Птом действие нарпимер создать в точке q юнита




Сообщение отредактировал F@lk - Вторник, 29.03.2011, 11:54
--
Diz[Z]arDДата: Вторник, 29.03.2011, 17:39 | Сообщение # 14



Сообщений: 768

круто
(
Quote (F@lk)
function Trig_Acquires_Item_Conditions takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
return true
endfunction

function Trig_Acquires_Item_Func003Func001Func012C takes nothing returns boolean
if ( not ( GetItemTypeId(GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot1[GetForLoopIndexA()])) == udg_ITM_ItemSlot1[GetForLoopIndexA()] ) ) then
return false
endif
if ( not ( GetItemTypeId(GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot2[GetForLoopIndexA()])) == udg_ITM_ItemSlot2[GetForLoopIndexA()] ) ) then
return false
endif
if ( not ( GetItemTypeId(GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot3[GetForLoopIndexA()])) == udg_ITM_ItemSlot3[GetForLoopIndexA()] ) ) then
return false
endif
if ( not ( GetItemTypeId(GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot4[GetForLoopIndexA()])) == udg_ITM_ItemSlot4[GetForLoopIndexA()] ) ) then
return false
endif
if ( not ( GetItemTypeId(GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot5[GetForLoopIndexA()])) == udg_ITM_ItemSlot5[GetForLoopIndexA()] ) ) then
return false
endif
if ( not ( GetItemTypeId(GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot6[GetForLoopIndexA()])) == udg_ITM_ItemSlot6[GetForLoopIndexA()] ) ) then
return false
endif
return true
endfunction

function Trig_Acquires_Item_Func003Func001C takes nothing returns boolean
if ( not Trig_Acquires_Item_Func003Func001Func012C() ) then
return false
endif
return true
endfunction

function Trig_Acquires_Item_Actions takes nothing returns nothing
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = udg_ITM_MaxItemRecipes
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
if ( Trig_Acquires_Item_Func003Func001C() ) then
call AddSpecialEffectTargetUnitBJ( "origin", GetTriggerUnit(), "Abilities\\Spells\\Demon\\DarkPortal\\DarkPortalTarget.mdl" )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot1[GetForLoopIndexA()]) )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot2[GetForLoopIndexA()]) )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot3[GetForLoopIndexA()]) )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot4[GetForLoopIndexA()]) )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot5[GetForLoopIndexA()]) )
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot6[GetForLoopIndexA()]) )
call UnitAddItemByIdSwapped( udg_ITM_ReplacementItem[GetForLoopIndexA()], GetTriggerUnit() )
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetTriggerUnit())), ( "|cff00FFFFGame Message:|r Item Created: " + GetItemName(GetLastCreatedItem()) ) )
return
else
call DoNothing( )
endif
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
endfunction


а что это ?


one click plz
--
GlaberДата: Вторник, 29.03.2011, 17:55 | Сообщение # 15



Сообщений: 1055

Diz[Z]arD,
Code

function Trig_Acquires_Item_Conditions takes nothing returns boolean  
      if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) ) then  
          return false  
      endif  
      return true  
endfunction  

function Trig_Acquires_Item_Func003Func001Func012C takes nothing returns boolean  
      if ( not ( GetItemTypeId(GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot1[GetForLoopIndexA()])) == udg_ITM_ItemSlot1[GetForLoopIndexA()] ) ) then  
          return false  
      endif  
      if ( not ( GetItemTypeId(GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot2[GetForLoopIndexA()])) == udg_ITM_ItemSlot2[GetForLoopIndexA()] ) ) then  
          return false  
      endif  
      if ( not ( GetItemTypeId(GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot3[GetForLoopIndexA()])) == udg_ITM_ItemSlot3[GetForLoopIndexA()] ) ) then  
          return false  
      endif  
      if ( not ( GetItemTypeId(GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot4[GetForLoopIndexA()])) == udg_ITM_ItemSlot4[GetForLoopIndexA()] ) ) then  
          return false  
      endif  
      if ( not ( GetItemTypeId(GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot5[GetForLoopIndexA()])) == udg_ITM_ItemSlot5[GetForLoopIndexA()] ) ) then  
          return false  
      endif  
      if ( not ( GetItemTypeId(GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot6[GetForLoopIndexA()])) == udg_ITM_ItemSlot6[GetForLoopIndexA()] ) ) then  
          return false  
      endif  
      return true  
endfunction

Это условие проверяет в каждом слоту героя предметы и что ето за предмет
записывает его в глобалку

Code

function Trig_Acquires_Item_Func003Func001C takes nothing returns boolean  
if ( not Trig_Acquires_Item_Func003Func001Func012C() ) then  
return false  
endif  
return true  
endfunction

function Trig_Acquires_Item_Actions takes nothing returns nothing  
set bj_forLoopAIndex = 1  
set bj_forLoopAIndexEnd = udg_ITM_MaxItemRecipes  
loop  
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd  
if ( Trig_Acquires_Item_Func003Func001C() ) then  
call AddSpecialEffectTargetUnitBJ( "origin", GetTriggerUnit(), "Abilities\\Spells\\Demon\\DarkPortal\\DarkPortalTarget.mdl" )  
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot1[GetForLoopIndexA()]) )  
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot2[GetForLoopIndexA()]) )  
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot3[GetForLoopIndexA()]) )  
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot4[GetForLoopIndexA()]) )  
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot5[GetForLoopIndexA()]) )  
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), udg_ITM_ItemSlot6[GetForLoopIndexA()]) )  
call UnitAddItemByIdSwapped( udg_ITM_ReplacementItem[GetForLoopIndexA()], GetTriggerUnit() )  
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetTriggerUnit())), ( "|cff00FFFFGame Message:|r Item Created: " + GetItemName(GetLastCreatedItem()) ) )  
return  
else  
call DoNothing( )  
endif  
set bj_forLoopAIndex = bj_forLoopAIndex + 1  
endloop  
endfunction

А это действие создает эффект на герое + удаляет предметы сборки и даёт предмет.


--
EvgexaДата: Вторник, 29.03.2011, 19:02 | Сообщение # 16



Сообщений: 1204

F@lk, ну ты же всё равно из него выбираешь, а потом триггеры переводишь в JASS

--
GlaberДата: Вторник, 29.03.2011, 19:44 | Сообщение # 17



Сообщений: 1055

Evgexa,
Бывает но перевожу то я для удобства .
А так бывает сразу джасс делаю.


--
UZzipДата: Вторник, 29.03.2011, 21:22 | Сообщение # 18
Noize mc



Сообщений: 6078

Quote (F@lk)
Evgexa,
Бывает но перевожу то я для удобства .
А так бывает сразу джасс делаю.

F@lk, Можно у тебя в займы упёртости взять? Ты меня просто поражаешь. biggrin
Вот скажи мне что удобнее копаться в тексте вставлять в него ид предмета который тоже нужно узнавать Ctrl+D на это уйдёт минуты 2
Или просто выбрать из списка. Кстати если ты ещё не знал редактор триггеров сделали специально для облегчения работы и удобства с ждасс кодами.


--
GlaberДата: Вторник, 29.03.2011, 21:57 | Сообщение # 19



Сообщений: 1055

UZzip,
Чел)))
Ну мне реально на джассе легче,быстрее,интереснее.
Ну ведь гораздо легче вот представь у тя 200 абилок вот ты поиши их в списке
а там взял ИД и все чотко.
+ локалки.
+ легко прописать все чем искать нужное из списка.


--
UZzipДата: Вторник, 29.03.2011, 22:09 | Сообщение # 20
Noize mc



Сообщений: 6078

F@lk, Ну легче, и бог с ним. Делай как умеешь)

--
Форум » Редактор WorldEditor » Библиотека картостроителя » [Статья]Скрешивание предметов
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

W3 - Всё для картостроения. 2024-2010 |