Topic hỏi đáp về cách làm map | version 11

Thảo luận trong 'World Editor' bắt đầu bởi Tom_Kazansky, 2/8/11.

Trạng thái chủ đề:
Không mở trả lời sau này.
  1. FlameDrake

    FlameDrake Dragon Quest

    Tham gia ngày:
    1/12/10
    Bài viết:
    1,298
    Nơi ở:
    Quận 10 HCM
    Ai chỉ mình hay cho mình xin cái Demo dạng skill
    Cứ 0.50 giây
    Create 8 dummy vòng tròn từ trên cao ( Fly ấy ) rồi đám Dummy này từ từ hạ dần xuống đất ( mà cái hướng đầu nó cũng chuối xuống đất )
    P.S: 1 dạng giống như skill Volcano của Firelord ( có sẵn của war ) nhưng mình muốn làm = GUI, mấy cục đá lửa là những con Dummy, đại loại thế, thanks trước

    Ai có dạng tường này cho mình xin và chỉ mình cách import luôn, cần gấp gấp :| Kiểu của Loarderon Summer
    [​IMG]
     
    Chỉnh sửa cuối: 3/10/11
  2. mvcthinh

    mvcthinh Mr & Ms Pac-Man

    Tham gia ngày:
    18/8/11
    Bài viết:
    140
    Nơi ở:
    HCM
    Thực sự không biết nguyên nhân gì làm cho việc load map trở nên nặng nề , có bạn nào biết cho mình xin vài lý do để biết khắc phục.

    Tuy sử dụng toàn code JASS và Trigger không nhìu lắm. Variable cũng không nhiều vì sử dụng JASS chủ yếu.. vậy mà quá trình load maps lại diễn ra khá ì ạch..
    Giúp mình câu hỏi này nha.

    không biết phải do mỗi Spell mình tạo mình đều đặt vào 1 Scope .. nhiều quá nên load lâu?
    hay sao? Có lý do khác chăn?
     
  3. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
  4. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    WE nó báo đã max trees/destructibles,mình xây thêm vượt quá mức đó liệu có bị gì không hả mọi người ? :|
    Save map thì nó không cho...

    [​IMG]
     
  5. Evil_Hunter

    Evil_Hunter Mario & Luigi

    Tham gia ngày:
    18/9/11
    Bài viết:
    786
    Nơi ở:
    Evil Forest
    Last edited by a moderator: 3/10/11
  6. Zoro Samurai

    Zoro Samurai Youtube Master Race

    Tham gia ngày:
    22/8/11
    Bài viết:
    23
    Mình có một Hero đã được chỉnh lại các thông số để nó có thể bay như các unit fly, nhưng không hiểu tại sao khi dùng skill wind walk thì chỉ đi như bình thường và không vượt sông, vượt núi được, có pro nào có thể giúp mình cho nó bay được không?
     
  7. Doom_Sage

    Doom_Sage Mr & Ms Pac-Man

    Tham gia ngày:
    24/7/11
    Bài viết:
    147
    Chắc xài trigger map initialization hoặc Time Elapsed nhiều.Map đặt object quá nhiều ( doodad,unit v.v... ).Muốn load cực nhanh thì xài Widgetizer193 là số một ( khó sử dụng,nguy cơ bị lỗi hoặc không xài đc cho map ! Be Careful )
     
  8. fantom2409

    fantom2409 Mr & Ms Pac-Man

    Tham gia ngày:
    15/8/11
    Bài viết:
    194
    Tks nhưng cái Omnislash minh` cần là chỉ tập trung xoẹt một target duy nhất thôi
     
  9. vuongkkk

    vuongkkk T.E.T.Я.I.S

    Tham gia ngày:
    22/5/10
    Bài viết:
    588
    Nơi ở:
    Hà Nội
    1/ Bạn ko thể khởi tạo biến array trong function (tức là biến local đó)
    2/ Tại sao bạn lại phải lặp đi lặp lại quá trình thiết lập biến array Buff mỗi lần dùng function mà ko tạo sẵn 1 lần để dùng mãi mãi
    3/ Tại sao bạn lại post câu hỏi về jass trong topic GUI to Jass? (đây ko phải lần đầu)

    ---------- Post added at 22:47 ---------- Previous post was at 22:34 ----------

    Sửa lại là rùi "cuối hàm return false là ok"
    P/S: Mấy cậu thiệt là ... sao toàn nhầm topic à :-ss
    Thứ nữa là về cách của Kulka là tối giản cách của mvcthinh ko sai và cũng ko chậm hơn cái kia là bao nhiêu nhưng vote cho cái của Kulka :D
     
  10. mvcthinh

    mvcthinh Mr & Ms Pac-Man

    Tham gia ngày:
    18/8/11
    Bài viết:
    140
    Nơi ở:
    HCM
    1. Jass Manual nó có ghi array có thể dùng trong function mà???!!?? Với lại lúc save cũng ko báo lỗi nên mình nghĩ nó xài dc :D
    2. Ok thanks bạn.. sẽ xem xét. :)
    3. Nó liên quan đến JASS thì mình Post vào.. mục đích của topic đó là như vậy mà.. với lại cũng đâu có ai cấm không được hỏi về JASS ở topic GUI to JASS.. vì mục đích đều là học JASS cả!!

    @KuKulKan: thử cách cậu rồi nhưng không được! :|
     
    Chỉnh sửa cuối: 3/10/11
  11. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    cuối hàm return false nốt thì tất cả là false à =))

    mvcthinh không sai chỗ nào cơ?
     
  12. vuongkkk

    vuongkkk T.E.T.Я.I.S

    Tham gia ngày:
    22/5/10
    Bài viết:
    588
    Nơi ở:
    Hà Nội
    Khà khà chưa nhìn kỹ cách của kulka và cả của mvcthinh :"> Thế nên SR cả 3 người (cả anh Tom)

    Trước hết là bạn mvcthinh sai là khởi tạo array trong function tức dùng biến local
    Mã:
    [COLOR="#FF0000"]local [/COLOR]integer [COLOR="#FF0000"]array[/COLOR] Buff
    Còn cách kiểm tra ko sai
    PHP:
     if UnitHasBuffBJ(caster,Buff[tick]) ==true then
         
    return false
     
    else
         return 
    true
     
    endif
    Tối ưu hóa thì như bạn KulKan đã nói
     
    Chỉnh sửa cuối: 3/10/11
  13. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    cách kiểm tra trên có sai, Kan nói vậy còn không rõ à?

    nếu viết cái vòng lặp ra thì nó sẽ thế này:
    Mã:
     if UnitHasBuffBJ(caster,Buff[0]) ==true then
         return false
     else
         [COLOR="#FF0000"]return true //không có Buff[0][/COLOR]
     endif
     if UnitHasBuffBJ(caster,Buff[1]) ==true then
         return false
     else
         return true //không có Buff[1]
     endif  
    //...
    
    đã nhìn ra chưa? nếu không có cái Buff[0] thì chả phải là sẽ return true luôn và các lệnh sau đó sẽ không được chạy (cụ thể là cái loop)
    và vì vậy chỉ kiểm tra một cái buff đầu tiên, đúng không? vậy là sai hay đúng?
     
  14. Evil_Hunter

    Evil_Hunter Mario & Luigi

    Tham gia ngày:
    18/9/11
    Bài viết:
    786
    Nơi ở:
    Evil Forest
    Chiêu cuối của Zhao Yun ấy cậu :|
     
  15. Zoro Samurai

    Zoro Samurai Youtube Master Race

    Tham gia ngày:
    22/8/11
    Bài viết:
    23
    hỏi lại lần 2................................pro nào giúp mình đi
     
  16. Doom_Sage

    Doom_Sage Mr & Ms Pac-Man

    Tham gia ngày:
    24/7/11
    Bài viết:
    147
    PHP:
    if UnitHasBuffBJ(caster,Buff[tick]) ==true then
         
    return false
     
    endif  
    set tick tick 1
     endloop
    return true
    endfunction
    thế này có loop không ?
     
  17. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    đây là cách Kan nói còn gì? :-/
     
  18. mvcthinh

    mvcthinh Mr & Ms Pac-Man

    Tham gia ngày:
    18/8/11
    Bài viết:
    140
    Nơi ở:
    HCM
    Vậy rốt cuộc phải sửa như thế nào anh Tom. sửa làm sao để check được buff??? anh làm mẫu một cái giúp e đi!
     
  19. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    lần sau code phải thụt vào đầu dòng cho chuẩn nhé 8-|

    PHP:
    private function Stop takes nothing returns boolean
        local unit caster 
    GetSpellAbilityUnit()
        
    local integer array Buff
        local integer i  
    //tick -> i, với vòng lặp thì cần gì đặt tên dài? nhg cái này tùy thôi, thấy cách nào "quen" hơn thì theo
        
    set Buff[0] = 'BSTN'
        
    set Buff[1] = 'BPSE'
        
    set Buff[2] = 'Bena'
        
    set Buff[3] = 'Bens'
        
    set Buff[4] = 'Beng'
        
    set Buff[5] = 'BEer'
        
    set Buff[6] = 'BUsl'
        
    set Buff[7] = 'BUsp'
        
    set Buff[8] = 'BUst'
        
    set Buff[9] = 'BNsi'
        
    set Buff[10] = 'BUsp'
        
    set Buff[11] = 'BOhx'
        
    set Buff[12] = 'BUim'
        
    set Buff[13] = 'Bcrs'
        
    set Buff[14] = 'BNso'

        
    set i 0
        loop
            exitwhen i 
    >14
            
    if GetUnitAbilityLevel(caster,Buff[i])>0 then
                
    return false
            
    endif
            
    set i=i+1
        endloop
                       
        
    return true
    endfunction
    sử dụng GetUnitAbilityLevel thay cho UnitHasBuffBJ, vì:
    PHP:
    function UnitHasBuffBJ takes unit whichUnitinteger buffcode returns boolean
        
    return (GetUnitAbilityLevel(whichUnitbuffcode) > 0)
    endfunction
     
  20. mvcthinh

    mvcthinh Mr & Ms Pac-Man

    Tham gia ngày:
    18/8/11
    Bài viết:
    140
    Nơi ở:
    HCM
    ở cái phần thứ 2 này dùng để làm gì vậy anh?
    Em check Buff này không phải là check buff trong Spell mà muốn check buff trong Loop.

    Tức là e để riêng function đó ra..

    sau đó cho chạy loop ở trong một function khác.
    VD:
    PHP:
            function Action takes nothing returns nothing
                
    // thiết lập biến
             
    call PauseUnit(true)
                      
    loop A>100 //chẳng hạn
                           
    if Stop() == true then
                                   
    //thực hiện hành động
                                     // Trong hành động có TriggerSleepAction(0.3) để nó chạy từ từ chứ không phải là chạy 1 lần là xong.
                           
    endif
                          
    set A=A+1
                      endloop
     call PauseUnit
    (false)
    nghĩa là cứ sau mỗi một lần lập em muốn nó kiểm tra xem bọ bị dính buff hay không, nếu đang trong quá trình cast spell mà dính buff đó thì sẽ ngưng spell lại.
    Nhưng làm mãi mà nó cũng không được. Em cũng thử cách như trên anh đưa nhưng mà không nốt luôn.. nó cứ đứng đấy cast xong skill tới khi xong mới ngừng.
     
    Chỉnh sửa cuối: 4/10/11
Trạng thái chủ đề:
Không mở trả lời sau này.

Chia sẻ trang này