Cách làm Map đây - Topic hỏi đáp cho anh em

Thảo luận trong 'Tomb Of Relics' bắt đầu bởi hung_war3, 15/4/04.

  1. TriThiênMệnh

    TriThiênMệnh Mr & Ms Pac-Man

    Tham gia ngày:
    21/8/04
    Bài viết:
    279
    Nơi ở:
    xứ sở diệu kỳ
    Uhm.. post xong hổng bít làm gì.. nửa mún về but còn sớm wé... :D Mà ở lại thì hổng có gì làm.. chat thì hông wen :p Kể chuyện nghiên cứu spell vậy. Nói chung chắc cũng dễ làm. Mọi người thử nhé! Tớ làm bằng JASS.. 1 phần cũng tại wen rồi.. làm bằng câu lệnh thông thường nhiều khi thiếu dữ liệu wá.. hic

    Phép Batousai Slam (Giá mà có model Rurouni Kenshin ^^ )

    Ban đầu tớ làm như trên kia post, tạo từ phép Storm bolt và edit speed thành 300, còn thuật toán như sau:
    - Khi unit target 1 unit khác
    - Phép Target có string là stormbolt.
    - Unit cast là Samurai.
    Bắt đầu thực hiện:
    - Check khoảng cách giữa Samurai và Victim, Nếu chưa đủ thì oder nó chạy lại chừng nào đủ 600 thì cast phép.
    - Pollwait 0.4s.
    - Make Samurai inVul và pause.
    - Move Samurai to Victim and face to Victim.
    - Play Amination Attack Slam
    - PWait 0.27s, set Ami speed = 0%
    - PWait 1s, Set Ami speed = 300%
    - PWait 0.2s, set Ami speed = 100%.
    - Make Samurai Vul and unpause.
    - Oder Samurai attack Victim ^^

    Đó là thuật toán, thực tế tui thêm effect từa lưa :p But thực sự phép ko đẹp như ý.. Samurai đứng xa thì khá giống.. nhưng đứng gần thì chưa bổ con kia đã stun.. >_<

    Sau đó tui lên mạng post bài trên.. Và offline xong tui nghiên cứu tiếp.. để post sau.. giờ up cái hông thôi drop mạng :D
     
  2. TriThiênMệnh

    TriThiênMệnh Mr & Ms Pac-Man

    Tham gia ngày:
    21/8/04
    Bài viết:
    279
    Nơi ở:
    xứ sở diệu kỳ
    Hên wá.. hông bị mất cookies ^^ Kể tiếp vậy :p

    Lần tiếp theo tui đổi 1 chút về thuật toán..
    Phép Batousai Slam (Giá mà có model Rurouni Kenshin ^^ )

    Ban đầu tớ làm như trên kia post, tạo từ phép Storm bolt và edit speed thành 300, còn thuật toán như sau:
    - Khi unit target 1 unit khác
    - Phép Target có string là stormbolt.
    - Unit cast là Samurai.
    Bắt đầu thực hiện:
    - Check khoảng cách giữa Samurai và Victim, Nếu chưa đủ thì oder nó chạy lại chừng nào đủ 600 thì cast phép.
    - Turn off this trigger
    - Make inVul and pause Samurai.
    - Move Samurai to Victim and face to Victim.
    - Play Amination Attack Slam
    - PWait 0.27s, set Ami speed = 0%
    - PWait 1s, Set Ami speed = 300%
    - PWait 0.2s, set Ami speed = 100%.
    - Oder Samurai target victim by ability string "stormbolt"
    - PWait 0.4s, Make Vul and unpause.
    - Oder Samurai attack Victim ^^
    - Turn on this trigger.

    Cái này thì ok.. nhưng đáp đất xong còn khoảng 0.4s nó nhìn victim mới bắn stun. :D Cho nên tui vẫn ko hài lòng ^^
     
  3. TriThiênMệnh

    TriThiênMệnh Mr & Ms Pac-Man

    Tham gia ngày:
    21/8/04
    Bài viết:
    279
    Nơi ở:
    xứ sở diệu kỳ
    Uhm.. sau đó chưa hài lòng lắm.. đi vệ sinh cầm quyển truyện và mở nhạc lên.. Tui đã nảy ra ý tưởng :D Nói chung rất ăn khớp với cú slam của Samurai..

    But nó dài.. mệt wá ^^ Đại khái copy phép Storm Bolt làm 4 cái.. phép dành cho unit chứ ko fải Hero. Mỗi phép 1 dam khác nhau.. Tương tự tạo 4 unit, mỗi con mang 1 phép.. Yeah.. chắc các bồ đã hiểu ra tui làm gì fải hông.

    Tạo 2 variable: batousai và batousailevel.

    Trigger nâng cấp spell:
    - Khi Samurai nâng cấp phép Batousai Slam.
    - Set batousailevel = batousailevel + 1
    - Nếu batousailevel = 1 thì set batousai là unit type...
    - Nếu batousailevel = 2 thì set batousai là unit type...
    .. Nếu batousailevel = 4 thì set batousai là unit type...

    Trigger đề phòng người chơi ăn gian:
    - A unit train Tome of retrain (sách học lại phép)
    - Unit type of trigg unit equal to samurai.. Set batousailevel = 0

    Còn Trigger thực hiện phép chắc dễ hén:
    - Khi unit target 1 unit khác
    - Phép Target có string là stormbolt.
    - Unit cast là Samurai.
    Bắt đầu thực hiện:
    - Check khoảng cách giữa Samurai và Victim, Nếu chưa đủ thì oder nó chạy lại chừng nào đủ 600 thì cast phép.
    - Pollwait 0.4s.
    - Make Samurai inVul và pause.
    - Move Samurai to Victim and face to Victim.
    - Play Amination Attack Slam
    - PWait 0.27s, set Ami speed = 0%
    - PWait 0.8s, Set Ami speed = 300%
    - Create 1 batousai at..
    - Oder last cre unit target stormbolt to Victim
    - PWait 0.4, Set Ami Speed = 100%. Remove last cre unit.
    - Make Samurai Vul and unpause.
    - Oder Samurai attack Victim ^^

    Hết roài.. hôm nay câu cá vui wá :p
     
  4. Thedevilxn

    Thedevilxn Mayor of SimCity

    Tham gia ngày:
    1/1/04
    Bài viết:
    4,439
    Nơi ở:
    ................
    ________________________________________________________________

    Tui canh hoài nhung missile speed cứ lệch hà. Số là nếu để target pause thì hơi bất công, tại sao nó phải đứng lại cho mình chém? Nếu để nó chạy thì mình chém thể nào missile speed cũng khó trúng. Nên tui làm spell toàn bằng trigger hà (sử dụng trigger để làm lose HP và stun)
    Thedevilxn à, mấy cái spell trong [T]spell-map có được dùng ko? Có bản quyền ko? Tui được dùng trong AH 1.7Z chứ?
    Mà ông down về patch 1.17a à? Hơn 34 Mb đó!!! Tui down 1.16 về mất 143VND rồi cạch thôi. Nếu ông ở Hà Nội thì bao giờ down được cho tui điạ chỉ tui đến lấy được ko?[/QUOTE]
    -Spell trong [T]spell map huh xài thoải mái đi ko có credit cũng okie tui làm mí spell đơn giản đó để giúp newbie in WE trong việc tạo spell mà hic tiếc là tụi nó hổng bít cém ơn mà vote cho map đó cao cao lên tí T_T
    -Dùng trigger để trừ hp thì unit chết bên kia ko có tiền
    -Patch 1.17 hình như là có vấn đề nên tui cũng ko dám xài nữa up lại 1.16 roài để chút về xài crack mới vô 1.17 xem sao nếu okie thì tút coan fire lord nhìn cool wá mí spell mới tếu ve kêu
    -Nhà ông là modem huh sao ko ra ngoài ADSL down về sau đó chép dĩa mang về ko thì dùng flash chép vô rùi đem về coàn ko nữa thì ra tiệm mua mẹ cái đĩa patch mới về là xong roài ngoài hà nội cập nhật patch mới nhanh lắm mà trong TPHCM cập nhật chậm như rùi ý tui toàn ra ngoài down về ko hà
     
  5. TriThiênMệnh

    TriThiênMệnh Mr & Ms Pac-Man

    Tham gia ngày:
    21/8/04
    Bài viết:
    279
    Nơi ở:
    xứ sở diệu kỳ
    Uhm, vậy xài thử cách thứ 3 của tui đí, nhìn khớp time lắm đó :D Hơn nưa victim chết mình cũng có tìn như thường ;)

    Hỏi thật mọi người.. hình như dân gamers Vietnam ghét ghép đồ lắm fải hông? >_< Làm cái hướng dẫn bằng tiếng Anh lun roài mà còn la cheat.. pó giò.. Để về thêm tiếng Việt nữa vậy.. hix
     
  6. TriThiênMệnh

    TriThiênMệnh Mr & Ms Pac-Man

    Tham gia ngày:
    21/8/04
    Bài viết:
    279
    Nơi ở:
    xứ sở diệu kỳ
    Ờ quên.. Có 1 số bạn chưa rành JASS nên tớ copy cái phép Batousai Slam của tớ ra đây:

    Trigger khi nâng cấp spell:
    n01W, n01X, n01Y, n01Z là 4 con có spell string là stormbolt tuỳ level mà có data damage và stun khác nhau..

    function Trig_BatousaiLevel_Conditions takes nothing returns boolean
    if ( not ( GetLearnedSkillBJ() == 'A04I' ) ) then
    return false
    endif
    return true
    endfunction

    function Trig_BatousaiLevel_level1 takes nothing returns boolean
    return ( udg_batousailevel == 1 )
    endfunction

    function Trig_BatousaiLevel_level2 takes nothing returns boolean
    return ( udg_batousailevel == 2 )
    endfunction

    function Trig_BatousaiLevel_level3 takes nothing returns boolean
    return ( udg_batousailevel == 3 )
    endfunction

    function Trig_BatousaiLevel_level4 takes nothing returns boolean
    return ( udg_batousailevel == 4 )
    endfunction

    function Trig_BatousaiLevel_Actions takes nothing returns nothing
    set udg_batousailevel = ( udg_batousailevel + 1 )
    if ( Trig_BatousaiLevel_level1() ) then
    set udg_batousai = 'n01W'
    else
    call DoNothing( )
    endif
    if ( Trig_BatousaiLevel_level2() ) then
    set udg_batousai = 'n01X'
    else
    call DoNothing( )
    endif
    if ( Trig_BatousaiLevel_level3() ) then
    set udg_batousai = 'n01Y'
    else
    call DoNothing( )
    endif
    if ( Trig_BatousaiLevel_level4() ) then
    set udg_batousai = 'n01Z'
    else
    call DoNothing( )
    endif
    endfunction

    //===========================================================================
    function InitTrig_BatousaiLevel takes nothing returns nothing
    set gg_trg_BatousaiLevel = CreateTrigger( )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_BatousaiLevel, EVENT_PLAYER_HERO_SKILL )
    call TriggerAddCondition( gg_trg_BatousaiLevel, Condition( function Trig_BatousaiLevel_Conditions ) )
    call TriggerAddAction( gg_trg_BatousaiLevel, function Trig_BatousaiLevel_Actions )
    endfunction

    Trigger ko cho cheat level spell (Ko cần JASS)
    Event:
    Unit - A unit Begins casting an ability
    Conditions:
    (Ability being cast) Equal to Tome of Retraining
    (Unit-type of (Triggering unit)) Equal to Blademaster
    Action:
    Set batousailevel = 0

    Trigger thực hiện spell
    function Trig_Batousai_Slam_Conditions takes nothing returns boolean
    if ( not ( GetIssuedOrderIdBJ() == String2OrderIdBJ("thunderbolt") ) ) then
    return false
    endif
    if ( not ( GetUnitTypeId(GetOrderedUnit()) == 'U000' ) ) then
    return false
    endif
    return true
    endfunction

    function Trig_Batousai_Slam_distanceCheck takes nothing returns boolean
    if ( not ( IsUnitInGroup(GetOrderTargetUnit(), GetUnitsInRangeOfLocAll(( 800 ), GetUnitLoc(GetOrderedUnit()))) == true ) ) then
    return false
    endif
    return true
    endfunction

    function Trig_Batousai_Slam_Actions takes nothing returns nothing
    if ( Trig_Batousai_Slam_distanceCheck() ) then
    call PolledWait( 0.40 )
    call PauseUnitBJ( true, GetTriggerUnit() )
    call SetUnitInvulnerable( GetTriggerUnit(), true )
    call AddSpecialEffectLocBJ( GetUnitLoc(GetTriggerUnit()), "Abilities\\Spells\\NightElf\\Blink\\BlinkCaster.mdl" )
    call SetUnitPositionLoc( GetTriggerUnit(), GetUnitLoc(GetOrderTargetUnit()) )
    call SetUnitFacingToFaceLocTimed( GetTriggerUnit(), GetUnitLoc(GetOrderTargetUnit()), 0 )
    call AddSpecialEffectLocBJ( GetUnitLoc(GetTriggerUnit()), "Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl" )
    call SetUnitAnimation( GetTriggerUnit(), "Attack Slam" )
    call PolledWait( 0.25 )
    call SetUnitTimeScalePercent( GetTriggerUnit(), 0.00 )
    call PolledWait( 1.00 )
    call SetUnitTimeScalePercent( GetTriggerUnit(), 300.00 )
    call CreateNUnitsAtLoc( 1, udg_batousai, GetOwningPlayer(GetTriggerUnit()), GetUnitLoc(GetTriggerUnit()), bj_UNIT_FACING )
    call IssueTargetOrderBJ( GetLastCreatedUnit(), "thunderbolt", GetOrderTargetUnit() )
    call PolledWait( 0.35 )
    call RemoveUnit( GetLastCreatedUnit() )
    call SetUnitTimeScalePercent( GetTriggerUnit(), 100.00 )
    call PauseUnitBJ( false, GetTriggerUnit() )
    call SetUnitInvulnerable( GetTriggerUnit(), false )
    call IssueTargetOrderBJ( GetTriggerUnit(), "attack", GetOrderTargetUnit() )
    else
    call IssuePointOrderLocBJ( GetOrderedUnit(), "move", GetUnitLoc(GetOrderTargetUnit()) )
    call PolledWait( 0.10 )
    call IssueTargetOrderBJ( GetTriggerUnit(), "thunderbolt", GetOrderTargetUnit() )
    endif
    endfunction

    //===========================================================================
    function InitTrig_Batousai_Slam takes nothing returns nothing
    set gg_trg_Batousai_Slam = CreateTrigger( )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Batousai_Slam, EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER )
    call TriggerAddCondition( gg_trg_Batousai_Slam, Condition( function Trig_Batousai_Slam_Conditions ) )
    call TriggerAddAction( gg_trg_Batousai_Slam, function Trig_Batousai_Slam_Actions )
    endfunction

    Hy vọng dễ làm ^^
     
  7. hunterxx

    hunterxx The Warrior of Light

    Tham gia ngày:
    27/5/04
    Bài viết:
    2,281
    Nơi ở:
    Krypton
    CHả hỉu gì về JAss editor cả liệu bác TTM có thể post 1 bài giới thiệu về JASS , cái lợi của nó và cách làm dc ko?
     
  8. Thedevilxn

    Thedevilxn Mayor of SimCity

    Tham gia ngày:
    1/1/04
    Bài viết:
    4,439
    Nơi ở:
    ................
    E hèm thông báo cho bà con 1 tin mừng là WE 1.17 cực kỳ ổng định và cực kỳ đã :D nếu ko xài crack WE 1.16 thì nó chạy tút lắm mọi người down file crack no cd trong topic của Nova về crack ra roài dùng nó làm ổ dĩa ảo khỏi cần chép crack mi mốt có up lên patch mới thì chỉ việc chạy file up patch roài tạo ổ dĩa ảo lần nữa là xong :))
    -He he cái map Arena xong được 12 hero roài có AI lun(comp ngu ghia tại ko dám làm trigger cho nó cast phép và tìm mí coan mồi ít máu mà bu lại chém hic hum bữa làm cho nhìu vô chơi nhìu người thì lại dis T_T)
    TTM muốn tìm spell cool thì vào wc3cam tìm mục spell đi trong đó có cha nội vexorian làm spell hay lắm mà lại ko lock map bù lại ổng y như TTM hay dùng jass lắm và xài spell của hắn thì phải give credit dĩ nhiên òi
     
  9. unrealcharacter

    unrealcharacter Youtube Master Race

    Tham gia ngày:
    2/6/03
    Bài viết:
    80
    Mấy bác cho hỏi cách đặt tiền khi giết 1 quân náo đó?
     
  10. TriThiênMệnh

    TriThiênMệnh Mr & Ms Pac-Man

    Tham gia ngày:
    21/8/04
    Bài viết:
    279
    Nơi ở:
    xứ sở diệu kỳ
    Tớ đâu có rành JASS bằng AR ^^ Kiu lão ấy hướng dẫn đi. Bùn bùn làm cái spell map chơi.. mới có 2 spell là Change of Heart và Batousai Slam thôi. Ai thích lấy cứ lấy ^^ Ko cần credit gì hết :)) Nói chung spell cũng hông đặc biệt lắm :p

    Và sẵn post luôn bảng color của tớ nghiên cứu nè:

    |cFF7777CD Violet
    |cff3232CD nice Blue
    |c00777700 Dark Gold
    |c007799cc Blur white
    |c00ff0000 Red
    |cff0000ff Blue
    |cff00ffff Teal
    |cff702084 Purple
    |cffffff00 Yellow
    |cffd45d18 Orange
    |cff00ff00 Green
    |cffff8080 Pink
    |cff808080 Gray
    |cff8080ff Light Blue
    |cff008000 Dark Green
    |cff705a00 Brown

    Để vào wc3campaign xem sao ^^ Ít vào đó lắm :D Chủ yếu thích đi tìm Model nên mới vô hà.. ai có model con Nightmare trong DDay thì nói tui dzới! ^^ Tui là fan của trò Soul Calibur mà!
     
  11. ipridian_elf

    ipridian_elf Voyage perdu

    Tham gia ngày:
    19/3/03
    Bài viết:
    5,678
    Nơi ở:
    Earth
    • |rff00ff00 Green
    • |cFF00FF00 Nice Green
    ... r và c thì có gì khác nhau vậy .. ie thử rồi mà sao nó vẫn giống nhau ?
     
  12. Zekareisoujin

    Zekareisoujin C O N T R A

    Tham gia ngày:
    24/8/04
    Bài viết:
    1,899
    Nơi ở:
    Everywhere in Nowhere
    @TTM:
    Sorry, tui lộn, ko phải định nói đến loading screen mà là preview screen cơ, cái đó map của tôi toàn bị màu trắng hà!!! Còn loading screen thì chưa bi giờ thử, để thử ở bản mới xem. Ủa, làm thế nào mà trong MDX lại sử dụng 4 TGA???
    @Thedevilxn:
    +_+, tui... ko có flash disk. Đi mượn vậy.
     
  13. Anaconde the Reaper

    Anaconde the Reaper T.E.T.Я.I.S

    Tham gia ngày:
    4/6/03
    Bài viết:
    622
    Nơi ở:
    The Twisting Nether
    Preview screen màu trắng là do TGA compression sai. Mỗi kiểu graphic file trong war3 dùng khác nhau đó nên phải cẩn thận. tga-->blp là 32bit, preview screen là 24bit, what else... :-/ quên rồi

    Nên nhớ: làm preview screen với loading screen tăng map size lên khá nhiều nên sẽ tạo nên bất lợi cho người khác dl (sẽ bị chửi là: map thì dở mà size thì quá cỡ, chẳng hạn)... nên phải biết cách mà giảm size. Preview mới của AR được 99% khen là cool, mà size chỉ có 60k (nhiều map khác dở ẹt mà tới 192k lận)
     
  14. TriThiênMệnh

    TriThiênMệnh Mr & Ms Pac-Man

    Tham gia ngày:
    21/8/04
    Bài viết:
    279
    Nơi ở:
    xứ sở diệu kỳ
    Ừm, war3mappreview.tga thì fải chuẩn là 32 bit mà.. 24bit hình như ko được.. ngoài ra còn điều kiện nữa là chọn size cho cái file đó.. có thể chọn 1 trong 3 size sau: 64x64 (rất nhỏ), 128x128 (đa số dùng size này) và 256 (sẽ đẹp hơn nhưng dung lượng cũng lớn hơn)

    @IE: Lão này kỹ thế.. cái color luôn starting = |c và kết thúc bằng |r :D Hôm wa tớ lú lẫn ấy mà.. Cái dãy color trên cùng là color tự do hồi đó tớ sưu tầm, còn 12 color dưới cùng là 12 color của 12 Player trong WarCraft có sẵn tớ mò bằng Hex.
     
  15. Thedevilxn

    Thedevilxn Mayor of SimCity

    Tham gia ngày:
    1/1/04
    Bài viết:
    4,439
    Nơi ở:
    ................
    Event respond-damage source=?????????? chưa xài cái này chắc giống với event-every unit take damage bên WEU
    Unit-Increase ability level for unit
    Unit-Decrease ability level for unit
    Unit-Set ability level for unit
    Unit-change attack type for unit
    Unit-Change armor type for unit
    Special effect-Create lighting effect on unit
    -Chẹp chẹp hy vọng với những action mới này thì chúng te có thể làm những spell cool hơn :x
     
  16. hunterxx

    hunterxx The Warrior of Light

    Tham gia ngày:
    27/5/04
    Bài viết:
    2,281
    Nơi ở:
    Krypton
    Hình như trong WE còn 1 chức năng là replace file, em ko hỉu là replace như thế nào nếu pác nào bít xin trả lời cái
     
  17. Thedevilxn

    Thedevilxn Mayor of SimCity

    Tham gia ngày:
    1/1/04
    Bài viết:
    4,439
    Nơi ở:
    ................
    Unit-Replace unit
    Game-Preload file
    Nhớ là chỉ có hai loại đó thoai chứ làm gì có replace file trời chắc là hunter coi ko kỹ roài preload file tức là load map đó giống như chơi cam của ORC khi unit đi vào 1 region thì load map và load game cach ra đó mà nếu muốn bít rõ thì vô wc3cam mà tìm cái tutorial save&load hero from map to map :D
     
  18. hunterxx

    hunterxx The Warrior of Light

    Tham gia ngày:
    27/5/04
    Bài viết:
    2,281
    Nơi ở:
    Krypton
    Hic hic thế em hỏi cái replace unit là gì dzậy?viết thêm cho đủ viết thêm cho đủ viết thêm cho đủ :o
     
  19. steeldragon

    steeldragon Dragon Quest

    Tham gia ngày:
    15/2/04
    Bài viết:
    1,272
    Nơi ở:
    Helsinki, Finland
    em mún hỏi cái vấn đề này, tuy nó ko liên quan gì lắm tới việc làm map nhưng cần cho map của em:
    ví dụ em mún down "nguyên" 1 trang web nói về icon bên wc3campaings thì phải làm sao, dùng chương trình gì thì đc, anh chỉ dùm em cách dùng lun nha. chỉ down load 1,2 trang thôi
     
  20. Zekareisoujin

    Zekareisoujin C O N T R A

    Tham gia ngày:
    24/8/04
    Bài viết:
    1,899
    Nơi ở:
    Everywhere in Nowhere
    trích:hunterxx
    _________________________________________________________________
    Hic hic thế em hỏi cái replace unit là gì dzậy?viết thêm cho đủ viết thêm cho đủ viết thêm cho đủ :o[/QUOTE]
    ________________________________________________________________

    tức là thay unit này bằng unit khác đó cha nội. Nếu dùng lệnh unit-replace thì sẽ replace một varyable unit bằng một unit-type khác (hình như thế, ko nhớ rõ lắm vì ít khi use)
     

Chia sẻ trang này