유저정보 - 거상 갤러리

AGF 추출 & 결합 & 투명도조절 스크립트

ㅇㅇ 비회원 146.70 4년 전 조회 18236

공략/팁 게에 올라온 추출 스크립트 참고해서 기존 추출 결합 스크립트 수정해서 만들어봤음.

결합스크립트는 게임내에서 실제 테스트 안해봐서 “실제 이미지가 사용되는 메모리의 크기로 추정 됨” 

이 부분은 정확히 어떠한 값을 의미하는지 체크 못했음. 하지만 아마도 될 것으로 확신함.

오류가 있다면 수정해서 사용바람. 나는 스킨 투명화만 해서 사용해서 저부분을 수정할 일이 없었음.

스킨 카페인가 거기로 퍼 가든가 말든가 맘대로 우려먹고 에이케이 측에서 방장 한테 삭제 요청 있다면 바로 삭제 바람.

참고로 반드시 명심해야 할 사항은 스킨 사용은 엄연히 게임약관 위반임을 상기하고 사용할 것.

 

-추출스크립트-

 

//AGFTOTGA 1.0 (거리니닷컴 익명/2021/08/09) Base Script : SPR32TOTGA 2.3 (루란제르/2018/08/29)

IDString "\x23\x00\x00\x00"

log MEMORY_FILE1 0 0 //TGA file
log MEMORY_FILE2 0 0 //Info Text File
log MEMORY_FILE3 0 0 //Unziped Memory
log MEMORY_FILE4 0 0 //Temporary Frame File

get FNAME basename
get FSIZE asize
get EXTNAME extension

goto 0x04
get FRAME_MAX_WIDTH long
get FRAME_MAX_HEIGHT long
get FRAME_COUNT long

//writing info text

putdstring "HQTEAM_AGF_TGA_INFO" 19 MEMORY_FILE2
put 0x0A0D short MEMORY_FILE2

putdstring "STRIPE_NAME|" 12 MEMORY_FILE2
set FNAMELEN strlen FNAME
putdstring FNAME FNAMELEN MEMORY_FILE2
put 0x0A0D short MEMORY_FILE2

putdstring "EXTENSION|" 10 MEMORY_FILE2
set EXTLEN strlen EXTNAME
putdstring EXTNAME EXTLEN MEMORY_FILE2
put 0x0A0D short MEMORY_FILE2

putdstring "TOTAL_FRAME_NUMBER|" 19 MEMORY_FILE2
set COUNTLEN strlen FRAME_COUNT
putdstring FRAME_COUNT COUNTLEN MEMORY_FILE2
put 0x0A0D short MEMORY_FILE2

putdstring "MAXWIDTH|" 9 MEMORY_FILE2
set MAX_WIDTH_LEN strlen FRAME_MAX_WIDTH
putdstring FRAME_MAX_WIDTH MAX_WIDTH_LEN MEMORY_FILE2
put 0x0A0D short MEMORY_FILE2

putdstring "MAXHEIGHT|" 10 MEMORY_FILE2
set MAX_HEIGHT_LEN strlen FRAME_MAX_HEIGHT
putdstring FRAME_MAX_HEIGHT MAX_HEIGHT_LEN MEMORY_FILE2
put 0x0A0D short MEMORY_FILE2

putdstring "FRAME_BITMAP_LIST:" 18 MEMORY_FILE2
put 0x0A0D short MEMORY_FILE2

//end info text

//start extract

goto 0x4C0
for i = 1 <= FRAME_COUNT
   get FRAME_OFFSET long
   print "OFFSETS : %FRAME_OFFSET%"
   putarray 0 i FRAME_OFFSET
next i

set UNZIPED_SIZE_ADDR FRAME_COUNT
math UNZIPED_SIZE_ADDR * 8
math UNZIPED_SIZE_ADDR + 0x970
goto UNZIPED_SIZE_ADDR
get UNZIPED_SIZE long

for i = 1 <= FRAME_COUNT
   set FRAME_INFO_OFFSET i
   math FRAME_INFO_OFFSET * 8
   math FRAME_INFO_OFFSET + 0x968
   goto FRAME_INFO_OFFSET
   get FRAME_POS_X short
   get FRAME_POS_Y short
   get FRAME_WIDTH short
   get FRAME_HEIGHT short
   putarray 1 i FRAME_POS_X
   putarray 2 i FRAME_POS_Y
   putarray 3 i FRAME_WIDTH
   putarray 4 i FRAME_HEIGHT
next i

set ZIP_SIZE_ADDR FRAME_COUNT
math ZIP_SIZE_ADDR * 8
math ZIP_SIZE_ADDR + 0x99C
goto ZIP_SIZE_ADDR
get ZIP_SIZE long

set ZIP_OFFSET ZIP_SIZE_ADDR
math ZIP_OFFSET + 4

comtype zlib
clog  MEMORY_FILE3 ZIP_OFFSET ZIP_SIZE UNZIPED_SIZE

for i = 1 <= FRAME_COUNT
   print "---------------------Frame No. %i% of %FRAME_COUNT%---------------------"

   getarray FRAME_POS_X 1 i
   getarray FRAME_POS_Y 2 i
   getarray FRAME_WIDTH 3 i
   getarray FRAME_HEIGHT 4 i
   
   put 0x00 byte MEMORY_FILE1 //identsize;
   put 0x00 byte MEMORY_FILE1 //colurmaptype;
   put 0x02 byte MEMORY_FILE1 // imagetype;
   put 0x0000 short MEMORY_FILE1 // colourmapstart;
   put 0x0000 short MEMORY_FILE1 // colourmaplength;
   put 0x00 byte MEMORY_FILE1 // colourmapbits;
   put 0x0000 short MEMORY_FILE1 // xstart;
   put 0x0000 short MEMORY_FILE1 // ystart
   put FRAME_MAX_WIDTH short MEMORY_FILE1 
   put FRAME_MAX_HEIGHT short MEMORY_FILE1 
   put 0x20 byte MEMORY_FILE1 // bits per pixel
   put 0x28 byte MEMORY_FILE1 // image descriptor (101000)

   getarray CURRENTFRAMEOFFSET 0 i
   print "Frame Offset %CURRENTFRAMEOFFSET%"

   If i != FRAME_COUNT
       xmath next_i "i+1"
       getarray CURRENTFRAMESIZE 0 next_i
       getarray CURRENTFRAMESIZE_BEFORE 0 i
       math CURRENTFRAMESIZE - CURRENTFRAMESIZE_BEFORE
       math CURRENTFRAMESIZE / 4
       print "Frame Size %CURRENTFRAMESIZE%"
   Else
       get CURRENTFRAMESIZE asize
       print "FileSize %CURRENTFRAMESIZE%"
       getarray CURRENTFRAMESIZE_BEFORE 0 i
       math CURRENTFRAMESIZE - CURRENTFRAMESIZE_BEFORE
       math CURRENTFRAMESIZE / 4
       print "Frame Size %CURRENTFRAMESIZE%"
   Endif

   set GOFURTHER CURRENTFRAMEOFFSET
   goto GOFURTHER  MEMORY_FILE3
   print "Starting transferring pixels..."
   for j = 0 < CURRENTFRAMESIZE
       set GOFURTHER CURRENTFRAMEOFFSET
       xmath GOFURTHER "GOFURTHER + (j * 4)"
       goto GOFURTHER MEMORY_FILE3

       get ALPHA byte MEMORY_FILE3
       get RED byte MEMORY_FILE3
       get GREEN byte MEMORY_FILE3
       get BLUE byte MEMORY_FILE3
       if ALPHA == 0x00 && GREEN == 0x00 && BLUE == 0x00
           for k = 0 < RED
               put 0x00 byte MEMORY_FILE4
               put 0xFF byte MEMORY_FILE4
               put 0xFF byte MEMORY_FILE4
               put 0xFF byte MEMORY_FILE4
           next k
       else
           put ALPHA byte MEMORY_FILE4
           put RED byte MEMORY_FILE4
           put GREEN byte MEMORY_FILE4
           put BLUE byte MEMORY_FILE4
       endif 
   next j

   xmath CUR_FRAME_WIDTH_MAX "FRAME_WIDTH + FRAME_POS_X"
   xmath CUR_FRAME_HEIGHT_MAX "FRAME_HEIGHT + FRAME_POS_Y"

   for j = 0 < FRAME_MAX_HEIGHT
       for k = 0 < FRAME_MAX_WIDTH
           if j < FRAME_POS_Y
               put 0xFF byte MEMORY_FILE1
               put 0xFF byte MEMORY_FILE1
               put 0xFF byte MEMORY_FILE1
               put 0x00 byte MEMORY_FILE1
           elif k < FRAME_POS_X
               put 0xFF byte MEMORY_FILE1
               put 0xFF byte MEMORY_FILE1
               put 0xFF byte MEMORY_FILE1
               put 0x00 byte MEMORY_FILE1
           elif CUR_FRAME_HEIGHT_MAX <= j
               put 0xFF byte MEMORY_FILE1
               put 0xFF byte MEMORY_FILE1
               put 0xFF byte MEMORY_FILE1
               put 0x00 byte MEMORY_FILE1
           elif CUR_FRAME_WIDTH_MAX <= k
               put 0xFF byte MEMORY_FILE1
               put 0xFF byte MEMORY_FILE1
               put 0xFF byte MEMORY_FILE1
               put 0x00 byte MEMORY_FILE1
           else
               xmath CUR_POS "FRAME_WIDTH * (j - FRAME_POS_Y) * 4 + (k - FRAME_POS_X) * 4"
               goto CUR_POS MEMORY_FILE4
               get ALPHA byte MEMORY_FILE4
               get RED byte MEMORY_FILE4
               get GREEN byte MEMORY_FILE4
               get BLUE byte MEMORY_FILE4

               put BLUE byte MEMORY_FILE1
               put GREEN byte MEMORY_FILE1
               put RED byte MEMORY_FILE1
               put ALPHA byte MEMORY_FILE1
           endif
       next k
   next j

   string TGA_FILE_NAME = FNAME
   string TGA_FILE_NAME += "_"
   string TGA_FILE_NAME += i
   string TGA_FILE_NAME += ".tga"
   get TGA_SIZE asize MEMORY_FILE1
   log TGA_FILE_NAME 0 TGA_SIZE MEMORY_FILE1
   log MEMORY_FILE1 0 0
       
   set TGA_NAME_LEN strlen TGA_FILE_NAME
   putdstring TGA_FILE_NAME TGA_NAME_LEN MEMORY_FILE2
   put 0x0A0D short MEMORY_FILE2

   print "transferring done."
   
next i

putdstring "END_OF_LIST|" 12 MEMORY_FILE2
put 0x0A0D short MEMORY_FILE2
get INFOSIZE asize MEMORY_FILE2
string INFOFILENAME = FNAME
string INFOFILENAME += ".txt"
log INFOFILENAME 0 INFOSIZE MEMORY_FILE2

print "EXPORTING COMPLETED."

 

-결합스크립트-

 

//TGATOAGF 1.0 (거리니닷컴 익명/2021/08/09) Base Script : TGATOSPR32  2.5 (루란제르/2018/08/31)

IDString "\x48\x51\x54\x45\x41\x4D\x5F\x41\x47\x46\x5F\x54\x47\x41\x5F\x49\x4E\x46\x4F\x0D\x0A"
log MEMORY_FILE1 0 0 //temporary frame file
log MEMORY_FILE2 0 0 //agf file
log MEMORY_FILE3 0 0 //unzip frame file

findloc CURRENTOFFSET string "STRIPE_NAME|"
getdstring sdummy 12 //skips unnecessary characters
getct AGFNAME string 0x0d   // getting the name of sprite group.
get bdummy byte //skips an unnecessary byte, namely 0x0a

findloc CURRENTOFFSET string "EXTENSION|"
getdstring sdummy 10
getct AGFEXTENSION string 0x0d #getting the  original extention; .agf

findloc CURRENTOFFSET string "TOTAL_FRAME_NUMBER|"
getdstring sdummy 20
getct TGACOUNT string 0x0D  #getting the number of sprite group.

findloc CURRENTOFFSET string "MAXWIDTH|"
getdstring sdummy 10
getct AGFWIDTH string 0x0D  #getting the width

findloc CURRENTOFFSET string "MAXHEIGHT|"
getdstring sdummy 11
getct AGFHEIGHT string 0x0D  #getting the height

findloc CURRENTOFFSET string "FRAME_BITMAP_LIST:"
getdstring sdummy 21

print "name: %AGFNAME%, extension: %AGFEXTENSION%, count: %TGACOUNT%, agfwidth: %AGFWIDTH%, agfheight: %AGFHEIGHT%"

// writing header and info into the agf
put 0x23 long MEMORY_FILE2
put AGFWIDTH long MEMORY_FILE2
put AGFHEIGHT long MEMORY_FILE2
put TGACOUNT long MEMORY_FILE2
xmath PACCOUNT "2448 + (TGACOUNT * 8)"
for PAC = 0 < PACCOUNT
   put 0x00 byte MEMORY_FILE2
next PAC
set AGF_ACCUMULATEDSIZE 0

for i = 0 < TGACOUNT
   //tga validity check
   getct TGATARGETNAME string 0x0d //get the file name of a frame tga
   get sdummy 1
   savepos TGANAMEPOS
   Open FDSE TGATARGETNAME 1
   
   get TGAMAGIC short 1
   if TGAMAGIC <> 0
       print "This TGA is somewhat complicated than expected! Process terminated...(0)"
       cleanexit
   endif
   
   get TGAMODE byte 1
   if TGAMODE <> 0x02
       print "This TGA is not in Uncompressed RGB MODE! Process terminated...(1)"
       cleanexit
   endif
   
   get TGAEXTRAINFO long 1
   if TGAEXTRAINFO <> 0x00
       print "This TGA is somewhat complicated than expected! Process terminated...(2)"
       cleanexit
   endif
   get TGAEXTRAINFO long 1
   if TGAEXTRAINFO <> 0x00
       print "This TGA is somewhat complicated than expected! Process terminated...(3)"
       cleanexit
   endif
   get TGAEXTRAINFO byte 1
   if TGAEXTRAINFO <> 0x00
       print "This TGA is somewhat complicated than expected! Process terminated...(4)"
       cleanexit
   endif
   
   get TGAWIDTH short 1
   if TGAWIDTH <> AGFWIDTH
       print "%TGAWIDTH% %AGFWIDTH%"
       print "Error: The width of TGA doesn't match that of the info file! Process terminated...(5)"
       cleanexit
   endif
   get TGAHEIGHT short 1
   if TGAHEIGHT <> AGFHEIGHT
       print "%TGAHEIGHT% %AGFHEIGHT%"
       print "Error: The height of TGA doesn't match that of the info file! Process terminated...(6)"
       cleanexit
   endif

   get TGAPIXELDEPTH byte 1
   if TGAPIXELDEPTH <> 0x20
       print "This TGA is not written in 32bit! Process terminated...(7)"
       cleanexit
   endif
   
   get TGADESCRIPTOR byte 1 //this can be bigger or smaller than 0x20
   
   savepos TGA_BEENREADHERE 1

   
   //rearranging the tga pixel to the agf's order
   set TGA_GOAHEAD 0
   for j = 1 <= TGAHEIGHT
       if TGADESCRIPTOR >= 0x20
           xmath TGA_GOAHEAD "((TGAWIDTH * 4) * (j - 1)) + TGA_BEENREADHERE"
       else
           xmath TGA_GOAHEAD "(((TGAWIDTH * TGAHEIGHT) * 4) - ((TGAWIDTH * 4) * j)) + TGA_BEENREADHERE"
       endif
       goto TGA_GOAHEAD 1
       for k = 0 < TGAWIDTH
           get BLUE byte 1
           get GREEN byte 1
           get RED byte 1
           get ALPHA byte 1
           put ALPHA byte MEMORY_FILE1
           put RED byte MEMORY_FILE1
           put GREEN byte MEMORY_FILE1
           put BLUE byte MEMORY_FILE1
       next k
   next j

   //compression procedure
   goto 0 MEMORY_FILE1
   set AGF_TOTALCOMPRESSEDSIZE 0
   set WAITHERE 0
   for j = 0 < TGAHEIGHT
       set TGA_MATCHEDPIXELCOUNT 0
       for k = 0 < TGAWIDTH
           goto WAITHERE MEMORY_FILE1
           get ALPHA byte MEMORY_FILE1
           get RED byte MEMORY_FILE1
           get GREEN byte MEMORY_FILE1
           get BLUE byte MEMORY_FILE1
           savepos WAITHERE MEMORY_FILE1
           set Luranzer k
           math Luranzer += 1
           if Luranzer != TGAWIDTH
               get ALPHA2 byte MEMORY_FILE1
               get RED2 byte MEMORY_FILE1
               get GREEN2 byte MEMORY_FILE1
               get BLUE2 byte MEMORY_FILE1 
               if ALPHA2 == 0x00 && TGA_MATCHEDPIXELCOUNT < 255
                   if k == 0
                       math TGA_MATCHEDPIXELCOUNT += 2
                   else
                       if TGA_MATCHEDPIXELCOUNT < 1
                           if ALPHA == 0x00
                               put 0 byte MEMORY_FILE3
                               put 1 byte MEMORY_FILE3
                               put 0 byte MEMORY_FILE3
                               put 0 byte MEMORY_FILE3
                               math AGF_TOTALCOMPRESSEDSIZE += 1
                               math TGA_MATCHEDPIXELCOUNT += 1
                           else
                               put ALPHA byte MEMORY_FILE3
                               put RED byte MEMORY_FILE3
                               put GREEN byte MEMORY_FILE3
                               put BLUE byte MEMORY_FILE3
                               math AGF_TOTALCOMPRESSEDSIZE += 1
                               math TGA_MATCHEDPIXELCOUNT += 1
                           endif
                       else
                           math TGA_MATCHEDPIXELCOUNT += 1
                       endif
                   endif
               else
                   if TGA_MATCHEDPIXELCOUNT > 0
                       put 0 byte MEMORY_FILE3
                       put TGA_MATCHEDPIXELCOUNT byte MEMORY_FILE3
                       put 0 byte MEMORY_FILE3
                       put 0 byte MEMORY_FILE3
                       math AGF_TOTALCOMPRESSEDSIZE += 1
                       set TGA_MATCHEDPIXELCOUNT 0
                   else
                       if ALPHA == 0x00
                           put ALPHA byte MEMORY_FILE3
                           put 1 byte MEMORY_FILE3
                           put 0 byte MEMORY_FILE3
                           put 0 byte MEMORY_FILE3
                           math AGF_TOTALCOMPRESSEDSIZE += 1
                           set TGA_MATCHEDPIXELCOUNT 0
                       else
                           put ALPHA byte MEMORY_FILE3
                           put RED byte MEMORY_FILE3
                           put GREEN byte MEMORY_FILE3
                           put BLUE byte MEMORY_FILE3
                           math AGF_TOTALCOMPRESSEDSIZE += 1
                           set TGA_MATCHEDPIXELCOUNT 0
                       endif
                   endif
               endif
           else
               if TGA_MATCHEDPIXELCOUNT > 0
                   put 0 byte MEMORY_FILE3
                   put TGA_MATCHEDPIXELCOUNT byte MEMORY_FILE3
                   put 0 byte MEMORY_FILE3
                   put 0 byte MEMORY_FILE3
                   math AGF_TOTALCOMPRESSEDSIZE += 1
               else
                   if ALPHA == 0x00
                       put ALPHA byte MEMORY_FILE3
                       put 1 byte MEMORY_FILE3
                       put 0 byte MEMORY_FILE3
                       put 0 byte MEMORY_FILE3
                       math AGF_TOTALCOMPRESSEDSIZE += 1
                   else
                       put ALPHA byte MEMORY_FILE3
                       put RED byte MEMORY_FILE3
                       put GREEN byte MEMORY_FILE3
                       put BLUE byte MEMORY_FILE3
                       math AGF_TOTALCOMPRESSEDSIZE += 1
                   endif
               endif
           endif
       next k
   next j
   log MEMORY_FILE1 0 0 
   
   xmath AGF_GOAHEAD "1220 + (i * 4)"
   goto AGF_GOAHEAD MEMORY_FILE2
   get AGF_FRAMEOFFSET asize MEMORY_FILE3
   put AGF_FRAMEOFFSET long MEMORY_FILE2

   xmath AGF_GOAHEAD "2420 + (i * 8)"
   goto AGF_GOAHEAD MEMORY_FILE2
   put AGFWIDTH short MEMORY_FILE2
   put AGFHEIGHT short MEMORY_FILE2
next i

get UNZIPSIZE asize MEMORY_FILE3

xmath AGF_GOAHEAD "2416 + TGACOUNT * 8"
goto AGF_GOAHEAD MEMORY_FILE2
put UNZIPSIZE long MEMORY_FILE2

xmath UNKWIDTH "AGFWIDTH * TGACOUNT"
put UNKWIDTH long MEMORY_FILE2
put AGFHEIGHT long MEMORY_FILE2
put 0x00000000 long MEMORY_FILE2

//실제 이미지가 사용되는 메모리의 크기로 추정 됨
put AGFWIDTH long MEMORY_FILE2
put AGFHEIGHT long MEMORY_FILE2
put UNKWIDTH long MEMORY_FILE2
put AGFHEIGHT long MEMORY_FILE2

log MEMORY_FILE1 0 0
comtype zlib_compress
clog MEMORY_FILE1 0 UNZIPSIZE UNZIPSIZE MEMORY_FILE3

get POS_END asize MEMORY_FILE2
math POS_END - 4
goto POS_END MEMORY_FILE2
get ZIPSIZE asize MEMORY_FILE1
put ZIPSIZE long MEMORY_FILE2

goto 0 MEMORY_FILE1
for i = 0 < ZIPSIZE
   get ZIPBYTE byte MEMORY_FILE1
   put ZIPBYTE byte MEMORY_FILE2
next i

string OUTPUTNAME == AGFNAME
string OUTPUTNAME += "."
string OUTPUTNAME += AGFEXTENSION 
get AGFRESULTSIZE asize MEMORY_FILE2
log OUTPUTNAME 0 AGFRESULTSIZE MEMORY_FILE2

 

-투명도 조절- : 결과 파일에서 이름의 마지막 "_" 을 지우고 사용

//AGF 투명도 설정 1.0 (거린이닷컴 익명/2021/08/09)
IDString "\x23\x00\x00\x00"

//투명도 설정 ( 1 ~ 255 낮을수록 투명 높을수록 불투명 ) 
set INVISIBILITY_RATE 1

log MEMORY_FILE1 0 0 //TGA file
log MEMORY_FILE2 0 0 //Invisiblity TGA
log MEMORY_FILE3 0 0 //Unziped Memory
log MEMORY_FILE4 0 0 //Temporary Frame File

get FNAME basename
get EXTNAME extension

goto 0x0C
get FRAME_COUNT long

set UNZIPED_SIZE_ADDR FRAME_COUNT
math UNZIPED_SIZE_ADDR * 8
math UNZIPED_SIZE_ADDR + 0x970
goto UNZIPED_SIZE_ADDR
get UNZIPED_SIZE long

set ZIP_SIZE_ADDR FRAME_COUNT
math ZIP_SIZE_ADDR * 8
math ZIP_SIZE_ADDR + 0x99C
goto ZIP_SIZE_ADDR
get ZIP_SIZE long

set ZIP_OFFSET ZIP_SIZE_ADDR
math ZIP_OFFSET + 4

comtype zlib
clog  MEMORY_FILE3 ZIP_OFFSET ZIP_SIZE UNZIPED_SIZE

get ALL_FRAME asize MEMORY_FILE3
math ALL_FRAME / 4

goto 0
for i = 0 < ZIP_SIZE_ADDR
   get ORIG_BYTE byte
   put ORIG_BYTE byte MEMORY_FILE2
next i

print "start invisibility"
for i = 0 < ALL_FRAME
   xmath GOFURTHER "i * 4"
   goto GOFURTHER MEMORY_FILE3

   get ALPHA byte MEMORY_FILE3
   get RED byte MEMORY_FILE3
   get GREEN byte MEMORY_FILE3
   get BLUE byte MEMORY_FILE3
   if ALPHA == 0x00 && GREEN == 0x00 && BLUE == 0x00
       put ALPHA byte MEMORY_FILE4
       put RED byte MEMORY_FILE4
       put GREEN byte MEMORY_FILE4
       put BLUE byte MEMORY_FILE4
   else
       put INVISIBILITY_RATE byte MEMORY_FILE4
       put RED byte MEMORY_FILE4
       put GREEN byte MEMORY_FILE4
       put BLUE byte MEMORY_FILE4
   endif
next i

log MEMORY_FILE3 0 0

comtype zlib_compress
clog  MEMORY_FILE3 0 UNZIPED_SIZE UNZIPED_SIZE MEMORY_FILE4

get NEW_ZIP_SIZE asize MEMORY_FILE3
put NEW_ZIP_SIZE long MEMORY_FILE2

goto 0 MEMORY_FILE3

for i = 0 < NEW_ZIP_SIZE
   get ZIP_BYTE byte MEMORY_FILE3
   put ZIP_BYTE byte MEMORY_FILE2
next i

get INVISIBLE_FILE_SIZE asize MEMORY_FILE2
string INVISIBLE_FILE_NAME = FNAME
string INVISIBLE_FILE_NAME += "_."
string INVISIBLE_FILE_NAME += EXTNAME
log INVISIBLE_FILE_NAME 0 INVISIBLE_FILE_SIZE MEMORY_FILE2

print "COMPLETED."

 

reference : https://gerinee.com/g/gersang/9679?c=tip

 

 

댓글 3
  • 방장 4년 전

    윈도우 배치 스크립트로도 안되는 게 없군요

  • 방장 4년 전

    저는 타입스크립트로 작성 하였는데요 반성합니다

  • 강긴리 4년 전

    사랑합니다

  • 삭제된 댓글

  • 삭제된 댓글

외국인신분증위
168.126
8
18분 전
검정고시대리시
168.126
10
19분 전
토익대리시험※
168.126
7
20분 전
운전면허증대리
168.126
6
21분 전
토익성적표위조
168.126
8
21분 전
hsk위조 ※
168.126
7
23분 전
국가기술자격증
168.126
9
27분 전
등본초본 #국
168.126
9
29분 전
하린파파
65
15시간 전
혐송마
211.226
159
21시간 전
구구구궁
175
하루 전
접속좀하자
112.173
180
2일 전
혁꽃비
125.134
384
3일 전
거린이99
119.149
328
3일 전
1639
211.34
213
3일 전
늅거상
221.144
216
4일 전
진로상담
116.37
404
5일 전
둵둵하네
106.101
702
6일 전
사과
1.228
1052
6일 전
사과
1.228
751
6일 전
모범시민
295
6일 전
아이온큐
623
7일 전
복귀증장
106.249
512
7일 전
....?
59.2
542
7일 전
주의구역
116.37
325
8일 전
ㅇㅇ
211.234
678
8일 전
기안84
1.228
398
8일 전
지전복사
118.235
465
8일 전
메리아빠
529
9일 전
기조혁
211.169
764
9일 전
외국인신분증위
비회원 168.126 18분 전 조회 8
검정고시대리시
비회원 168.126 19분 전 조회 10
토익대리시험※
비회원 168.126 20분 전 조회 7
운전면허증대리
비회원 168.126 21분 전 조회 6
토익성적표위조
비회원 168.126 21분 전 조회 8
hsk위조 ※
비회원 168.126 23분 전 조회 7
국가기술자격증
비회원 168.126 27분 전 조회 9
등본초본 #국
비회원 168.126 29분 전 조회 9
하린파파
15시간 전 조회 65
혐송마
비회원 211.226 21시간 전 조회 159
구구구궁
하루 전 조회 175
접속좀하자
비회원 112.173 2일 전 조회 180
혁꽃비
비회원 125.134 3일 전 조회 384
거린이99
비회원 119.149 3일 전 조회 328
1639
비회원 211.34 3일 전 조회 213
늅거상
비회원 221.144 4일 전 조회 216
진로상담
비회원 116.37 5일 전 조회 404
둵둵하네
비회원 106.101 6일 전 조회 702
사과
비회원 1.228 6일 전 조회 1052
사과
비회원 1.228 6일 전 조회 751
모범시민
6일 전 조회 295
아이온큐
7일 전 조회 623
복귀증장
비회원 106.249 7일 전 조회 512
....?
비회원 59.2 7일 전 조회 542
주의구역
비회원 116.37 8일 전 조회 325
ㅇㅇ
비회원 211.234 8일 전 조회 678
기안84
비회원 1.228 8일 전 조회 398
지전복사
비회원 118.235 8일 전 조회 465
메리아빠
9일 전 조회 529
기조혁
비회원 211.169 9일 전 조회 764