PDA

View Full Version : [KT] Tiền Du Long (100) Rơi tiền ngẫu nhiên ?



newhorizon1811
08-08-13, 09:43 PM
như tiều đề. file .lua của em tỉ lệ 1 rương là 100 tiền du long.
em muốn chỉnh lại tỉ lệ thấp hơn kiểu 1 rương được 10 tới 50 tiền du long thì chỉnh sao ạ.
các bác giúp em với ạ



local tbHorseXiang = Item:GetClass("horsexiang_vn");
function tbHorseXiang:OnUse()
local nGenre = tonumber(it.GetExtParam(1));
local nDetail = tonumber(it.GetExtParam(2));
local nParticular = tonumber(it.GetExtParam(3));
local nLevel = tonumber(it.GetExtParam(4));
local nNum = tonumber(it.GetExtParam(5)) or 1;
local bBind = tonumber(it.GetExtParam(6)) or 1;
local nTimes = tonumber(it.GetExtParam(7)) or 0;

if not nGenre or not nDetail or not nParticular or not nLevel then
return 0;
end
local bTimes = 0;
if nTimes > 0 then
bTimes = 1;
end

local nNeedCount = KItem.GetNeedFreeBag(nGenre, nDetail, nParticular, nLevel, {bTimeOut= bTimes}, nNum);

if nGenre <= 5 then
nNeedCount = nNum;
end

if me.CountFreeBagCell() < nNeedCount then
me.Msg(string.format("Túi đã đầy, cần %s ô túi trống.", nNeedCount));
return 0;
end
local szName = "";
for i =1, nNum do
local nTimeout = 0;
local tbInfo = {};
tbInfo.bMsg = 0;
if bTimes == 1 then
tbInfo.bTimeOut = 1;
nTimeout = GetTime() + nTimes * 60;
end
if bBind == 1 then
tbInfo.bForceBind = 1;
end
local pItem = me.AddItemEx(nGenre, nDetail, nParticular, nLevel,tbInfo,nil,nTimeout);
if pItem and szName == "" then
szName = pItem.szName;
end
end
if szName ~= "" then
me.Msg("Bạn nhận được " .. tostring(nNum) .. ", " .. szName .. "!","");
end
return 1;
end

newhorizon1811
09-08-13, 10:32 AM
úp.............................

các pro chỉ em với ạ.......

mrkutepro
09-08-13, 10:48 AM
úp.............................

các pro chỉ em với ạ.......

Sửa dòng code này:
local nNum = tonumber(it.GetExtParam(5)) or 1;
Thành con số bạn muốn, ví dụ:
local nNum = 50;

thuannd203
09-08-13, 11:06 PM
úp.............................

các pro chỉ em với ạ.......

Muốn random từ 10-50 hay bao nhiêu thì chuyển cái script về rương đó thành randomitem, Khai báo thêm rương đó trong randomitem.txt. Chọn tỷ lệ cho phù hợp.

___Rookie___
09-08-13, 11:20 PM
ý của bạn là muốn nó random từ 10 đến 50 đúng không :)


local tbHorseXiang = Item:GetClass("horsexiang_vn");
function tbHorseXiang:OnUse()
local nGenre = tonumber(it.GetExtParam(1));
local nDetail = tonumber(it.GetExtParam(2));
local nParticular = tonumber(it.GetExtParam(3));
local nLevel = tonumber(it.GetExtParam(4));
local nNum = tonumber(MathRandom(10,50));
local bBind = tonumber(it.GetExtParam(6)) or 1;
local nTimes = tonumber(it.GetExtParam(7)) or 0;

if not nGenre or not nDetail or not nParticular or not nLevel then
return 0;
end
local bTimes = 0;
if nTimes > 0 then
bTimes = 1;
end

local nNeedCount = KItem.GetNeedFreeBag(nGenre, nDetail, nParticular, nLevel, {bTimeOut= bTimes}, nNum);

if nGenre <= 5 then
nNeedCount = nNum;
end

if me.CountFreeBagCell() < nNeedCount then
me.Msg(string.format("Túi đã đầy, cần %s ô túi trống.", nNeedCount));
return 0;
end
local szName = "";
for i =1, nNum do
local nTimeout = 0;
local tbInfo = {};
tbInfo.bMsg = 0;
if bTimes == 1 then
tbInfo.bTimeOut = 1;
nTimeout = GetTime() + nTimes * 60;
end
if bBind == 1 then
tbInfo.bForceBind = 1;
end
local pItem = me.AddItemEx(nGenre, nDetail, nParticular, nLevel,tbInfo,nil,nTimeout);
if pItem and szName == "" then
szName = pItem.szName;
end
end
if szName ~= "" then
me.Msg("Bạn nhận được " .. tostring(nNum) .. ", " .. szName .. "!","");
end
return 1;
end