Сейчас 06:40:12 Четверг, 2 мая, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Установки лвла героев
Установки лвла героев
NypДата: Четверг, 09 Февраля 2012, 13:48:05 | Сообщение # 1
6 уровень
Группа: Проверенные
Сообщений: 217
Награды: 0
Репутация: 56
Блокировки:
Народ, я создал диалог в начале игры, обозначающий начальный лвл героев, которые будут присутствовать на карте.
С: нажата кнопка диалога
Д:Е: если кнопка = 1
То: установить инт = 1
И: кнопка = 2
уст инт = 2
Потом в тригере выбора героя через тавернку, проверяю условием:
Е: инт = 1
То уст лвл проданный герой = 1
Инт 2
Лвл = 15
Только не действует это почему то. Может ли работать такое, или я просто ошибся?
 

DreiiДата: Четверг, 09 Февраля 2012, 13:58:35 | Сообщение # 2
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Nyp когда нажимайут кнопку давай перемение0й какое то значение.далее установить уровень героя герой как переменаня

 

vov68Дата: Четверг, 09 Февраля 2012, 14:01:02 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 1329
Награды: 3
Блокировки:
дружеский совет - для проверки работоспособности системы поставь в каждом действии сообщение с любым текстом, но разным для каждого действия. и сразу увидишь что работает, а что нет.
потому что вопросов много - как кнопки создал, что ещё в триггерах есть.


Зачем делать для других новые карты...
... лучше устроить коту божественный почесон. :)


Сообщение отредактировал vov68 - Четверг, 09 Февраля 2012, 14:02:08
 

NypДата: Четверг, 09 Февраля 2012, 14:01:21 | Сообщение # 4
6 уровень
Группа: Проверенные
Сообщений: 217
Награды: 0
Репутация: 56
Блокировки:
Вон же на картинке видно, что я устанавливаю значение целочисленной равной 1, если нажата 1 кнопка диалога, если 2 - то инт = 2. Но лвл всё равно не выставляется при игре. umnik Ок, vоv68, проверю.
Тригер был изначально выключен...сори за вопрос, всё решено


Сообщение отредактировал Nyp - Четверг, 09 Февраля 2012, 14:12:21
 

DreiiДата: Четверг, 09 Февраля 2012, 14:04:04 | Сообщение # 5
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Nyp, у тебя та куча тупых условий вниамательон рочитацй мой пост и попробуй еще разх

 

vov68Дата: Четверг, 09 Февраля 2012, 14:17:14 | Сообщение # 6
10 уровень
Группа: Проверенные
Сообщений: 1329
Награды: 3
Блокировки:
Quote (Dreii)
куча тупых условий вниамательон рочитацй мой пост и попробуй еще разх

перевожу
создаёшь переменную целочисленную, которой в диалоге приравниваешь будущий уровень
потом эту переменную подставляешь в установить уровень героя
весь перебор условий проста становится не нужен. ;)


Зачем делать для других новые карты...
... лучше устроить коту божественный почесон. :)
 

Brut@lusДата: Четверг, 09 Февраля 2012, 14:34:49 | Сообщение # 7
Группа: Заблокированные
Сообщений: 2496
Награды: 1
Репутация: 924
Блокировки:
Nyp, если хочешь могу скинуть оптимизированную рабочую версию этой штуки на jass'e

Добавлено (09 Февраль 2012, 14:34:49)
---------------------------------------------

Quote (Nyp)
всё решено

мб таки согласишся на более лучший, короткий, удобный вариант?


 

NypДата: Четверг, 09 Февраля 2012, 14:48:54 | Сообщение # 8
6 уровень
Группа: Проверенные
Сообщений: 217
Награды: 0
Репутация: 56
Блокировки:
Спс, не стоит =) Я в jass вообще ноль, даже не знаю куда вставить этот код надо будет. avtorklif
 

Brut@lusДата: Четверг, 09 Февраля 2012, 14:50:23 | Сообщение # 9
Группа: Заблокированные
Сообщений: 2496
Награды: 1
Репутация: 924
Блокировки:
Nyp, тебе даже смотреть на этот jass не прийдётся, не то что всставлять. можешь дать мне карту я всуну. просто у тебя будет карта быстрее работать и это всё будет компактней.



Сообщение отредактировал Brut@lus - Четверг, 09 Февраля 2012, 14:50:49
 

NypДата: Четверг, 09 Февраля 2012, 14:53:48 | Сообщение # 10
6 уровень
Группа: Проверенные
Сообщений: 217
Награды: 0
Репутация: 56
Блокировки:
smiletrollskip Кидаю карту
 

Brut@lusДата: Четверг, 09 Февраля 2012, 14:54:56 | Сообщение # 11
Группа: Заблокированные
Сообщений: 2496
Награды: 1
Репутация: 924
Блокировки:
У тебя есть скап, или аська? а то тут не удобно совсем

 

NypДата: Четверг, 09 Февраля 2012, 14:57:17 | Сообщение # 12
6 уровень
Группа: Проверенные
Сообщений: 217
Награды: 0
Репутация: 56
Блокировки:
Я на ргост скинул ok , в личку.
 

DreiiДата: Четверг, 09 Февраля 2012, 15:00:42 | Сообщение # 13
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Brut@lus, код на паб плс

 

Brut@lusДата: Четверг, 09 Февраля 2012, 15:08:21 | Сообщение # 14
Группа: Заблокированные
Сообщений: 2496
Награды: 1
Репутация: 924
Блокировки:
Триггер HeroLevelDialog:

Code
function Trig_HeroLevelDialog_Actions takes nothing returns nothing
       call DialogSetMessage(udg_dialog, "Select hero start level")
       set udg_dialog_buttons[1] = DialogAddButton(udg_dialog, "1",0)
       set udg_dialog_buttons[2] = DialogAddButton(udg_dialog, "2",0)
       set udg_dialog_buttons[3] = DialogAddButton(udg_dialog, "3",0)
       call DialogDisplay(Player(0), udg_dialog, true)
endfunction

function InitTrig_HeroLevelDialog takes nothing returns nothing
       set gg_trg_HeroLevelDialog = CreateTrigger(  )
       call TriggerRegisterTimerEventSingle(gg_trg_HeroLevelDialog, 0.3)
       call TriggerAddAction( gg_trg_HeroLevelDialog, function Trig_HeroLevelDialog_Actions )
endfunction


HeroLevelButtonPicked:

Code

function Trig_HeroLevelButtonPicked_Actions takes nothing returns nothing
      if ( GetClickedButton() == udg_dialog_buttons[1] ) then
          set udg_LevelOfHero = 1
      endif
      if ( GetClickedButton() == udg_dialog_buttons[2] ) then
          set udg_LevelOfHero = 2
      endif
      if ( GetClickedButton() == udg_dialog_buttons[3] ) then
          set udg_LevelOfHero = 3
      endif
      call DisplayTextToForce( GetPlayersAll(), I2S(udg_LevelOfHero) )
     
endfunction

function InitTrig_HeroLevelButtonPicked takes nothing returns nothing
      set gg_trg_HeroLevelButtonPicked = CreateTrigger(  )
      call TriggerRegisterDialogEventBJ( gg_trg_HeroLevelButtonPicked, udg_dialog )
      call TriggerAddAction( gg_trg_HeroLevelButtonPicked, function Trig_HeroLevelButtonPicked_Actions )
endfunction


ПЕРЕМЕННЫЕ:
dialog - диалог
dialog_buttons - кнопка массив
LevelOfHero - целочисленная

Добавлено (09 Февраль 2012, 15:05:05)
---------------------------------------------
тьфу

Добавлено (09 Февраль 2012, 15:05:14)
---------------------------------------------
не так скинул

Добавлено (09 Февраль 2012, 15:07:29)
---------------------------------------------
вот. теперь верно.

Добавлено (09 Февраль 2012, 15:08:21)
---------------------------------------------
и ещё одна ф-ция на установку уровня




Сообщение отредактировал Brut@lus - Четверг, 09 Февраля 2012, 15:07:19
 

DreiiДата: Четверг, 09 Февраля 2012, 15:10:18 | Сообщение # 15
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Quote (Brut@lus)
    if ( GetClickedButton() == udg_dialog_buttons[1] ) then           set udg_LevelOfHero = 1       endif       if ( GetClickedButton() == udg_dialog_buttons[2] ) then           set udg_LevelOfHero = 2       endif       if ( GetClickedButton() == udg_dialog_buttons[3] ) then           set udg_LevelOfHero = 3       endif       call DisplayTextToForce( GetPlayersAll(), I2S(udg_LevelOfHero) )


в цикл лучше

Code
call DisplayTextToForce( GetPlayersAll(), I2S(udg_LevelOfHero) )


в

Code
call DisplayTextToPlayer( GetLocalPlayer(),0.,0., I2S(udg_LevelOfHero) )




Сообщение отредактировал Dreii - Четверг, 09 Февраля 2012, 15:10:42
 

SirNikolasДата: Четверг, 09 Февраля 2012, 15:12:43 | Сообщение # 16
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (Dreii)
в цикл лучше
Не лучше. А вот local handle b = GetClickedButton() лучше добавить.


 

DreiiДата: Четверг, 09 Февраля 2012, 15:14:40 | Сообщение # 17
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
SirNikolas, там же массив кнопки == уровнйу героя

 

Brut@lusДата: Четверг, 09 Февраля 2012, 15:47:49 | Сообщение # 18
Группа: Заблокированные
Сообщений: 2496
Награды: 1
Репутация: 924
Блокировки:
Quote (Dreii)
call DisplayTextToForce( GetPlayersAll(), I2S(udg_LevelOfHero) )

в

Code
call DisplayTextToPlayer( GetLocalPlayer(),0.,0., I2S(udg_LevelOfHero) )

а это вообще тестовая ф-ция, её нет в финал версе.

Добавлено (09 Февраль 2012, 15:47:49)
---------------------------------------------
темка клоз, всё решено.


 

SirNikolasДата: Четверг, 09 Февраля 2012, 16:34:44 | Сообщение # 19
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (Dreii)
SirNikolas, там же массив кнопки == уровню героя
Циклы до пяти итераций лучше не использовать. Затраты на изменение счетчика и сравнения слишком велики по сравнению с затратами на исполнение тела цикла.
Разумеется, если тело состоит из пары строк.


 

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

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