Go Back   Sickos Alliance > Sickos Playground > Fansubber - Scanlator Zone > Fansub

Notices


Fansub Where you can learn how to sub

Trả lời
 
Ðiều Chỉnh Xếp Bài

  #1 Old 01-06-2008, 05:23 PM
Member
Member
 
50119's Avatar
 
Tham gia ngày: 02-01-08
Tuổi: 18
Bài gởi: 412
Thanks: 74
Thanked 95 Times in 63 Posts
Loli Points: 468.79
Gửi tin nhắn qua Yahoo chát tới 50119
Karaoke bằng SSA Pawaa xD~

SSA Pawaa xD~
Author: Tenka_Muteki-7X3
Website: [Only registered and activated users can see links. ]
Mail: [Only registered and activated users can see links. ]

Hiện nay thì ai làm effect bằng ASS đều dùng lua trong Aegisub là chủ yếu, tuy nhiên cái này vừa lằng nhằng vừa khó hiểu, nhất là những ai không biết tí gì về lập trình (như tớ chẳng hạn ), it's really a pain in the ass to learn lua from scratch. Thế mới tìm học cái này đây, script được viết bằng Python đối với những ai chưa biết lập trình thì dễ hơn lua rất nhiều mà hiệu ứng tạo ra cũng không thua nếu không muốn nói có một số mặt dùng cái này lợi hơn

Các hiệu ứng tenka làm bằng cái này, xem thử vài cái như Deathnote, _Gundam_ (nhất là cái này, mới nhìn toàn tưởng làm bằng AFX ), Blackcat, Fantastic Children đi thì sẽ thấy
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]


Vào vấn đề chính, trước tiên down mấy cái này về cài:



Down về giải nén file ssa_pawaa_xd.pyc vào thư mục cài Python.



Bây giờ tới script, ở đây tớ comment lại trên script Karaoke_Base.py down từ link trên kia để nắm sơ qua ý của nó, rồi từ script này viết hiệu ứng mới:

Code:
# -*- coding: cp1252 -*-

# Karaoke Base - Rev. 1
# Copyright (c) 2005-2007 Tenka_Muteki-7X3 <tenka_muteki_jp@yahoo.co.jp>. All rights reserved.
# This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License.
# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
# You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

from random import *
from string import *
from time import *
from ssa_pawaa_xd import *

TEM_INI_PRO = time()

nah, forget that, get to the good part:
Code:
# [dimensions và fps]
COL_INI_SCR = 0    #    ô dọc đầu tiên của script
LIN_INI_SCR = 0    #    ô ngang đầu tiên của script
COL_FIN_SCR = 1024    #*** ô dọc cuối cùng script
LIN_FIN_SCR = COL_FIN_SCR * 9 / 16    #*** ô ngang cuối cùng của script
VAL_FPS_VID = 23.976    #    video fps
VAL_DUR_FPS = 100 / VAL_FPS_VID    #    thời gian của 1 frame
chỉ là gán giá trị cho biến thôi, chắc không cần giải thích nhỉ
Code:
# [formats]
VAL_1AH_SCR = '00'      #*** 1st alpha
VAL_2AH_SCR = '00'      #*** 2nd alpha
VAL_3AH_SCR = '00'      #*** 3rd alpha
VAL_4AH_SCR = '00'      #*** 4th alpha
VAL_1CH_SCR = 'FFFFFF'      #*** 1st color
VAL_2CH_SCR = '0000FF'      #*** 2nd color
VAL_3CH_SCR = 'FF0000'      #*** 3rd color
VAL_4CH_SCR = '000000'      #*** 4th color
VAL_BOR_SCR = 2         #*** border
VAL_SOM_SCR = 2         #*** shadow
VAL_NEG_SCR = 0         #*** bold
VAL_ITA_SCR = 0         #*** italic
VAL_SCX_SCR = 100       #*** scale x
VAL_SCY_SCR = 100       #*** scale y
MAR_VER_SCR = 30        #*** vertical margin
MAR_HOR_SCR = 30        #*** horizontal margin
VAL_COR_MAS = '000000'     #*** màu của script mask
EST_PRI_SCR = 'rom'     #*** tên style chính
thông tin để tạo style
Code:
# [positions]
COL_FRA_KAR = 50                #*** ô dọc bắt đầu câu
LIN_FRA_KAR = 40                #*** ô ngang bắt đầu câu
LIN_FRA_TRA = LIN_FIN_SCR - 30  #*** hàng của trans
ALI_SIL_KAR = 4                 #*** syl alignment
ALI_FRA_KAR = 1                 #*** alignment của câu [ 1 = trái ] [ 2 = giữa ] [ 3 = phải ]
vị trí kara
Code:
# [tên]
TIT_SCR_KAR = 'Karaoke Base'      #*** script title
EXT_SCR_KAR = '.ass'      #    script extension
DIR_SCR_KAR = 'D:\\Arquivos\\Temporarios\\Trabalho\\Karaokes\\'      #*** script directory
NOM_SCR_PRI = 'Karaoke_Base'      #*** tên script chính
NOM_SCR_MAS = NOM_SCR_PRI + '_(Mask)'      #    tên script mask (dùng overlay trong avisynth)
DIR_NOM_PRI = DIR_SCR_KAR + NOM_SCR_PRI + EXT_SCR_KAR      #    đường lưu script chính
DIR_NOM_MAS = DIR_SCR_KAR + NOM_SCR_MAS + EXT_SCR_KAR      #    đường lưu script mask
chỗ đặt script
Code:
# [ajustments]
AJU_ESP_CAR = 1     #*** chỉnh độ rộng của space cho callarcar
AJU_LAR_CAR = -3    #*** chỉnh độ rộng giữa các syl cho callarcar
AJU_ALT_CAR = -10   #*** khoảng cách cho các hàng dọc (kanji)
AJU_FON_PIX = -5    #*** chỉnh font cho calpospix
AJU_COL_PIX = -20   #*** chỉnh cột dọc (pos) cho calpospix
AJU_LIN_PIX = -19   #*** chỉnh hàng (pos) cho calpospix
sẽ dùng để chỉnh pos khi làm fx, bây giờ chưa cần quan tâm tới nó
Code:
# [fonts]
TAM_FON_SCR = 40            #*** font size
COD_FON_SCR = 'br'          #*** font code
NOM_FON_SCR = "Arial"       #*** font name
NOM_FON_WIN = 'Arial.ttf'   #*** tên file font
ENC_FON_ESC = 1             #*** font encoding type
DAD_FON_SCR, DAD_FON_PIX = gerconfon(ENC_FON_ESC, NOM_FON_WIN, TAM_FON_SCR, AJU_LAR_CAR, AJU_FON_PIX)
font data dùng tính pos khi làm fx
Code:
# [raw karaoke input]
LIS_KAR_SCR = [
    'Dialogue: 0,0:00:02.00,0:00:04.00,Default,,0000,0000,0000,,{\k40}SSA {\k40}Pa{\k40}wa{\k40}a {\k40}xD~',
    'Dialogue: 0,0:00:05.00,0:00:07.00,Default,,0000,0000,0000,,{\k28}by {\k28}Ten{\k28}ka_{\k28}Mu{\k28}te{\k28}ki-{\k28}7X3',
    ]

# [translation]
LIS_TRA_SCR = [
    'Trad 1',
    'Trad 2',
    ]
cái này dùng hẳn karaoke trong script luôn chứ không lấy input từ ngoài
Code:
# [events lists]
LIS_CAB_COM = []
LIS_EST_PRI = []
LIS_EST_MAS = []
LIS_EST_COM = []
LIS_EVE_FUN = []
LIS_EVE_FRE = []
LIS_EVE_FIN = []
LIS_EVE_TRA = []
LIS_EVE_MAS = []
list các event (nếu không hiểu event là gì thì lấy đại 1 cái file ass rồi xài notepad mở nó lên đi)
Code:
# [flags]
GER_FRA_HOR = True      #*** tạo các câu nằm ngang
GER_CAB_SCR = True      #*** tạo phần mở đầu trong script
GER_FRA_KAR = True      #*** tạo các câu karaoke
GER_FRA_TRA = True      #*** tạo translation
GER_EFE_FIN = False     #*** tạo event end effect (sẽ giải thích sau)
GER_CON_SIL = False     #*** vẽ ô xác định chiều dài rộng của \k
GER_SSA_PRI = True      #*** tạo script chính
GER_SSA_MAS = False     #*** tạo script mask (overlay trong avisynth)
GER_DIV_LET = True      #*** làm effect cho từng char trong syl
GER_DIV_TEM = False     #*** chia thời gian effect ra cho từng char trong syl
your options
Code:
# [lấy thông tin từ raw kara]
DAD_EXT_KAR = callarcar(GER_DIV_LET, GER_DIV_TEM, LIS_KAR_SCR, DAD_FON_SCR, AJU_ESP_CAR, COD_FON_SCR)
LIS_TEM_KAR = DAD_EXT_KAR[0] # thời gian của syl
LIS_SIL_KAR = DAD_EXT_KAR[1] # syl
LIS_LAR_KAR = DAD_EXT_KAR[2] # độ rộng của syl
LIS_ALT_KAR = DAD_EXT_KAR[3] # chiều cao của syl
bắt đầu vào làm kara rồi đây, cái function trên kia là để lấy thông tin từ raw kara, không cần hiểu lắm đâu
Code:
####################################################################################################
## script                                                                                         ##
####################################################################################################

LIS_CAB_COM = LIS_CAB_COM + gercabssa(TIT_SCR_KAR, COL_FIN_SCR, LIN_FIN_SCR, GER_CAB_SCR)

ael(LIS_CAB_COM, 'Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding\n', GER_CAB_SCR)
ael(LIS_EST_PRI, 'Style: ' + EST_PRI_SCR + ',' + NOM_FON_SCR + ',' + str(TAM_FON_SCR) + ',&H' + VAL_1AH_SCR + VAL_1CH_SCR + ',&H' + VAL_2AH_SCR + VAL_2CH_SCR + ',&H' + VAL_3AH_SCR + VAL_3CH_SCR + ',&H' + VAL_4AH_SCR + VAL_4CH_SCR + ',' + str(VAL_NEG_SCR) + ',' + str(VAL_ITA_SCR) + ',0,0,' + str(VAL_SCX_SCR) + ',' + str(VAL_SCY_SCR) + ',0,0,1,' + str(VAL_BOR_SCR) + ',' + str(VAL_SOM_SCR) + ',' + str(ALI_SIL_KAR) + ',' + str(MAR_VER_SCR) + ',' + str(MAR_VER_SCR) + ',' + str(MAR_HOR_SCR) + ',0\n', GER_CAB_SCR)
ael(LIS_EST_MAS, 'Style: ' + EST_PRI_SCR + ',' + NOM_FON_SCR + ',' + str(TAM_FON_SCR) + ',&H' + VAL_1AH_SCR + VAL_COR_MAS + ',&H' + VAL_2AH_SCR + VAL_COR_MAS + ',&H' + VAL_3AH_SCR + VAL_COR_MAS + ',&H' + VAL_4AH_SCR + VAL_COR_MAS + ',' + str(VAL_NEG_SCR) + ',' + str(VAL_ITA_SCR) + ',0,0,' + str(VAL_SCX_SCR) + ',' + str(VAL_SCY_SCR) + ',0,0,1,' + str(VAL_BOR_SCR) + ',' + str(VAL_SOM_SCR) + ',' + str(ALI_SIL_KAR) + ',' + str(MAR_VER_SCR) + ',' + str(MAR_VER_SCR) + ',' + str(MAR_HOR_SCR) + ',0\n', GER_CAB_SCR)
ael(LIS_EST_COM, '\n', GER_CAB_SCR)
ael(LIS_EST_COM, '[Events]\n', GER_CAB_SCR)
ael(LIS_EST_COM, 'Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text\n', GER_CAB_SCR)
ael(LIS_EST_COM, 'Comment: 0,0:00:00.00,0:00:00.00,Default,,0000,0000,0000,,\n', GER_CAB_SCR)

CON_LIN_KAR = 0 # đếm số dòng kara
tạo phần đầu của script

Code:
####################################################################################################
## start - câu
##

while CON_LIN_KAR < len(LIS_TEM_KAR) :

    print 'Frase:', CON_LIN_KAR, LIS_SIL_KAR[CON_LIN_KAR][0]
    
    DUR_IND_INT = 40    #*** thời gian (centi giây) của lead in từng \k
    DUR_INT_INT = 1     #*** thời gian (centi giây) giữa từng lead in của từng \k
    DUR_ANT_FRA = 0     #*** thời gian cộng vào trước câu (centi giây)
    DUR_POS_FRA = 0     #*** thời gian cộng vào sau câu (centi giây)
    DUR_INT_ENC = 1     #*** thời gian (centi giây) giữa từng lead out của từng \k
    DUR_IND_ENC = 40    #*** thời gian (centi giây) lead out của từng \k
    
    TEM_ANT_FRA = temparval(ltrim(LIS_TEM_KAR[CON_LIN_KAR][0], 10)) - DUR_ANT_FRA                                   # thời gian trước câu
    TEM_INI_FRA = temparval(ltrim(LIS_TEM_KAR[CON_LIN_KAR][0], 10))                                                 # thời gian bắt đầu câu
    TEM_FIN_FRA = temparval(rtrim(LIS_TEM_KAR[CON_LIN_KAR][len(LIS_TEM_KAR[CON_LIN_KAR]) - 1], 10))                 # thời gian kết thúc câu
    TEM_POS_FRA = temparval(rtrim(LIS_TEM_KAR[CON_LIN_KAR][len(LIS_TEM_KAR[CON_LIN_KAR]) - 1], 10)) + DUR_POS_FRA   # thời gian sau câu

    LIS_FRA_ESQ = []    #*** list số câu left alignment
    LIS_FRA_DIR = []    #*** list số câu right alignment
                  
    ALI_FRA_TEL = geralikar(CON_LIN_KAR, LIS_FRA_ESQ, LIS_FRA_DIR, ALI_FRA_KAR) # alignment value của từng câu
    LAR_FRA_ATU = sum(LIS_LAR_KAR[CON_LIN_KAR])                                 # độ rộng của câu
    COL_INI_CAR = calposfra(COL_FIN_SCR, MAR_VER_SCR, LAR_FRA_ATU, ALI_FRA_TEL) # ô dọc bắt đầu syl đầu tiên của câu
    COL_ACU_CAR = 0                                                             # tổng độ rộng các syl
    LIN_INI_CAR = LIN_FRA_KAR                                                   # giá trị dòng đầu của kara (kanji)
    LIN_ACU_CAR = 0                                                             # giá trị dòng của các syl trước (kanji)
    QUA_KAR_FRA = len(LIS_TEM_KAR[CON_LIN_KAR])                                 # số lượng \k trong câu
    CON_COL_KAR = 0                                                             # đếm số syl của câu
    TEM_INT_ACU = QUA_KAR_FRA * DUR_INT_INT + DUR_INT_INT                       # tổng thời gian lead in
    TEM_ENC_ACU = DUR_INT_ENC                                                   # tổng thời gian lead out

    if GER_FRA_HOR == False :     # nếu tạo câu nằm dọc (kanji)
        
        LAR_FRA_ATU = conkarval(LIS_LAR_KAR[CON_LIN_KAR]) * LIS_ALT_KAR                             # độ rộng của câu
        LIN_INI_CAR = LIN_FRA_KAR + calposfra(LIN_FIN_SCR, MAR_HOR_SCR, LAR_FRA_ATU, ALI_FRA_TEL)   # hàng của syl đầu trong câu
bắt đầu vào kara từ đây phần này lấy thông tin từ raw để tính thời gian, vị trí,... của các syl của từng câu. Mấy cái biến trên kia mới đọc vào chưa hiểu hết nổi đâu cứ đợi tới lúc viết script dùng tới rồi sẽ biết nó là cái gì
Code:
    ####################################################################################################
    ## start - syl
    ##

    while CON_COL_KAR < len(LIS_TEM_KAR[CON_LIN_KAR]) :

        TEM_SIL_ATU = LIS_TEM_KAR[CON_LIN_KAR][CON_COL_KAR] # thời gian hiện tại
        SIL_FRA_ATU = LIS_SIL_KAR[CON_LIN_KAR][CON_COL_KAR] # đếm syl/char hiện tại
        LAR_SIL_ATU = LIS_LAR_KAR[CON_LIN_KAR][CON_COL_KAR] # độ rộng syl/char hiện tại
        ALT_SIL_ATU = LIS_ALT_KAR                           # chiều cao syl/char hiện tại

        TEM_INT_FRA = TEM_ANT_FRA - TEM_INT_ACU             # thời gian lead in của câu
        TEM_ENC_FRA = TEM_POS_FRA + TEM_ENC_ACU             # thời gian lead out của câu
        TEM_IND_INT = TEM_INT_FRA - DUR_IND_INT             # thời gian lead in của từng \k
        TEM_IND_ENC = TEM_ENC_FRA + DUR_IND_ENC             # thời gian lead out của từng \k
        TEM_INI_KAR = temparval(ltrim(TEM_SIL_ATU, 10))     # thời gian bắt đầu của \k
        TEM_FIN_KAR = temparval(rtrim(TEM_SIL_ATU, 10))     # thời gian kết thúc \k
        
        QUA_CEN_ATU = TEM_FIN_KAR - TEM_INI_KAR             # thời gian của câu (centi giây)
        QUA_FRA_ATU = confrasil(QUA_CEN_ATU, VAL_DUR_FPS)   # số lượng frame
        TEM_ENC_FRA = TEM_POS_FRA + TEM_ENC_ACU             # thời gian lead out

        VAL_AJU_COL = gerajucol(ALI_SIL_KAR, LAR_SIL_ATU)   # ajustment value của từng syl/char

        if SIL_FRA_ATU != '' :

            DAD_ALI_POS = gerdadali(SIL_FRA_ATU, GER_FRA_HOR, COL_INI_CAR, COL_ACU_CAR, VAL_AJU_COL, LIN_FRA_KAR, LAR_SIL_ATU, LIN_ACU_CAR, COL_FRA_KAR, LIN_INI_CAR, ALT_SIL_ATU, AJU_ALT_CAR) # generate giá trị position và alignment
            COL_SIL_ATU = DAD_ALI_POS[0]    # giá trị ô dọc của \k
            LIN_SIL_ATU = DAD_ALI_POS[1]    # giá trị ô ngang của \k
            COL_ACU_CAR = DAD_ALI_POS[2]    # tổng giá trị ô dọc của các kí tự \k hiện tại
            LIN_ACU_CAR = DAD_ALI_POS[3]    # tổng giá trị ô ngang của các kí tự \k hiện tại

        # với các syl không phải khoảng trống:
        if SIL_FRA_ATU != ' ' and SIL_FRA_ATU != '' :

            COM_BAS_SIL = an(ALI_SIL_KAR)
            ESC_FIN_EVE = 100
            COM_BAS_FIN = alpha(255) + fscxy(ESC_FIN_EVE)
            COM_FIN_EVE, CON_FIN_EVE = dadfineve(GER_EFE_FIN, COM_BAS_FIN, 'A')

            COM_POS_KAR = pos(COL_SIL_ATU, LIN_SIL_ATU)
                
            # vẽ ô xác định chiều rộng, cao của syl
            ael(LIS_EVE_FRE, mes(sta = TEM_INI_FRA, end = TEM_FIN_FRA, tex = '{' + pos(0, LIN_SIL_ATU) + bord(1) + a1(255) + a3(64) + c3('0000FF') + an(ALI_SIL_KAR) + p(1) + '}m ' + str(COL_SIL_ATU) + ' ' + str(0) + ' l ' + str(COL_SIL_ATU + LAR_SIL_ATU) + ' ' + str(0) + ' ' + str(COL_SIL_ATU + LAR_SIL_ATU) + ' ' + str(DAD_EXT_KAR[3]) + ' ' + str(COL_SIL_ATU) + ' ' + str(DAD_EXT_KAR[3]) + '{' + p(0) + COM_FIN_EVE + '}' + CON_FIN_EVE), GER_CON_SIL)
tính vị trí, toàn bộ thời gian,... cho từng syl/char 1, bắt đầu thực hiện hiệu ứng từ khúc này trở xuống, các biến trên kia sẽ được dùng cho fx
Code:
            # events generation flags, là các flag tạo các event ở khúc dưới:
            GER_INI_BLO = defgereve(DUR_IND_INT)
            GER_INT_BLO = defgereve(DUR_INT_INT)
            GER_PRI_BLO = defgereve(DUR_ANT_FRA)
            GER_SEG_BLO = True
            GER_TER_BLO = True
            GER_QUA_BLO = True
            GER_QUI_BLO = defgereve(DUR_POS_FRA)
            GER_ENC_BLO = defgereve(DUR_INT_ENC)
            GER_FIN_BLO = defgereve(DUR_IND_ENC)

            ####################################################################################################
            ## start - karaoke effect
            ##

            if GER_FRA_KAR == True :

                #--------------------------------------------------------------------------------------------------#
                # lead in từng syl/char (lead in start -> lead in end)

                COM_INI_BLO = fscxy(200) + alpha(255) + fr(360) + frx(360) + t(fscxy(100) + alpha(0) + fr(0) + frx(0))

                ael(LIS_EVE_FRE, mes(sta = TEM_IND_INT, end = TEM_INT_FRA, tex = mte(COM_POS_KAR + COM_BAS_SIL + COM_INI_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_INI_BLO)

                #--------------------------------------------------------------------------------------------------#
                # lead in của câu (lead in end -> đầu câu)

                COM_INT_BLO = ''

                ael(LIS_EVE_FRE, mes(sta = TEM_INT_FRA, end = TEM_ANT_FRA, tex = mte(COM_POS_KAR + COM_BAS_SIL + COM_INT_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_INT_BLO)

                #--------------------------------------------------------------------------------------------------#
                # khoảng trước câu

                COM_PRI_BLO = ''

                ael(LIS_EVE_FRE, mes(sta = TEM_ANT_FRA, end = TEM_INI_FRA, tex = mte(COM_POS_KAR + COM_BAS_SIL + COM_PRI_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_PRI_BLO)

                #--------------------------------------------------------------------------------------------------#
                # trước kara (đầu câu -> đầu syl)

                COM_SEG_BLO = ''

                ael(LIS_EVE_FRE, mes(sta = TEM_INI_FRA, end = TEM_INI_KAR, tex = mte(COM_POS_KAR + COM_BAS_SIL + COM_SEG_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_SEG_BLO)

                #--------------------------------------------------------------------------------------------------#
                # kara (đầu syl - cuối syl)

                COM_TER_BLO = bord(5) + t(bord(VAL_BOR_SCR))

                ael(LIS_EVE_FRE, mes(sta = TEM_INI_KAR, end = TEM_FIN_KAR, tex = mte(COM_POS_KAR + COM_BAS_SIL + COM_TER_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_TER_BLO)

##                lis_pix_car = calpospix(SIL_FRA_ATU, DAD_FON_PIX, COD_FON_SCR)
##
##                con_ite_lis = 0
##
##                while con_ite_lis < len(lis_pix_car) :
##
##                    val_col_pix = lis_pix_car[con_ite_lis][0]
##                    val_lin_pix = lis_pix_car[con_ite_lis][1]
##                    val_alp_pix = lis_pix_car[con_ite_lis][2]
##
##                    pos_col_pix = COL_SIL_ATU + val_col_pix + AJU_COL_PIX
##                    pos_lin_pix = LIN_SIL_ATU + val_lin_pix + AJU_LIN_PIX
##
##                    com_pos_pix = pos(pos_col_pix, pos_lin_pix)
##                    com_bas_pix = an(5) + bord(0) + shad(0) + fscxy(150) + alpha(val_alp_pix)
##                    com_adi_pix = ''
##                    com_dia_pix = p(1)
##                    com_pic_pix = ppix()
##                    com_tra_pix = p(0)
##                    
##                    ael(LIS_EVE_FRE, mes(sta = TEM_INI_KAR, end = TEM_FIN_KAR, tex = mte(com_pos_pix + com_bas_pix + com_adi_pix + com_dia_pix, com_pic_pix, com_tra_pix + COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_TER_BLO)
##
##                    con_ite_lis = con_ite_lis + 1

                #--------------------------------------------------------------------------------------------------#
                # sau kara (cuối syl -> cuối câu)

                COM_QUA_BLO = ''

                ael(LIS_EVE_FRE, mes(sta = TEM_FIN_KAR, end = TEM_FIN_FRA, tex = mte(COM_POS_KAR + COM_BAS_SIL + COM_QUA_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_QUA_BLO)

                #--------------------------------------------------------------------------------------------------#
                # khoảng sau câu

                COM_QUI_BLO = ''

                ael(LIS_EVE_FRE, mes(sta = TEM_FIN_FRA, end = TEM_POS_FRA, tex = mte(COM_POS_KAR + COM_BAS_SIL + COM_QUI_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_QUI_BLO)

                #--------------------------------------------------------------------------------------------------#
                # lead out của câu

                COM_ENC_BLO = ''

                ael(LIS_EVE_FRE, mes(sta = TEM_POS_FRA, end = TEM_ENC_FRA, tex = mte(COM_POS_KAR + COM_BAS_SIL + COM_ENC_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_ENC_BLO)

                #--------------------------------------------------------------------------------------------------#
                # lead out của từng syl/char

                COM_FIN_BLO = t(fscxy(200) + alpha(255) + fr(360) + frx(360))

                ael(LIS_EVE_FRE, mes(sta = TEM_ENC_FRA, end = TEM_IND_ENC, tex = mte(COM_POS_KAR + COM_BAS_SIL + COM_FIN_BLO, SIL_FRA_ATU, COM_FIN_EVE, CON_FIN_EVE, GER_EFE_FIN)), GER_FIN_BLO)

                #--------------------------------------------------------------------------------------------------#

            ##
            ## end - karaoke effect
            ####################################################################################################
            TEM_INT_ACU = TEM_INT_ACU - DUR_INT_INT
            TEM_ENC_ACU = TEM_ENC_ACU + DUR_INT_ENC

        CON_COL_KAR = CON_COL_KAR + 1

    ##
    ## end - syl
    ####################################################################################################
trong script này kara được chia làm nhiều phần nhỏ rồi làm effect cho từng phần, ở chỗ này có thể thêm tags, phần mới,v.v...
phần màu đỏ là cách dùng calpospix để làm effect pixel dot (xem hiệu ứng của ergo proxy trên kia đi thì thấy o<)
Code:
####################################################################################################
    ## start - translation
    ##

    COL_FRA_TRA, VAL_ALI_TRA = geralitra(CON_LIN_KAR, LIS_FRA_ESQ, LIS_FRA_DIR, MAR_VER_SCR, COL_FIN_SCR)
    
    POS_FRA_TRA = pos(COL_FRA_TRA, LIN_FRA_TRA)
    COM_BAS_TRA = fad(150, 150) + bord(0) + fscxy(90) + an(VAL_ALI_TRA)
    COM_FRA_TRA = c1(VAL_1CH_SCR)

    ael(LIS_EVE_TRA, mes(sta = TEM_INI_FRA, end = TEM_FIN_FRA, tex = '{' + POS_FRA_TRA + COM_BAS_TRA + COM_FRA_TRA + '}' + LIS_TRA_SCR[CON_LIN_KAR] + '\n'), GER_FRA_TRA)

    ##
    ## end - translation
    ####################################################################################################

    CON_LIN_KAR = CON_LIN_KAR + 1

##
## end - câu
####################################################################################################

gerscrssa(TEM_INI_PRO, GER_SSA_PRI, GER_SSA_MAS, DIR_NOM_PRI, DIR_NOM_MAS, LIS_CAB_COM, LIS_EST_PRI, LIS_EST_MAS, LIS_EST_COM, LIS_EVE_FUN, LIS_EVE_FRE, LIS_EVE_FIN, LIS_EVE_TRA)
translation và tạo output file
nhìn chung thì script khá dài nhưng lúc tạo hiệu ứng mới thì chỉ cần sửa một số chỗ trong đó thôi
cái này nhìn thì khó hiểu nhưng cứ bắt tay vào làm thử thì thấy dễ liền thôi

___________________________________

"Anime makes you stupid. Watching anime makes you stupid, fansubbing anime too, but apparently professionally working with anime makes you the most stupid. Funimation is the proof of this theory." [
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
]
lulz
50119's Inventory

50119 is offline   Trả Lời Với Trích Dẫn
The Following 8 Users Say Thank You to 50119 For This Useful Post:
annie_kosmos (18-01-2009), Doko Demo Doa (20-07-2011), Golden Darkness (18-03-2009), thuyquai (27-03-2009), touya (04-01-2009), Zeddy (24-07-2009)
Loli Points Awarded to 50119 for this Post
Ngày User Comment Amount
01-06-2008 delacroix01 Very good info. Thanks 1,000.00
  #2 Old 01-06-2008, 05:29 PM
Member
Member
 
50119's Avatar
 
Tham gia ngày: 02-01-08
Tuổi: 18
Bài gởi: 412
Thanks: 74
Thanked 95 Times in 63 Posts
Loli Points: 468.79
Gửi tin nhắn qua Yahoo chát tới 50119
Trans lại mô tả 1 số function trong ssa_pawaa_xd.pyc, đọc cái này cái script ở trên dễ hiểu hơn nhiều :

#--------------------------------------------------------------------------------------------------#

ael (list, event, flag of generation)
Thêm event vào list

Ex.:

>>> lista = []
>>> ael(lista, mes(sta = 0, end = 100, tex = 'dòng 1'))
>>> ael(lista, mes(sta = 0, end = 100, tex = 'dòng 2'), True)
>>> ael(lista, mes(sta = 0, end = 100, tex = 'dòng 3'), False)
>>> lista
[('Dialogue: 0,0:00:00.00,0:00:01.00,rom,,0000,0000,0000,,dòng 1', True), ('Dialogue: 0,0:00:00.00,0:00:01.00,rom,,0000,0000,0000,,dòng 2', True), ('Dialogue: 0,0:00:00.00,0:00:01.00,rom,,0000,0000,0000,,dòng 3', False)]

#--------------------------------------------------------------------------------------------------#

calbezcur (x start, y start, x final, y final, số điểm giữa, limit x start, limit y start, limit x final, limit y final)
Tính toán tọa độ của các điểm trên [Only registered and activated users can see links. ] trả về dạng list.
x start, y start = tọa độ điểm bắt đầu
x final, y final = tọa độ điểm kết thúc
số điểm giữa = số điểm nằm giữa start và end
limit = giới hạn vùng vẽ các điểm nằm giữa

#--------------------------------------------------------------------------------------------------#

calcoocir (bán kính, góc)
Tính tọa độ của điểm trên đường tròn.
Lưu ý cách tính góc ở def này không giống cách tính góc trong ass.

Ex.:
>>> calcoocir(30, 90)
[0, 30]
>>> calcoocir(30, 180)
[-30, 0]
>>> calcoocir(30, 270)
[0, -30]
>>> calcoocir(30, 360)
[30, 0]

#--------------------------------------------------------------------------------------------------#

calpospix (kí tự, font data, font code)
Tính các điểm nằm trên chữ qua ảnh, trả về giá trị tọa độ và alpha dưới dạng list.

#--------------------------------------------------------------------------------------------------#

dv (1st value, 2nd value)
Trả về '1st value, 2nd value,'

Ex.:

>>> dv(0, 100)
'0,100,'
>>> t(dv(0, 200) + bord(5))
'\\t(0,200,\\bord5)'

#--------------------------------------------------------------------------------------------------#

fscxy (scale x, scale y)
Trả về tage cho \fscx và \fscy, nếu chi cho 1 giá trị thì dùng cho cả 2.

Ex.:

>>> fscxy(100)
'\\fscx100\\fscy100'
>>> fscxy(100, 200)
'\\fscx100\\fscy200'

#--------------------------------------------------------------------------------------------------#

gercorale ()
Trả về giá trị màu bất kì.

Ex.:

>>> gercorale()
'3042F8'
>>> gercorale()
'20C83F'

#--------------------------------------------------------------------------------------------------#

gernegpos ()
Trả về 1 hoặc -1.

Ex.:

>>> gernegpos()
-1
>>> gernegpos()
1

#--------------------------------------------------------------------------------------------------#

liscordeg (số lần cắt, màu 1, màu 2)
Chuyển màu 1 -> màu 2, giá trị trả về list BBGGRR.
Def có vấn đề, dùng def khác ở dưới.

Ex.:

>>> liscordeg(2, 'FF0000', '0000FF')
['FF0000', '0000FF']
>>> liscordeg(5, 'FF0000', '0000FF')
['FF0000', '00003F', '3F007F', '7F00BF', '0000FF']

#--------------------------------------------------------------------------------------------------#

mes (typ = 'Dialogue', lay = 0, sta = 0, end = 0, sty = 'rom', act = '', lef = 0, rig = 0, ver = 0, efe = '', tex = '')
Trả về câu với cấu trúc SSA.

Ex.:

>>> mes()
'Dialogue: 0,0:00:00.00,0:00:00.00,rom,,0000,0000,0000,,'
>>> mes(typ = 'Comment', sty = 'kanji', lay = 10)
'Comment: 10,0:00:00.00,0:00:00.00,kanji,,0000,0000,0000,,'
>>> mes(sta = 0, end = 100, tex = 'teste')
'Dialogue: 0,0:00:00.00,0:00:01.00,rom,,0000,0000,0000,,teste '

#--------------------------------------------------------------------------------------------------#

movcoopix (x start, y start, x end, y end, time start, time end)
Trả về giá trị tọa độ của đường di chuyển dưới dạng list.

Ex.:

>>> movcoopix(0, 0, 10, 10, 0, 100)
[[1, 1, 10], [2, 2, 20], [3, 3, 30], [4, 4, 40], [5, 5, 50], [6, 6, 60], [7, 7, 70], [8, 8, 80], [9, 9, 90], [10, 10, 100]]
>>> movcoopix(0, 0, 10, 10, 0, 50)
[[1, 1, 5], [2, 2, 10], [3, 3, 15], [4, 4, 20], [5, 5, 25], [6, 6, 30], [7, 7, 35], [8, 8, 40], [9, 9, 45], [10, 10, 50]]

#--------------------------------------------------------------------------------------------------#

mte (tags, text, end tags, end text, generation flag)
Trả về text dưới dạng {tags}text{tags end}text end.

Ex.:

>>> mte(an(6), 'a', fscxy(0) + t(fscx(500)), ' ')
'{\\an6}a{\\fscx0\\fscy0\\t(\\fscx500)} '
>>> mte(bord(3), 'a')
'{\\bord3}a'

#--------------------------------------------------------------------------------------------------#

pbri ()
Trả về lệnh \p vẽ cái hình ở dưới.

Ex.:

>>> pbri()
'm 0 0 l 50 49 100 0 51 50 100 100 50 51 0 100 49 50 0 0 m 45 45 s 55 45 55 55 45 55 c'

#--------------------------------------------------------------------------------------------------#

pcha ()
Trả về lệnh \p vẽ lửa.

Ex.:

>>> pcha()
'm 0 9 b 3 3 6 3 9 6 b 12 9 15 2 19 4 b 24 5 23 11 18 13 b 15 13 13 13 10 10 b 6 6 2 6 0 10'

#--------------------------------------------------------------------------------------------------#

pcir ()
Trả về lệnh \p vẽ vòng tròn.

Ex.:

>>> pcir()
'm 50 0 b 100 0 100 100 50 100 b 0 100 0 0 50 0'

#--------------------------------------------------------------------------------------------------#

pest (number)
Trả về lệnh \p vẽ sao.

Ex.:

>>> pest()
'm 10 49 l 52 19 0 19 42 49 26 0'
>>> pest(0)
'm 10 49 l 52 19 0 19 42 49 26 0'
>>> pest(1)
'm 50 0 l 60 30 70 40 100 50 70 60 60 70 50 100 40 70 30 60 0 50 30 40 40 30'

#--------------------------------------------------------------------------------------------------#

pfum ()
Trả về lệnh \p ngẫu nhiên vẽ khói.

Ex.:

>>> pfum()
'm 79 45 b 10 23 38 176 46 67 b 99 11 29 84 51 174'
>>> pfum()
'm 38 109 b 158 112 120 101 43 140 b 189 162 36 124 174 196'
>>> pfum()
'm 46 118 b 18 143 57 88 167 58 b 60 46 200 53 165 98'

#--------------------------------------------------------------------------------------------------#

pgot ()
Trả về lệnh \p vẽ giọt nước.

Ex.:

>>> pgot()
'm 0 -5 b -8 7 8 7 0 -5'

#--------------------------------------------------------------------------------------------------#

ppix ()
Trả về \p pixel dot.

Ex.:

>>> ppix()
'm 0 0 l 1 0 1 1 0 1'

#--------------------------------------------------------------------------------------------------#


Các function với tag trong ssa:

Ex.:

>>> bord(5)
'\\bord5'

>>> b(1)
'\\b1'

>>> fn('Arial')
'\\fnArial'

>>> fr(360)
'\\fr360'

>>> clip(0, 0, 100, 100)
'\\clip(0,0,100,100)'

>>> t(shad(0) + bord(0))
'\\t(\\shad0\\bord0)'
....

Không có lệnh clip shape nên cái đó phải làm bằng tay, vd: '\\clip(m 0 0 l 100 0 0 100)'

Với màu và alpha phải viết ngược lại do trong Python function không bắt đầu bằng số: 1c, 2c, 3c, 4c, 1a, 2a, 3a, 4a -> c1, c2, c3, c4, a1, a2, a3, a4

Theo như tenka thì các tag với màu và alpha trả về tag và số nhận dạng để tạo script mask, cái này chưa rõ lắm, có hỏi nhưng hắn chưa trả lời.

Code:

Ex.:

>>> a1(255)
'[alp_sta]0[alp_end]'

>>> a4(0)
'[alp_sta]1[alp_end]'

>>> c2('FFFFFF')
'[cor_sta]0[cor_end]'

>>> alpha(254)
'[alp_sta]2[alp_end]'

>>> fad(100, 100)
'[fad_sta]0[fad_end]'

Karaoke_Base.py vẫn còn nhiều function khác trong đó nhưng không nói ở đây do mấy cái đó chỉ được dùng cho cấu trúc file ssa và cũng không cần đụng vào khi làm kara, thành ra cũng không cần quan tâm tới nó lắm.

def thay cho function bị lỗi ở trên, bới smallkirby:
Code:
def cut_color(no, str_color, end_color):
    from string import upper
    scr=int(str_color[0:2],16)
    scg=int(str_color[2:4],16)
    scb=int(str_color[4:6],16)
    enr=int(end_color[0:2],16)
    eng=int(end_color[2:4],16)
    enb=int(end_color[4:6],16)
    return_color=[]
    no_t=0
    while no_t<no :
        r_return=upper(hex(scr+no_t*(enr-scr)/(no-1))[2:5])
        g_return=upper(hex(scg+no_t*(eng-scg)/(no-1))[2:5])
        b_return=upper(hex(scb+no_t*(enb-scb)/(no-1))[2:5])
        if len(r_return)==1:
            r_return='0'+r_return
        if len(g_return)==1:
            g_return='0'+g_return
        if len(b_return)==1:
            b_return='0'+b_return
        return_color.append(r_return+g_return+b_return)
        no_t=no_t+1
    return return_color

___________________________________

"Anime makes you stupid. Watching anime makes you stupid, fansubbing anime too, but apparently professionally working with anime makes you the most stupid. Funimation is the proof of this theory." [
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
]
lulz
50119's Inventory


thay đổi nội dung bởi: 50119, 11-08-2009 lúc 09:48 PM.
50119 is offline   Trả Lời Với Trích Dẫn
The Following User Says Thank You to 50119 For This Useful Post:
  #3 Old 01-06-2008, 09:28 PM
Baka
Member
 
Sept3mber's Avatar
 
Tham gia ngày: 03-01-08
Đến từ: Dunno!
Tuổi: 23
Bài gởi: 782
Thanks: 99
Thanked 378 Times in 217 Posts
Loli Points: 444.45
Gửi tin nhắn qua Yahoo chát tới Sept3mber
holy damn shit, một bước tiến mới quả thật là rất tuyệt vời :x

___________________________________


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Sept3mber's Inventory

Sept3mber is offline   Trả Lời Với Trích Dẫn
  #4 Old 01-06-2008, 10:23 PM
Founder of 4L fansub
Moderator
 
delacroix01's Avatar
 
Tham gia ngày: 02-01-08
Đến từ: Yzarc
Bài gởi: 4,680
Thanks: 347
Thanked 799 Times in 320 Posts
Loli Points: 53,614.10
Hồi lúc cũng có mò vô trang của thằng Tenka rồi mà lúc đó nó chưa bày. Thanks nhiều nhé Mặc dù lua nếu tận dụng hết thì power cũng ghê gớm lắm đấy. Điển hình ở cái Air OP thì tớ đã qua mặt bọn KAA và THORA Còn cái OP1 của HnG thì cũng ko khác cái của Eclipse làm bằng AFX là mấy

___________________________________


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
delacroix01's Inventory

delacroix01 is offline   Trả Lời Với Trích Dẫn
  #5 Old 02-06-2008, 06:04 PM
Member
Member
 
50119's Avatar
 
Tham gia ngày: 02-01-08
Tuổi: 18
Bài gởi: 412
Thanks: 74
Thanked 95 Times in 63 Posts
Loli Points: 468.79
Gửi tin nhắn qua Yahoo chát tới 50119
lũ THORA làm air hồi nào mình không biết nhỉ, đi check thử o<
à mà tụi này cũng đâu thấy có cái kara nào đẹp
they only have nice encodes, but that's enough o<

[Only registered and activated users can see links. ]

nếu nói về tận dụng hết sức mạnh thì ass không đơn giản là tới đó đâu, xem mấy cái như deathnote hay gundam của thằng tenka đi rồi sẽ thấy
còn AFX thì mấy cái trên kia chưa coi, nhưng gặp phải mấy thằng xài effect bạt mạng như link trên kia với [Only registered and activated users can see links. ] thì thôi thua chúa cũng không bắt chước trong ass nổi hai cái naruto op ấy

[Only registered and activated users can see links. ]

vài cái MISC tiếp trong bài:

-về event end: cài này dùng để tạo các chuyển động phức tạp cho particle trong ass, ví dụ vẽ một dấu chấm kế chữ a, tớ cho nguyên cụm đó vừa di chuyển vừa xoay 5 vòng, sau đó cho chữ a alpha 255, ta sẽ có cái chấm hồi nãy chuyển động theo một vòng xoay tròn mà không thể làm bằng lệnh move được, có thể dùng thêm scale, org, whatever,...
tham khảo deathnote op, shippuuden op: vận dụng cái này rất tốt

-có thể dùng vector clip + movcoopix để làm chữ vỡ mảnh ra
tham khảo saint seiya

-có thể tận dũng overlay trong avisynth để tạo màu gradient hay các color change phức tạp một cách rất đơn giản bằng script mask
tham khảo ergo proxy OP
ngoài ra có thể dùng overlay để dùng hình lên như trong AFX
tham khảo Inu OP 4, Fantastic Children ED
do Python đơn giản hơn nhiều ngôn ngữ khác nên việc viết vài function mới để tạo script avisynth cũng không khó đâu

-1 cái sơ đồ minh họa cho 1 số biến trong khi làm effect
có cái này dễ hiểu hơn

___________________________________

"Anime makes you stupid. Watching anime makes you stupid, fansubbing anime too, but apparently professionally working with anime makes you the most stupid. Funimation is the proof of this theory." [
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
]
lulz
50119's Inventory


thay đổi nội dung bởi: 50119, 02-06-2008 lúc 06:47 PM.
50119 is offline   Trả Lời Với Trích Dẫn
The Following User Says Thank You to 50119 For This Useful Post:
  #6 Old 02-06-2008, 10:39 PM
Founder of 4L fansub
Moderator
 
delacroix01's Avatar
 
Tham gia ngày: 02-01-08
Đến từ: Yzarc
Bài gởi: 4,680
Thanks: 347
Thanked 799 Times in 320 Posts
Loli Points: 53,614.10
Thì mấy cái của tớ cũng mới chỉ là 1 phần của ASS thôi chứ đã full power đâu Có điều cái gì cũng có limit cả. Nhiều effect làm bên AFX được nhưng ASS ko thể làm nổi và ngược lại mà Btw, bọn THORA nó chỉ làm cái OP và theo nx khách quan thì tụi này failed Bản trans nó lấy từ Koi và ko edit kỹ cho phù hợp với long ver của OP, style suck và quality cũng chỉ nhỉnh hơn 1 ít, phải scrshot mới thấy khác biệt được Chú ý là raw bọn nó là blu-ray gốc còn cái tớ lấy là đã rip rồi

___________________________________


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
delacroix01's Inventory


thay đổi nội dung bởi: delacroix01, 02-06-2008 lúc 10:46 PM.
delacroix01 is offline   Trả Lời Với Trích Dẫn
  #7 Old 14-02-2009, 12:23 PM
Member
 
Tham gia ngày: 14-02-09
Bài gởi: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Loli Points: 0
CHo mình hỏi là giờ mình đã làm thử tất cả những gì ghi như trên...và cái script cuối cùng là ra .py fải ko
Mình muốn hỏi là làm cách nào để kiểm tra thành wả

Shinnex's Inventory

Shinnex is offline   Trả Lời Với Trích Dẫn
  #8 Old 14-02-2009, 05:07 PM
Member
Member
 
50119's Avatar
 
Tham gia ngày: 02-01-08
Tuổi: 18
Bài gởi: 412
Thanks: 74
Thanked 95 Times in 63 Posts
Loli Points: 468.79
Gửi tin nhắn qua Yahoo chát tới 50119
thì chạy file py đó đi, tạo file ass

50119's Inventory

50119 is offline   Trả Lời Với Trích Dẫn
  #9 Old 04-03-2009, 08:41 AM
Member
 
Tham gia ngày: 03-03-09
Bài gởi: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Loli Points: 0
Máy Anh chị o hướng đẫn chạy phần mềm sao biết. Em bấm F5 nó ra như vậy nè.
Traceback (most recent call last):
File "C:\Python26\Kidou_Senshi_Gundam_00_-_OP_1_-_By_Tenka_Muteki-7X3.py", line 12, in <module>
from ssa_pawaa_xd import * # Rev. 1
ImportError: Bad magic number in C:\Python26\ssa_pawaa_xd.pyc
>>>

kaze_no_merodii's Inventory

kaze_no_merodii is offline   Trả Lời Với Trích Dẫn
  #10 Old 04-03-2009, 06:29 PM
Member
Member
 
50119's Avatar
 
Tham gia ngày: 02-01-08
Tuổi: 18
Bài gởi: 412
Thanks: 74
Thanked 95 Times in 63 Posts
Loli Points: 468.79
Gửi tin nhắn qua Yahoo chát tới 50119
thử chuyển qua python v2.5.1 lại thử xem

50119's Inventory

50119 is offline   Trả Lời Với Trích Dẫn
Trả lời
Ðiều Chỉnh
Xếp Bài

Quyền Hạn Của Bạn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt
Trackbacks are Tắt
Pingbacks are Tắt
Refbacks are Tắt



Múi giờ GMT. Hiện tại là 06:32 PM.
Designed by: vBSkinworks

Powered by: vBulletin v3.8.2 Copyright ©2000-2012, Jelsoft Enterprises Ltd.
vBCommerce I v2.0.0 Gold ©2010, PixelFX Studios
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
Sickos Alliance all right reserved 2008