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

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

  1. Evil_Hunter

    Evil_Hunter Mario & Luigi

    Tham gia ngày:
    18/9/11
    Bài viết:
    786
    Nơi ở:
    Evil Forest
    Theo tui biết thì ko có rồi :|~
    Ko thì pause nó cũng đc :|, hay giảm ms, chứ cần gì phải remove button :|
     
    Chỉnh sửa cuối: 29/11/12
  2. Drakkar Knight

    Drakkar Knight Mr & Ms Pac-Man Lão Làng GVN

    Tham gia ngày:
    13/11/11
    Bài viết:
    269
    Nơi ở:
    Hà Nội
    Sao cái JNG của em cứ có trigger bằng jass là khi test toàn văng ra ngoài nhỉ? Ai giúp em với...
     
  3. Daric™

    Daric™ C O N T R A

    Tham gia ngày:
    7/3/12
    Bài viết:
    1,853
    Nơi ở:
    Porizon
    đọc kỹ bài này, hi vọng nó có thể giúp bạn :) http://forum.gamevn.com/showthread.php?485055-Tutorial-GUI-to-JASS
     
  4. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    Trước khi test thì save một lần,nhìn trên cửa sổ JNG góc bên phải trên cùng có dấu * thì cứ phải save lại mới test được
     
  5. findingmagic

    findingmagic Youtube Master Race

    Tham gia ngày:
    15/7/12
    Bài viết:
    42
    Cho minh hỏi làm cach nào để điều chỉnh chỉ số ãm cho skill
    ví du: gần giống skill passive của necrolyte (ten gì đó quên rồi) nhưng mình muốn kẻ thù đứng gần hero sẽ bị giảm HP regen, mình thử skill 3 (passvie) của Dark knight tên Unholy Aura mỉnh điều chỉnh nó xuống chỉ số âm và enter thì nó trở về số 0 có ai bik cách làm khong chỉ mình. mình cần khẩn cấp lắm
     
  6. DylandKyo

    DylandKyo Donkey Kong

    Tham gia ngày:
    28/10/10
    Bài viết:
    358
    @Daric: bài đó e đọc hơn chục lần rùi mà vẫn chưa thấm :8cool_cry:

    bác xem giúp e cái này
    Mã:
    library Myboard initializer Init requires Multiboard
    
    function create takes integer columnCount, integer rowCount returns nothing
      local Multiboard mb = Multiboard.create(1,1)
      set mb.which = CreateMultiboard()
      set mb.columnCount = 4
      set mb.rowCount = 13
      call MultiboardSetColumnCount(mb.which, mb.columnCount)
      call MultiboardSetRowCount(mb.which, mb.rowCount)
      call mb.clear()
      call MultiboardDisplay(mb.which, flag)
    endfunction
    
    function Init takes nothing returns nothing
      local trigger t 
      set t = CreateTrigger()
      call TriggerRegisterTimerEventSingle(t, 1.)
      call TriggerAddAction(t, function create)
    endfunction
    
    endlibrary
    nó báo lỗi: Line 1625: Multiboard.which is private

    còn phần effect hình rẽ quạt bác giúp e lun đc hk
     
  7. whisky137

    whisky137 Dragon Quest

    Tham gia ngày:
    7/2/07
    Bài viết:
    1,318
    Select chỗ cần edit, sau đó bạn giữ chặt Shift, nhấn Enter là dc, sau đó điền số âm vào.
     
  8. Daric™

    Daric™ C O N T R A

    Tham gia ngày:
    7/3/12
    Bài viết:
    1,853
    Nơi ở:
    Porizon
    :5cool_ops:

    xóa cái đấy đi...

    mấy cái màu xanh sai lệnh rồi
    màu tía thì là đặt sai chỗ, để phía dưới hàm .create ấy.
    Đồng thời sửa tên function create lại, trùng struct kìa
     
    Chỉnh sửa cuối: 29/11/12
  9. Meepolisk

    Meepolisk Donkey Kong

    Tham gia ngày:
    8/2/08
    Bài viết:
    336
    cho mình hỏi về bj_lastCreatedXXX

    có phải nó chỉ thực ra như là 1 biến có từ khởi tạo :-? và nếu cái XXX đó đã tạo từ rất lâu rồi, sau này có nhìu dạng XXX khác, vậy nếu mình
    set bj_lastCreatedXXX = XXX, thì có được k
     
  10. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    nó chính là một biến để lưu các giá trị,bạn có thể lưu bj_lastCreatedUnit = CreateUnit(...),GetSpellAbilityUnit()...,nhưng bạn hỏi "và nếu cái XXX đó đã tạo từ rất lâu rồi, sau này có nhìu dạng XXX khác" là muốn hỏi về cái gì ?
     
    Chỉnh sửa cuối: 29/11/12
  11. Meepolisk

    Meepolisk Donkey Kong

    Tham gia ngày:
    8/2/08
    Bài viết:
    336
    mình biết bj_lastCreatedUnit là nó tạo unit trong 1 function mẫu, và sau đó nó gán bj_lastCreatedUnit bằng unit đó

    ý mình hỏi là: nếu mình đã tạo unit A, unit B, unit C, vậy thì lúc này bj_lastCreatedUnit là C
    nhưng nếu mình "set bj_lastCreatedUnit = A", vậy thì có bị gì k 8-}? hay đơn giản, bj_lastCreatedUnit cũng chỉ là 1 biến
     
  12. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    đúng, nó chỉ là một biến global, nó sẽ mang giá trị được gán cho nó sau cùng
     
  13. Meepolisk

    Meepolisk Donkey Kong

    Tham gia ngày:
    8/2/08
    Bài viết:
    336
    anh TOM cho em hỏi về lỗi này, em sử dụng Multiboard Decorator giống của a, mà k hiểu sao lại lỗi cái này

    1dasd.png
     
  14. Tom_Kazansky

    Tom_Kazansky

    Tham gia ngày:
    28/12/06
    Bài viết:
    3,454
    Nơi ở:
    Hà Nội
    cái đó anh nhầm, phải là call b[1][0].setDisplay(false, true) (gọi hàm chứ ko phải gán :D)
     
  15. DylandKyo

    DylandKyo Donkey Kong

    Tham gia ngày:
    28/10/10
    Bài viết:
    358
    cho e hỏi cái này: trong hàm này

    function SpellDamage takes integer level returns real
    returns I2R(level)*2
    endfunction

    cái level là level của Spell cast, còn muốn lấy giá trị stat (agi, str, int) của hero thì làm sao?
     
  16. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    GetHeroStr(Unit,bao gồm chỉ số xanh hay không(false là ko,true là có))
    GetHeroAgi
    GetHeroInt
     
  17. DylandKyo

    DylandKyo Donkey Kong

    Tham gia ngày:
    28/10/10
    Bài viết:
    358
    mình thử cái đó rồi, để vào thì vào test nó k gây dame, giống như chỉ số đó là bằng 0 zậy ák
     
  18. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    Mình dùng vẫn ổn mà,bạn thử post code của bạn lên đây xem
     
  19. DylandKyo

    DylandKyo Donkey Kong

    Tham gia ngày:
    28/10/10
    Bài viết:
    358
    m` lấy từ cái spell lúc bạn làm cho m` á

    Mã:
    library Spell initializer init requires TimerUtils,GroupUtils
       globals
          private integer     SpellId       ='A000'
          private real        SpellAoe      =400
          private real        SpellSpeed    =0.1
          private real        SpellDur      =1
          private real array  SpellDamage
          private string      SpellSfx      ="Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl"
          private player      TempPlayer
       endglobals
       private function GetSpellDamage takes integer level returns real
          return I2R(level)*2
       endfunction
       struct Spell
          unit u
          real x
          real y
          real tik
          integer level
          method stop takes nothing returns nothing
             set.u=null
             call.destroy()
          endmethod
          method Effect takes nothing returns nothing
             local real x
             local real y
             local real r=GetRandomReal(0,SpellAoe)
             set x=.x+r*Cos(r*bj_DEGTORAD)
             set y=.y+r*Sin(r*bj_DEGTORAD)
             call DestroyEffect(AddSpecialEffect(SpellSfx,x,y))
          endmethod
          static method Check takes nothing returns boolean
             local boolean b=true
             local unit u=GetFilterUnit()
             set b=b and GetWidgetLife(u)>.405
             set b=b and IsUnitType(u,UNIT_TYPE_STRUCTURE)==false
             set b=b and IsUnitEnemy(u,TempPlayer)
             set u=null
             return b
          endmethod
          method Damage takes nothing returns nothing
             local group g=NewGroup()
             local unit u
             set TempPlayer=GetOwningPlayer(.u)
             call GroupEnumUnitsInArea(g,.x,.y,SpellAoe,Condition(function thistype.Check))
             loop
                set u=FirstOfGroup(g)
                exitwhen u==null
                call UnitDamageTarget(.u,u,GetSpellDamage(.level),true,true,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_MAGIC,null)
                call GroupRemoveUnit(g,u)
                set u=null
             endloop
             call ReleaseGroup(g)
             set TempPlayer=null
             set g=null
             set u=null
          endmethod
          static method Loop takes nothing returns nothing
             local timer ti=GetExpiredTimer()
             local thistype this=GetTimerData(ti)
             set.tik=.tik-1
             if.tik<=0then
                call ReleaseTimer(ti)
                call.stop()
             else
                call.Effect() 
                call.Damage()
             endif
             set ti=null
          endmethod      
          static method Create takes unit u,real x,real y returns thistype
             local thistype this=thistype.allocate()
             local timer ti=NewTimer()
             set.u=u
             set.x=x
             set.y=y
             set.level=GetUnitAbilityLevel(.u,SpellId)
             set.tik=SpellDur/SpellSpeed
             call SetTimerData(ti,this)
             call TimerStart(ti,SpellSpeed,true,function thistype.Loop)
             set ti=null
             return this
          endmethod
       endstruct
       private function Cd takes nothing returns boolean
          if GetSpellAbilityId()==SpellId then
             call Spell.Create(GetSpellAbilityUnit(),GetSpellTargetX(),GetSpellTargetY())
          endif
          return false
       endfunction   
       private function init takes nothing returns nothing
          local integer i=0
          local trigger t=CreateTrigger()
          loop
             if GetPlayerSlotState(Player(i))==PLAYER_SLOT_STATE_PLAYING then
                call TriggerRegisterPlayerUnitEvent(t,Player(i),EVENT_PLAYER_UNIT_SPELL_EFFECT,null)
             endif
             set i=i+1
             exitwhen i==bj_MAX_PLAYER_SLOTS
          endloop
          call TriggerAddCondition(t,function Cd)
          set t=null
       endfunction
    endlibrary
    
     
  20. Ngoc LeO

    Ngoc LeO Mario & Luigi

    Tham gia ngày:
    23/7/06
    Bài viết:
    839
    Nơi ở:
    Nothing...
    Mình đâu có thấy đoạn code bạn dùng GetHeroStr,Agi,Int ???
     

Chia sẻ trang này