Диалог и кнопки
|
|
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 то потом, вроде, изменять нельзя. Что за бред?
|
|
|
|