You are not logged in.
Pages: 1
Работающий switch. Вот так вот.
{$CLEO} {$I switch} // 0@ - Поточный ID погоды // 1@ - Флаг текст-бокса. 1 - нужно показать текст бокс, 0 - не нужно while true wait 0 if 0AB1: call_scm_func @KeyJustPressed 1 _vkey 219 then 0@-- 0AB1: call_scm_func @Limit 3 0@ _min 0 _max 22 _ret 0@ 1@ = 1 else if 0AB1: call_scm_func @KeyJustPressed 1 _vkey 221 then 0@++ 0AB1: call_scm_func @Limit 3 0@ _min 0 _max 22 _ret 0@ 1@ = 1 end end if 1@ == 1 then 1@ = 0 set_weather 0@ 01B7: release_weather // Конструкция switch используется позволяет выбрать действие в зависимости от значения переменной. // // {$I switch(<ПЕРЕМЕННАЯ>)} // Начало конструкции // // {$I case <ЗНАЧЕНИЕ1>} // // Код, который выполнится, если ПЕРЕМЕННАЯ равна ЗНАЧЕНИЮ1. // break - выход из конструкции. // // {$I case <ЗНАЧЕНИЕ2>} // // Код, который выполнится, если ПЕРЕМЕННАЯ равна ЗНАЧЕНИЮ2. // break - выход из конструкции. // // ... // // // Также в конструкции можно использовать специальный случай, именованный как default. // {$I default} // // Код, который выполнится, если переменная не равна ни одному из ЗНАЧЕНИЙ. // // {$I switch_end} // Завершение конструкции {$I switch(0@)} {$I case 0} 0ACA: show_text_box "0 - Los Santos - Extra Sunny" break {$I case 1} 0ACA: show_text_box "1 - Los Santos - Sunny" break {$I case 2} 0ACA: show_text_box "2 - Los Santos - Extra Sunny Smog" break {$I case 3} 0ACA: show_text_box "3 - Los Santos - Sunny Smog" break {$I case 4} 0ACA: show_text_box "4 - Los Santos - Cloudy" break {$I case 5} 0ACA: show_text_box "5 - San Fierro - Sunny" break {$I case 6} 0ACA: show_text_box "6 - San Fierro - Extra Sunny" break {$I case 7} 0ACA: show_text_box "7 - San Fierro - Cloudy" break {$I case 8} 0ACA: show_text_box "8 - San Fierro - Rainy" break {$I case 9} 0ACA: show_text_box "9 - San Fierro - Foggy" break {$I case 10} 0ACA: show_text_box "10 - Las Venturas - Sunny" break {$I case 11} 0ACA: show_text_box "11 - Las Venturas - Extra Sunny" break {$I case 12} 0ACA: show_text_box "12 - Las Venturas - Cloudy" break {$I case 13} 0ACA: show_text_box "13 - Countryside - Extra Sunny" break {$I case 14} 0ACA: show_text_box "14 - Countryside - Sunny" break {$I case 15} 0ACA: show_text_box "15 - Countryside - Cloudy" break {$I case 16} 0ACA: show_text_box "16 - Countryside - Rainy" break {$I case 17} 0ACA: show_text_box "17 - Desert - Extra Sunny" break {$I case 18} 0ACA: show_text_box "18 - Desert - Sunny" break {$I case 19} 0ACA: show_text_box "19 - Desert - Sandstorm" break {$I case 20} 0ACA: show_text_box "20 - Underwater" break {$I case 21} 0ACA: show_text_box "21 - Extracolours 1" break {$I case 22} 0ACA: show_text_box "22 - Extracolours 2" {$I switch_end} end end // Функция сверяет, нажата ли клавиша, и в случае нажатия - ждёт, пока клавиша не будет отпущена. :KeyJustPressed // 0@ - ID клавиши if 0AB0: key_pressed 0@ then while 0AB0: key_pressed 0@ wait 0 end 0485: return_true 0AB2: ret 0 end 059A: return_false 0AB2: ret 0 // Функция ограничивает число в указанных рамках. :Limit // 0@ - число // 1@ - нижняя граница ограничения // 2@ - верхняя граница ограничения // Возвращаемое значение: число в указанных рамках if 802D: not 0@ >= 1@ then 0085: 0@ = 2@ else if 001D: 0@ > 2@ then 0085: 0@ = 1@ end end 0AB2: ret 1 0@
Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv
Offline
чего только не придумают))
вариант интересный, но сильно ограниченный. нельзя использовать глобальные переменные или большие числа. но для большинства случаев подойдет. молодец)
Offline
Pages: 1