Sanny Builder: Quick Start. Part 1
Эту серию статей я написал для того, чтобы попытаться снизить заметную неуверенность и неохоту у многих скриптеров переходить с SAMB'а на Sanny Builder. Конечно, если отбросить в сторону преимущества SB, окончательный выбор проги, разумеется, всегда остается за вами. Тем не менее, сейчас я хочу сделать попытку убедить вас, что новая прога гораздо проще, быстрее и удобнее, чем вы думаете, и "пугаться" всего нового совсем не стоит! Начнем с того, что, если поначалу вам непривычны новшества в Sanny, то просто включите опцию Write opcodes в настройках и используйте его также как SaMB (а поковыряв прочие настройки, можно вообще сделать два редактора практически одинаковыми внешне). А воз и тележка разнообразных фич и удобств проги, а также высокая скорость работы по-прежнему будут в вашем распоряжении. Вы также откроете для себя очень много полезного, внимательно прочитав readme.txt из комплекта билдера. :) Обо всех новых возможностях там более менее подробно рассказано. Напомню, что SB вы можете использовать для редактирования миссии всей трилогии GTA (GTA3,VC,SA).
Теперь рассмотрим некоторые важные различия между этими двумя программами:
1) В джампах в SB используется символ @ вместо нечитаемого на многих форумах символа английского фунта (JJ). Пример: jump @Label, gosub @Label
2) Локальные переменные, следовательно, записываются с номером переменной в начале (а не в конце как в самбе). Пример: @1, @2, @3 - формат SAMB
1@, 2@, 3@ - формат SB
3) Множество простых скриптовых команд можно записывать БЕЗ опкодов, таких как wait, end_thread, jump и т.п. Пример:
wait 0 - аналог 0001: wait 0 ms if - аналог 00D6: if 0
if and - аналог 00D6: if 1-7
if or - аналог 00D6: if 21-27
jf @Label - аналог 004D: jump_if_false @Label
и многие другие. С первого взгляда становится очевидным использование того же оператора if (and/or), который избавляет вас от ненужных размышлений при указании параметра условному опкоду 00D6.
4) Работа с числами. Все арифметические действия также можно (и нужно :)) записывать без опкода, например вот так: $Var = 1
$Var += 5
$Var2 = 45.5
if
not $Var > 10 // слово not создает отрицание (аналогично записи опкода с восьмеркой в начале номера опкода)
jf @Label2
$Var = 40
Данная фишка полностью перекладывает с вас работу по вечному подбору нужного опкода для вычислений на компилятор. Вам лишь нужно указать знаки действий (+, -, >,