Sửa giúp em cái leak

Thảo luận trong 'World Editor' bắt đầu bởi warklock, 17/7/09.

  1. game_war48

    game_war48 Dragon Quest

    Tham gia ngày:
    7/9/08
    Bài viết:
    1,320
    Nơi ở:
    Ice City
    Lag chưa hẳn là bị Leak. Lag có thể do tạo quá nhiều Dummys cùng lúc. Xem đại spell Whirpool ở topic Tiêu chuẩn dự thi kia kìa, Remove hết Leak rồi nhưng vẫn bị lag vì tạo quá nhiều Dummys.
     
  2. warklock

    warklock Mr & Ms Pac-Man

    Tham gia ngày:
    15/1/08
    Bài viết:
    133
    Nhưng khi Dumy chết hết ( đã remove và hide) thì nó phải hết lag chứ nhưng em chờ mấy phút sau vẫn chưa hết lag
     
  3. ShadowThanatos

    ShadowThanatos -|--Soul Reaper--|-

    Tham gia ngày:
    23/2/09
    Bài viết:
    2,119
    Nơi ở:
    Horror Depht
    Vấn đề là có ai bị lag hem? Nếu có mỗi bạn thì phải coi lại máy của mình
     
  4. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    leak là đây:
    Mã:
    Truot
        Events
            Time - Every 0.04 seconds of game time
        Conditions
        Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    Tick Equal to 0
                Then - Actions
                    Trigger - Turn off (This trigger)
                    Skip remaining actions
                Else - Actions
                    Set Tick = (Tick - 1)
                    Set Diem1 = (Position of nannhan)
                    Set diem2 = (Diem1 offset by Khoangcach towards Goc degrees)
                    Unit - Move nannhan instantly to diem2
                    [B][COLOR="Red"]Destructible - Pick every destructible within 200.00 of diem2 and do (Destructible - Kill (Picked destructible))[/COLOR][/B]
                    Custom script:      call RemoveLocation(udg_Diem1)
                    Custom script:      call RemoveLocation(udg_diem2)
    
    đây là một lệnh của Blizzard làm, lệnh này leak (JASS-er mới nhìn ra) leak ở đây không phải leak point mà là leak handle không null

    nếu bỏ lệnh đó đi sẽ giảm đáng kể lag (thậm chí không)

    Mã:
    NoBoomMucTieu
        Events
            Unit - A unit Starts the effect of an ability
        Conditions
            (Ability being cast) Equal to No BOM 
        Actions
            Set Nguoi = (Triggering unit)
            Set Target = (Target unit of ability being cast)
            Set TargetPoint = (Position of Target)
            Set Group = [B][COLOR="Red"](Units of type SB)[/COLOR][/B]
            Unit Group - Pick every unit in Group and do (Actions)
                Loop - Actions
                    Set SB = (Picked unit)
                    Unit - Order SB to Neutral - Kaboom! Target
                    Special Effect - Create a special effect at TargetPoint using Abilities\Spells\Other\Doom\DoomDeath.mdl
                    Special Effect - Destroy (Last created special effect)
            Custom script:      call DestroyGroup(udg_Group)
            Custom script:      call RemoveLocation(udg_TargetPoint)
    
    cũng là một leak handle mà không null (JASS-er mới thấy)

    cách giải quyết: ko "pick group" mà mỗi khi summon ra một cục lửa thì add cục lửa đó vào group

    trigger sẽ như sau:
    Mã:
    Truot
        Events
            Time - Every 0.04 seconds of game time
        Conditions
        Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                If - Conditions
                    Tick Equal to 0
                Then - Actions
                    Trigger - Turn off (This trigger)
                    Skip remaining actions
                Else - Actions
                    Set Tick = (Tick - 1)
                    Set Diem1 = (Position of nannhan)
                    Set diem2 = (Diem1 offset by Khoangcach towards Goc degrees)
                    Unit - Move nannhan instantly to diem2
                    [COLOR="Red"]Destructible - Pick every destructible within 200.00 of diem2 and do (Destructible - Kill (Picked destructible))[/COLOR]
                    Custom script:      call RemoveLocation(udg_Diem1)
                    Custom script:      call RemoveLocation(udg_diem2)
    
    Mã:
    GoiBoom
        Events
            Unit - A unit Starts the effect of an ability
        Conditions
            (Ability being cast) Equal to SW 
        Actions
            Set Nguoi = (Triggering unit)
            Set Level = (Level of SW  for Nguoi)
            Set Diem1 = (Position of Nguoi)
            Unit - Create 1 SB for (Owner of Nguoi) at Diem1 facing Default building facing degrees
            Set nannhan = (Last created unit)
            Set diem2 = (Target point of ability being cast)
            Set Goc = (Angle from Diem1 to diem2)
            Set Tick = 20
            Set Khoangcach = ((Distance between Diem1 and diem2) / (Real(Tick)))
            [COLOR="Blue"]Unit Group - Add nannhan to Group[/COLOR]
            Custom script:      call RemoveLocation(udg_Diem1)
            Custom script:      call RemoveLocation(udg_diem2)
            Trigger - Turn on Truot <gen>
    
    Mã:
    NoBoomMucTieu
        Events
            Unit - A unit Starts the effect of an ability
        Conditions
            (Ability being cast) Equal to No BOM 
        Actions
            Set Nguoi = (Triggering unit)
            Set Target = (Target unit of ability being cast)
            Set TargetPoint = (Position of Target)
            [COLOR="Red"]Set Group = (Units of type SB)[/COLOR]
            Unit Group - Pick every unit in Group and do (Actions)
                Loop - Actions
                    Set SB = (Picked unit)
                    Unit - Order SB to Neutral - Kaboom! Target
                    Special Effect - Create a special effect at TargetPoint using Abilities\Spells\Other\Doom\DoomDeath.mdl
                    Special Effect - Destroy (Last created special effect)
                    [COLOR="Blue"]Unit Group - Remove SB from Group[/COLOR]
            [COLOR="Red"]Custom script:      call DestroyGroup(udg_Group)[/COLOR]
            Custom script:      call RemoveLocation(udg_TargetPoint)
    
    các dòng đỏ là dòng bỏ đi, dòng xanh là dòng thêm.
    Group sẽ đc dùng đi dùng lại nên ko destroy
    ---
    chỉnh sửa xong lag sẽ giảm đáng kể :)>-
     
  5. warklock

    warklock Mr & Ms Pac-Man

    Tham gia ngày:
    15/1/08
    Bài viết:
    133
    Cảm ơn anh Tom!
    Nhưng khi cho nổ hết thì nó vẫn lag
    Lại còn bị như thế này:nếu cho nổ 5 con vào 1 unit rất ít máu thì nó chỉ nổ có 3 con thôi còn lại 2 con thì ko sao cho 2 con đó nổ tiếp dc, nó cứ đứng yên chỗ lúc nãy:(
     
  6. WordEditor

    WordEditor C O N T R A

    Tham gia ngày:
    8/9/08
    Bài viết:
    1,509
    Nơi ở:
    Leaf Village
    E hèm, vậy là máy bị vấn đề thiệt òy, tôi thả 1 lúc gần 300 quả mà cho nổ xong vẫn "1 ngày đẹp trời", màn hình vẫn êm đềm =))
    P/S:
    Khi quân, phạm thượng......"trảm" \m/
    Mách nhỏ: cứ lấy búa đập vào màn hình thì sẽ hết lag, máy hư tất nhiên sẽ sửa, sửa thì hết lag =))
     
  7. warklock

    warklock Mr & Ms Pac-Man

    Tham gia ngày:
    15/1/08
    Bài viết:
    133
    Vậy thì nói thật Với các anh Vậy
    Sở dĩ các anh ko bị giật là Các anh đang chơi map demo,cái map đấy có thả ra vài nghìn con cũng ko sao đâu
    Hãy thử Map này em tạo sẵn spell đó rồi, thả vài trăm con ra , ko lag thì máy các anh là siêu nhân
    http://www.mediafire.com/?m2yjmnyztom
    .
    ___________Auto Merge________________

    .
    p/s:
    Máy tính em vừa mua xong:(
    Còn cái vụ "Sủa" thì sory các anh nhá, em định viết là Sửa:D
     
  8. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    máy tôi vẫn 64 fps bình thường (dùng lệnh /fps để xem)

    ngoài ra lag là do QUÂN QUÁ ĐÔNG, cái đống "lổm ngổm" đánh nhau giữa hai bên, tôi đưa màn hình ra đó mà fps bị tụt còn +30 @-)

    tôi test = NewGen nên thấy có rất nhiều lỗi "double free location", tức là remove 1 location 2 lần => cũng leak (tôi chỉ nghe nói vậy, ko rõ đúng ko)
     
  9. warklock

    warklock Mr & Ms Pac-Man

    Tham gia ngày:
    15/1/08
    Bài viết:
    133
    Nếu có lỗi thì anh sửa giúp em nhá! thank!
    Quan trong là anh có bị lag như em khi cho nổ hơn 100 con mà màn hình nó vẫn giật ko ?
     

Chia sẻ trang này