Cách sử dụng script macro căn bản

Ko có acc TK để test nhưng với Thuần Dương thì lúc mình đánh Lục hợp độc tôn cũng là skill over time thì nó đợi đánh xong nó mới đánh skill khác :5cool_big_smile: có thể TK lại có gì đặc biệt hơn chăng :2cool_burn_joss_sti

Lục hợp thì khi hết quái bạn có thể di chuyển để ngắt skill mà :2cool_burn_joss_sti
 
có trò vui nè

1- tạo 1 file functions.lua trong HM\src
2- cho đoạn code này vào và save lại
Mã:
function checkbuff(target, buffID)
buffed = false
for z,x in pairs(target.GetBuffList()) do
	if x.dwID == buffID then
		buffed = true
	end
end
return buffed
end

function buffstack(target, buffID)
stack=0
	for z,x in pairs(target.GetBuffList()) do
		if x.dwID == buffID then
			stack = x.nStackNum
		end
	end
	return stack
end

function checkcd(target, skillID)
bOnCD, currentCDTime, totalCDTime = target.GetSkillCDProgress(skillID, target.GetSkillLevel(skillID))
if currentCDTime/16 == 0 then
	return true
else
	return false
end
end

3- vào config.ini của HM thêm vào

trong đó xx là số tiếp theo trong dãy

4- vào game và gọi hàm bét nhè mà không cần khai báo function trong script, tiết kiệm vãi lúa =))


cái này chắc là giống cái YYL của bọn khựa :6cool_smile:

Hic sao mình làm xong gọi hàm ko đc nhỉ xFatal
 
Bác KatherineHaAnh giúp e 1 đoạn nhỏ này cái.
Hiện tại e cần 1 hàm kiểm tra buff bản thân, cụ thể là khi Hiệu ứng Kinh Thủ ( ID = 4120 ) đạt đủ 5 tầng thì nó sẽ cast skill X.
Đoạn code dành cho TD Tử hà của mình sẽ ngon và tối ưu hơn nếu bổ sung đc đoạn trên.
Cám ơn bác trước :2cool_sad:
 
Bác KatherineHaAnh giúp e 1 đoạn nhỏ này cái.
Hiện tại e cần 1 hàm kiểm tra buff bản thân, cụ thể là khi Hiệu ứng Kinh Thủ ( ID = 4120 ) đạt đủ 5 tầng thì nó sẽ cast skill X.
Đoạn code dành cho TD Tử hà của mình sẽ ngon và tối ưu hơn nếu bổ sung đc đoạn trên.
Cám ơn bác trước :2cool_sad:

Mã:
/script N=GetClientPlayer()
T=GetTargetHandle(N.GetTarget())
function buffstack(mb,id,lvl)
stack=0
for z,x in pairs(mb.GetBuffList() or {}) do
    if x.dwID==id and (lvl==nil or x.dwLevel==lvl) then
        stack=x.nStackNum
    end
end
return stack
end
if buffstack(N,4120))==5 then OnAddOnUseSkill(X) end
Bạn hay đánh Tử hà thế nào, mình cũng có một char Thuần Dương đang tìm cách tối ưu dame đây :5cool_big_smile:
 
có trò vui nè

1- tạo 1 file functions.lua trong HM\src
2- cho đoạn code này vào và save lại
Mã:
function checkbuff(target, buffID)
buffed = false
for z,x in pairs(target.GetBuffList()) do
	if x.dwID == buffID then
		buffed = true
	end
end
return buffed
end

function buffstack(target, buffID)
stack=0
	for z,x in pairs(target.GetBuffList()) do
		if x.dwID == buffID then
			stack = x.nStackNum
		end
	end
	return stack
end

function checkcd(target, skillID)
bOnCD, currentCDTime, totalCDTime = target.GetSkillCDProgress(skillID, target.GetSkillLevel(skillID))
if currentCDTime/16 == 0 then
	return true
else
	return false
end
end

3- vào config.ini của HM thêm vào
Mã:
lua_xx=interface\HM\src\functions.lua
trong đó xx là số tiếp theo trong dãy

4- vào game và gọi hàm bét nhè mà không cần khai báo function trong script, tiết kiệm vãi lúa =))


cái này chắc là giống cái YYL của bọn khựa :6cool_smile:

mình làm cách này tốt mà, làm như thế rồi tạo cái chỉ lệnh như này:

Mã:
/script p=GetClientPlayer()
if p.nCurrentLife < p.nMaxLife*0.85 and checkcd(p,58) then
OnAddOnUseSkill(58)
end

là chạy tốt chỉ lệnh, không cần khai báo hàm checkcd nữa

bạn cứ thử gọi các hàm ra là ok, mình có chỉ lệnh gọi cả 3 hàm rồi vẫn chạy ngon lành

- - - Updated - - -

Mã:
/script N=GetClientPlayer()
T=GetTargetHandle(N.GetTarget())
function buffstack(mb,id,lvl)
stack=0
for z,x in pairs(mb.GetBuffList() or {}) do
    if x.dwID==id and (lvl==nil or x.dwLevel==lvl) then
        stack=x.nStackNum
    end
end
return stack
end
if buffstack(N,4120))==5 then OnAddOnUseSkill(X) end
Bạn hay đánh Tử hà thế nào, mình cũng có một char Thuần Dương đang tìm cách tối ưu dame đây :5cool_big_smile:
max dam của TD tử Hà nè :4cool_beauty:
Mã:
/script p=GetClientPlayer()
if not checkbuff(p,375) and checkcd(p,359) then
OnAddOnUseSkill(359)
end
if p.nAccumulateValue >= 10 and buffstack(p,4120) >=5 then
OnAddOnUseSkill(301)
else
OnAddOnUseSkill(367)
end
 
Hic sao mình làm xong gọi hàm ko đc nhỉ xFatal
cái này mình cũng bị :2cool_burn_joss_sti phải chạy 1 marco có khai báo functions trước xong lại chạy cái marco chỉ gọi hàm ko khai báo functions thì lúc đó nó mới chịu chạy bt :2cool_burn_joss_sti
 
cái này mình cũng bị :2cool_burn_joss_sti phải chạy 1 marco có khai báo functions trước xong lại chạy cái marco chỉ gọi hàm ko khai báo functions thì lúc đó nó mới chịu chạy bt :2cool_burn_joss_sti

quote file Hm\info.ini của bạn lên đây xem nào
Mã:
[HM]
name=HM JX3 Plugins collections (2.2.6)
desc=Made by khá»±a, later fixed and filtered by xFatality.
version=0.8
default=1

lua_0=interface\HM\src\functions.lua

lua_1=interface\HM\src\HM.lua
lua_2=interface\HM\src\HM_Compatible.lua

lua_3=interface\HM\src\HM_Doodad.lua
lua_4=interface\HM\src\HM_ToolBox.lua
lua_5=interface\HM\src\HM_Force.lua
lua_6=interface\HM\src\HM_Guding.lua
lua_7=interface\HM\src\HM_RedName.lua
lua_8=interface\HM\src\HM_Camp.lua

lua_9=interface\HM\src\HM_Locker.lua
lua_10=interface\HM\src\HM_Target.lua
lua_11=interface\HM\src\HM_TargetMon.lua
lua_12=interface\HM\src\HM_TargetList.lua
lua_13=interface\HM\src\HM_Suit2.lua
lua_14=interface\HM\src\HM_Battle.lua

file functions.lua


Mã:
function checkbuff(target, buffID)
buffed = false
for z,x in pairs(target.GetBuffList()) do
	if x.dwID == buffID then
		buffed = true
	end
end
return buffed
end

function buffstack(target, buffID)
stack=0
	for z,x in pairs(target.GetBuffList()) do
		if x.dwID == buffID then
			stack = x.nStackNum
		end
	end
	return stack
end

function checkcd(target, skillID)
bOnCD, currentCDTime, totalCDTime = target.GetSkillCDProgress(skillID, target.GetSkillLevel(skillID))
if currentCDTime/16 == 0 then
	return true
else
	return false
end
end

--[[
--Function sử dụng skill có ID là id, function sẽ tự check xem có cooldown ko mới dùng skill đó
function use(target,id)
A,B,C=N.GetSkillCDProgress(id,target.GetSkillLevel(id))
if C==0 then
OnAddOnUseSkill(id,target.GetSkillLevel(id))
end
end

--Function buff kiêm tra xem trên đối tượng target có buff là id ko, nếu có sẽ trả kết quả là số giây buff đó còn lại, nếu ko sẽ trả kết quả là 0
function buff(target,id,lvl)
l=0
for z,x in pairs(target.GetBuffList() or {}) do
    if x.dwID==id and (lvl==nil or x.dwLevel==lvl) then
        l=x.nEndFrame-GetLogicFrameCount()
    end
end
return l/16
end

--Function Cooldowntime trả về số thời gian còn lại của skill có ID là id
function Cooldowntime(target,id)
A,B,C=target.GetSkillCDProgress(id,target.GetSkillLevel(id))
return B/16
end

--hàm GetSkillPrepareState() sẽ cho ra giá trị true or false, nếu true là target đang vận công còn nếu false thì ko phải.
--Ví dụ sau sẽ kiểm tra xem target có đang vận công hay ko, nếu đang vận công thì sẽ
--ngắt vận công của target bằng chiêu Kiếm phi kinh thiên của Thuần Dương Thái hư.

--/script player=GetClientPlayer()
--target=GetTargetHandle(player.GetTarget())
--if target.GetSkillPrepareState() then OnAddOnUseSkill(310) end
]]--

- - - Updated - - -

^ chú ý là file đó phải tên là functions.lua chứ không phải là functions.lua.txt đâu nhé, nhiều ông làm file = notepad cứ để txt mà không biết
 
Chỉnh sửa cuối:
Mã:
[HM]
name=HM plugin- viet hoa boi LongUyenPhong
desc=A large number of convenient PVP plugs! -- hmm@buliantai --
version=0.8
default=1
lua_0=interface\HM\src\HM.lua
lua_1=interface\HM\src\HM_Compatible.lua
lua_2=interface\HM\src\HM_About.lua
lua_3=interface\HM\src\HM_Area.lua
lua_4=interface\HM\src\HM_Battle.lua
lua_5=interface\HM\src\HM_Camp.lua
lua_6=interface\HM\src\HM_Doodad.lua
lua_7=interface\HM\src\HM_Ent.lua
lua_8=interface\HM\src\HM_Force.lua
lua_9=interface\HM\src\HM_Guding.lua
lua_10=interface\HM\src\HM_Jabber.lua
lua_11=interface\HM\src\HM_Locker.lua
lua_12=interface\HM\src\HM_Marker.lua
lua_13=interface\HM\src\HM_PVPSound2.lua
lua_14=interface\HM\src\HM_RedName.lua
lua_15=interface\HM\src\HM_Roll.lua
lua_16=interface\HM\src\HM_Suit2.lua
lua_17=interface\HM\src\HM_Target.lua
lua_18=interface\HM\src\HM_TargetFace.lua
lua_19=interface\HM\src\HM_TargetList.lua
lua_20=interface\HM\src\HM_TargetMon.lua
lua_21=interface\HM\src\HM_Team.lua
lua_22=interface\HM\src\HM_ToolBox.lua
lua_23=interface\HM\src\functions.lua
làm đúng hướng dẫn mà :8cool_cry: mà cái functions.lua.txt thì vào game cũng đâu có chạy dc ?.?
Mình là vào game phải chạy 1 cái marco cũ có khai báo function xong thì cái kia nó mới chịu chạy bt :6cool_beat_shot:
 
Mã:
/script local N=GetClientPlayer()
local T=GetTargetHandle(N.GetTarget())

local terminatedID={4268,4199,4802,3711,2314}
local terminatingID={309}

local function TerminateSkill(T,terminatedID,terminatingID)
A,B,C,D=T.GetSkillPrepareState()
if A then
if B==terminatedID then OnAddOnUseSkill(terminatingID) end
end
end
Cho mình hỏi code này sai chỗ nào sao nó ko chạy vậy :2cool_sad:
 
Mã:
/script local N=GetClientPlayer()
local T=GetTargetHandle(N.GetTarget())

local terminatedID={4268,4199,4802,3711,2314}
local terminatingID={309}

local function TerminateSkill(T,terminatedID,terminatingID)
A,B,C,D=T.GetSkillPrepareState()
if A then
if B==terminatedID then OnAddOnUseSkill(terminatingID) end
end
end
Cho mình hỏi code này sai chỗ nào sao nó ko chạy vậy :2cool_sad:

mình chỉ viết hàm thôi, nếu muốn sử dụng nó thì phải gọi và truyền biến vào. Bạn dùng một vòng for để duyệt cái array terminatedID thì nó mới chạy :5cool_big_smile:

- - - Updated - - -

mình làm cách này tốt mà, làm như thế rồi tạo cái chỉ lệnh như này:

Mã:
/script p=GetClientPlayer()
if p.nCurrentLife < p.nMaxLife*0.85 and checkcd(p,58) then
OnAddOnUseSkill(58)
end

là chạy tốt chỉ lệnh, không cần khai báo hàm checkcd nữa

bạn cứ thử gọi các hàm ra là ok, mình có chỉ lệnh gọi cả 3 hàm rồi vẫn chạy ngon lành

- - - Updated - - -


max dam của TD tử Hà nè :4cool_beauty:
Mã:
/script p=GetClientPlayer()
if not checkbuff(p,375) and checkcd(p,359) then
OnAddOnUseSkill(359)
end
if p.nAccumulateValue >= 10 and buffstack(p,4120) >=5 then
OnAddOnUseSkill(301)
else
OnAddOnUseSkill(367)
end

Thế đánh Tử khí bằng tay à :5cool_big_smile:, lúc có buff bắn Tứ tượng ko cần vận công thì làm thế nào :4cool_beauty:
 
mình chỉ viết hàm thôi, nếu muốn sử dụng nó thì phải gọi và truyền biến vào. Bạn dùng một vòng for để duyệt cái array terminatedID thì nó mới chạy :5cool_big_smile:
ah ra vậy :1cool_byebye: tks nhìu đã chạy dc rồi



[/QUOTE]Thế đánh Tử khí bằng tay à :5cool_big_smile:, lúc có buff bắn Tứ tượng ko cần vận công thì làm thế nào :4cool_beauty:[/QUOTE]
Tử Hà thì mình thường ko quan tâm cái buff Kinh Thủ làm j cho mệt :5cool_big_smile: 5 phát Tứ Tượng (1,5s x5) hơi bị fe^ thường là mình dùng Lưỡng nghi khi nào đủ 5 ô khí để lấy hiệu ứng "Vũ Tập" 2 phát Tứ tượng ko cần vận công. Khi có buff này thì lập tức buf Thao Quang Dưỡng Hối + Tử Khí Đông Lai rồi dame tẹt ga :5cool_big_smile:

- - - Updated - - -

Ah quên cho mình hỏi luôn: VH có skill Chung Linh Dục Tú, chiu này sau khi cast 1s thì nó mới hiện hiệu ứng rút máu lên boss. Mình add vào marco thì nó cast đến 2 lần, làm sao để xử lý vậy.
 
mình chỉ viết hàm thôi, nếu muốn sử dụng nó thì phải gọi và truyền biến vào. Bạn dùng một vòng for để duyệt cái array terminatedID thì nó mới chạy :5cool_big_smile:

- - - Updated - - -



Thế đánh Tử khí bằng tay à :5cool_big_smile:, lúc có buff bắn Tứ tượng ko cần vận công thì làm thế nào :4cool_beauty:

đánh thử chưa :1cool_look_down: đoạn code này cầm vk 290 dps thua đúng bọn MG cầm thần binh thôi đấy

chưa cầm thần binh test tại vì 0% rồi
 
đánh thử chưa :1cool_look_down: đoạn code này cầm vk 290 dps thua đúng bọn MG cầm thần binh thôi đấy

chưa cầm thần binh test tại vì 0% rồi

Hehe, test rồi, thêm đoạn test nếu có buff 999 thì cứ 367 mà bắn, trước khi chém LNHH thì xem có bật được Tử khí không là bật. Dame to hơn đấy, mình cầm Lưu tình thì còn check buff Lưu tình, để chém LNHH liên tục :5cool_big_smile:
 
ah ra vậy :1cool_byebye: tks nhìu đã chạy dc rồi
Thế đánh Tử khí bằng tay à :5cool_big_smile:, lúc có buff bắn Tứ tượng ko cần vận công thì làm thế nào :4cool_beauty:[/QUOTE]
Tử Hà thì mình thường ko quan tâm cái buff Kinh Thủ làm j cho mệt :5cool_big_smile: 5 phát Tứ Tượng (1,5s x5) hơi bị fe^ thường là mình dùng Lưỡng nghi khi nào đủ 5 ô khí để lấy hiệu ứng "Vũ Tập" 2 phát Tứ tượng ko cần vận công. Khi có buff này thì lập tức buf Thao Quang Dưỡng Hối + Tử Khí Đông Lai rồi dame tẹt ga :5cool_big_smile:

- - - Updated - - -

Ah quên cho mình hỏi luôn: VH có skill Chung Linh Dục Tú, chiu này sau khi cast 1s thì nó mới hiện hiệu ứng rút máu lên boss. Mình add vào marco thì nó cast đến 2 lần, làm sao để xử lý vậy.[/QUOTE]

Để chiêu đấy đánh cuối cùng trong chuỗi combo thôi :5cool_big_smile:
 
Hehe, test rồi, thêm đoạn test nếu có buff 999 thì cứ 367 mà bắn, trước khi chém LNHH thì xem có bật được Tử khí không là bật. Dame to hơn đấy, mình cầm Lưu tình thì còn check buff Lưu tình, để chém LNHH liên tục :5cool_big_smile:

cần gì check 999 bác, cứ đủ đk cho LNHH thì bem thôi, để 999 cho 2 cục khí sau, nó bắn ầm ầm 2 nháy là đủ 5 khí cho LNHH tiếp

:9cool_haha:tử khí đông lai với thao quang nên tự bấm, vì còn phải xét các điều kiện tụ khí, buff vô hình, hoặc lúc đó mình có đánh được không hay là chạy, lại còn trong trường hợp nào nữa, boss hay bc hay quái thường, nó nhiều yếu tố quá nên tốt nhất là tự làm bằng tay các cái đó mới đảm bảo max dam chứ bác
 
Mã:
/script N=GetClientPlayer()
T=GetTargetHandle(N.GetTarget())
function buffstack(mb,id,lvl)
stack=0
for z,x in pairs(mb.GetBuffList() or {}) do
    if x.dwID==id and (lvl==nil or x.dwLevel==lvl) then
        stack=x.nStackNum
    end
end
return stack
end
if buffstack(N,4120))==5 then OnAddOnUseSkill(X) end
Bạn hay đánh Tử hà thế nào, mình cũng có một char Thuần Dương đang tìm cách tối ưu dame đây :5cool_big_smile:

À, cái skill X đó là Thao Quang + Tử Khí đó, mình mún dồn 5 tầng Kinh Thủ mới buff 2 cái đó lên rồi sau đó mới tuần tự Lưỡng Nghi -> Tứ Tượng cho đến khi 5 ô -> Lưỡng Nghi...:6cool_smile:

Nhưng sao đoạn trên ko chạy bạn nhĩ.
 
À, cái skill X đó là Thao Quang + Tử Khí đó, mình mún dồn 5 tầng Kinh Thủ mới buff 2 cái đó lên rồi sau đó mới tuần tự Lưỡng Nghi -> Tứ Tượng cho đến khi 5 ô -> Lưỡng Nghi...:6cool_smile:

Nhưng sao đoạn trên ko chạy bạn nhĩ.

Mình chạy ầm ầm :5cool_big_smile:
 
ức thiệt. hôm qua cài 1 đống quản lý chỉ lệnh xong hôm nay log vào mất hết trơn, dữ liệu hôm qua nó cũng ko lưu gì hết. bữa nay cài lại rồi thử relog thì cũng mất sạch. tại sao lúc thì nó lưu lúc ko lưu vậy có ai biết ko giúp với :2cool_sad:
 
Back
Top