Topic post, bàn luận, đóng góp ý kiến, thắc mắc, giải đáp, bình phẩm về Custom Spell.

  • Thread starter Thread starter raivor
  • Ngày gửi Ngày gửi
Ai chỉ mình cái này 1 chút đc không? Mình tạo 1 spell như thế này: Hero bắn 1 cái tên lên trời sau đó nó đâm đầu xuống đất gây dame AoE và slow, giống kiểu của sniper nhưng k phải DPS mà dame 1 lần là xong ấy. Mình tạo 1 con dummy hình cái tên băng của traxex, nhưng không biết cách làm nó chĩa lên trời rùi lại cắm đầu xuống đất [tại đang mò WE nên ngu không biết gì] nên định làm nó xuất hiện rùi sau 0.3s nó bay cái vèo tới chỗ chỉ định với vận tốc tương đương hook của rattle trap [con goblin trong dota ấy] nhưng ngặt nỗi mình k biết làm cái vụ move đó nên chỉ move instanly tới cái point mà mình cast, rùi con dummy cát thunder clap gây dame và slow T_T! Ai rảnh giúp mình hoàn thiện skill này được không?

Map đây: http://www.mediafire.com/?mdc94p92j3e8b0q
Hẻo có skill này là con windrunner, skill 1 ấy nha :d
 
Em có 2 cái spell về Phoenix, post lên luôn :D
Skill 1: Death Flame
PHP:
Death Flame Cast
Events
Unit - A unit Starts the effect of an ability / Unit bắt đầu cast spell
Conditions
(Ability being cast) Equal to Death Flame / Spell phải là Death Flame
Actions
  Set MB_MUI = (MB_MUI + 1) / Cho MB_MUI = MB_MUI + 1 ( Cái này có thể tham khảo bài viết đầu của anh Raivor.)
  If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
    If - Conditions
     MB_MUI Greater than or equal to 500 / Nếu MB_MUI >= 500 thì Set MB_MUI=0 và quá trình lại diễn ra như vậy
    Then - Actions
     Set MB_MUI = 0
    Else - Actions
 Set MB_Caster[MB_MUI] = (Casting unit) / Đặt biến là thằng Cast
 Special Effect - Create a special effect at ((Position of MB_Caster[MB_MUI]) offset by 0.00 towards 0.00 degrees) using                 Abilities\Spells\Orc\Reincarnation\ReincarnationTarget.mdl / Tạo effect cho đẹp
 Special Effect - Destroy (Last created special effect)
 Unit - Create 1 Blade Dummy for (Owner of MB_Caster[MB_MUI]) at ((Position of MB_Caster[MB_MUI]) offset by 50.00 towards 90.00 degrees) facing Default building facing degrees / Tạo 1 Dummy tại vị trí cách thằng Cast 50 góc 90 độ
 Set MB_Dummy_Blade[MB_MUI] = (Last created unit) / Gán biến MB_Dummy_Blade cho thằng mới tạo ra
 Unit - Add a 3.00 second Generic expiration timer to MB_Dummy_Blade[MB_MUI] / Cho nó 3s để sống
 Unit - Turn collision for MB_Dummy_Blade[MB_MUI] Off
 Set MB_Real[MB_MUI] = 0.00 
 Set MB_Distance[MB_MUI] = 0.00
 Set MB_Int[MB_MUI] = 0
(Đặt giá trị các biến dạng real và integer )
 Unit - Create 1 Dummy for (Owner of MB_Caster[MB_MUI]) at (Position of MB_Caster[MB_MUI]) facing Default building facing degrees
 Unit Group - Add (Last created unit) to MB_Group / Tạo 1 unit mới là Dummy và gán nó vào Group
 Unit - Set the custom value of (Last created unit) to MB_MUI
 Special Effect - Create a special effect at (Position of MB_Caster[MB_MUI]) using FireNova2.mdx
 Special Effect - Destroy (Last created special effect)
 Unit - Hide MB_Caster[MB_MUI] / Ẩn Phoenix
 Trigger - Turn on Death Flame Loop <gen>/ Mở trigger Loop

PHP:
Death Flame Loop
Events
Time - Every 0.03 seconds of game time / Cứ 0,03s thì sẽ thực hiện cái này 1 lần
Conditions
Actions
Unit Group - Pick every unit in MB_Group and do (Actions)
Loop - Actions
Set MB_Int[(Custom value of (Picked unit))] = (MB_Int[(Custom value of (Picked unit))] + 1) / Tăng biến Int lên 1
Set MB_Distance[(Custom value of (Picked unit))] = (MB_Distance[(Custom value of (Picked unit))] + 1.00) Tăng biến Distance lên 1
Set MB_Real[(Custom value of (Picked unit))] = (MB_Real[(Custom value of (Picked unit))] + 10.00) Tăng góc lên 1
Unit - Move MB_Dummy_Blade[(Custom value of (Picked unit))] instantly to ((Position of MB_Dummy_Blade[(Custom value of (Picked unit))]) offset by MB_Distance[(Custom value of (Picked unit))] towards MB_Real[(Custom value of (Picked unit))] degrees)
Unit - Create 1 Casting Dummy for (Owner of MB_Caster[(Custom value of (Picked unit))]) at (Position of MB_Dummy_Blade[(Custom value of (Picked unit))]) facing Default building facing degrees
Set MB_Dummy_Damage[(Custom value of (Picked unit))] = (Last created unit)
Unit - Turn collision for MB_Dummy_Damage[(Custom value of (Picked unit))] Off
Unit - Add a 1.25 second Generic expiration timer to MB_Dummy_Damage[(Custom value of (Picked unit))]
Unit - Add MB Damage Dealing to MB_Dummy_Damage[(Custom value of (Picked unit))]
Unit - Set level of MB Damage Dealing for MB_Dummy_Damage[(Custom value of (Picked unit))] to MB_Level[(Custom value of (Picked unit))]
Unit - Order MB_Dummy_Damage[(Custom value of (Picked unit))] to Orc Tauren Chieftain - War Stomp
( Tạo 1 Dummy và chó nó dùng War Stomp tại vị trí của MB_Dummy_Blade đang đứng để gây dame )
Special Effect - Create a special effect at (Position of MB_Dummy_Blade[(Custom value of (Picked unit))]) using Abilities\Weapons\PhoenixMissile\Phoenix_Missile.mdl
Special Effect - Destroy (Last created special effect)
Special Effect - Create a special effect at (Position of MB_Dummy_Damage[(Custom value of (Picked unit))]) using Abilities\Spells\Undead\DeathandDecay\DeathandDecayTarget.mdl
Special Effect - Destroy (Last created special effect)
Special Effect - Create a special effect at (Position of MB_Dummy_Damage[(Custom value of (Picked unit))]) using Abilities\Spells\Undead\DeathandDecay\DeathandDecayDamage.mdl
Special Effect - Destroy (Last created special effect)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
MB_Int[(Custom value of (Picked unit))] Equal to 100 / Khi MB_Int = 100 thì dừng trigger này
Then - Actions
Unit - Unhide MB_Caster[(Custom value of (Picked unit))] / Không ẩn caster nưa
Special Effect - Create a special effect at (Position of MB_Caster[(Custom value of (Picked unit))]) using FireNova2.mdx
Special Effect - Destroy (Last created special effect)
Unit Group - Remove (Picked unit) from MB_Group / Xóa Picked unit khỏi Group
Unit - Remove (Picked unit) from the game / Xóa Picked unit khỏi game
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Number of units in MB_Group) Equal to 0
Then - Actions
Trigger - Turn off (This trigger)
Else - Actions

Skill 2: Phoenix Strike

PHP:
 Phoenix Strike Cast
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Phoenix Strike
Actions
Set PS_MUI = (PS_MUI + 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PS_MUI Greater than or equal to 500
Then - Actions
Set PS_MUI = 0
Else - Actions
Set PS_Caster[PS_MUI] = (Casting unit)
Unit - Hide PS_Caster[PS_MUI]
Set PS_Select_Group[PS_MUI] = (Units currently selected by (Owner of PS_Caster[PS_MUI]))
Set PS_Distance[PS_MUI] = 0.00
Set PS_Level[PS_MUI] = (Integer((Real((Level of Phoenix Strike for MB_Caster[PS_MUI])))))
Set PS_Real_1[PS_MUI] = ((Facing of PS_Caster[PS_MUI]) + 25.00)
Set PS_Real_2[PS_MUI] = ((Facing of PS_Caster[PS_MUI]) + 335.00)
Unit - Create 1 Phoenix Dummy for (Owner of PS_Caster[PS_MUI]) at ((Position of PS_Caster[PS_MUI]) offset by PS_Distance[PS_MUI] towards PS_Real_1[PS_MUI] degrees) facing Default building facing degrees
Set PS_Dummy_1[PS_MUI] = (Last created unit)
Unit - Add a 1.00 second Generic expiration timer to PS_Dummy_1[PS_MUI]
Unit - Create 1 Phoenix Dummy for (Owner of PS_Caster[PS_MUI]) at ((Position of PS_Caster[PS_MUI]) offset by PS_Distance[PS_MUI] towards PS_Real_2[PS_MUI] degrees) facing Default building facing degrees
Set PS_Dummy_2[PS_MUI] = (Last created unit)
Unit - Add a 1.00 second Generic expiration timer to PS_Dummy_2[PS_MUI]
Unit - Create 1 Dummy for (Owner of PS_Caster[PS_MUI]) at ((Position of PS_Caster[PS_MUI]) offset by 0.00 towards 0.00 degrees) facing Default building facing degrees
Unit Group - Add (Last created unit) to PS_Group
Unit - Set the custom value of (Last created unit) to PS_MUI
Set PS_Add_Or_Sub[PS_MUI] = 30
Special Effect - Create a special effect at (Position of PS_Caster[PS_MUI]) using FireNova2.mdx
Special Effect - Destroy (Last created special effect)
Trigger - Turn on Phoenix Strike Loop <gen>

PHP:
Phoenix Strike Loop
Events
Time - Every 0.05 seconds of game time
Conditions
Actions
Unit Group - Pick every unit in PS_Group and do (Actions)
Loop - Actions
Set PS_Custom_Int = (Custom value of (Picked unit))
Set PS_Distance[PS_Custom_Int] = (PS_Distance[PS_Custom_Int] + 50.00)
Unit - Move PS_Dummy_1[PS_Custom_Int] instantly to ((Position of PS_Dummy_1[PS_Custom_Int]) offset by 50.00 towards PS_Real_1[PS_Custom_Int] degrees)
Unit - Make PS_Dummy_1[PS_Custom_Int] face PS_Real_1[PS_Custom_Int] over 0.00 seconds
Unit - Move PS_Dummy_2[PS_Custom_Int] instantly to ((Position of PS_Dummy_2[PS_Custom_Int]) offset by 50.00 towards PS_Real_2[PS_Custom_Int] degrees)
Unit - Make PS_Dummy_2[PS_Custom_Int] face PS_Real_2[PS_Custom_Int] over 0.00 seconds
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PS_Distance[PS_Custom_Int] Greater than or equal to 400.00
Then - Actions
Set PS_Real_Gan = PS_Real_1[PS_Custom_Int]
Set PS_Real_1[PS_Custom_Int] = PS_Real_2[PS_Custom_Int]
Set PS_Real_2[PS_Custom_Int] = PS_Real_Gan
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PS_Distance[PS_Custom_Int] Greater than or equal to 900.00
Then - Actions
Unit Group - Remove (Picked unit) from PS_Group
Unit - Remove PS_Dummy_1[PS_Custom_Int] from the game
Unit - Remove PS_Dummy_2[PS_Custom_Int] from the game
Unit - Unhide PS_Caster[PS_Custom_Int]
Unit - Move PS_Caster[PS_Custom_Int] instantly to ((Position of PS_Caster[PS_Custom_Int]) offset by 800.00 towards (Facing of PS_Caster[PS_Custom_Int]) degrees)
Special Effect - Create a special effect at (Position of PS_Caster[PS_MUI]) using FireNova2.mdx
Special Effect - Destroy (Last created special effect)
Selection - Select PS_Select_Group[PS_Custom_Int] for (Owner of PS_Caster[PS_Custom_Int])
Unit - Remove (Picked unit) from the game
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Number of units in PS_Group) Equal to 0
Then - Actions
Trigger - Turn off (This trigger)
Else - Actions

Ảnh minh họa skill 1: spells_4306_screenshot.jpg

Download http://dl.hiveworkshop.com/52b11e32fb64105f2274bdee930f7b43/4f095f33/5/spells_4306/BladeMaster.w3x
 
Chỉnh sửa cuối:
e cần vài skill đơn giản nhưng trình độ còn kém quá .Mấy a có ai rãnh làm giúp vài skill :D:D:D:D

---------- Post added at 19:21 ---------- Previous post was at 19:13 ----------

Nếu giúp dc cho xin cái email z
 
e cần vài skill đơn giản nhưng trình độ còn kém quá .Mấy a có ai rãnh làm giúp vài skill :D:D:D:D

---------- Post added at 19:21 ---------- Previous post was at 19:13 ----------

Nếu giúp dc cho xin cái email z

[email protected] nếu giúp đc a giúp cho
 
Các bác zúp e spell này nha. khi hero học 1 spell thì tất cả các unit enemy khi ATK vào hero mà nằm ngoài 500 AoE thì 100% miss khi Atk hero đó. Thanks các bác :)
 
Các bác zúp e spell này nha. khi hero học 1 spell thì tất cả các unit enemy khi ATK vào hero mà nằm ngoài 500 AoE thì 100% miss khi Atk hero đó. Thanks các bác :)

Tớ chỉ gợi ý thôi nhé, không có demo vì không có time.
Trigger 1: khi hero learn skill thì set hero = LearnedHero.
Trigger 2: mỗi x giây, pick every unit within 1000 range of (position of LearnedHero). Check nếu vị trí picked unit và LearnedHero nhỏ lớn hơn 500 thì tạo 1 dummy cast Drunken Haze vào picked unit, còn nếu nhỏ hơn 500 thì remove buff Drunken Haze đi.
Chúc bạn thành công :)
 
unit enemy khi ATK vào hero mà nằm ngoài 500 AoE thì 100% miss khi Atk hero đó

LeoNguyen mà làm thế thì mấy thằng trong range từ 1000 đến 500 khỏi đánh nhau à :)) Bạn ấy chỉ cần attack hero đó mới miss mà thôi.
Còn thực sự cái này khó à nha. Mình ko nghĩ là với GUI có thể làm 1 spell như thế. Còn jass thì chuyện đó ko phải ko thể nhưng cũng ko dễ bạn à!
 
Theo mình biết thì cái đó chỉ có thể dùng JASS bắt sự kiện unit mất máu rồi nếu người tấn công ở trong 500 AoE thì hồi lại cho bản thân 1 lượng máu bằng lượng máu đó (hoặc hồi trước nếu máu hiện tại thấp hơn lượng sát thương gây ra để ko bị đột tử) để giả vờ miss
lâu rồi mình ko làm nên ko nhớ rõ chi tiết :D
 
Chỉnh sửa cuối:
Các bác zúp e spell này nha. khi hero học 1 spell thì tất cả các unit enemy khi ATK vào hero mà nằm ngoài 500 AoE thì 100% miss khi Atk hero đó. Thanks các bác :)
Theo mình bạn nên làm thế này.
Event : Unit is attacked
Codition : Level of ability (Tên ability) grather than 0
Action : If (Dítance from attacked to attacking) grather than 500 then
Then Action: Create 1 dummy at attacking and cát drunken haze ( skill này chỉnh 100 % đánh miss, không làm unit move slow )
 
Cảm ơn các bác đã zup' đỡ thú thật e là newbie nên chưa rành về cách làm spell chỉ mới bik cách làm spell khi hero dùng spell này thì summon 1 e dummy cast spell thứ 2 hoặc % tỷ lệ thì cast spell khi hero đánh/bị đánh đó là tất cả những gì e bik hiện h` :(. xin các bác cho e các spell "bài tập" từ đơn giản --> trung bình để e "ôn" :P
 
Cho hỏi nếu mình dùng 1 biến Globals để sử dụng cho việc GroupEnumUnitsInRange ví dụ
globals
group Group_tmp = CreateGroup()
endglobals
thì sau khi xài xong mình có cần destroy group, set Group_tmp trở về null, ròi lần dùng sau lại set Group_tmp=CreateGroup() ko? Hay cứ giữ nguyên ấy lần sau chỉ GroupEnumUnitsInRange thì nó sẽ tự hủy giá trị của Group_tmp lần trước?
 
Cho hỏi nếu mình dùng 1 biến Globals để sử dụng cho việc GroupEnumUnitsInRange ví dụ

thì sau khi xài xong mình có cần destroy group, set Group_tmp trở về null, ròi lần dùng sau lại set Group_tmp=CreateGroup() ko? Hay cứ giữ nguyên ấy lần sau chỉ GroupEnumUnitsInRange thì nó sẽ tự hủy giá trị của Group_tmp lần trước?

bị destroy set = null thì nó đã là null rồi lần sau nhớ set Group_tmp = CreateGroup() là được.
 
Cho hỏi nếu mình dùng 1 biến Globals để sử dụng cho việc GroupEnumUnitsInRange ví dụ

thì sau khi xài xong mình có cần destroy group, set Group_tmp trở về null, ròi lần dùng sau lại set Group_tmp=CreateGroup() ko? Hay cứ giữ nguyên ấy lần sau chỉ GroupEnumUnitsInRange thì nó sẽ tự hủy giá trị của Group_tmp lần trước?

Cách dùng mà bạn muốn sẽ như sau:
Mã:
globals
group Group_tmp = CreateGroup()
endglobals

Dùng với các func native GroupEnumUnits.....(group, ....., filter)
Xử lý ngay trong trigger đó và ko có wait.
Rồi cứ thế mà dùng.

Sau khi dùng lại func native GroupEnumUnits.....(group, ....., filter) thì các unit trước trong group sẽ mất đi và thay bằng các unit mới lọc được
Vì vậy chả cần làm gì khác cả ngoài lưu ý là Xử lý ngay trong trigger đó và ko có wait.
 
@dh-g: ý hỏi là có cần thiết phải destroy, set = null ko hay là cứ để xài lại cái group đã CreateGroup() ban đầu để nó tự lọc lại thành nhóm khác ấy :D
@vuongkkk: có wait là có gì vậy bạn T_T
 
Wait hoặc PolledWait đều ko được !
Đấy là câu lệnh nó làm trigger trễ lại 1 khoảng thời gian trước khi xử lý nốt các lệnh bên dưới câu lệnh này.
Như vậy là cái xử lý bị kéo dài. Trong khoảng thời gian nó chưa xử lý xong mà có trigger khác cũng xử lý cái biến này thì đó là tình trạnh ghi đè và mất dữ liệu.
Tức là ko có wait ở giữa việc xử lý biến temp là được. Còn cách dùng đã nêu trên, ko thắc mắc nữa chứ ????

Ngoài group, các biến khác cũng có thể dùng kiểu tương tự vậy. Đó là ý nghĩa của Temp (tạm thời) tức ko xử lý về lâu dài

à quên chưa nói. Mấy cái này chính xác là lạc đề topic rồi đấy, sau post bên Hỏi đáp nhé :D Topic huyền thoại với lịch sử lâu đời thuộc hạng nhất trên gamevn đấy ;)
 
Chỉnh sửa cuối:
Đã post reply bên topic kia :D.
Mình hỏi cái, giả sử tạo 1 Custom Spell ví dụ khi Unit A dùng skill X, đếm số Unit 800 range quanh A là Hero, rồi gây 200 dam * số Hero đã đếm lên các hero đó. Mình dùng nhóm tạm để lọc Unit quanh A
Code của mình sẽ đại loại là:
Mã:
globals
 group tmpG=CreateGroup()
endglobals


function Fil takes nothing returns boolean
 if IsUnitType(GetFilterUnit(),UNIT_TYPE_HERO) then
  set bj_groupCountUnits=bj_groupCountUnits+1
  return true
 endif
  return false
endfunction

function DealDam takes nothing  returns nothing
 call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), 200*bj_groupCountUnits, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
endfunction


function Action takes nothing returns nothing
 set bj_groupCountUnits = 0
 call GroupEnumUnitsInRange(tmpG, GetUnitX(GetSpellAbilityUnit()),GetUnitY(GetSpellAbilityUnit()),800,Filter(function Fil))
 call ForGroup(tmpG,function DealDam)
endfunction 

function Cond takes nothing returns boolean
 return GetSpellAbilityId()== ID_CUA_SKILL_X
endfunction


function KhoiDau takes nothing returns nothing
 local trigger trig = CreateTrigger( )
 call TriggerRegisterAnyUnitEventBJ( trig, EVENT_PLAYER_UNIT_SPELL_FINISH )
 call TriggerAddCondition( trig, Condition( function Cond ) )
 call TriggerAddAction( trig, function Action )
endfunction
Vậy có bị leak gì ko.
Và nếu trong 1 trigger khác (ví dụ 1 skill Y khác), mình cũng dùng group tmpG với công dụng tương tự vậy, thì có khả năng nào cả 2 trigger cùng thực hiện 1 lúc (2 cái lệnh GroupEnumUnitsInRange xài cực kỳ gần nhau) thì có làm cho tmpG bị ghi đè lộn xộn ko?
 
Ko leak cũng ko có ghi đè! Tớ đã nói cách dùng cũng như giải thích ở trên rồi đó mà.
Nếu cậu muốn chắc ăn sao ko thử đi cho biết :-? nói thế nhưng tớ cũng reply lại cái post bên đấy của cậu rồi đấy :))
 
Hôm nay, ngay bây giờ, trong bài viết này, em muốn nói một vài điều. Em thực sự không hiểu tại sao em và những người khác bỏ công ra viết tut, giới thiệu spell, giải thích cặn kẽ, suy nghĩ ra những ý tưởng làm spell, ngồi dịch từng từ tiếng anh, chụp từng tấm ảnh, chỉ mong các bác, các bạn xem, đọc, bình luận, post những thành quả của mình, hay đóng góp cho topic. Nhưng kết quả là topic của ai người đấy post, 1 mình 1 chốn, tự biên tự diễn, nhiều khi giống như đang tự kỷ, viết bài ra mà không ai hưởng ứng, Giải thích cặn kẽ mà không ai thèm ngó ngàng tới, có khi chỉ xem cái code, rồi làm theo, hay down map demo về, coppy vào map của mình, làm như vậy không ai cấm cả, và cũng không phải là không hiểu, nhìn riết rồi cũng hiểu, làm riết rồi cũng quen, nhưng mấy ai hiểu được cả 1 cái công dụng to lớn của nó? hay là chỉ biết cái spell đó là dùng cái cách đó, cái code đó. Các bác (bạn) thực sự không áp dụng được nó, để xây dựng spell (hay 1 cái gì đó, như 1 system chẳng hạn). Các bác (bạn) đòi hỏi làm tut, nhưng các bác (bạn) có bao giờ nghĩ chúng tôi viết tut đâu có dễ dàng gì, cũng như viết xong thì các bác (bạn) cũng biết nhiêu đó, làm đúng nhiêu đó mà các bác (bạn) không đóng góp những sản phẩm mình làm ra, sáng tạo từ tut cơ bản không viết tut làm sao để làm cái đó, vậy người viết tut sẽ nghĩ như thế nào? Họ thì viết tut, còn các bác (bạn) thì "nhận lấy" nó mà không biết cho đi. Các bác (bạn) biết 1 cái gì đó mới, lạ, nhưng các bác (bạn) cứ giữ khư khư, và làm như kiểu cái này chỉ có mình biết, việc gì phải chia sẻ với ai. Các bác (bạn) có thấy mình ích kỉ? Nhưng còn những lí do khách quan, theo em là các bác (bạn) ngại bị chê bai. Vì em đã tham gia box này cũng được 1 thời gian, nên em có thể thấy và nói cho các bác (bạn) là những mem trong box WE này, đều là những người rất lịch sự, và biết giúp đỡ người khác. Cho nên em tin là họ sẽ KHÔNG BAO GIỜ chê bai ai cả. Họ tôn trọng các bác (bạn), họ muốn chia sẻ những kiến thức về WE mà họ biết cho các bác (bạn). Cho nên họ mới viết tut, họ muốn các bác (bạn) có thể tự làm ra những "sản phẩm" đẹp và chia sẻ lên diễn đàn, muốn các bác (bạn) không phụ thuộc quá vào họ, nhưng họ đã phải thất vọng. Như đã nói, em tham gia box này được gần 2 năm (kể từ khi đăng kí), nhưng có 1 thời gian vì mắc sai phạm nên đã bị anh Tom cho ăn thẻ, 1 thời gian không post bài trên diễn đàn, nhưng em vẫn luôn theo dõi, và thấy được rằng các bác (bạn) đến đây, học hỏi, sau khi đã học hết những gì các bác (bạn) cần, thì đa số đã bỏ đi khỏi box này, có khi không vào lại diễn đàn này nữa. Cho nên new mem ở box thì càng nhiều, nhưng người có kinh nghiệm và kiến thức thì còn được bao nhiêu? Đó là do các bác (bạn), các bạn chỉ biết đòi hỏi, sau khi đạt được cái những gì mình muốn thì các bác (bạn) "im lìm". Thực ra, ở đây, em và có thể là rất nhiều mem ở box này không cần bạn cảm ơn, mà cần các bạn đóng góp lại cho box, cho topic, để người khác thấy các bạn biết nhận lấy và cũng biết cho đi. Và tất cả những điều trên cũng là nguyên nhân làm những người hướng dẫn, viết tut trở nên lười, không mặn mà gì với việc hướng dẫn nữa. Ngoài ra, theo em thấy thì các topic project hay map mới đều rất được quan tâm, lúc nào cũng trên cao "chót vót", còn các topic hướng dẫn thì cứ chìm dần rồi đi vào quên lãng. Thậm chí khi anh Tom đã tick những topic đáng chú ý, có ích cho người mới làm map mà cũng có ai thèm đọc đâu, cứ vào topic hỏi đáp hỏi những câu hỏi đã được hỏi và trả lời hàng trăm lần hoặc đã có tut hướng dẫn kĩ càng. Hoặc đã có topic hỏi đáp rồi mà không chịu vào hỏi, lại lập thêm topic, không ai trả lời lại thắc mắc. Em biết các bác (bạn) mới tham gia box, nhưng cũng phải để ý tí chứ, dành thời gian tìm kiếm trước khi hỏi, và như vậy có khi các bác (bạn) còn tìm được câu trả lời sớm hơn.
Còn về topic này, em cảm thấy topic đang và sắp rơi vào tình trạng như topic hướng dẫn làm model, effect rồi. Có thể model effect các bác (bạn) không làm được vì không biết nhiều về đồ họa, không khéo léo hay gì gì đó. Nhưng làm spell thì đâu có yêu cầu gì cao siêu đâu ? Mà em đâu có ghi trong #1 là các bác không được post spell đơn giản và xấu đâu ? Hay là việc này đối với các bác (bạn) thật là khó? Và cuối cùng em xin hỏi là em lập cái topic này ra để làm gì trong khi các bác (bạn) không tích cực tham gia mà chỉ có bác Leo, bác WE? Ngay cả khi em cung cấp ý tưởng, mà để cả tuần không thấy ai tham gia, nó khó đến thế à? em còn đặt ra câu hỏi khi hướng giải thích spell, nhưng có ai trả lời ? em chỉ muốn các bác (bạn), tham gia trả lời để hiểu hơn về spell thôi mà.
Cuối cùng em mong các bác (bạn) sẽ tham gia box nhiệt tình hơn, biết cho đi nhiều hơn, và biết trao đổi với nhau chứ không phải chỉ hỏi và trả lời (đừng bao giờ đánh đồng việc trao đổi với hỏi và đáp). Mấy ngày nay em thấy bên box dota có 1 topic Quiz rất hay, có lẽ chúng ta cũng nên làm như vậy.
Những điều trên đây dù gì cũng là ý kiến chủ quan của em nên cũng không hoàn toàn là như vậy, chỉ là em muốn nói ra những suy nghĩ của mình thôi, mong mọi người hiểu cho. Và vì em nhỏ tuồi nên xin gọi bằng bác (gọi bằng anh cứ thế nào ấy, nói chung là cũng như nhau cả).
em tham gia topic lâu rồi nhưng do trình độ còn kém, chưa làm dc spell nào ra hồn, chưa có trình độ đánh giá spell của người khác nhưng em hiểu công sức của mấy anh, hiểu dc niềm vui khi làm dc 1 spell hay, khi làm dc bài tut có ích. ko cần dài dòng nữa em chỉ mong mấy anh tiếp tục giúp đỡ mấy con gà như em học về WE...
thanks cho những bài viết bổ ích:)
 
Cho mình hỏi làm spell aura. khi học spell aura rùi thì all unit enemy trong phạm vi 1000 AoE sẽ bị giảm máu từ từ ? Thanks các bác
 
Back
Top