Заменить скил
|
|
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
|
|
|
|