PDA

View Full Version : [JX]Hàm lấy Exp dùng cho TSBD 0.3



The King
05-01-2012, 05:59 PM
Mình đang chơi sv TSBD 0.3 mà ohishu share.
Mình có làm thêm mấy cái hoạt động mà khi nhân vật lựa chọn sai hoặc có những hành động phi nghĩa thì sẽ bị hệ thống trừ điểm kn

Ở server khác mình đã chơi muốn trừ điểm kn thì chỉ cần dùng hàm
AddOwnExp(-K) vậy là OK (K:số điểm kn bị trừ)
Thế nhưng server TSBD 0.3, hàm này lại không hoạt động nếu điểm kn là số âm

Chán quá ! Ngồi vày vò mãi cuối cùng cũng làm được cái hàm mới hơi phức tạp
Hàm này mình làm dựa vào chính các con số của điểm EXP - kiểu dữ liệu cơ bản int kích cỡ 4 byte (32 bít) (phạm vi biểu diễn giá trị từ -2,147,483,648 đến 2,147,483,647)

Code:

Include("\\script\\global\\sourcejx49.lua");

function trukinhnghiem()
a = GetExp()
b = 2147483650
c = b - a
if a < 0 then
AddOwnExp(-a)
AddOwnExp(5)
AddOwnExp(b - GetExp())
trukn1()
elseif a >= 0 and a < 3 then
AddOwnExp(5)
AddOwnExp(b - GetExp())
trukn2()
elseif a >= 3 then
AddOwnExp(c)
trukn2()
end

end;

function trukn1()
d = random(10000,100000)
k = d*1000
e = k - a
p = GetExp()*(-1)
if p <= k then
Msg2Player("Ban bi tru "..k.." Diem Kinh Nghiem !")
else
if e >= p then
Msg2Player("Ban bi tru "..k.." Diem Kinh Nghiem !")
else
AddOwnExp(p - e)
Msg2Player("Ban bi tru "..k.." Diem Kinh Nghiem !")
end

end

end;

function trukn2()
d = random(10000,100000)
k = d*1000
p = GetExp()*(-1)
f = p + a
if p <= k then
if k >= f then
Msg2Player("Ban bi tru "..k.." Diem Kinh Nghiem !")
else
AddOwnExp(p - k)
AddOwnExp(a)
Msg2Player("Ban bi tru "..k.." Diem Kinh Nghiem !")
end

else
AddOwnExp(p - k)
AddOwnExp(a)
Msg2Player("Ban bi tru "..k.." Diem Kinh Nghiem !")
end

end;

Nguồn :gamezone.vn