PDA

View Full Version : [KT] vấn đề về thay đổi ID vật phẩm



newhorizon1811
22-08-13, 10:31 AM
tình hình là em có vấn đề về thay đôi ID cho vật phẩm.

em có 1 vật phẩm này



Thẻ x2 kinh nghiệm (exp) nhân đôi kinh nghiệm 18 1 20180 1 \image\item\huodong\yuenan36.spr 32 thẻ cực vip.<enter><color=gold>sau khi sử dụn bạn có<color><enter><color=green>2h nhân đôi exp (có cộng dồn)<color> 0 1 1 50000 0 1 x2exp1


nhưng ID em nó không cho lên kì trân các được.

nên em tạo mới 1 ID như thế này.



Thẻ x2 kinh nghiệm (exp) nhân đôi kinh nghiệm 18 1 181 9 \image\item\huodong\yuenan36.spr 32 thẻ cực vip.<enter><color=gold>sau khi sử dụn bạn có<color><enter><color=green>2h nhân đôi exp (có cộng dồn)<color> 0 1 1 50000 0 1 x2exp11


tại file Script của nó em cũng tạo mới 1 cái và có đường dẫn riêng cho thằng này



local tbItem = Item:GetClass("x2exp11");


nhưng không được ạ. ID em thay đổi lấy được ra, thêm được vào kì trân các. nhưng không sử dụng như thằng cũ được. các bác chỉ giúp em xem em sai ở đâu với ạ.

vd_tt
22-08-13, 10:39 AM
thử này xem

local tbItem = Item:GetClass("x2exp11");
function tbItem:OnUse()
local tbItemId1 = {18,1,181,9,0,0}; -- exp x 2
local nCount1 = me.GetItemCountInBags(18,1,181,9);
if nCount1 < 1 then
Dialog:Say("cái gì đấy")
return 0;
else

...................................

end
end

Một với một là bao nhiêu ? (viết trả lời bằng số)

newhorizon1811
22-08-13, 11:32 AM
thử này xem


Một với một là bao nhiêu ? (viết trả lời bằng số)

bác gíp em thì giúp cho trót. với script của bác toại thì thêm thế nào ạ



--江湖威望令牌--孙多良--2008.10.30
local tbItem = Item:GetClass("x2exp1");
tbItem.TASKGROUP = 3003;-- 人物任务变量的groupID
tbItem.TASKLASTTIME_ID = 1; -- 人物任务变量的最后时间保存的ID
tbItem.TASKREMAINTIME_ID = 2; -- 人物任务变量的剩余累积时间ID 单位:小时乘10
tbItem.SKILL_ID_EXP = 332; -- 332,经验加倍技能ID
tbItem.SKILL_ID_EXP_LEVEL = 10; -- Cấp độ của skill.Cấp 10 sẽ là + thêm 100% kinh nghiệm.Cấp 20 là cộng 200%(tương đương x3)

tbItem.tbEffect = {
[1] = 1;--(Thời gian hiệu nghiệm của thẻ.Đơn vị tính bằng Giờ)
}

function tbItem:OnUse()
self:Update();
local nRemainTime = self:GetRemainTime();
local nExpSkillLevel, nExpStateType, nExpEndTime, bExpIsNoClearOnDeath = me.GetSkillState(self.SKILL_ID_EXP);
local nNewExpTime = 0;
if (not nExpEndTime) then
nExpEndTime = 0;
end
nRemainTime = nRemainTime - self.tbEffect[it.nLevel];
nNewExpTime = self.tbEffect[it.nLevel] * 18 * 3600 + nExpEndTime;
me.AddSkillState(self.SKILL_ID_EXP, self.SKILL_ID_EXP_LEVEL, 1, nNewExpTime, 1);
me.Msg(string.format("Bạn nhận được <color=yellow>%s giờ <color> nhân đôi kinh nghiệm.",self.tbEffect[it.nLevel]))
return 1;
end
function tbItem:Update()
local nLastTime = me.GetTask(self.TASKGROUP, self.TASKLASTTIME_ID);
local nNowTime = GetTime();
local nDays = self:CalculateDay(nLastTime, nNowTime);
local nRemainTime = nDays * 1.5 + self:GetRemainTime();
if (nRemainTime < 0.1) then nRemainTime = 0;
end
if (nLastTime <= 0) then
nRemainTime = 1.5;
end
me.SetTask(self.TASKGROUP, self.TASKLASTTIME_ID, nNowTime); me.SetTask(self.TASKGROUP, self.TASKREMAINTIME_ID, nRemainTime * 10); -- 存的是小时的十倍
end
-- 计算离上次更新时间过了多少天
function tbItem:CalculateDay(nLastTime, nNowTime)
local nLastDay = Lib:GetLocalDay(nLastTime);
local nNowDay = Lib:GetLocalDay(nNowTime);
local nDays = nNowDay - nLastDay; if (nDays < 0) then
nDays = 0;
end
return nDays;
end
function tbItem:GetRemainTime()
return me.GetTask(self.TASKGROUP, self.TASKREMAINTIME_ID) / 10;
end

vd_tt
22-08-13, 12:07 PM
xóa cái 20180 đi :|
Câu hỏi ngẫu nhiên:

vuachemgio
22-08-13, 02:35 PM
thay cái 20180 đi chắc do trùng 2 cái dòng đó

newhorizon1811
22-08-13, 04:49 PM
xóa cái 20180 đi :|
Câu hỏi ngẫu nhiên:


thay cái 20180 đi chắc do trùng 2 cái dòng đó

2 bác nói như nào ạ. em không hiểu cho lắm...

tức là thay đổi cái id vật phẩm tại scriptitem.txt hay ở file .lua ạ?

mrkutepro
22-08-13, 10:15 PM
2 bác nói như nào ạ. em không hiểu cho lắm...

tức là thay đổi cái id vật phẩm tại scriptitem.txt hay ở file .lua ạ?

scriptitem.txt chỉ để 1 loại xem sao

Lynk_KiD_HVA
22-08-13, 10:59 PM
tình hình là em có vấn đề về thay đôi ID cho vật phẩm.

em có 1 vật phẩm này



Thẻ x2 kinh nghiệm (exp) nhân đôi kinh nghiệm 18 1 20180 1 \image\item\huodong\yuenan36.spr 32 thẻ cực vip.<enter><color=gold>sau khi sử dụn bạn có<color><enter><color=green>2h nhân đôi exp (có cộng dồn)<color> 0 1 1 50000 0 1 x2exp1


nhưng ID em nó không cho lên kì trân các được.

nên em tạo mới 1 ID như thế này.



Thẻ x2 kinh nghiệm (exp) nhân đôi kinh nghiệm 18 1 181 9 \image\item\huodong\yuenan36.spr 32 thẻ cực vip.<enter><color=gold>sau khi sử dụn bạn có<color><enter><color=green>2h nhân đôi exp (có cộng dồn)<color> 0 1 1 50000 0 1 x2exp11


tại file Script của nó em cũng tạo mới 1 cái và có đường dẫn riêng cho thằng này



local tbItem = Item:GetClass("x2exp11");


nhưng không được ạ. ID em thay đổi lấy được ra, thêm được vào kì trân các. nhưng không sử dụng như thằng cũ được. các bác chỉ giúp em xem em sai ở đâu với ạ.

cách này của mình hơi mất time tí nhé bạn tham khảo qua nếu như thay đổi ID vật phẩm mà vẫn không có trên KTC thì bạn xem dùng hàm trong túi lấy nó ra có đc không nếu không đc thì sửa nó như cũ xong khởi động server sau đó viết lại vật phẩm bạn muốn thêm trong scriptitem rồi kiểm tra nếu đc rồi thì sửa lại ID trong KTC