| Опкод | SASCM |
| - Lua wait: |
| 0001 | 0001=1,wait %1d% ms |
- Lua math.abs: |
| 0094 | 0094=1,make %1d% absolute_integer |
| 0095 | 0095=1,make %1d% absolute_integer |
| 0096 | 0096=1,make %1d% absolute_float |
| 0097 | 0097=1,make %1d% absolute_float |
- Lua math.random: |
| 0098 | 0098=1,%1d% = random_float_in_ranges_0.0_to_1.0 |
| 0099 | 0099=1,%1d% = random_int_in_ranges_0_to_32767 |
| 0208 | 0208=3,%3d% = random_float_in_ranges %1d% %2d% |
| 0209 | 0209=3,%3d% = random_int_in_ranges %1d% %2d% |
- Lua math.sqrt: |
| 01FB | 01FB=2,%2d% = square_root %1d% |
- Lua math.sin: |
| 02F6 | 02F6=2,%2d% = sine %1d% |
- Lua math.cos: |
| 02F7 | 02F7=2,%2d% = cosine %1d% |
- Lua io.open, io.close: |
| 0A9A | 0A9A=3,%3d% = openfile %1s% mode %2d% |
| 0A9B | 0A9B=1,closefile %1d% |
- Lua file:read, file:write: |
| 0A9D | 0A9D=3,readfile %1d% size %2d% to %3d% |
| 0A9E | 0A9E=3,writefile %1d% size %2d% from %3d% |
| 0AD7 | 0AD7=3,read_string_from_file %1d% to %2d% size %3d% // IF and SET |
| 0AD8 | 0AD8=2,write_string_to_file %1d% from %2d% //IF and SET |
- Lua string.format: |
| 0AD3 | 0AD3=-1,%1d% = format %2s% |
- Lua string.match: |
| 0AD4 | 0AD4=-1,%3d% = scan_string %1d% format %2s% |
- Lua file:seek: |
| 0AD5 | 0AD5=3,file %1d% seek %2d% from_origin %3d% //IF and SET |
- Lua math.exp, math.log: |
| 0AEE | 0AEE=3,%3d% = exp %1d% base %2d% //all floats |
| 0AEF | 0AEF=3,%3d% = log %1d% base %2d% //all floats |
- Lua os.remove: |
| 0B00 | 0B00=1,delete_file %1d% |
- Lua os.remove (может удалять только пустые директории): |
| 0B01 | 0B01=2,delete_directory %1d% with_all_files_and_subdirectories %2d% |
- Lua bit.band, bit.bor, bit.bxor, bit.bnot, math.fmod, bit.rshift, bit.lshift: |
| 0B10 | 0B10=3,%3d% = %1d% AND %2d% |
| 0B11 | 0B11=3,%3d% = %1d% OR %2d% |
| 0B12 | 0B12=3,%3d% = %1d% XOR %2d% |
| 0B13 | 0B13=2,%2d% = NOT %1d% |
| 0B14 | 0B14=3,%3d% = %1d% MOD %2d% |
| 0B15 | 0B15=3,%3d% = %1d% SHR %2d% |
| 0B16 | 0B16=3,%3d% = %1d% SHL %2d% |
- Lua os.clock или localClock: |
| 0BFE | 0BFE=1,%1d% = get_tick_count |
- Lua os.getenv: |
| 0C67 | 0C67=3,get_windows_environment_variable %1d% to %2d% size %3d% |
- Lua math.abs, math.deg, math.rad, math.sin, math.asin, math.cos, math.acos, math.tan, math.atan, math.pow, math.ceil, math.floor: |
| 0C00 | 0C00=2,math %2d% = abs %1d% // (float) |
| 0C01 | 0C01=2,math %2d% = radian_to_angle %1d% // (float) |
| 0C02 | 0C02=2,math %2d% = angle_to_radian %1d% // (float) |
| 0C03 | 0C03=2,math %2d% = sine %1d% // (float) |
| 0C04 | 0C04=2,math %2d% = arcsine %1d% // (float) |
| 0C05 | 0C05=2,math %2d% = cosine %1d% // (float) |
| 0C06 | 0C06=2,math %2d% = arccosine %1d% // (float) |
| 0C07 | 0C07=2,math %2d% = tangent %1d% // (float) |
| 0C08 | 0C08=2,math %2d% = arctangent %1d% // (float) |
| 0C09 | 0C09=3,math %3d% = power %1d% %2d% // (float) |
| 0C0A | 0C0A=2,math %2d% = ceil %1d% // (float) |
| 0C0B | 0C0B=2,math %2d% = floor %1d% // (float) |
- Lua string.upper, string.lower, string.find, string.reverse, string.gmatch: |
| 0C26 | 0C26=2,strupr in %1d% out %2d% |
| 0C28 | 0C28=2,strlwr in %1d% out %2d% |
| 0C2A | 0C2A=3,%3d% = strchr %1d% char %2d% |
| 0C2D | 0C2D=2,strrev in %1d% out %2d% |
| 0C16 | 0C16=3,%3d% = strtok string1 %1d% string2 %2d% |
- Lua string.find: |
| 0C18 | 0C18=3,%3d% = strstr string1 %1d% string2 %2d% |
| 0C19 | 0C19=3,%3d% = strcspn string1 %1d% string2 %2d% |
- Lua tonumber: |
| 0C1A | 0C1A=2,%2d% = atoi %1d% |
| 0C1B | 0C1B=2,%2d% = atof %1d% |
- Lua tostring или string.format: |
| 0C1C | 0C1C=3,%3d% = itoa %1d% radix %2d% |
| 0C2F | 0C2F=4,%4d% = strtol %1d% radix %2d% store_end_to %3d% |
| - Считаются устаревшими: |
| 0B2D | 0B2D=3,write_samp_memory offset %1d% value %2d% size %3d% |
| 0B2E | 0B2E=3,%3d% = read_samp_memory offset %1d% size %2d% |
| - Легко реализуется встроенными средствами Lua: |
| 0A9C | 0A9C=2,%2d% = file %1d% size |
| 0AD6 | 0AD6=1, end_of_file %1d% reached |
| 0ADA | 0ADA=-1,%3d% = scan_file %1d% format %2d% //IF and SET |
| 0C21 | 0C21=2,stricmp string1 %1d% string2 %2d% |
| 0C24 | 0C24=3,strncpy destination %1d% source %2d% size %3d% |
| 0C25 | 0C25=3,strncmp string1 %1d% string2 %2d% size %3d% |
| 0C27 | 0C27=3,strncat destination %1d% source %2d% size %3d% |
| 0C29 | 0C29=3,%3d% = stristr string1 %1d% string2 %2d% |
| 0C2B | 0C2B=3,%3d% = strpbrk string %1d% control %2d% |
| 0C2C | 0C2C=3,%3d% = strrchr %1d% char %2d% |
| 0C2E | 0C2E=3,%3d% = strspn string1 %1d% string2 %2d% |
| - Заменён встроенной функцией isKeyDown: |
| 0AB0 | 0AB0=1, key_pressed %1d% |
- Для форматирования текста используется string.format: |
| 0ACE | 0ACE=-1,show_formatted_text_box %1s% |
| 0ACF | 0ACF=-1,show_formatted_styled_text %1s% time %2d% style %3d% |
| 0AD0 | 0AD0=-1,show_formatted_text_lowpriority %1s% time %2s% |
| 0AD1 | 0AD1=-1,show_formatted_text_highpriority %1s% time %2s% |
| 0AD9 | 0AD9=-1,write_formatted_text %2d% in_file %1d% |
| 0AED | 0AED=3,%3d% = float %1d% to_string_format %2d% |
| - Реализовано путём автоматического вызова и передачи в качестве аргумента(ов) в обработчик: |
| 0B35 | 0B35=1,samp %1d% = get_last_command_params |
| 0BE5 | 0BE5=2,raknet %2d% = get_hook_param %1d% |
| - Легко реализуется встроенными средствами Lua, возможно будет добавлено в обновлениях: |
| 0B66 | 0B66=5,render argb %1d% to_a %2d% r %3d% g %4d% b %5d% |
| 0B67 | 0B67=5,render a %1d% r %2d% g %3d% b %4d% to_argb %5d% |
| - Реализовано встроенными средствами Lua: |
| 0C13 | 0C13=2,strcpy destination %1d% source %2d% |
| 0C14 | 0C14=2,strcmp string1 %1d% string2 %2d% |
| 0C15 | 0C15=2,strcat destination %1d% source %2d% |
| 0C17 | 0C17=2,%2d% = strlen %1d% |
| - Встроены в систему событий RakNet: |
| 0BE1 | 0BE1=1,raknet setup_outcoming_rpc_hook %1d% |
| 0BE2 | 0BE2=1,raknet setup_outcoming_packet_hook %1d% |
| 0BE3 | 0BE3=1,raknet setup_incoming_rpc_hook %1d% |
| 0BE4 | 0BE4=1,raknet setup_incoming_packet_hook %1d% |
| 0BE6 | 0BE6=2,raknet set_hook_param %1d% = %2d% |
| 0BE0 | 0BE0=1,raknet hook_ret %1d% |
| - Заменены встроенным модулем inicfg (v.018-alpha): |
| 0AF0 | 0AF0=4,%4d% = get_int_from_ini_file %1s% section %2s% key %3s% |
| 0AF1 | 0AF1=4,write_int %1d% to_ini_file %2s% section %3s% key %4s% |
| 0AF2 | 0AF2=4,%4d% = get_float_from_ini_file %1s% section %2s% key %3s% |
| 0AF3 | 0AF3=4,write_float %1d% to_ini_file %2s% section %3s% key %4s% |
| 0AF4 | 0AF4=4,%4d% = read_string_from_ini_file %1s% section %2s% key %3s% |
| 0AF5 | 0AF5=4,write_string %1s% to_ini_file %2s% section %3s% key %4s% |
- Запланированы в будущих обновлениях (есть существующая реализация в виде модуля lfs): |
| 0B02 | 0B02=2,move_file %1d% to %2d% |
| 0B03 | 0B03=2,move_directory %1d% to %2d% |
| 0B04 | 0B04=2,copy_file %1d% to %2d% |
| 0B05 | 0B05=2,copy_directory %1d% to %2d% |
| - Заменены встроенным модулем memory (v.018-alpha): |
| 0C10 | 0C10=3,memcpy destination %1d% source %2d% size %3d% |
| 0C11 | 0C11=3,memset destination %1d% value %2d% size %3d% |
| 0C12 | 0C12=3,memcmp buffer1 %1d% buffer2 %2d% size %3d% |
| 0C22 | 0C22=3,bin %1d% to_hex %2d% size %3d% |
| 0C23 | 0C23=3,hex %1d% to_bin %2d% buf_size %3d% |
| - Запланированы в ближайших обновлениях (реализуются средствами FFI): |
| 0C0E | 0C0E=3,%3d% = array %1d% element %2d% |
| 0C0F | 0C0F=3,array %1d% element %2d% = %3d% |
| 0C1D | 0C1D=4,%4d% = array %1d% element %2d% el_size %3d% |
| 0C1E | 0C1E=4,array %1d% element %2d% el_size %3d% = %4d% |
| 0C1F | 0C1F=4,%4d% = string_array %1d% element %2d% size %3d% |
| 0C20 | 0C20=4,string_array %1d% element %2d% size %3d% = %4d% |
| - Внешние функции реализуются посредством модулей, а общие функции можно реализовать с помощью системы экспорта: |
| 0C34 | 0C34=2,register_global_func %1d% to_label %2d% |
| 0C35 | 0C35=-1,call_global_func %1d% params %2d% |
| 0C36 | 0C36=-1,func_ret %1d% |
| 0C37 | 0C37=1, is_global_func %1d% defined |
| 0C38 | 0C38=2,get_global_func %1d% thread %2d% label %3d% |
| 0C39 | 0C39=1,unregister_global_func %1d% |
| - Оставлены только аналоги (0C32 и 0C33): |
| 0C30 | 0C30=2,math matrix %1d% to_quat %2d% |
| 0C31 | 0C31=2,math quat %1d% to_matrix %2d% |
- Заменены библиотекой encoding: |
| 0C68 | 0C68=3,unicode_string %1d% to_ansi %2d% size %3d% |
| 0C69 | 0C69=3,ansi_string %1d% to_unicode %2d% size %3d% |
| - Заменено функцией useRenderCommands: |
| 03F0 | 03F0=1,enable_text_draw %1d% |
| - Были заменены скриптовыми потоками: |
| 0C74 | 0C74=3,%3d% = create_timer_interval %1d% on_label %2d% |
| 0C75 | 0C75=1,kill_timer %1d% |
| 0C76 | 0C76=1,reset_timer %1d% |
| 0C77 | 0C77=2,set_timer %1d% interval %2d% |
| 0C78 | 0C78=2,set_timer %1d% active %2d% |
| 0C79 | 0C79=1,is_timer %1d% active |
| 0C7A | 0C7A=2,%2d% = get_timer %1d% interval |
| 0C7B | 0C7B=2,%2d% = get_timer %1d% time_elapsed |
| 0C7C | 0C7C=2,%2d% = get_timer %1d% time_left |