vinh-ttn / vantieu9

1 stars 3 forks source link

Sau khi người vận tiêu về thành thì người cướp không đánh đc tiêu nữa #2

Open DraBoyTh opened 1 month ago

DraBoyTh commented 1 month ago

Sau khi giết người vận tiêu về thành thì người cướp không đánh đc tiêu nữa

vinh-ttn commented 1 month ago

@DraBoyTh đã sửa trong commit ea1ff3e

Do mình nhầm lẫn nên thay vì tắt thì nó mở, mở thì nó tắt =)) Bác test lại xem sao

DraBoyTh commented 1 month ago

Sau khi thay đổi thì nhận tiêu mất tên và không đánh được nữa

vinh-ttn commented 1 month ago

Sau khi thay đổi thì nhận tiêu mất tên và không đánh được nữa

Thua. Cái này là do bản 9 có chức năng khóa tấn công nhưng bản 8 ko có hàm tương ứng. Để mình suy nghĩ thêm.

DraBoyTh commented 1 month ago

Bản mới cập nhật line 36 bị lỗi ==

vinh-ttn commented 1 month ago

Bản mới cập nhật line 36 bị lỗi ==

đã sửa

Còn vấn đề chính là tắt mở tính năng đánh tiêu nó sao sao

mình có thử làm hàm này bằng cách xóa tiêu tạo lại nhưng cũng chưa được

DraBoyTh commented 1 month ago

Bạn thử setcam khi nhận tiêu xem

vinh-ttn commented 1 month ago

Bạn thử setcam khi nhận tiêu xem

mình đã thử trong commit này bác thử xem nha 9f4a37c 

vì lí do nào đó mà server mình bị lỗi, vào nó cứ báo là còn tiêu, mà khi tới địa điểm thì không thấy, cũng không biết cách nào hủy 
mỗi lần test là phải tạo 1 acc mới rất mắc công nên không test nổi nữa :!

DraBoyTh commented 1 month ago

Bạn thử setcam khi nhận tiêu xem

mình đã thử trong commit này bác thử xem nha 9f4a37c 

vì lí do nào đó mà server mình bị lỗi, vào nó cứ báo là còn tiêu, mà khi tới địa điểm thì không thấy, cũng không biết cách nào hủy  mỗi lần test là phải tạo 1 acc mới rất mắc công nên không test nổi nữa :!

function BiaoCheClass:SetNpcFightState(canFight) local id = self.nNpcIndex

if canFight == 1 then
    SetNpcCurCamp(id, 5)
else
    local nOwnerIndex = SearchPlayer(self.szOwner)
    if nOwnerIndex > 0 then
        -- local ownerCamp = CallPlayerFunction(nOwnerIndex, GetCurCamp)
        -- SetNpcCurCamp(id, owerCamp)
        local szPlayerName = GetName()
        local OwnerID = SearchPlayer(szPlayerName)
        local szCamp = CallPlayerFunction(OwnerID, GetCamp)
        SetNpcCurCamp(id, szCamp)
    end
end
return 1

end thay như này là oke nhé bạn giờ muốn lựu lại hệ khi tạo lại npc có được không ạ

vinh-ttn commented 1 month ago

hm... mình không hiểu lắm đoạn này:

        local szPlayerName = GetName()
        local OwnerID = SearchPlayer(szPlayerName)
        local szCamp = CallPlayerFunction(OwnerID, GetCamp)
        SetNpcCurCamp(id, szCamp)

GetName() sẽ trả về tên của người chơi gọi script (trong trường hợp này là không có ai bởi vì đây là bản thân của XeTiêu thông qua timer, nên OwnerID đó sẽ luôn là 0 chứ ko phải camp của chủ xe ???) không biết mình hiểu vậy có đúng không
 

giờ muốn lựu lại hệ khi tạo lại npc có được không ạ

Lúc trước mình có add [dòng 36](https://github.com/vinh-ttn/vantieu9/blob/main/server1/script/event/longmenbiaoju/biaoche.lua#L36) này để lưu lại hệ của xe

Giờ chỉ việc mò coi làm sao đọc lại cái biến .series này khi tạo mới để set hệ mà chưa có thời gian mò á bác. Chắc phải sửa param của hàm tạo Xe Tiêu (và các file mà nó lúc tạo)

DraBoyTh commented 1 month ago

hm... mình không hiểu lắm đoạn này:

        local szPlayerName = GetName()
        local OwnerID = SearchPlayer(szPlayerName)
        local szCamp = CallPlayerFunction(OwnerID, GetCamp)
        SetNpcCurCamp(id, szCamp)

GetName() sẽ trả về tên của người chơi gọi script (trong trường hợp này là không có ai bởi vì đây là bản thân của XeTiêu thông qua timer, nên OwnerID đó sẽ luôn là 0 chứ ko phải camp của chủ xe ???) không biết mình hiểu vậy có đúng không  

giờ muốn lựu lại hệ khi tạo lại npc có được không ạ

Lúc trước mình có add dòng 36 này để lưu lại hệ của xe

Giờ chỉ việc mò coi làm sao đọc lại cái biến .series này khi tạo mới để set hệ mà chưa có thời gian mò á bác. Chắc phải sửa param của hàm tạo Xe Tiêu (và các file mà nó lúc tạo)

+GetName() để lấy lại tên người gọi tiêu +dùng local OwnerID = SearchPlayer(szPlayerName) để tìm id người chơi gọi tiêu, +local szCamp = CallPlayerFunction(OwnerID, GetCamp) gán szCamp cho màu cho nhân vật gọi tiêu +SetNpcCurCamp(id, szCamp) set camp cho tiêu xa mình làm như vậy thì fix đc lỗi ban đầu bác làm là khi giết player đi mới cướp đc tiêu xa, còn người chơi cùng tiêu thì không cướp được

Giờ chỉ việc mò coi làm sao đọc lại cái biến .series này khi tạo mới để set hệ mà chưa có thời gian mò á bác. Chắc phải sửa param của hàm tạo Xe Tiêu (và các file mà nó lúc tạo) mình cũng đang mò đoạn lưu hệ này, mà chưa có hướng

vinh-ttn commented 1 month ago

+GetName() để lấy lại tên người gọi tiêu +dùng local OwnerID = SearchPlayer(szPlayerName) để tìm id người chơi gọi tiêu, +local szCamp = CallPlayerFunction(OwnerID, GetCamp) gán szCamp cho màu cho nhân vật gọi tiêu +SetNpcCurCamp(id, szCamp) set camp cho tiêu xa mình làm như vậy thì fix đc lỗi ban đầu bác làm là khi giết player đi mới cướp đc tiêu xa, còn người chơi cùng tiêu thì không cướp được

À bác hiểu lầm đoạn code đó rồi. Nếu làm như vậy thì tương đương bỏ hết đống else thành ra như vầy (lí do như mình đã nói Timer thông qua Xe Tiêu)

if canFight == 1 then SetNpcCurCamp(id, 5) end

và nó vẫn chạy như bác muốn.

Còn đoạn trong else là để khi chủ tiêu quay lại xe tiêu không đánh được ah