[Thảo luận]làm Spell bằng Jass - chia sẻ và học hỏi ^^!

Chậc, xóa chữ "Max" đi thì đc chứ để như cũ thì kô đc. Chắc kô có Set max life, hỏi anh Tom đê;)).
 
bạn viết thế nào mà error ????
 
@GW : lấy đâu ra câu lệnh set max life unit đấy /:) , phải dùng ability Max life <~ rồi remove/add

còn dmg thì sang 2pic hỏi đáp search đi , tớ post 1 lần rồi :-<

demo map Max life ở dưới
 

Attachments

bạn có thể chỉ mình cách test không, sao mình pick unit rồi gõ A subtring mà không thấy gì cả vậy
 
và hình như cách của bạn là cộng thêm maxlife cho unit, xin lỗi vì mình đã nói không rõ yêu cầu, cái mình muốn là tạo một passive spell tăng maxlife theo %maxlife của unit, ví dụ nếu maxlife của unit tăng lên thành 1000 thì khi có spell maxlife= 1000*1.5=1500, và khi max life xuống còn 500 => maxlife= 500*1.5=750 ,max life của unit tăng lên khi unit nhặt item có bonus maxlife hoặc ăn sách, và giảm khi unit drop item có + bonus maxlife.
 
cái Set unit max HP ở trên là cách cho unit bonus hp

khi unit nhận đc ability trên, cho unit thêm số máu = max life hiện tại * % bonus
mỗi khi nhận đc sách hay item life bonus thì tăng máu theo % số máu nhận đc từ sách, item. Tất nhiên, khi vứt item ra thì phải giảm máu theo % số máu nhận đc từ item đó

ví dụ: 1000 max hp, nhận 50% bonus từ ability -> thêm 1000 * 0.5 = 500 máu nữa ( dùng Set Unit Max HP ở trên)
khi nhận đc sách, cho 50 bonus hp, vậy phải thêm 50 * 0.5 = 25 máu nữa cho unit
khi nhận/mất 1 item cho 400 máu, phải tăng/giảm 400 * 0.5 = 200 máu.

p.s: nếu muốn tăng/giảm số % max life bonus này (50% -> 60% hoặc 50% -> 30%) thì hơi rắc rối.
nếu đang là 50% thì số máu max hiện tại sẽ là 150% -> lấy 100% (số máu bình thường khi chưa có bonus %) là số máu max hiện tại / 1.5 rồi số đó nhân với 1.6 hoặc 1.3 là ra số máu max với 60% hoặc 30% bonus. Tất nhiên cũng dùng Set Unit Max HP ở trên để cộng/trừ.
 
thank anh Tom, vậy là vẫn sử dụng lại nhưng triger trên và thêm vài triger unit nhận sách hoặc unit nhận item nửa, Àh sẵn tiện cho em hỏi thêm, thật ra trong jass có câu lệnh set max life cho unit không anh Tom, nếu không thì blizzard thật là tệ, có lệnh setmaxlife cho Destructable mà không có lệnh set max life cho unit. Trong khi chỉ cần 1 action đơn giản thì đã xong triger thì lại phải làm thêm triger khác => bó tay. Nếu em mà mở được mấy cái triger của blizzard trong các skill của nó thì em phải xem nó làm thế nào.
 
E chịu món Jass này...Ai có thể dạy e cơ bản đc không..Share nick chat cho e :(...:((
 
setunitmaxlife <- ko có
còn các spell (có sẵn) của Blizzard đã đc hard-coded, ko dễ dàng gì mà xem được (chứ đừng nói sửa).
 
híc nhưng mà e đọc vẫn không hiêu hết.Dạy qua Yahoo vẫn dễ hơn chứ.Nick e là : are_you_love_me_00...Pác nào pro chỉ e đi:((
 
rành GUI chưa mà qua học jass :|
 
Mình cũng..."dốt" JASS @-) , sao mọi người không làm = GUI cho dễ nhỉ, đánh JASS mỏi tay kinh khủng @@
 
Gui thì thoải mái đi,Jass thì mới cơ bản thôi.mới học đc vài cái lẻ lẻ :(..Chưa hiểu rõ lắm.Cần giải thích tường tận :(
 
Tớ thì biết một nửa của JASS, mỗi tội chưa biết xài biến handlers để làm MUI thế nên cứ xài GUI là trên hết=)).
 
Mình cũng..."dốt" JASS @-) , sao mọi người không làm = GUI cho dễ nhỉ, đánh JASS mỏi tay kinh khủng @@


Wrong....gõ bao giờ chả nhanh hơn click? khi nào bạn đã làm quen được với JASS thì bạn sẽ nghĩ khác...làm sướng hơn GUI nhiều...tuy nhiên ko bắt buộc phải dùng JASS mới có map tốt !
 
Mã:
function Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'A000' ) ) then
        return false
    endif
    return true
endfunction

function Effect takes nothing returns nothing
         local location TargetLoc = GetSpellTargetLoc()
         local unit Caster = GetSpellAbilityUnit()
         local unit Dummy = GetLastCreatedUnit()
         local unit PickedUnit
         local timer Timer = GetExpiredTimer()
         local group Group
         set Group = GetUnitsInRangeOfLocAll(600 , TargetLoc)
         call AddSpecialEffectTargetUnitBJ("overhead", Dummy , "Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
         call DestroyEffectBJ(GetLastCreatedEffectBJ() )
         loop
             set PickedUnit = FirstOfGroup(Group)
             exitwhen PickedUnit==null
             if IsUnitEnemy(PickedUnit,GetOwningPlayer(Caster))==true then
             call GroupRemoveUnit(Group,PickedUnit)
             call UnitDamageTargetBJ(Dummy , PickedUnit , 50.00 , ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNIVERSAL)
             call SetUnitPositionLoc(PickedUnit , PolarProjectionBJ(GetUnitLoc(Dummy) , 40.00 , AngleBetweenPoints(GetUnitLoc(Dummy) , GetUnitLoc(PickedUnit))) )
             set Dummy = null
             endif
         endloop     
endfunction

function Actions takes nothing returns nothing
         local unit Caster
         local unit Dummy
         local location TargetLoc
         local timer Timer
         local group Group
         set Timer = CreateTimer()
         set TargetLoc = GetSpellTargetLoc()
         set Caster = GetSpellAbilityUnit()
         call CreateUnitAtLoc(GetOwningPlayer(Caster) , 'e000' , TargetLoc , bj_UNIT_FACING)
         set Dummy = GetLastCreatedUnit()
         call TimerStart(Timer , 0.5 , true , function Effect )
         call TriggerSleepAction( 10.00 )
         call KillUnit(Dummy)
         call DestroyTimer(Timer)
         call DestroyGroup(Group)
         call RemoveLocation(TargetLoc)
         set Caster = null
         set Dummy = null
         set TargetLoc = null
         set Group = null
         set Timer = null
endfunction

function InitTrig_Storm_Totem takes nothing returns nothing
    local trigger Trigger
    set Trigger = CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ( Trigger, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( Trigger, Condition( function Conditions ) )
    call TriggerAddAction( Trigger, function Actions )
endfunction

các bác pro jass xem có gì sai giúp em tại sao nó lại ko tạo effect và ko deal hit point của các unit in group với :((:((
 
có ai cho em hỏi viết code bằng gui và jass vào trigger kiểu gì hok
em toàn phải dò tùng dòng khi làm bằng gui thôi mất thời gian lắm :((
 
Ai hướng dẫn làm 1 cái spell jass có MUI đơn giản đc ko ạ, bik MUI GUI còn jass thì tịt.
 
Back
Top