#1 05-09-2017 10:18

Dyabda
Registered: 14-07-2017
Posts: 32

Проблема с панелями.

Здравствуйте, уважаемые скриптеры.
Решил написать скрипт с панелями, но у меня возникли проблемы:
1. Почему-то не работают определённые клавиши ( Пример: / * - P J K L стрелки и т.д.)
Но клавиши, прописанные игрой работают. ( Пример: удар, смена оружия и т.д.)

2. После того, как я перехожу на панель с временем, то вместе с временем меняется и погода, хотя это не прописанно!

Пожалуйста помогите, я не понимаю в чём заключается проблема.

:PANEL
thread 'PANEL'
wait 0
if and
Player.Defined($PLAYER_CHAR)                  
0ADC:   test_cheat "WEATIME"
jf @PANEL
jump @PANEL_1

:PANEL_1
wait 50
01B4: set_player $PLAYER_CHAR can_move  0 
0512: show_permanent_text_box 'IE16' 
0581: enable_radar 0 
08D4: $PANEL = create_panel_with_title 'WEATIM' position 29.0 170.0 width 180.0 columns 1 interactive 1 background 1 alignment 0  
08DB: set_panel $PANEL column 0 header 'DUMMY' data 'WWSCT' 'TTSCT' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'  


:PANEL_2
wait 0
if 
00E1: player 0 pressed_key 16 
jf @PANEL_9 
08D7: $WEATP = panel $Panel active_row 
if
$WEATP == 0 
jf @PANEL_3 
jump @PANEL_9 

:PANEL_3
if
$WEATP == 1 
jump @PANEL_9_0

:PANEL_9
wait 0
if
00E1: player 0 pressed_key 16
jf @PANEL_9_1
wait 50
03E6: remove_text_box 
08DA: remove_panel $PANEL 
jump @WEATHER_1

:PANEL_9_0
wait 0
if
00E1:   player 0 pressed_key 16
jf @PANEL_9_1
wait 50  
03E6: remove_text_box 
08DA: remove_panel $PANEL  
jump @TIME

:PANEL_9_1
wait 0
if
00E1:   player 0 pressed_key 15
jf @PANEL_2  
0581: enable_radar 1 
03E6: remove_text_box 
08DA: remove_panel $PANEL 
01B4: set_player $PLAYER_CHAR can_move  1  
jump @PANEL

:WEATHER_1
wait 50
0512: show_permanent_text_box 'IE16' 
08D4: $WEATHER = create_panel_with_title 'WWSCT' position 29.0 170.0 width 180.0 columns 1 interactive 1 background 1 alignment 0  
08DB: set_panel $WEATHER column 0 header 'DUMMY' data 'WW0' 'WW1' 'WW2' 'WW3' 'WW4' 'WW5' 'WW6' 'WW7' 'WW8' 'WW9' 'WW10' 'WW11'

:WEATHER_2
wait 0
if 
00E1: player 0 pressed_key 16  
jf @WEATHER_9 
08D7: $WEATW = panel $Weather active_row  
if
$WEATW == 0 
jf @WEATHER_3 
01B6: set_weather 0
jump @WEATHER_9 

:WEATHER_3
if
$WEATW == 1 
jf @WEATHER_4 
01B6: set_weather 1
jump @WEATHER_9

:WEATHER_4
if
$WEATW == 2
jf @WEATHER_5 
01B6: set_weather 2 
jump @WEATHER_9

:WEATHER_5
if
$WEATW == 3
jf @WEATHER_6 
01B6: set_weather 3 
jump @WEATHER_9

:WEATHER_6
if    
$WEATW == 4
jf @WEATHER_7 
01B6: set_weather 4 
jump @WEATHER_9

:WEATHER_7
if
$WEATW == 5
jf @WEATHER_8  
01B6: set_weather 5 
jump @WEATHER_9

:WEATHER_8
if
$WEATW == 6  
jf @WEATHER_10  
01B6: set_weather 6
jump @WEATHER_9

:WEATHER_10
if
$WEATW == 7
jf @WEATHER_11 
01B6: set_weather 7 
jump @WEATHER_9

:WEATHER_11
if
$WEATW == 8
jf @WEATHER_12  
01B6: set_weather 8 
jump @WEATHER_9

:WEATHER_12
if
$WEATW == 9
jf @WEATHER_13 
01B6: set_weather 9 
jump @WEATHER_9

:WEATHER_13
if
$WEATW == 10
jf @WEATHER_14  
01B6: set_weather 10 
jump @WEATHER_9

:WEATHER_14
if
$WEATW == 11 
01B6: set_weather 11   
jump @WEATHER_9

:WEATHER_9
wait 0
if
00E1:   player 0 pressed_key 39
jf @WEATHER_9_0
wait 50
03E6: remove_text_box 
08DA: remove_panel $WEATHER 
jump @WEATHER_1_1

:WEATHER_9_0
wait 0
if
00E1:   player 0 pressed_key 37
jf @WEATHER_9_0_1
wait 50
03E6: remove_text_box 
08DA: remove_panel $WEATHER 
jump @PANEL_1

:WEATHER_9_0_1
wait 0
if
00E1:   player 0 pressed_key 15
jf @WEATHER_2 
0581: enable_radar 1 
03E6: remove_text_box 
08DA: remove_panel $WEATHER 
01B4: set_player $PLAYER_CHAR can_move  1 
jump @PANEL

:WEATHER_1_1
wait 50 
0512: show_permanent_text_box 'IE16'  
08D4: $WEATHE1 = create_panel_with_title 'WWSCT' position 29.0 170.0 width 180.0 columns 1 interactive 1 background 1 alignment 0  
08DB: set_panel $WEATHE1 column 0 header 'DUMMY' data 'WW12' 'WW13' 'WW14' 'WW15' 'WW16' 'WW17' 'WW18' 'WW19' 'WW20' 'WW21' 'WW22' 'DUMMY'

:WEATHER_2_1
wait 0
if 
00E1: player 0 pressed_key 16  
jf @WEATHER_9_1 
08D7: $WEATW1 = panel $WEATHE1 active_row 
if
$WEATW1 == 0 
jf @WEATHER_3_1 
01B6: set_weather 12
jump @WEATHER_9_1 

:WEATHER_3_1
if
$WEATW1 == 1 
jf @WEATHER_4_1 
01B6: set_weather 13
jump @WEATHER_9_1

:WEATHER_4_1
if
$WEATW1 == 2
jf @WEATHER_5_1 
01B6: set_weather 14 
jump @WEATHER_9_1

:WEATHER_5_1
if
$WEATW1 == 3
jf @WEATHER_6_1 
01B6: set_weather 15 
jump @WEATHER_9_1

:WEATHER_6_1
if
$WEATW1 == 4
jf @WEATHER_7_1 
01B6: set_weather 16 
jump @WEATHER_9_1

:WEATHER_7_1
if
$WEATW1 == 5
jf @WEATHER_8_1  
01B6: set_weather 17 
jump @WEATHER_9_1

:WEATHER_8_1
if
$WEATW1 == 6  
jf @WEATHER_10_1  
01B6: set_weather 18
jump @WEATHER_9_1

:WEATHER_10_1
if
$WEATW1 == 7
jf @WEATHER_11_1 
01B6: set_weather 19 
jump @WEATHER_9_1

:WEATHER_11_1
if
$WEATW1 == 8
jf @WEATHER_12_1  
01B6: set_weather 20 
jump @WEATHER_9_1

:WEATHER_12_1
if
$WEATW1 == 9
jf @WEATHER_13_1  
01B6: set_weather 21 
jump @WEATHER_9_1

:WEATHER_13_1
if
 $WEATW1 == 10 
01B6: set_weather 22 
jump @WEATHER_9_1


:WEATHER_9_1
wait 0
if
00E1:   player 0 pressed_key 37
jf @WEATHER_9_1_0
wait 50
03E6: remove_text_box 
08DA: remove_panel $WEATHE1 
jump @WEATHER_1

:WEATHER_9_1_0
wait 0
if
00E1:   player 0 pressed_key 15
jf @WEATHER_2_1  
0581: enable_radar 1 
03E6: remove_text_box 
08DA: remove_panel $WEATHE1 
01B4: set_player $PLAYER_CHAR can_move 1 
jump @PANEL

:TIME
wait 50
0512: show_permanent_text_box 'IE16'  
08D4: $TIME = create_panel_with_title 'TTSCT' position 29.0 170.0 width 180.0 columns 1 interactive 1 background 1 alignment 0  
08DB: set_panel $TIME column 0 header 'DUMMY' data 'TT0' 'TT1' 'TT2' 'TT3' 'TT4' 'TT5' 'TT6' 'TT7' 'TT8' 'TT9' 'TT10' 'TT11' 

:TIME_0 
if
00E1:   player 0 pressed_key 16
jf @TIME_9
08D7: $WEATT = panel $TIME active_row
if
$WEATT == 0
jf @TIME_1
00C0: set_current_time 0 0
jump @TIME_9

:TIME_1
if
$WEATT == 1
jf @TIME_2
00C0: set_current_time 1 0
jump @TIME_9
 
:TIME_2
if
$WEATT == 2
jf @TIME_3
00C0: set_current_time 2 0
jump @TIME_9

:TIME_3
if
$WEATT == 3
jf @TIME_4
00C0: set_current_time 3 0
jump @TIME_9

:TIME_4
if
$WEATT == 4
jf @TIME_5
00C0: set_current_time 4 0
jump @TIME_9

:TIME_5
if
$WEATT == 5
jf @TIME_6
00C0: set_current_time 5 0
jump @TIME_9

:TIME_6
if
$WEATT == 6
jf @TIME_7
00C0: set_current_time 6 0
jump @TIME_9

:TIME_7
if
$WEATT == 7
jf @TIME_8
00C0: set_current_time 7 0
jump @TIME_9

:TIME_8
if
$WEATT == 8
jf @TIME_10
00C0: set_current_time 8 0
jump @TIME_9

:TIME_10
if
$WEATT == 9
jf @TIME_11
00C0: set_current_time 9 0
jump @TIME_9

:TIME_11
if
$WEATT == 10
jf @TIME_12
00C0: set_current_time 10 0
jump @TIME_9

:TIME_12
if
$WEATT == 11
00C0: set_current_time 11 0
jump @TIME_9

:TIME_9
wait 0
if
00E1:   player 0 pressed_key 14
jf @TIME_9_0
wait 50
08DA: remove_panel $TIME
03E6: remove_text_box
//jump @TIME_0

:TIME_9_0
wait 0
if
00E1:   player 0 pressed_key 15
jf @TIME_0
0581: enable_radar 1 
03E6: remove_text_box 
08DA: remove_panel $TIME 
01B4: set_player $PLAYER_CHAR can_move 1 
jump @PANEL

Offline

#2 05-09-2017 20:57

Goldfish
From: Псков
Registered: 21-04-2015
Posts: 177
Website

Re: Проблема с панелями.

Многа букав.

Панелей у тебя там не одна так и есть? А насчет погоды ты сам опкод 01B6: set_weather добавлял себе в код, смотри где поставил не там.

Offline

#3 05-09-2017 23:33

Dyabda
Registered: 14-07-2017
Posts: 32

Re: Проблема с панелями.

Дело в том, что этот опкод стоит в нужной для себя панели. Всего панелей 4: 1-ая это сама панель, в которой нужно выбрать смену времени или погоды.
2-ая панель, по смене погоды. 3-я тоже, а вот 4-ая уже по смене времени. Я там точно не ставил этого опкода, там лишь опкоды по смене времени.

Offline

#4 06-09-2017 19:10

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: Проблема с панелями.

00E1:   player 0 pressed_key 39

Нет такой клавиши 39. Лимит от 0 до 19 ( исключая 12 ). Возможно Вы хотели написать этот опкод:

0AB0:   key_pressed 39

?

Last edited by wmysterio (06-09-2017 19:11)

Offline

#5 07-09-2017 04:03

Dyabda
Registered: 14-07-2017
Posts: 32

Re: Проблема с панелями.

wmysterio wrote:

00E1:   player 0 pressed_key 39

Нет такой клавиши 39. Лимит от 0 до 19 ( исключая 12 ). Возможно Вы хотели написать этот опкод:

0AB0:   key_pressed 39

?

Да, спасибо вам большое, всё успешно работает.

Но вот осталась лишь одна проблема, как только при старте новой игры я выбираю 2-ую строку в меню ( Это переход на метку TIME), то при выборе времени так же меняется и погода. И если я зажму shift то погода будет идти по кругу, но если в начале игры я сначала перейду на панель с выбором погоды, а потом назад, то с временем всё будет нормально, погода меняться не будет. Как исправить это?



И ещё вопрос, каким опкодом можно сменить игровой день? Например на понедельник или среду?

Last edited by Dyabda (07-09-2017 04:06)

Offline

Board footer

Powered by FluxBB