Làm spell có tác động vật lý bằng Vjass thế nào?

Thảo luận trong 'World Editor' bắt đầu bởi Judash137, 1/4/12.

  1. Judash137

    Judash137 Donkey Kong

    Tham gia ngày:
    24/8/09
    Bài viết:
    467
    Thê các biến unit hay group trong các hàm filter hoặc điều kiện có gây leak ko, vì kể cả là udg_variable mà ko đặt null cho nó vào cuối trigger thì kiểu gì chả bị lỗi
     
  2. dh-g

    dh-g Fire in the hole!

    Tham gia ngày:
    29/8/09
    Bài viết:
    2,654
    Nơi ở:
    Q1 TP.HCM
    tôi nghĩ là có nên các Filter tôi đều set null :-s
    Mã:
     function GetFilter takes nothing returns boolean
        local unit u = GetFilterUnit()
        local unit t = GetTriggerUnit()
        local boolean b = false
           if not IsUnitType(u,UNIT_TYPE_STRUCTURE)/*
        */and not IsUnitAlly(u,GetOwningPlayer(t))/*
        */and not IsUnitType(u, UNIT_TYPE_MECHANICAL)/*
        */and not IsUnitType(u, UNIT_TYPE_MAGIC_IMMUNE)/*
        */and not IsUnitType(u, UNIT_TYPE_TAUREN)/*
        */and not IsUnitDead(u) then
        set b= true
        endif
        set u = null
        set t = null
        return b
    endfunction
    
     
  3. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    global thì không cần phải null (vì lúc nào ta cũng có thể gọi đến chúng)

    với local thì khác, mỗi lần gọi hàm -> phải cấp phát bộ nhớ (mới) cho biến local, chạy hết hàm thì đâu có cách nào gọi đến chúng vì vậy nếu mà không null (để giải phóng bộ nhớ) thì leak,
     
  4. Judash137

    Judash137 Donkey Kong

    Tham gia ngày:
    24/8/09
    Bài viết:
    467
    Nếu với global mà ko cần null thì liệu có MUI đc ko?
    Mà có thể dùng action "custom scrip" trong GUI để gọi local unit udg_CD với udg_CD là 1 global unit, liệu có nên làm như vậy để đc MUI ko?
     
  5. dh-g

    dh-g Fire in the hole!

    Tham gia ngày:
    29/8/09
    Bài viết:
    2,654
    Nơi ở:
    Q1 TP.HCM
    nếu vậy thì vẫn có thể MUI dc. nhưng sẽ tốn chút bộ nhớ khi trigger có wait (TriggerSleepAction).
     
  6. Judash137

    Judash137 Donkey Kong

    Tham gia ngày:
    24/8/09
    Bài viết:
    467
    Có thể dùng action "custom scrip" trong GUI để gọi local cho udg_variable , liệu có nên làm như vậy để đc MUI ko?
    Mà quả thật udg_variable dùng cho spell đến lúc wait lại phải xài array , chứ làm gì có chuyện đc MUI dễ thế
     
    Chỉnh sửa cuối: 6/4/12
  7. dh-g

    dh-g Fire in the hole!

    Tham gia ngày:
    29/8/09
    Bài viết:
    2,654
    Nơi ở:
    Q1 TP.HCM
    vẫn mui dc ví dụ
    Mã:
    Actions
        Custom script:    local unit udg_TempUnit
        Wait 2.00 seconds
        Unit - Create 1 Footman for (Owner of (TempUnit)) at (Center of (Playable map area)) facing Default building facing degrees
    
    
    cái đó là mui cho 1 trigger cần wait điều gì đó thôi mà spell silde cũng cần udg_variable array MUI bằng loop hoặc unit group
     
    Chỉnh sửa cuối: 6/4/12

Chia sẻ trang này