Page 12 of 16 FirstFirst ... 28910111213141516 LastLast
Results 166 to 180 of 233
http://idgs.in/13940
  1. #166
    LaMBhE's Avatar
    Join Date
    Oct 2007
    Location
    City of "YouNG ToweR" mana coba??
    Posts
    980
    Points
    1,130.30
    Thanks: 0 / 0 / 0

    Default

    maksud dia, cman dari attack, jadi gak semua damage, gw mau juga dunk..
    Mau buat hero??
    TwinkleCraft - Grand Schism
    The New Division of AoS and Hero Craftings
    http://twinklecraft.6.forumer.com

  2. Hot Ad
  3. #167
    rizzuh's Avatar
    Join Date
    Oct 2006
    Location
    Bandung, Indonesia, Indonesia
    Posts
    671
    Points
    1,308.90
    Thanks: 2 / 14 / 10

    Default

    ganti aja

    EVENT_UNIT_DAMAGED

    sama

    EVENT_UNIT_ATTACKED
    ( ini ya gw lupa mana eventnya )

    btr gw liat lg

    intinya sih ganti damage ma attack

  4. #168

    Join Date
    Oct 2006
    Location
    N/A
    Posts
    35
    Points
    42.30
    Thanks: 0 / 0 / 0

    Default Need Help on JASS

    Ok gw ada code utk bikin skill mass shackles dari aerial shackles biasa dan bersifat channeling. Code terlampir di bawah dalam bentuk JASS

    Code:
    constant function MS_SID takes nothing returns integer
        return 'A03W'
    endfunction
    constant function MS_OS takes nothing returns string
        return "monsoon"
    endfunction
    
    constant function MS_DID takes nothing returns integer
        return 'h01J'
    endfunction
    constant function MS_DSID takes nothing returns integer
        return 'A051'
    endfunction
    constant function MS_DOS takes nothing returns string
        return "magicleash"
    endfunction
    
    function MSS_C takes nothing returns boolean
        return GetSpellAbilityId() == MS_SID()
    endfunction
    
    function MSS_Filter takes nothing returns boolean
        if ( not ( IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE) == false ) ) then
            return false
        endif
        if ( not ( IsUnitAliveBJ(GetFilterUnit()) == true ) ) then
            return false
        endif
        if ( not ( IsUnitDeadBJ(GetFilterUnit()) == false ) ) then
            return false
        endif
        if ( not ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == true ) ) then
            return false
        endif
        if ( not ( UnitHasBuffBJ(GetTriggerUnit(), 'B02C') == false ) ) then
            return false
        endif
        if ( not ( GetUnitAbilityLevelSwapped('A09Z', GetFilterUnit()) == 0 ) ) then
            return false
        endif
        return true
    endfunction
    
    function MSS_A takes nothing returns nothing
        local unit MSS_Dummy
        local unit MSS_Target
        local unit MSS_Caster   = GetTriggerUnit()
        local group MSS_Group   = CreateGroup()
        local group MSS_Group2  = CreateGroup()
        local location MSS_Loc  = GetSpellTargetLoc()
        local integer MSS_Lv    = GetUnitAbilityLevel(MSS_Caster,MS_SID())
        local real MSS_Range    = 100.00 + ( 50.00 * I2R(MSS_Lv))   
        local player MSS_Player = GetOwningPlayer(MSS_Caster)
        loop
            exitwhen OrderId2String(GetUnitCurrentOrder(MSS_Caster)) != MS_OS()
            call DestroyEffect(AddSpecialEffectTargetUnitBJ( "origin", MSS_Caster, "Abilities\\Spells\\Orc\\AncestralSpirit\\AncestralSpiritCaster.mdl" ) )
            call GroupEnumUnitsInRangeOfLoc(MSS_Group, MSS_Loc, MSS_Range, Condition(function MSS_Filter))
            loop
                set MSS_Target = FirstOfGroup(MSS_Group)
                exitwhen MSS_Target == null
                set MSS_Dummy = CreateUnit(MSS_Player,MS_DID(),GetUnitX(MSS_Caster),GetUnitY(MSS_Caster),0)
                call UnitAddAbility(MSS_Dummy,MS_DSID())
                call SetUnitAbilityLevel(MSS_Dummy,MS_DSID(),MSS_Lv)
                call IssueTargetOrder(MSS_Dummy,MS_DOS(),MSS_Target)
                call GroupAddUnit(MSS_Group2,MSS_Dummy)
                call GroupRemoveUnit(MSS_Group,MSS_Target)
            endloop
            call GroupClear(MSS_Group)
            call TriggerSleepAction(0.5)
        endloop
    
        loop
            set MSS_Dummy = FirstOfGroup(MSS_Group2)
            exitwhen MSS_Dummy == null
            call IssueImmediateOrderById(MSS_Dummy,OrderId("stop"))
            call KillUnit(MSS_Dummy)
            call GroupRemoveUnit(MSS_Group2,MSS_Dummy)
            call RemoveUnit(MSS_Dummy)
        endloop
        
        call RemoveLocation(MSS_Loc)
        call DestroyGroup(MSS_Group)
        call DestroyGroup(MSS_Group2)
        
        set MSS_Dummy   = null
        set MSS_Target  = null
        set MSS_Caster  = null
        set MSS_Group   = null
        set MSS_Group2  = null
        set MSS_Player  = null
        set MSS_Loc     = null
    endfunction
    
    function Mass_Shackles_Start takes nothing returns nothing
        local trigger MSS = CreateTrigger()
        call TriggerRegisterAnyUnitEventBJ( MSS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
        call TriggerAddCondition( MSS, Condition( function MSS_C ) )
        call TriggerAddAction( MSS, function MSS_A )
    endfunction
    
    function InitTrig_Mass_Shackles takes nothing returns nothing
    endfunction
    Ok masalah terjadi ketika gw test spell tersebut, spell tersebut jalan dengan benar, masalah muncul pada waktu selesai casting maka langsung fatal error...

    Ada yang bisa bantu kenapa masalah bisa muncul?

  5. #169
    DoOs_101's Avatar
    Join Date
    Oct 2006
    Location
    Jakarta
    Posts
    2,371
    Points
    3,181.21
    Thanks: 0 / 9 / 8

    Default

    loop
    set MSS_Target = FirstOfGroup(MSS_Group)
    exitwhen MSS_Target == null
    set MSS_Dummy = CreateUnit(MSS_Player,MS_DID(),GetUnitX(MSS_Caster ),GetUnitY(MSS_Caster),0)
    call UnitAddAbility(MSS_Dummy,MS_DSID())
    call SetUnitAbilityLevel(MSS_Dummy,MS_DSID(),MSS_Lv)
    call IssueTargetOrder(MSS_Dummy,MS_DOS(),MSS_Target)
    call GroupAddUnit(MSS_Group2,MSS_Dummy)
    call GroupRemoveUnit(MSS_Group,MSS_Target)
    endloop
    Infinite loop error. Struktur fungsi nya diganti aja, gk perlu pake doble loop.
    Quotes of the week:
    "He vanishes only to return as a tyrant."


  6. #170
    rizzuh's Avatar
    Join Date
    Oct 2006
    Location
    Bandung, Indonesia, Indonesia
    Posts
    671
    Points
    1,308.90
    Thanks: 2 / 14 / 10

    Default

    idem sama doos diatas

    sekalian ganti

    Code:
    function MSS_Filter takes nothing returns boolean
        if ( not ( IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE) == false ) ) then
            return false
        endif
        if ( not ( IsUnitAliveBJ(GetFilterUnit()) == true ) ) then
            return false
        endif
        if ( not ( IsUnitDeadBJ(GetFilterUnit()) == false ) ) then
            return false
        endif
        if ( not ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == true ) ) then
            return false
        endif
        if ( not ( UnitHasBuffBJ(GetTriggerUnit(), 'B02C') == false ) ) then
            return false
        endif
        if ( not ( GetUnitAbilityLevelSwapped('A09Z', GetFilterUnit()) == 0 ) ) then
            return false
        endif
        return true
    endfunction
    sama

    Code:
    function MSS_Filter takes nothing returns boolean
    
        return IsUnitType(GetFilterUnit(), UNIT_TYPE_STRUCTURE) == false and IsUnitAliveBJ(GetFilterUnit()) == true and IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == true and UnitHasBuffBJ(GetTriggerUnit(), 'B02C') == false and GetUnitAbilityLevelSwapped('A09Z', GetFilterUnit()) == 0
    
    endfunction
    biar ga panjang kebawah

  7. #171

    Join Date
    Oct 2006
    Location
    N/A
    Posts
    35
    Points
    42.30
    Thanks: 0 / 0 / 0

    Default

    Quote Originally Posted by DoOs_101 View Post
    Infinite loop error. Struktur fungsi nya diganti aja, gk perlu pake doble loop.
    Maksudnya interface?
    Loop dalem loop mustinya ga masalah doos, gw punya jass script laen yang ada triple loop dan nggak ada masalah waktu di test.

    Sedangkan di sini masalah timbul pada waktu spell end casting.

  8. #172
    DoOs_101's Avatar
    Join Date
    Oct 2006
    Location
    Jakarta
    Posts
    2,371
    Points
    3,181.21
    Thanks: 0 / 9 / 8

    Default

    loop
    set MSS_Target = FirstOfGroup(MSS_Group)
    exitwhen MSS_Target == null
    set MSS_Dummy = CreateUnit(MSS_Player,MS_DID(),GetUnitX(MSS_Caster ),GetUnitY(MSS_Caster),0)
    call UnitAddAbility(MSS_Dummy,MS_DSID())
    call SetUnitAbilityLevel(MSS_Dummy,MS_DSID(),MSS_Lv)
    call IssueTargetOrder(MSS_Dummy,MS_DOS(),MSS_Target)
    call GroupAddUnit(MSS_Group2,MSS_Dummy)
    call GroupRemoveUnit(MSS_Group,MSS_Target)
    endloop
    Ini sebetulnya tidak perlu, dan loop tersebut menyebabkan infinite loop dimana akan membuat Warcraft III jadi fatal error.

    exitwhen MSS_Target == null

    MSS_Target selalu == null, sebaiknya
    Quotes of the week:
    "He vanishes only to return as a tyrant."


  9. #173

    Join Date
    Oct 2006
    Location
    N/A
    Posts
    35
    Points
    42.30
    Thanks: 0 / 0 / 0

    Default

    Quote Originally Posted by DoOs_101 View Post
    Ini sebetulnya tidak perlu, dan loop tersebut menyebabkan infinite loop dimana akan membuat Warcraft III jadi fatal error.

    exitwhen MSS_Target == null

    MSS_Target selalu == null, sebaiknya
    loop itu nggak infinite doos, liat di awal loop udah ditentukan bahwa
    MSS_Target = FirstofGroup(MSS_Group)

    Sistem loop itu sistem utk damage group dalam 1 fungsi yg sama, nggak pake fungsi yang berbeda pada umumnya.
    disini nggak masalah doos, kalo lu bikin triggernya, jalan sampe sini dah bener.

    Code:
    loop
            set MSS_Dummy = FirstOfGroup(MSS_Group2)
            exitwhen MSS_Dummy == null
            call IssueImmediateOrderById(MSS_Dummy,OrderId("stop"))
            call KillUnit(MSS_Dummy)
            call GroupRemoveUnit(MSS_Group2,MSS_Dummy)
            call RemoveUnit(MSS_Dummy)
        endloop
    Masalah timbul disini, ntah kenapa sewaktu diperintahkan untuk remove dummy unit di group ini dari map tiba2 fatal error. Gw dah coba pake sistem pick grup biasa dengan pake fungsi laen tapi jg tetep error.

  10. #174
    DoOs_101's Avatar
    Join Date
    Oct 2006
    Location
    Jakarta
    Posts
    2,371
    Points
    3,181.21
    Thanks: 0 / 9 / 8

    Default

    Weq... makin sulit dah...

    Yah JASS master Rizzuh ama saya sendiri ngelihat itu loop ada infinite loop error. Kalo RemoveUnit(MSS_Dummy) itu gk mungkin error. Coba rizz lu kan lebih jago dr gua menurut lu error nya dmn? Gua sih lihatnya di
    loop
    set MSS_Dummy = FirstOfGroup(MSS_Group2)
    exitwhen MSS_Dummy == null
    call IssueImmediateOrderById(MSS_Dummy,OrderId("stop"))
    call KillUnit(MSS_Dummy)
    call GroupRemoveUnit(MSS_Group2,MSS_Dummy)
    call RemoveUnit(MSS_Dummy)
    endloop
    Infiinte Loop, loop tidak pernah akan exit karena MSS_Dummy tidak pernah == null.
    Quotes of the week:
    "He vanishes only to return as a tyrant."


  11. #175
    LaMBhE's Avatar
    Join Date
    Oct 2007
    Location
    City of "YouNG ToweR" mana coba??
    Posts
    980
    Points
    1,130.30
    Thanks: 0 / 0 / 0

    Default

    Code:
        loop
            exitwhen OrderId2String(GetUnitCurrentOrder(MSS_Caster)) != MS_OS()
            call DestroyEffect(AddSpecialEffectTargetUnitBJ( "origin", MSS_Caster, "Abilities\\Spells\\Orc\\AncestralSpirit\\AncestralSpiritCaster.mdl" ) )
            call GroupEnumUnitsInRangeOfLoc(MSS_Group, MSS_Loc, MSS_Range, Condition(function MSS_Filter))
            loop
                set MSS_Target = FirstOfGroup(MSS_Group)
                exitwhen MSS_Target == null
                set MSS_Dummy = CreateUnit(MSS_Player,MS_DID(),GetUnitX(MSS_Caster),GetUnitY(MSS_Caster),0)
                call UnitAddAbility(MSS_Dummy,MS_DSID())
                call SetUnitAbilityLevel(MSS_Dummy,MS_DSID(),MSS_Lv)
                call IssueTargetOrder(MSS_Dummy,MS_DOS(),MSS_Target)
                call GroupAddUnit(MSS_Group2,MSS_Dummy)
                call GroupRemoveUnit(MSS_Group,MSS_Target)
            endloop
            call GroupClear(MSS_Group)
            call TriggerSleepAction(0.5)
        endloop
    baiknya
    exitwhen IsUnitGroupEmptyBJ(MSS_Group) == true

    Code:
        loop
            set MSS_Dummy = FirstOfGroup(MSS_Group2)
            exitwhen MSS_Dummy == null
            call IssueImmediateOrderById(MSS_Dummy,OrderId("stop"))
            call KillUnit(MSS_Dummy)
            call GroupRemoveUnit(MSS_Group2,MSS_Dummy)
            call RemoveUnit(MSS_Dummy)
        endloop
    yg ini
    exitwhen IsUnitGroupEmptyBJ(MSS_Group2) == true
    Mau buat hero??
    TwinkleCraft - Grand Schism
    The New Division of AoS and Hero Craftings
    http://twinklecraft.6.forumer.com

  12. #176

    Join Date
    Oct 2006
    Location
    N/A
    Posts
    35
    Points
    42.30
    Thanks: 0 / 0 / 0

    Default

    Quote Originally Posted by DoOs_101 View Post
    Weq... makin sulit dah...

    Yah JASS master Rizzuh ama saya sendiri ngelihat itu loop ada infinite loop error. Kalo RemoveUnit(MSS_Dummy) itu gk mungkin error. Coba rizz lu kan lebih jago dr gua menurut lu error nya dmn? Gua sih lihatnya di

    Infiinte Loop, loop tidak pernah akan exit karena MSS_Dummy tidak pernah == null.
    Justru MSS_Dummy itu akan null, karena kalo lu liat:
    Code:
    call GroupAddUnit(MSS_Group2,MSS_Dummy)
    Berfungsi menaruh semua unit MSS_Dummy yang dibuat di loop pertama ke dalam grup MSS_Group2 sejumlah loop yang terjadi. Dimana jumlah loop terjadi sesuai dengan jumlah unit yang di pick melalui fungsi:
    Code:
    call GroupEnumUnitsInRangeOfLoc(MSS_Group, MSS_Loc, MSS_Range, Condition(function MSS_Filter))
    Code:
    set MSS_Dummy = FirstOfGroup(MSS_Group2)
    Berfungsi sebagai menentukan kembali bahwa MSS_Dummy adalah unit pertama yang ada di dalam grup MSS_Group2.

    Code:
    call GroupRemoveUnit(MSS_Group2,MSS_Dummy)
    Yang ini ngebuang MSS_Dummy yang di pick dengan code di atas dari grup sehingga jumlah unit yang di dalam grup berkurang.
    Yang mana nantinya ketika loop, seharusnya MSS_Dummy adalah unit lain yang berada di dalam grup MSS_Group2

    Begitu seterusnya.....

    @Lambhe.
    Dah gw coba pake gituan juga masih fatal error. Lagian pake fungsi seperti lebih punya map leak.
    call RemoveUnit(MSS_Dummy)
    endloop

  13. #177
    rizzuh's Avatar
    Join Date
    Oct 2006
    Location
    Bandung, Indonesia, Indonesia
    Posts
    671
    Points
    1,308.90
    Thanks: 2 / 14 / 10

    Default

    coba lu debug gini di loopnya

    call BJDebugMsg I2S(CountUnitsInGroup(MSS_Group2))

    kl sampe 0 artinya null tapi kl ga artinya infinite loop

    cobain aja di debug dulu, buat cek masalah loopnya

    cobain jg buat loop lainnya buat cek exitwhennya ke execute atau ngga

    abis kl gw perhatiin emang ky ga ada masalah, jadi kynya emang harus di debug dl

    meskipun gw optimis kynya gara gara ini

    exitwhen OrderId2String(GetUnitCurrentOrder(MSS_Caster)) != MS_OS()
    anyway dari yg sering gw baca sebaiknya ga ada sleepaction di loop
    Last edited by rizzuh; 15-04-08 at 14:13.

  14. #178

    Join Date
    Oct 2006
    Location
    N/A
    Posts
    35
    Points
    42.30
    Thanks: 0 / 0 / 0

    Default

    Quote Originally Posted by rizzuh View Post
    coba lu debug gini di loopnya

    call BJDebugMsg I2S(CountUnitsInGroup(MSS_Group2))

    kl sampe 0 artinya null tapi kl ga artinya infinite loop

    cobain aja di debug dulu, buat cek masalah loopnya

    cobain jg buat loop lainnya buat cek exitwhennya ke execute atau ngga

    abis kl gw perhatiin emang ky ga ada masalah, jadi kynya emang harus di debug dl

    meskipun gw optimis kynya gara gara ini



    anyway dari yg sering gw baca sebaiknya ga ada sleepaction di loop
    Di debug digimanain? tinggal taruh aja di salah 1 fungsi?

    Yang :
    Code:
    exitwhen OrderId2String(GetUnitCurrentOrder(MSS_Caster)) != MS_OS()
    Salah dimananya emang? Mustinya sih ok2 aja, sebagian spell channeling gw gw pake code sejenis, dan lancar2 aja sih ga ada masalah. Cuman kebanaykan ga pake variable, langsung order yang dipakai sih...

    soal sleepaction itu emang salah mustinya pake
    Code:
    call polledwait
    Itu belom sempet gw benerin.

  15. #179
    rizzuh's Avatar
    Join Date
    Oct 2006
    Location
    Bandung, Indonesia, Indonesia
    Posts
    671
    Points
    1,308.90
    Thanks: 2 / 14 / 10

    Default

    ky gini

    Code:
    loop
            exitwhen OrderId2String(GetUnitCurrentOrder(MSS_Caster)) != MS_OS()
            call DestroyEffect(AddSpecialEffectTargetUnitBJ( "origin", MSS_Caster, "Abilities\\Spells\\Orc\\AncestralSpirit\\AncestralSpiritCaster.mdl" ) )
            call GroupEnumUnitsInRangeOfLoc(MSS_Group, MSS_Loc, MSS_Range, Condition(function MSS_Filter))
            loop
                set MSS_Target = FirstOfGroup(MSS_Group)
                exitwhen MSS_Target == null
                set MSS_Dummy = CreateUnit(MSS_Player,MS_DID(),GetUnitX(MSS_Caster),GetUnitY(MSS_Caster),0)
                call UnitAddAbility(MSS_Dummy,MS_DSID())
                call SetUnitAbilityLevel(MSS_Dummy,MS_DSID(),MSS_Lv)
                call IssueTargetOrder(MSS_Dummy,MS_DOS(),MSS_Target)
                call GroupAddUnit(MSS_Group2,MSS_Dummy)
                call GroupRemoveUnit(MSS_Group,MSS_Target)
                call BJDebugMsg(I2S(CountUnitsInGroup(MSS_Group2)))
            endloop
            call GroupClear(MSS_Group)
            call TriggerSleepAction(0.5)
        endloop
    liat hasilnya jadi 0 apa ngga, kl iya artinya loop itu beres, dah gitu coba debug loop yang lain
    Last edited by rizzuh; 16-04-08 at 23:43.

  16. #180
    Section's Avatar
    Join Date
    Nov 2006
    Location
    about.me/SECTION
    Posts
    2,095
    Points
    11,041.04
    Thanks: 45 / 112 / 98

    Default

    Kenapa gk pake kondisi IsUnitGroupEmpty ?

    Siapa tahu JASS ada kelemahan seperti ini ketika set variable lalu dituduh variable tersebut tak memiliki nilai. (BUG dari JASSnya kali..)

    aq sih setuju ama LaMBhE...

    Mendingan cari gampangny aja...

Page 12 of 16 FirstFirst ... 28910111213141516 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •