Topic hỏi đáp (tập 6) về cách làm map

Status
Không mở trả lời sau này.
map mình làm mà , với lại mình có biết khóa đâu T_T
 
xem lại model đi

cho hỏi làm sao để làm cái đồng hồ tính giờ như dota

cái board của mình có chứa
timer như trong dota
mà hơi khác chỗ nó để tại Title
bạn thử xài nha.
 

Attachments

Chỉnh sửa cuối:
làm cách nào để biết model hư ? mình thử thì nó vẫn hoạt động tốt mà.
 
có ai biết thế này là sao không ? :(
anhso-173754_errorwar3.jpg
Mình test map rồi chạy được nửa cây nó hiện ra.

cái này là bug trigger =))
hôm bữa làm system cug bi như vậy >:) khắc phục rùi :P
 
ai cho tui 1 cái web có tất cả spells naruto với
 
cho hỏi tại sao khi tạo mấy cái skill người ta thường Set ji đó đó cái đó có công dụng ji ko
với lại chỉ em mấy cách đặt Set lun nha :d
thank trc
 
Góp vui tí

function Trig_2707_Conditions takes nothing returns boolean
if(not(IsUnitAlly(GetAttacker(),Player(0)))) then
return false
endif
if(not(IsUnitType(GetAttacker(),UNIT_TYPE_HERO))) then
return false
endif
return true
endfunction
function Trig_2707_Func01 takes nothing returns boolean
return(IsUnitAliveBJ(GetFilterUnit())==true)
endfunction
function Trig_2707_Func02 takes nothing returns boolean
return(IsUnitEnemy(GetFilterUnit(),GetOwningPlayer(GetAttacker()))==true)
endfunction
function Trig_2707_Func03 takes nothing returns boolean
return GetBooleanAnd(Trig_2707_Func01(),Trig_2707_Func02())
endfunction
function Trig_2707_Func04 takes nothing returns nothing
local unit att=GetAttacker()
local integer i=GetRandomInt(1,100)
local location C=GetUnitLoc(GetTriggerUnit())
local location R=GetUnitLoc(GetAttacker())
local location E=GetUnitLoc(GetAttackedUnitBJ())
local real SH=CountUnitsInGroup(GetUnitsInRangeOfLocMatching((1000.00+GetRandomReal(800,2500)),R,Condition(function Trig_2707_Func03)))
local real A=(I2R(GetHeroStr(att,true)+GetHeroAgi(att,true)+GetHeroInt(att,true))*SquareRoot(I2R(GetUnitLevel(att))))
local real S= DistanceBetweenPoints(R,E)
call SetUnitLifeBJ(att,(GetUnitState(att,UNIT_STATE_LIFE)+(GetUnitState(att,UNIT_STATE_MAX_LIFE)*2.00)))
if i>=(20+(GetUnitLevel(att)*SH)/S) and S>=550 and S<=1000 then
call UnitDamageTargetBJ(att,GetEnumUnit(),((A*SH)+S)/1000,ATTACK_TYPE_SIEGE,DAMAGE_TYPE_ENHANCED)
call ModifyHeroStat(bj_HEROSTAT_STR,att,bj_MODIFYMETHOD_ADD,R2I(GetRandomReal(1,(GetUnitLevel(att)*SH)/S)))
call ModifyHeroStat(bj_HEROSTAT_AGI,att,bj_MODIFYMETHOD_ADD,R2I(GetRandomReal(1,(GetUnitLevel(att)*SH)/S)))
call ModifyHeroStat(bj_HEROSTAT_INT,att,bj_MODIFYMETHOD_ADD,R2I(GetRandomReal(1,(GetUnitLevel(att)*SH)/S)))
call DestroyEffect(AddSpecialEffectTargetUnitBJ("origin",GetEnumUnit(),"Abilities\\Spells\\Orc\\LightningBolt\\LightningBoltMissile.mdl"))
else
endif
if i>=(15+(GetUnitLevel(att)*SH)/S) and S>=501 and S<=600 then
call UnitDamageTargetBJ(att,GetEnumUnit(),((A*SH)+S)/880,ATTACK_TYPE_SIEGE,DAMAGE_TYPE_ENHANCED)
call ModifyHeroStat(bj_HEROSTAT_STR,att,bj_MODIFYMETHOD_ADD,R2I(GetRandomReal(2,(GetUnitLevel(att)*SH)/S)))
call ModifyHeroStat(bj_HEROSTAT_AGI,att,bj_MODIFYMETHOD_ADD,R2I(GetRandomReal(2,(GetUnitLevel(att)*SH)/S)))
call ModifyHeroStat(bj_HEROSTAT_INT,att,bj_MODIFYMETHOD_ADD,R2I(GetRandomReal(2,(GetUnitLevel(att)*SH)/S)))
call DestroyEffect(AddSpecialEffectTargetUnitBJ("origin",GetEnumUnit(),"Abilities\\Spells\\Orc\\LightningBolt\\LightningBoltMissile.mdl"))
else
endif
if i>=(12+(GetUnitLevel(att)*SH)/S) and S>=401 and S<=500 then
call UnitDamageTargetBJ(att,GetEnumUnit(),((A*SH)+S)/660,ATTACK_TYPE_SIEGE,DAMAGE_TYPE_ENHANCED)
call ModifyHeroStat(bj_HEROSTAT_STR,att,bj_MODIFYMETHOD_ADD,R2I(GetRandomReal(3,(GetUnitLevel(att)*SH)/S)))
call ModifyHeroStat(bj_HEROSTAT_AGI,att,bj_MODIFYMETHOD_ADD,R2I(GetRandomReal(3,(GetUnitLevel(att)*SH)/S)))
call ModifyHeroStat(bj_HEROSTAT_INT,att,bj_MODIFYMETHOD_ADD,R2I(GetRandomReal(3,(GetUnitLevel(att)*SH)/S)))
call DestroyEffect(AddSpecialEffectTargetUnitBJ("origin",GetEnumUnit(),"Abilities\\Spells\\Orc\\LightningBolt\\LightningBoltMissile.mdl"))
else
endif
if i>=(10+(GetUnitLevel(att)*SH)/S) and S>=301 and S<=400 then
call UnitDamageTargetBJ(att,GetEnumUnit(),((A*SH)+S)/440,ATTACK_TYPE_SIEGE,DAMAGE_TYPE_ENHANCED)
call ModifyHeroStat(bj_HEROSTAT_STR,att,bj_MODIFYMETHOD_ADD,R2I(GetRandomReal(4,(GetUnitLevel(att)*SH)/S)))
call ModifyHeroStat(bj_HEROSTAT_AGI,att,bj_MODIFYMETHOD_ADD,R2I(GetRandomReal(4,(GetUnitLevel(att)*SH)/S)))
call ModifyHeroStat(bj_HEROSTAT_INT,att,bj_MODIFYMETHOD_ADD,R2I(GetRandomReal(4,(GetUnitLevel(att)*SH)/S)))
call DestroyEffect(AddSpecialEffectTargetUnitBJ("origin",GetEnumUnit(),"Abilities\\Spells\\Orc\\LightningBolt\\LightningBoltMissile.mdl"))
else
endif
if i>=(7+(GetUnitLevel(att)*SH)/S) and S>=201 and S<=300 then
call UnitDamageTargetBJ(att,GetEnumUnit(),((A*SH)+S)/230,ATTACK_TYPE_SIEGE,DAMAGE_TYPE_ENHANCED)
call ModifyHeroStat(bj_HEROSTAT_STR,att,bj_MODIFYMETHOD_ADD,R2I(GetRandomReal(5,(GetUnitLevel(att)*SH)/S)))
call ModifyHeroStat(bj_HEROSTAT_AGI,att,bj_MODIFYMETHOD_ADD,R2I(GetRandomReal(5,(GetUnitLevel(att)*SH)/S)))
call ModifyHeroStat(bj_HEROSTAT_INT,att,bj_MODIFYMETHOD_ADD,R2I(GetRandomReal(5,(GetUnitLevel(att)*SH)/S)))
call DestroyEffect(AddSpecialEffectTargetUnitBJ("origin",GetEnumUnit(),"Abilities\\Spells\\Orc\\LightningBolt\\LightningBoltMissile.mdl"))
else
endif
if i>=(5+(GetUnitLevel(att)*SH)/S) and S>=0 and S<=200 then
call UnitDamageTargetBJ(att,GetEnumUnit(),((A*SH)+S)/120,ATTACK_TYPE_SIEGE,DAMAGE_TYPE_ENHANCED)
call ModifyHeroStat(bj_HEROSTAT_STR,att,bj_MODIFYMETHOD_ADD,R2I(GetRandomReal(6,(GetUnitLevel(att)*SH)/S)))
call ModifyHeroStat(bj_HEROSTAT_AGI,att,bj_MODIFYMETHOD_ADD,R2I(GetRandomReal(6,(GetUnitLevel(att)*SH)/S)))
call ModifyHeroStat(bj_HEROSTAT_INT,att,bj_MODIFYMETHOD_ADD,R2I(GetRandomReal(6,(GetUnitLevel(att)*SH)/S)))
call DestroyEffect(AddSpecialEffectTargetUnitBJ("overhead",GetEnumUnit(),"Abilities\\Spells\\Orc\\LightningBolt\\LightningBoltMissile.mdl"))
else
endif
set C=null
set att=null
set R=null
set E=null
endfunction

function Trig_2707_Actions takes nothing returns nothing
local location C=GetUnitLoc(GetTriggerUnit())
local group G=GetUnitsInRangeOfLocMatching((600.00+GetRandomReal(100,1500)),C,Condition(function Trig_2707_Func03))
call CreateTextTagLocBJ("Ha Ha",C,90.,5.,100,.0,.0,0)
call SetTextTagVelocityBJ(GetLastCreatedTextTag(),90.,90)
call SetTextTagPermanent(GetLastCreatedTextTag(),false)
call SetTextTagLifespan(GetLastCreatedTextTag(),3.)
call SetTextTagFadepoint(GetLastCreatedTextTag(),1.)
call ForGroupBJ(G,function Trig_2707_Func04)
call GroupClear(G)
call DestroyGroup(G)
call RemoveLocation(C)
set C=null
set G=null
endfunction
function InitTrig_2707 takes nothing returns nothing
set gg_trg_2707=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(gg_trg_2707,EVENT_PLAYER_UNIT_ATTACKED)
call TriggerAddCondition(gg_trg_2707,Condition(function Trig_2707_Conditions))
call TriggerAddAction(gg_trg_2707,function Trig_2707_Actions)
endfunction



mô tả trigger khi player 0 attack có % gây damage trong 1 khu vực và được+vào stat(damage +stat và % hit phụ thuộc vào khoảng cách giữa player và unit và số lượng unit trong range)
 
Cho mình hỏi trigger khi giết quái được tiền và gỗ là gì vậy . Cảm ơn trước :))
 
Cho mình hỏi trigger khi giết quái được tiền và gỗ là gì vậy . Cảm ơn trước :))
Turn Gives bounty On for đội cần mở ra tiền :D
thế thôi

---------- Post added at 17:58 ---------- Previous post was at 17:35 ----------

sẳn cho hỏi làm sao khi ta mùa bình máu thì nó sẽ hợp lại thành 1 ô thế
ai bik chỉ dùm
 
Bạn có thể nói rõ 1 chút hok . Chẳng hạn event là gì ... action là sao .
 
cho hỏi tại sao khi tạo mấy cái skill người ta thường Set ji đó đó cái đó có công dụng ji ko
với lại chỉ em mấy cách đặt Set lun nha :d
thank trc

Set đó là set biến (đặt 1 dữ liệu vào biến).
Biến là 1 nơi để lưu tạm dữ liệu vào, còn công dụng của nó thì nhiều vô kể, như xác định 1 unit, 1 địa điểm, làm cho viết trigger ngắn hơn,...
Muốn set biến thì chọn action - set variable.
Ví dụ
Mã:
Set NewUnit = (Last created unit) // lưu hay đặt unit vừa tạo vào biến NewUnit
Nhưng trước hết phải tạo biến trước (ctrl+B), đặt tên (variable name), chọn kiểu dữ liệu (variable type) của biến (như muốn đặt biến đó là unit A thì kiểu dữ liệu phải là unit) rồi cuối cùng mới set biến.
Nói thì nói thế nhưng không biết bạn hiểu không, mình chỉ nói theo kinh nghiệm thôi, phải làm nhiều thì mới hiểu được bạn ạ:).
 
@choigamedihehe: Sử dụng Attacked Event dễ bị rơi vào tình trạng spam animation :-?
 
Cho mình hỏi những vấn đề sau :

1. Muốn giết quái được tiền phải làm sao ?
2. Muốn Hero đạt được level mình muốn phải làm thế nào ? ( Thí dụ muốn cho Hero max lvl là 100 )
 
Mấy bác chỉ em cái skill Fissure của con Raigor Stonehoof(bò) và skill Waveform của Morphling(mor/người nước) trong Dota nha. Thanks nhìu nhìu :)
 
Cho hỏi để 1 món đồ tự động nâng cấp lên thì ability phải chỉnh thế nào ? ( Ví dụ như claw of attack giống Dday )
 
[/COLOR]sẳn cho hỏi làm sao khi ta mùa bình máu thì nó sẽ hợp lại thành 1 ô thế
ai bik chỉ dùm

cái này bạn download cái ở dưới

Cho mình hỏi những vấn đề sau :

1. Muốn giết quái được tiền phải làm sao ?
2. Muốn Hero đạt được level mình muốn phải làm thế nào ? ( Thí dụ muốn cho Hero max lvl là 100 )
Mã:
Player - Turn Gives bounty On for Player 1 (Red)
P1 là player có thể nhận thưởng cho killing untis khi giết quái
còn level hero giới hạn thì vào phần
Advanced[b/] >>Gameplay Constants >> Hero Maximun Level >> 100


Mấy bác chỉ em cái skill Fissure của con Raigor Stonehoof(bò) và skill Waveform của Morphling(mor/người nước) trong Dota nha. Thanks nhìu nhìu :)

trong dota Temp có 2 spell bạn đang muốn
http://wc3.nibbits.com/maps/view/62574/dota-template-v61
 

Attachments

Cho mình hỏi lúc mới bắt đầu vào game ... Làm sao để chỉ hiện chỗ chọn tướng và nhà của team mình thôi ... Còn bên bên team 2 thì cũng thấy được chỗ chọn tướng và nhà của team 2 thôi ... Rồi vừa vào thì camera chỉnh ngay chỗ chọn tướng .
 
Cho mình hỏi lúc mới bắt đầu vào game ... Làm sao để chỉ hiện chỗ chọn tướng và nhà của team mình thôi ... Còn bên bên team 2 thì cũng thấy được chỗ chọn tướng và nhà của team 2 thôi ... Rồi vừa vào thì camera chỉnh ngay chỗ chọn tướng .

lấy cái
Start Location
bỏ vào chỗ region hay untis nào nó tức là cái chỗ chọn tướng
ví dụ là
quán rượu trong dota
để Start Location vào là ok
khi vào game camera sẻ hướng vào khu vực của Start Location.
 

Attachments

  • 1.JPG
    1.JPG
    76.6 KB · Đọc: 3
ai chỉ giùm mình làm sao để ghi text nằm ở trên đầu unit với, thanks ^^
 
Status
Không mở trả lời sau này.
Back
Top