Сейчас 19:39:56 Суббота, 4 мая, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Диалог и кнопки
Диалог и кнопки
DeadJassДата: Воскресенье, 12 Июня 2011, 00:04:38 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
Никогда не любил сложные диалоговые окна но...
Далее предоставлен кусок кода.
Дело в том чт переменная score не изменяется тоесть она как была 0 так и осталась
Code
local integer i=5
if GetClickedButton()==b[1] then
set modes="Охота"
call DialogClear(d)
call DialogSetMessage(d,"Выберите количество убийств")
set b[5] = DialogAddButton(d,"25",0)
set b[6] = DialogAddButton(d,"50",1)
set b[7] = DialogAddButton(d,"75",2)
set b[8] = DialogAddButton(d,"100",3)
set b[9] = DialogAddButton(d,"125",4)
call DialogDisplay(Player(0),d,true)
loop
exitwhen i>9
elseif GetClickedButton()==b[i]then
call DialogClear(d)
call DialogSetMessage(d,"Включить мод каждый сам за себя?")
set b[10] = DialogAddButton(d,"Да",0)
set b[11] = DialogAddButton(d,"Нет",0)
call DialogDisplay(Player(0),d,true)
set i=i+1
endloop
elseif GetClickedButton()==b[10] then
call TriggerExecute(gg_trg_DeathMatch)
call TriggerExecute(gg_trg_ModeDisplay)
elseif GetClickedButton()==b[11] then
call TriggerExecute(gg_trg_ModeDisplay)
elseif GetClickedButton()==b[5] then
set score=score+25
elseif GetClickedButton()==b[6] then
set score=score+50
elseif GetClickedButton()==b[7] then
set score=score+75
elseif GetClickedButton()==b[8] then
set score=score+100
elseif GetClickedButton()==b[9] then
set score=score+125

помогите исправить ошибку. Или научите нормально использовать кнопки диалога



^ кликабельно
Archers Of The Island v1.8 - на стадии завершения
 

subakuДата: Воскресенье, 12 Июня 2011, 10:20:34 | Сообщение # 2
6 уровень
Группа: Проверенные
Сообщений: 174
Награды: 0
Репутация: -18
Блокировки:
DeadJass, я незнаю, локалка это или глобалка, но сначала присвой ей значение 1, ибо если в начале она 0 то может быть вероятность что её не изменишь.

ФЕНИКС ЧО
 

DeadJassДата: Воскресенье, 12 Июня 2011, 10:32:09 | Сообщение # 3
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
subaku, это глобалка со значением 0


^ кликабельно
Archers Of The Island v1.8 - на стадии завершения
 

subakuДата: Воскресенье, 12 Июня 2011, 10:42:02 | Сообщение # 4
6 уровень
Группа: Проверенные
Сообщений: 174
Награды: 0
Репутация: -18
Блокировки:
DeadJass, обьявлённая в самой функции? тогда при обявлениии -
globals
integer score = 1
endglobals
так делай


ФЕНИКС ЧО
 

DeadJassДата: Воскресенье, 12 Июня 2011, 11:16:42 | Сообщение # 5
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
subaku, зачем 1?


^ кликабельно
Archers Of The Island v1.8 - на стадии завершения
 

subakuДата: Воскресенье, 12 Июня 2011, 12:02:58 | Сообщение # 6
6 уровень
Группа: Проверенные
Сообщений: 174
Награды: 0
Репутация: -18
Блокировки:
DeadJass,
Если сделаешь так :
globals
integer score = 0
endglobals
то потом вроде изменять нельзя.


ФЕНИКС ЧО
 

DeadJassДата: Воскресенье, 12 Июня 2011, 12:03:32 | Сообщение # 7
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
subaku, ок проверим сейчас


^ кликабельно
Archers Of The Island v1.8 - на стадии завершения
 

SirNikolasДата: Понедельник, 13 Июня 2011, 09:52:34 | Сообщение # 8
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (DeadJass)
if GetClickedButton()==b[1] then
//...
loop
exitwhen i>9
elseif GetClickedButton()==b[i]then
call DialogClear(d)
call DialogSetMessage(d,"Включить мод каждый сам за себя?")
set b[10] = DialogAddButton(d,"Да",0)
set b[11] = DialogAddButton(d,"Нет",0)
call DialogDisplay(Player(0),d,true)
set i=i+1
endloop
Откуда взялся elseif внутри loop'а?
P. S. GetClickedButton() - в переменную.

Добавлено (13-06-2011, 09:52)
---------------------------------------------

Quote (subaku)
Если сделаешь так:
Code
globals
     integer score = 0
endglobals
то потом, вроде, изменять нельзя.
Что за бред?


 

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

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