PDA

View Full Version : thêm 1 vấn đề nan giải của jx mong mọi người giải đáp



alisson
05-02-11, 08:52 PM
tôi có 1 biến là: abc=0 gán ở trong 1 file script của 1 npc

nhân vật a làm việc với npc đó sau 1 số công đoạn thì cái biến abc=5

nhân vật b làm việc với npc đó sau 1 số công đoạn thì cái biến abc=7

sau đó 2 nhân vật đó thoát ra rồi vào lại
hỏi giá trị abc của nhân vật a còn bằng 5 không
hỏi giá trị abc của nhân vật b còn bằng 7 không

hay là cả 2 nhân vật lại lấy cái giá trị mặc định ban đầu abc=0


nó như kiểu id nhiệm vụ đó

mình thử làm thì thấy 2 nhân vật khi đăng nhập lại vào game thì đều nhận lại giá trị abc=0
tức là bị reset giá trị
vậy có cách nào để lưu biến cho từng nhân vật không

việc đăng nhập lại nhân vật ở đây là tính luôn cả tắt cả server


nói thêm :các bạn đừng bảo mình về học mấy cái hàm settask và gettask 2 cái hàm đó mình biết
cái mình cần là nó có lưu giá trị không thôi

thank

[M]r[K]id
05-02-11, 08:55 PM
chả hỉu gì cả
mún làm nv ko thế dùng như vậy mà phải dùng task :))

alisson
05-02-11, 09:03 PM
tôi đã bảo mà
tôi hỏi là còn cách nào để lưu giá trị đó không chứ không nói đến dùng task
nói ngay lúc đầu rồi mà

giúp đi

rentkyo
05-02-11, 09:08 PM
theo mình vẩn còn cậu à khi cậu gán giá trị cho nhân vật thì vẫn còn giống nhứ set admin biến đó 10000 thì out ra vào lại vẫn 10000

jxvietnam
05-02-11, 09:11 PM
bác này chắc nhiễm lập trình nhiều quá :))
thấy bài viết nào cũng hỏi những câu oái oăm =))

Sir.THÀNH™
05-02-11, 09:13 PM
tương lai nút M chắc của bạn này =)) .

alisson
05-02-11, 10:11 PM
đang tính thoát cả server mà chứ không chỉ thoát mỗi client thôi đâu


dân it không nhiễm lập trình thì làm ăn sao được

alisson
05-02-11, 10:29 PM
này có cách nào để nhận được chuỗi chữ mà minh viết trong ô chat không nhỉ

trong game không có ô nhập dữ liệu , muốn nhập pass rương toàn phải chọn kí tự theo kiểu say

mọi người xem hộ cái script này cái sao chạy nó không báo lỗi nhưng nhân vật bị mất kết nối



--================================
gt_nhap=0 --so vua chon

function nhapgiatri()

local sk={}
sk.dem=0 --dem so chu so trong so can nhap

sk.tong=0 --gia tri so nhap

while gt_nhap>=0 do --neu so chon >=0
nhap_x() --goi lua chon so
if gt_nhap>=0 then --neu so lua chon (0-9)
sk.dem=sk.dem+1 tang bien nho len 1 va gan voi so vua chon
sk[sk.dem]=gt_nhap
sk.tong=sk.tong*10+sk[sk.dem] --tinh tong so
end
end



return sk.tong --ham nhap gia tri tra lai ket qua la so da nhap

end


function nhap_x()
Say("lua chon",11,"0/nhap","1/nhap","2/nhap","3/nhap","4/nhap","5/nhap","6/nhap","7/nhap","8/nhap","9/nhap","thoat/exit1")
end

function nhap(ksel)
gt_nhap=ksel
end
function exit1() -- neu thoat thi gan gt_nhap=-1 de thoat khoi vong lap ket thuc nhap
gt_nhap=-1
end






từ hàm main goi thử
function main()

so=nhapgiatri()
msg2player("so ban vua nhap la:"..so)
end

kết quả sau khi chạy hàm main

máy đơ 5 s nhân vật mất kết nối

chú ý: khi laod script không bị lỗi

[M]r[K]id
06-02-11, 12:21 PM
hìu ý bạn rùi
bây giờ nhaz'
bạn nghiên cứu cái code pass rương là bạn sẽ làm được ;))
bạn phải lưu nó vào 1 cái lua :D
P/s có ai chơi chiến tranh vũ trụ vs mình ko :((
link ở chữ kí
p/s
cái spirct bạn viết sai rùi
ko giúng C đâu ;))

Čħīċķėň
06-02-11, 01:03 PM
Bác ấy viết cú pháp mảng đúng đó hok sai. giải thích tí xíu cho người mới: sk.dem nó cũng bằng sk["dem"] vậy nên đừng hiểu nhầm là nó sai, mỗi người có quyền lựa chọn cách code riêng cho mình.

Tui có ý kiến là code này chắc chỉ dùng cho 1 người sử dụng npc đó thui, chứ nếu 2 3 4 gamer sử dụng thì chắc sẽ ko hoạt động như ý mình đâu, vì cậu dùng biến toàn cục nên ai cũng sử dụng đc biến toàn cục này, người này click 1 cái truyền vào biến 1 giá trị người kia lại truyền vào 1 giá trị khác, nói chung là cấu trúc hok có chặt chẽ cho lắm và đó là suy nghĩ của tui :D

alisson
06-02-11, 04:09 PM
cái đó mình cũng biết nó cũng không khác chi nhiệm vụ cần settask

cái vấn đề là code không sai mà nó không chạy
sửa vài lần vẫn không ăn thua
cái này là để tôi test admin thôi nên cái biến toàn cục không quan trọng lắm


mình lo nó đơ là do hàm while do
à hừm đúng rồi=>sai while do