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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Заменить скил
Заменить скил
genyДата: Суббота, 24 Апреля 2010, 21:07:08 | Сообщение # 1
4 уровень
Группа: Проверенные
Сообщений: 84
Награды: 0
Репутация: 10
Блокировки:
Я писал до этой темы еще одну тему, но там не помогли. Теперь пишу конкретнее.
До выбора скилов у героя такие скилы (на основе скила "Канал"):

Вот в триггерах есть

Code
    set udg_integers01[0]='A02K'
   set udg_integers01[1]='A02J'
   set udg_integers01[2]='A03A'
   set udg_integers01[10]='A02Y'
   set udg_integers01[11]='A03N'
   set udg_integers01[12]='A02X'
   set udg_integers01[20]='A034'
   set udg_integers01[21]='A032'
   set udg_integers01[22]='A038'
   set udg_integers01[23]='A037'
   set udg_integers01[24]='A036'
   set udg_integers01[25]='A03U'
   set udg_integers01[26]='A02E'
   set udg_integers01[40]='A05H'
   set udg_integers01[41]='A05A'
   set udg_integers01[42]='A03S'
   set udg_integers01[43]='A03R'
   set udg_integers01[44]='A05M'
   set udg_integers01[45]='A02V'
...

  set udg_integers02[0]='A02R'
  set udg_integers02[1]='A02P'
  set udg_integers02[2]='A02S'
  set udg_integers02[3]='A02Q'

И когда происходит действие выбора скила:
Code
function gt takes nothing returns nothing
   call SetHeroLevelBJ(GetEnumUnit(),2,false)
   call UnitAddAbility(GetEnumUnit(),udg_integers02[0])
   call UnitAddAbility(GetEnumUnit(),udg_integers01[2])
   call UnitRemoveAbility(GetEnumUnit(),udg_integers01[2])
   call UnitRemoveAbility(GetEnumUnit(),udg_integers02[0])
   call DisplayTextToForce(udg_force01,(udg_strings01[(1+GetPlayerId(GetTriggerPlayer()))]+" |c00abcfd2has selected Monsoon as their Lighting Ability|r"))
   call DialogDisplayBJ(true,udg_dialog02,GetTriggerPlayer())
endfunction

Я пробовал писать выше на писаный код, но нечего не происходит.

Сообщение отредактировал geny - Суббота, 24 Апреля 2010, 21:09:31
 

DragoNДата: Суббота, 24 Апреля 2010, 21:15:37 | Сообщение # 2
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
geny, быстрое удаление и добавления скиллов мб?
попробуй подождать .01 с


El Psy Congroo
 

genyДата: Суббота, 24 Апреля 2010, 21:32:49 | Сообщение # 3
4 уровень
Группа: Проверенные
Сообщений: 84
Награды: 0
Репутация: 10
Блокировки:
Не помогло :(
Если я правильно понял
Code
   call SetHeroLevelBJ(GetEnumUnit(),2,false)
    call UnitAddAbility(GetEnumUnit(),udg_integers02[0])
    call UnitAddAbility(GetEnumUnit(),udg_integers01[2])
     call TriggerSleepAction( 0.01 )
    call UnitRemoveAbility(GetEnumUnit(),udg_integers01[2])
    call UnitRemoveAbility(GetEnumUnit(),udg_integers02[0])


Сообщение отредактировал geny - Суббота, 24 Апреля 2010, 21:33:21
 

DragoNДата: Суббота, 24 Апреля 2010, 21:38:20 | Сообщение # 4
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
geny, а действия вообще доходит до сюда(до добавления абилки)?

El Psy Congroo
 

genyДата: Суббота, 24 Апреля 2010, 21:53:36 | Сообщение # 5
4 уровень
Группа: Проверенные
Сообщений: 84
Награды: 0
Репутация: 10
Блокировки:
Я специально сделал триггер что бы 100% быть уверенным.
 

DragoNДата: Суббота, 24 Апреля 2010, 22:38:21 | Сообщение # 6
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
geny, покажи весь код триггера
попробуй заюзать в триге(то,что не джассом)екзекут
call ExecuteFunc("gt")


El Psy Congroo
 

genyДата: Воскресенье, 25 Апреля 2010, 11:50:34 | Сообщение # 7
4 уровень
Группа: Проверенные
Сообщений: 84
Награды: 0
Репутация: 10
Блокировки:
call TriggerAddAction(udg_trigger88,function gq)
call TriggerAddAction(udg_trigger87,function gP)
call TriggerAddAction(udg_trigger86,function gp)

Code
function gq takes nothing returns nothing
  set udg_integers02[0]='A02R'
  set udg_integers02[1]='A02P'
  set udg_integers02[2]='A02S'
  set udg_integers02[3]='A02Q'
  call TriggerExecute(udg_trigger87)
endfunction

Code
function gP takes nothing returns nothing
  set udg_integers01[0]='A02K'
  set udg_integers01[1]='A02J'
  set udg_integers01[2]='A03A'
  set udg_integers01[10]='A02Y'
  set udg_integers01[11]='A03N'
  set udg_integers01[12]='A02X'
  set udg_integers01[20]='A034'
  set udg_integers01[21]='A032'
  set udg_integers01[22]='A038'
  set udg_integers01[23]='A037'
  set udg_integers01[24]='A036'
  set udg_integers01[25]='A03U'
  set udg_integers01[26]='A02E'
  set udg_integers01[40]='A05H'
  set udg_integers01[41]='A05A'
  set udg_integers01[42]='A03S'
  set udg_integers01[43]='A03R'
  set udg_integers01[44]='A05M'
  set udg_integers01[45]='A02V'
endfunction

Code
function gp takes nothing returns nothing
  call ForForce(bj_FORCE_ALL_PLAYERS,function gO)
  call TriggerExecute(udg_trigger88)
endfunction

Code
function gt takes nothing returns nothing
  call SetHeroLevelBJ(GetEnumUnit(),2,false)
  call UnitAddAbility(GetEnumUnit(),udg_integers02[0])
  call UnitAddAbility(GetEnumUnit(),udg_integers01[2])
  call UnitRemoveAbility(GetEnumUnit(),udg_integers01[2])
  call UnitRemoveAbility(GetEnumUnit(),udg_integers02[0])
  call DisplayTextToForce(udg_force01,(udg_strings01[(1+GetPlayerId(GetTriggerPlayer()))]+" |c00abcfd2has selected Monsoon as their Lighting Ability|r"))
  call DialogDisplayBJ(true,udg_dialog02,GetTriggerPlayer())
endfunction

function gT takes nothing returns boolean
  return(GetClickedButton()==udg_buttons08[3])
endfunction

Code
    call DialogAddButtonBJ(udg_dialog01,"|c004655b0M|r|c00576dbdo|r|c006885can|r|c00799dd7s|r|c008ab5e4o|r|c009bcdf1o|r|c00ace5fen|r")
  set udg_buttons08[3]=bj_lastCreatedButton
 

ЭллесарДата: Воскресенье, 25 Апреля 2010, 11:52:05 | Сообщение # 8
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
geny, Занеси GetEnumUnit() в переменную и багов не будет.

база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

genyДата: Воскресенье, 25 Апреля 2010, 13:38:45 | Сообщение # 9
4 уровень
Группа: Проверенные
Сообщений: 84
Награды: 0
Репутация: 10
Блокировки:
У меня не получается, может кто-то знает другой способ дать герою геройский скил (что бы можно было лвл повышать скилу) ?
 

ЭллесарДата: Понедельник, 26 Апреля 2010, 01:23:44 | Сообщение # 10
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
geny,

local unit u = GetEnumUnit() и подставь везде где GetEnumUnit() - u. работать должно, потому что когда работаешь со скилами, GetEnumUnit() и другие подобные функции могут неадыкватно работать.


база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

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

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