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

Status
Không mở trả lời sau này.
ai xóa leak trong máp em với em ko biết xóa( xóa em với luôn đừng cho link hướng dẫn )
pm : [email protected]
 
ai biết tại sao tôi tạo map = WE rồi khi test map thì nó bị "FATAL ERROR" không?
 
@ragnarok :
1. Không dùng JNG để test map đc (Mình thử nhìu rùi toàn báo lỗi) chỉ dùng WE
2. Bạn search Topic post spell - ducthai or Thảo luận và đóng góp ý kiến về custom spell - raivor
3. Để set như trên thì tạo các region phù hợp và làm trigger.

Ai bảo là dùng JNG ko test map đc? Nếu chỉ dùng WE thì nó sẽ báo lỗi khi save map dùng Jass. Khi mở JNG, tắt cái Enable Jasscraft... ở phần cuối của thanh công cụ ( không nhớ rõ tên của thanh này lắm, thanh mà có File, Edit, Tools,... ấy ) của màn hình edit terrian là có thể test map bình thường.
P/s: Sr vì máy hư, phải onl = đt nên không nhớ chi tiết đc
 
Stork[gm];17936259 nói:
Ai có trình độ 1 chút làm hộ mình cái rupture của blood nhé.

Rupture:
Tạo base skill từ channel, (Image, Universal Spell, Unit target type)
Tạo 1 unit ability R_spell dựa trên aura bất kì, sửa data=0, area 99999 (vì chỉ cần có cái buff chứ chả có gì khác), (target allow: Hero, Player Units) có custom buff Rupture
Tạo 1 dummy có sẵn R_spell trên
[spoil]
Mã:
trigger 1
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Rupture 
    Actions
        Set R_Caster = (Casting unit)
        Set R_Level = (Level of (Ability being cast) for R_Caster)
        Set R_Target = (Target unit of ability being cast)
        Set R_Damage = (50.00 + ((Real(R_Level)) x 100.00))
        Set R_Loc[1] = (Position of R_Target)
        Unit - Cause R_Caster to damage R_Target, dealing R_Damage damage of attack type Chaos and damage type Universal
        Unit - Create 1 Peasant for (Owner of R_Target) at R_Loc[1] facing Default building facing degrees
        Set R_Dummy = (Last created unit)
        Unit - Add a (3.00 + ((Real(R_Level)) x 2.00)) second Generic expiration timer to R_Dummy
        Unit - Set level of Rupture Buff  for R_Dummy to R_Level
        Trigger - Turn on Untitled Trigger 001 <gen>
[/spoil]
[spoil]
Mã:
Untitled Trigger 001
    Events
        Time - Every 0.25 seconds of game time
    Conditions
    Actions
        Set R_Loc[2] = (Position of R_Target)
        Set R_Damage = (Distance between R_Loc[1] and R_Loc[2])
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                R_Damage Less than or equal to 200.00
                R_Damage Greater than 0.00
            Then - Actions
                Unit - Cause R_Caster to damage R_Target, dealing R_Damage damage of attack type Spells and damage type Magic
                Special Effect - Create a special effect attached to the head of R_Target using Objects\Spawnmodels\Orc\Orcblood\BattrollBlood.mdl
                Special Effect - Destroy (Last created special effect)
                Custom script:   call RemoveLocation( udg_R_Loc[1] )
                Custom script:   call RemoveLocation( udg_R_Loc[2] )
                Set R_Loc[1] = (Position of R_Target)
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (R_Dummy is alive) Equal to False
                        (R_Target is alive) Equal to False
            Then - Actions
                Custom script:   call RemoveLocation( udg_R_Loc[1] )
                Custom script:   call RemoveLocation( udg_R_Loc[2] )
                Unit - Remove Rupture buff from R_Target
                Trigger - Turn off (This trigger)
            Else - Actions
[/spoil]

Ai chỉ mình làm cái cục chuyển hết mana thành máu như DDay ( cái cục Biogrenerator gì đó màu xanh là cây)
[spoil]
Mã:
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Convert Mana into Life
    Actions
        Set ConvertLifeMana_caster = (Casting unit)
        Set ConvertLifeMana_real[1] = (Life of ConvertLifeMana_caster)
        Set ConvertLifeMana_real[2] = (Max life of ConvertLifeMana_caster)
        Set ConvertLifeMana_real[3] = (Mana of ConvertLifeMana_caster)
        Unit - Set life of ConvertLifeMana_caster to ((Life of ConvertLifeMana_caster) + ConvertLifeMana_real[3])
        Unit - Set mana of ConvertLifeMana_caster to (ConvertLifeMana_real[3] - (ConvertLifeMana_real[2] - ConvertLifeMana_real[1]))
        Set ConvertLifeMana_caster = No unit
[/spoil]
 
Mình có 3 trigger giết lính ra như thế này

Mã:
Set War Copy 2
    Events
        Map initialization
    Conditions
    Actions
        Set Linh[1] = (Position of Footman 0000 <gen>)
        Set units = (Units in Region 000 <gen>)
Mã:
Revive Unit
    Events
    Conditions
    Actions
        For each (Integer A) from 1 to 5, do (Actions)
            Loop - Actions
                Unit - Create 1 Footman for Player 2 (Blue) at Linh[(Integer A)] facing Default building facing degrees
                Unit Group - Add (Last created unit) to units
Mã:
Check Unit Dead Copy 2
    Events
        Time - Every 0.01 seconds of game time
    Conditions
        (Number of units in units) Equal to 0
    Actions
        Trigger - Run Revive Unit <gen> (checking conditions)

làm sao mới giết con Footman đó nó ramdom ra hen xui 1/footman 2/con ngựa 3/con súng

---------- Post added at 10:58 ---------- Previous post was at 10:56 ----------

và sau khi ramdom ra như thế kill tiếp 1 trong 3 con đó lại ramdom tiếp
 
Meteor
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Meteor
Actions
Custom Script: local location loc
Set TempLoc = (Target point of ability being cast)
Unit - Create 1 Meteor for (Owner of (Triggering unit)) at TempLoc facing Default building facing degrees
Set Dummy = (Last created unit)
Unit - Add a 4.00 second Generic expiration timer to Dummy
Custom Script: set loc = udg_TempLoc
Wait 1.60 seconds
Custom Script: set udg_TempLoc = loc
Custom Script: set loc = null

Unit - Add Rain of Fire to Dummy
Unit - Order Dummy to Neutral Pit Lord - Rain Of Fire TempLoc
Custom script: call RemoveLocation (udg_TempLoc)

Tom ơi cái dòng này jassnewgen nó mới nhận phải không? Không biết là do mình hay là jassnewgen mà những map save bằng jng không mở được trên patch 1.24e, còn world editor bình thường thì no báo lỗi phần đấy :-??
 
lỗi báo thế nào? hình?
 
Rupture:
Tạo base skill từ channel, (Image, Universal Spell, Unit target type)
Tạo 1 unit ability R_spell dựa trên aura bất kì, sửa data=0, area 99999 (vì chỉ cần có cái buff chứ chả có gì khác), (target allow: Hero, Player Units) có custom buff Rupture
Tạo 1 dummy có sẵn R_spell trên
[spoil]
Mã:
trigger 1
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Rupture 
    Actions
        Set R_Caster = (Casting unit)
        Set R_Level = (Level of (Ability being cast) for R_Caster)
        Set R_Target = (Target unit of ability being cast)
        Set R_Damage = (50.00 + ((Real(R_Level)) x 100.00))
        Set R_Loc[1] = (Position of R_Target)
        Unit - Cause R_Caster to damage R_Target, dealing R_Damage damage of attack type Chaos and damage type Universal
        Unit - Create 1 Peasant for (Owner of R_Target) at R_Loc[1] facing Default building facing degrees
        Set R_Dummy = (Last created unit)
        Unit - Add a (3.00 + ((Real(R_Level)) x 2.00)) second Generic expiration timer to R_Dummy
        Unit - Set level of Rupture Buff  for R_Dummy to R_Level
        Trigger - Turn on Untitled Trigger 001 <gen>
[/spoil]
[spoil]
Mã:
Untitled Trigger 001
    Events
        Time - Every 0.25 seconds of game time
    Conditions
    Actions
        Set R_Loc[2] = (Position of R_Target)
        Set R_Damage = (Distance between R_Loc[1] and R_Loc[2])
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                R_Damage Less than or equal to 200.00
                R_Damage Greater than 0.00
            Then - Actions
                Unit - Cause R_Caster to damage R_Target, dealing R_Damage damage of attack type Spells and damage type Magic
                Special Effect - Create a special effect attached to the head of R_Target using Objects\Spawnmodels\Orc\Orcblood\BattrollBlood.mdl
                Special Effect - Destroy (Last created special effect)
                Custom script:   call RemoveLocation( udg_R_Loc[1] )
                Custom script:   call RemoveLocation( udg_R_Loc[2] )
                Set R_Loc[1] = (Position of R_Target)
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (R_Dummy is alive) Equal to False
                        (R_Target is alive) Equal to False
            Then - Actions
                Custom script:   call RemoveLocation( udg_R_Loc[1] )
                Custom script:   call RemoveLocation( udg_R_Loc[2] )
                Unit - Remove Rupture buff from R_Target
                Trigger - Turn off (This trigger)
            Else - Actions
[/spoil]


[spoil]
Mã:
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Convert Mana into Life
    Actions
        Set ConvertLifeMana_caster = (Casting unit)
        Set ConvertLifeMana_real[1] = (Life of ConvertLifeMana_caster)
        Set ConvertLifeMana_real[2] = (Max life of ConvertLifeMana_caster)
        Set ConvertLifeMana_real[3] = (Mana of ConvertLifeMana_caster)
        Unit - Set life of ConvertLifeMana_caster to ((Life of ConvertLifeMana_caster) + ConvertLifeMana_real[3])
        Unit - Set mana of ConvertLifeMana_caster to (ConvertLifeMana_real[3] - (ConvertLifeMana_real[2] - ConvertLifeMana_real[1]))
        Set ConvertLifeMana_caster = No unit
[/spoil]

Mình đã làm giống hệt bạn sao ko có damage vậy? bạn gửi hộ mình demo nhé. cho mình hỏi luôn cách tính damage của rupture (20% distance move in damage là sao?)
 
Chỉnh sửa cuối:
Đây là map sau khi đã save bằng jassnewgen pack5d, mở bằng warcraft 3 1.24e
1.24e.JPG

Còn đây là lỗi script báo khi chạy bằng WE 1.24
a.jpg
 
Mã:
Meteor
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Meteor 
    Actions
[COLOR="Red"]        Custom Script: local location loc[/COLOR]
        Set TempLoc = (Target point of ability being cast)
        Unit - Create 1 Meteor for (Owner of (Triggering unit)) at TempLoc facing Default building facing degrees
        Set Dummy = (Last created unit)
        Unit - Add a 4.00 second Generic expiration timer to Dummy
       [B] Custom Script: set loc = udg_TempLoc[/B]
        Wait 1.60 seconds
        [B]Custom Script: set udg_TempLoc = loc
        Custom Script: set loc = null[/B]
        Unit - Add Rain of Fire  to Dummy
        Unit - Order Dummy to Neutral Pit Lord - Rain Of Fire TempLoc
        Custom script:   call RemoveLocation (udg_TempLoc)

thiếu dòng đỏ
 
^ jassnewgen pack5d và JNGP nó khác nhau chỗ nào thế 8-|
 
JNGP = jassnewgen pack5d :@)
 
ai cho mình hỏi cách tạo dual hero giống như x hero siege với 8-| nhưng với cách chọn hero kiểu dday 8-|
 
làm sao để cho cái tường thành nó dính dzo cái cổng , trong khi cái vùng đỏ của tường thành với cổng thành nó vậy nè :
sieuthiNHANH201103106810mjq0nmy5yj3888054_1.jpeg
 
ai biết "fatal error" fix như thế nào không _ _!

"fatal error" thì có nhiều loại: có thể do dữ liệu trong Object Editor, có thể do Trigger,...
cách fix cụ thể thì chịu :-??
có một cách là xem sự khác nhau giữa map cũ (lúc chưa bị fatal) và map mới (lúc bị fatal) rồi kiểm tra xem "sự khác nhau" nào gây ra fatal.

làm sao để cho cái tường thành nó dính dzo cái cổng , trong khi cái vùng đỏ của tường thành với cổng thành nó vậy nè :

giữ Shift thử xem
 
Có ai tìm ra cách check số lượng player chuẩn giùm tớ với, tớ đã check số lượng như thế này và cho show kết quả khi vào game

Set Players = (All players matching ((((Matching player) controller) Equal to User) and (((Matching player) slot status) Equal to Is playing)))

Nhưng vào game thì nó báo là 10

Mình muốn detect player chuẩn như map World of Ancient: Desert Wind, map có độ khó scale theo số player nên rất dễ nhận biết. Map này trước trên hiveworkshop, giờ thấy mất tăm luôn
 
Hỏi một đống thứ:
1/ Làm sao kiểm tra size map mình là ?x?
2/ Đang làm map mà muốn nới rộng map ra có được không (nghĩa là chỉnh lại cái ?x? ấy) ?
3/ Muốn set 1 agility tăng 1% attack speed thì set như thế nào trong gameplay?
4/ Hiện tại mình là newbie, ngu dốt cực kì, bro nào có hảo tâm thì để lại cái nick YH để mình tiện pm mà thỉnh giáo (thường xuyên hỏi những câu gà mờ) :(
 
Xem size: Scenario, Map Description, chọn tab Size and Camera Bounds

Chỉnh size map: Việc này mình chưa làm bao giờ, nhưng vẫn có một cách khả thi, đó là dung JNGP export hết mọt thứ map hiện tại ra ngoài, sau đó tạo map mới với size ưng ý và import trở lại (Environment, Object)

Chính attack speed: vào Advanced, Gameplay Constants, tick chọn Use Custom Gameplay Constants, tìm đến dòng: Hero Attributes - Attack speed bonus per Agility point (mặc định là 0.02, bạn chỉnh lại 0.01)
 
Stork[gm];17943595 nói:
Mình đã làm giống hệt bạn sao ko có damage vậy? bạn gửi hộ mình demo nhé. cho mình hỏi luôn cách tính damage của rupture (20% distance move in damage là sao?)
View attachment [Spell] Rupture.rar
ai cho mình hỏi cách tạo dual hero giống như x hero siege với 8-| nhưng với cách chọn hero kiểu dday 8-|
Đã xem demo bác tom thì làm như sau:
Tạo thêm integer Num_Of_Hero là array
[spoil]
Mã:
blood mage
    Events
        Unit - A unit enters blood mage <gen>
    Conditions
        (Unit-type of (Triggering unit)) Equal to Sheep [HSS]
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Num_of_Hero[(Player number of (Owner of (Triggering unit)))] Equal to 1
            Then - Actions
                Unit - Kill (Triggering unit)
            Else - Actions
        Unit - Create 1 Blood Mage for (Owner of (Triggering unit)) at ((Owner of (Triggering unit)) start location) facing Default building facing degrees
        Camera - Pan camera for (Owner of (Triggering unit)) to ((Owner of (Triggering unit)) start location) over 1.00 seconds
        Set Num_of_Hero[(Player number of (Owner of (Triggering unit)))] = (Num_of_Hero[(Player number of (Owner of (Triggering unit)))] + 1)
[/spoil]

Hỏi một đống thứ:
1/ Làm sao kiểm tra size map mình là ?x?
2/ Đang làm map mà muốn nới rộng map ra có được không (nghĩa là chỉnh lại cái ?x? ấy) ?
3/ Muốn set 1 agility tăng 1% attack speed thì set như thế nào trong gameplay?
4/ Hiện tại mình là newbie, ngu dốt cực kì, bro nào có hảo tâm thì để lại cái nick YH để mình tiện pm mà thỉnh giáo (thường xuyên hỏi những câu gà mờ) :(
1) Scenario > Map size and camera bounds
2) Scenario > Map size and camera bounds, stick vào cả 2 ô trống. Sau đó dùng 8 dấu mũi tên kéo ra vào để sửa 4 cạnh cho map. Max 256x256.
3) Advance > Gameplay constants > Hero Atribute - Attack Speed bonus per agility point: Cái này tăng chỉ số tốc độ đánh. Nếu muốn tăng theo % thì tạo ability rồi kiểm tra mỗi vài giây thôi.
EDIT POST: làm theo bác rex, mình nhầm sang movement.
4) Xin kiếu, vì mình onl cực kì ít.
 
Chỉnh sửa cuối:
Status
Không mở trả lời sau này.
Back
Top