Опкод | 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 |