PDA

View Full Version : [JX] Vấn Đề Về SaveData TSBD3.0 Kết hợp hút hít



lamthuyhien18
12-06-12, 05:23 PM
e đang dùng sv của jxvietnam kết hợp hút hít , tình năng cũ lãnh địa đã bỏ . nay e add lại tính năng lãnh địa đã hoàn tất nhưng có 1 số lỗi chưa thể fix được như sau
ví dụ : Bach Dao phe công Hac Dao phe thủ , sau khi phe công Bach Dao đã đánh dc các Trụ và đã chiến thắng nhưng hệ thông ko lưu kết quả thắng thua vào dulieu/quyensohuu.lua
lỗi : nếu có thắng hay thua cũng như không , vì hệ thống ko save kết quả vào dulieu/quyensohuu.lua e mong các anh ai biết cách fix này hd cho e với


----- file : truthanhvang.lua -----

Include("\\script\\source\\sourcejx49.lua")
Include("\\script\\source\\timerserver.lua")
Include("\\dulieu\\quyensohuu.lua")


function OnDeath()
if thu[1] == 4 then
idsh = 2
if quyensohuu[1][idsh] == "Hac Dao" then
ldwin = "Bach Dao"
ldlose = "Hac Dao"
idmoneywin = 22
idmoneylose = 23
elseif quyensohuu[1][idsh] == "Bach Dao" then
ldwin = "Hac Dao"
ldlose = "Bach Dao"
idmoneywin = 23
idmoneylose = 22
end
elseif thu[1] == 5 then
idsh = 3
if quyensohuu[1][idsh] == "Luong Dao" then
ldwin = "Hac Dao"
ldlose = "Luong Dao"
idmoneywin = 23
idmoneylose = 24
elseif quyensohuu[1][idsh] == "Hac Dao" then
ldwin = "Luong Dao"
ldlose = "Hac Dao"
idmoneywin = 24
idmoneylose = 23
end
elseif thu[1] == 6 then
idsh = 1
if quyensohuu[1][idsh] == "Bach Dao" then
ldwin = "Luong Dao"
ldlose = "Bach Dao"
idmoneywin = 24
idmoneylose = 22
elseif quyensohuu[1][idsh] == "Luong Dao" then
ldwin = "Bach Dao"
ldlose = "Luong Dao"
idmoneywin = 22
idmoneylose = 24
end
end
SetGlbMissionV(30,4)
SetTask(41,GetTask(41)+500)
SetGlbMissionV(idmoneywin,GetGlbMissionV(idmoneywi n)+GetGlbMissionV(idmoneylose))
SetGlbMissionV(idmoneylose,0)
danhsach = TaoBang(quyensohuu,"quyensohuu","")
quyensohuu[1][idsh] = ldwin
SaveData("dulieu/quyensohuu.lua",danhsach)
Msg2Player("Chuc Mung: Ban da pha tan Ngoa Long Hon Tran nhan duoc 500 diem cong hien")
Msg2SubWorld("Lanh Dia: "..GetName().." ben chinh phat da pha tan Ngoa Long Hon Tran")
Msg2SubWorld("Phe Chinh Phat "..ldwin.." Da Chien Thang Va Gianh Toan Bo Ngan Quy ! Tuoc Toan Quyen Ra Vao Lanh Dia Cua "..ldlose.." !")
local str1 = "Lanh Dia Cua "..ldlose.." Nay Thuoc Ve "..ldwin.." !"
AddLocalNews(str1, 1);
for i=1,200 do
PlayerIndex = i
w,x,y = GetWorldPos()
if w == 60 then
z = random(1,10)
for i=1,z do AddEventItem(13) end
Msg2Player("Ban Nhan Duoc "..z.." Hong Bao Lanh Dia")
phe = GetTask(58)
if phe == 1 then
LeaveTeam()
NewWorld(62, 201*8, 200*16);
SetCreateTeam(0);
SetFightState(0)
elseif phe == 2 then
LeaveTeam()
NewWorld(61, 201*8, 200*16);
SetCreateTeam(0);
SetFightState(0)
end
SetTask(58,0)
end
end
end

----- file : quyensohuu.lua ----- gốc ở TSBD 3.0

quyensohuu={

[1]={

[1] = "Bach Dao",

[2] = "Hac Dao",

[3] = "Luong Dao"

}

}

KingMax
12-06-12, 06:13 PM
danhsach = TaoBang(quyensohuu,"quyensohuu","")
quyensohuu[1][idsh] = ldwin
SaveData("dulieu/quyensohuu.lua",danhsach)

quyensohuu[1][idsh] = ldwin
danhsach = TaoBang(quyensohuu,"quyensohuu","")
SaveData("dulieu/quyensohuu.lua",danhsach)

f-fantasy
12-06-12, 11:49 PM
Lúc trước mình cũng gặp ở vụ lãnh địa mặc dù đã nâng từ 5 lên 6 nhưng khi check nó vẫn bảo là đang ở 5 lại phải làm lần nữa mới lên 6 tức là mỗi lần nâng 1 cấp làm 2 lần nên để khắc phục vụ ko lưu data này ấy mình thay cái này

SaveData("dulieu/quyensohuu.lua",danhsach)

bằng


for i =1,2 do SaveData("dulieu/quyensohuu.lua",danhsach) end

bạn làm thử xem nó sẽ lưu data bình thường

lamthuyhien18
17-06-12, 12:25 PM
tk 2 anh e đã làm được rùi ạ :D đã lưu thắng thua vào quyensohuu.lua . nhưng sau trận đánh nếu ai thắng phải ress lại GS mới có tác dụng :( sao nó ko có tác dụng như đổi mã rương ap dụng trực tiếp mà ko phải ress GS các anh nhỉ