Делаем новые миссии. CLEO - скрипты, cutscene, статьи, программы. Игровые новости.
 
12.6.13 13:42 |

Массивы. Часть 2

Раздел: Основы скриптинга | Автор: yelmi | Рейтинг: 0.00 (0) | Хитов 3476
В первой части мы рассмотрели два типа массивов i и f.
Давайте поработаем с массивами строк.
Напомню, что s: string, строки с фиксированной длиной 8 байтов, то есть две переменные по 4 байта.

Для одного ASCII символа выделяется 1 байт. Строка VO_AA занимает 5 байт.
Код:
05AA: 0@s = 'VO_AA' 
0ACA: show_text_box 0@s


текст на экране будет 'VO_AA'

Код:
0ACA: show_text_box 1@s  

текст на экране будет 'A'.

0@s = 'VO_A' – 4 байта
1@s = 'A' – 4 байта, 1 байт + 3 нулевых символа.

Код:
05AA: 0@s = 'VO_AA'  
05AA: 1@s = 'VO_AB'

0ACA: show_text_box 0@s

текст на экране будет 'VO_AVO_A'.

Записывая в переменную 1@s 'VO_AB' мы затираем 'A', четыре байта из восьми выделенные для строковой переменной 0@s. Поэтому, объявляя переменные массива типа s: string, помните это правило.


Напишем пример использования двух типов массивов i и s.

Код:
{$CLEO .cs}

wait 2000
0006: 0@ = 0 // Размер массива
04AF: 1@ = 43200 // тип массива i: integer, размер элемента 4 байта
04AF: 2@ = 43201 // тип массива i: integer, размер элемента 4 байта
04AF: 3@ = 43202 // тип массива i: integer, размер элемента 4 байта
04AF: 4@ = 43203 // тип массива i: integer, размер элемента 4 байта
04AF: 5@ = 43204 // тип массива i: integer, размер элемента 4 байта
04AF: 6@ = 43205 // тип массива i: integer, размер элемента 4 байта
04AF: 7@ = 43206 // тип массива i: integer, размер элемента 4 байта

05AA: 10@s = 'VO_AA' // тип массива s: string, строки с фиксированной длиной 8 байтов
05AA: 12@s = 'VO_AB' // тип массива s: string, строки с фиксированной длиной 8 байтов
05AA: 14@s = 'VO_AC' // тип массива s: string, строки с фиксированной длиной 8 байтов
05AA: 16@s = 'VO_AD' // тип массива s: string, строки с фиксированной длиной 8 байтов
05AA: 18@s = 'VO_AE' // тип массива s: string, строки с фиксированной длиной 8 байтов
05AA: 20@s = 'VO_AF' // тип массива s: string, строки с фиксированной длиной 8 байтов
05AA: 22@s = 'VO_AG' // тип массива s: string, строки с фиксированной длиной 8 байтов

while 001B: 7 > 0@
wait 0
03CF: load_wav 1@(0@,7i) as 1
while 83D0: not wav 1 loaded
wait 0
end
03D1: play_wav 1
00BC: show_text_highpriority GXT 10@(0@,7s) time 10000 flag 1
wait 1000
while 83D2: wav 1 ended
wait 0
end
040D: unload_wav 1
03D5: remove_text 10@(0@,7s)
wait 500
inc(0@) //увеличиваем на 1
end
0A93: end_custom_thread


при 0@ = 2
1@(0@,7i) = 43202 // 3@
10@(0@,7s) = 'VO_AC' //14@s.

Продолжение следует…

 

  1 2 3 4 5 6 7 8 9 10  

Родственные ссылки
» Другие статьи раздела Основы скриптинга
» Эта статья от пользователя yelmi

5 cамых читаемых статей из раздела Основы скриптинга:
» Работа со звуками в GTA San Andreas
» Директивы
» External Script – что это такое и как с ним работать?
» Контроль клавиатуры
» Панель, или список товаров. Часть II.

5 последних статей раздела Основы скриптинга:
» Директивы
» Дополнительные команды
» Ключевые слова
» Классы
» Циклы

¤ Перевести статью в страницу для печати
¤ Послать эту cтатью другу

MyArticles 0.6 beta for RUNCMS: by RunCms.ru


Реклама
Кастет
Все, что Вы хотели знать о кастетах - смотрите на нашем ресурсе
shocker.com.ua

Вверх     Вернуться на главную. Вход в Систему. Статьи. Скачать. Миссии. ФОРУМ Обратная связь.   
   
   
Яндекс.Метрика
   
   
- Генерация страницы: 0.03 секунд -