hongphuc89
09-07-16, 03:55 PM
Như tiêu đề e sài cái server 2.6 có item "Tinh Thạch Thánh Hỏa" dùng để nâng cấp ngoại trang.
Khi nâng cấp max cái ngoại trang nó sẽ thông báo là : "Luyện hóa đã đạt cấp cao nhất"
nhưng cái item "Tinh Thạch Thánh Hỏa" vẫn bị trừ đi sau mỗi lần nhấn nâng cấp cung có dòng thông báo này xẩy ra "Luyện hóa đã đạt cấp cao nhất"
Vậy có cách nào ngăn chặn cái item đó khi nâng cấp max có thông báo đã đạt cấp cấo nhất mà không bị trừ đi item ko ai biet giúp e voi Thank all forum...
post script của item đó lên xem bạn
hongphuc89
09-07-16, 05:26 PM
post script của item đó lên xem bạn
Thank a sciprt cũa item nó đây ạh
local tbDiamonds = Item:GetClass("jxsf8_gradediamonds");
tbDiamonds.UpRate100PMax={
[1] = 2,
[2] = 7,
[3] = 12,
[4] = 17,
}
tbDiamonds.UpRateDiff={
[1] = 40,
[2] = 18,
[3] = 12,
[4] = 5,
[5] = 3,
[6] = 1,
[7] = 0,
[8] = 0,
[9] = 0,
[10] = 0,
[11] = 0,
[12] = 0,
[13] = 0,
[14] = 0,
[15] = 0,
[16] = 0,
[17] = 0,
[18] = 0,
[19] = 0,
[20] = 0,
}
function tbDiamonds:OnUse()
local nLevel = it.nLevel;
local nMaxPoint = tbDiamonds.UpRate100PMax[nLevel];
local szMsg = "Tinh thạch quý giá của trời đất, dùng để luyện hóa Chân Vũ";
local tbOpt = {};
for i = 20,21 do
local pItem = me.GetEquip(i);
if (pItem)then
local ItemLevel = pItem.GetGenInfo(12);
local szName = "<color=green>"..pItem.szName.."<color>";
local nRandRate = 0;
if ItemLevel <= nMaxPoint then
nRandRate = 100;
else
nRandRate = tbDiamonds.UpRateDiff[ItemLevel - nMaxPoint];
end
szName = szName.."-><color=red>"..nRandRate.."%<color>";
table.insert(tbOpt, {szName, self.DoAddEquipPoint, self, pItem,it});
end
end
if #tbOpt == 0 then
szMsg = szMsg.."\n\n<color=gold>Vui lòng trang bị Chân Vũ trước khi luyện hóa";
end
table.insert(tbOpt, {"Kết thúc đối thoại"});
Dialog:Say(szMsg, tbOpt);
return 0;
end
function tbDiamonds:DoAddEquipPoint(pItem,pThisItem)
local szMsg = "";
local nLevel = pThisItem.nLevel;
local tbOpt = {};
if pThisItem.nCount > 1 then
pThisItem.SetCount(pThisItem.nCount-1);
else
me.DelItem(pThisItem)
end
local nMaxPoint = tbDiamonds.UpRate100PMax[nLevel];
local ItemLevel = pItem.GetGenInfo(12);
local nRandRate = 0;
if ItemLevel <= nMaxPoint then
nRandRate = 100;
else
nRandRate = tbDiamonds.UpRateDiff[ItemLevel - nMaxPoint];
end
local nRandom = MathRandom(1,100);
local nNewLevel = ItemLevel;
if ItemLevel==20 then
me.Msg("Luyện hóa đã đạt cấp cao nhất");
return 0;
end
if nRandom < nRandRate then
nNewLevel = nNewLevel + 1;
szMsg = string.format("Người chơi <color=yellow>[%s]<color> dùng <color=green>%s<color> luyện hóa thành công <color=green>%s<color> lên <color=yellow>%d<color> cấp", me.szName,pThisItem.szName,pItem.szName,ItemLevel+ 1);
me.Msg(szMsg);
if ItemLevel+1 >=18 then
KDialog.MsgToGlobal(szMsg);
end
else
nNewLevel = nNewLevel - 1;
szMsg = "<color=red>Luyện hóa thất bại, Trang bị bị giáng <color=gold>1 Cấp<color><color>";
me.Msg(szMsg);
end
Item:SetGradeEquipUpGradeLevel(pItem,nNewLevel);
return 0;
end
Chịu rồi....................................
hongphuc89
10-07-16, 07:45 PM
code bạn đưa add cũng ko đc bạn ơi add vào nó cung vạy hoặc là mỗi lần nâng cấp bi giang 1 cấp :(
ai giúp e với :(
hongphuc89
10-07-16, 08:00 PM
ai vào giúp e cái này với :(..........
30 charrrrrrrrrrrrrrrrrrrrrrr
hongphuc89
11-07-16, 01:55 PM
không ai vào giúp cho e cái code này :( buông quá
Sesshomaru
11-07-16, 02:16 PM
cho cái đoạn này:
if ItemLevel==20 then
me.Msg("Luyện hóa đã đạt cấp cao nhất");
return 0;
end
lên trước đoạn này
if pThisItem.nCount > 1 then
pThisItem.SetCount(pThisItem.nCount-1);
else
me.DelItem(pThisItem)
end
Xóa item rồi mới xét đến cấp trang bị thì bị trừ item là đúng rồi
hongphuc89
11-07-16, 03:06 PM
thanh a nhá nhửng thêm vào ko được khi thêm lên trên đoạn đầu của nó nó cứ báo giáng 1 cấp rồi lại lên 1 cấo cứ thế làm hoài ko có full ko có hiện""Luyện hóa đã đạt cấp cao nhất""
đoạn đầu của nè a thêm dùm e với :(
function tbDiamonds:DoAddEquipPoint(pItem,pThisItem)
local szMsg = "";
local nLevel = pThisItem.nLevel;
local tbOpt = {};
if pThisItem.nCount > 1 then
pThisItem.SetCount(pThisItem.nCount-1);
else
me.DelItem(pThisItem)
end
Sesshomaru
11-07-16, 07:17 PM
mình chỉ nói nguyên nhân và hướng giải quyết,còn giải quyết trọn vẹn thì phải suy nghĩ thêm về code đó bạn
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.