PDA

View Full Version : [KT] hỏi cách ép tinh thạch cho ngoại trang ?



lyvanbethao
31-05-13, 07:42 PM
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

trickster
31-05-13, 08:46 PM
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

Cho vào túi tân thủ

function tbGift:canh123()
for i=1,500 do
me.AddItem(18,1,1331,4);
end
end

satthupro95
31-05-13, 09:05 PM
Cho vào túi tân thủ

function tbGift:canh123()
for i=1,500 do
me.AddItem(18,1,1331,4);
end
end
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
me.AddStackItem(18,1,1331,4,nil,500);

trickster
31-05-13, 09:09 PM
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
me.AddStackItem(18,1,1331,4,nil,500);

UH :P , có ai hướng dẫn đâu , tự mò từ VSV ra

cavoitrang_89
31-05-13, 09:09 PM
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
me.AddStackItem(18,1,1331,4,nil,500);

quá lag ấy chứ ram yếu cháy lun 8-}

lyvanbethao
31-05-13, 09:38 PM
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

satthupro95
31-05-13, 09:54 PM
Hiểu ý thủ thread rồi
K biết cách fix =))

lyvanbethao
31-05-13, 09:56 PM
Hiểu ý thủ thread rồi
K biết cách fix =))
trùng ý với bé .................................................. .............. =))

trickster
31-05-13, 10:00 PM
kệ nó thế đi :-":-":-":-":-":-"

omasa
31-05-13, 10:12 PM
Vào: script\item\class\gradediamonds.lua xóa hết đi copy đoạn này thay thế.


Fix đc ok rồi nhưng nếu để 2 cái chia ra thì nó trừ cả 2. Để mai sẽ giúp bạn. :)

lyvanbethao
31-05-13, 11:11 PM
Vào: script\item\class\gradediamonds.lua xóa hết đi copy đoạn này thay thế.

hóng bác nhé.............................................. .................................................. ...

omasa
31-05-13, 11:54 PM
hóng bác nhé.............................................. .................................................. ...

Do code nó để đoạn này:



if pThisItem.nCount > 1 then
pThisItem.SetCount(pThisItem.nCount-1);
else
me.DelItem(pThisItem)
end


vì nó để lớn hơn 1 nên ko thể ăn đc 1 cái 1 :(

lyvanbethao
01-06-13, 07:52 AM
Do code nó để đoạn này:



if pThisItem.nCount > 1 then
pThisItem.SetCount(pThisItem.nCount-1);
else
me.DelItem(pThisItem)
end


vì nó để lớn hơn 1 nên ko thể ăn đc 1 cái 1 :(

z để = 1 hả chứ xóa luôn thì nó sẽ ko del vật phẩm.........................................

trickster
01-06-13, 10:22 AM
= 1 báo lỗi ngay , để >= 1 thử coi

BMK
01-06-13, 10:36 AM
đang test thử xem có bị lỗi không :D nếu bị lỗi thì sẽ giúp chủ pic !



đã Fix được đang kiếm host Upload lên cho các bạn !

Download gradediamonds.lua (<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>)

lyvanbethao
01-06-13, 03:21 PM
đang test thử xem có bị lỗi không :D nếu bị lỗi thì sẽ giúp chủ pic !



đã Fix được đang kiếm host Upload lên cho các bạn !

Download gradediamonds.lua (<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>)

ok bác thanks you .................................................. .................................................. .

omasa
05-06-13, 05:18 PM
ok bác thanks you .................................................. .................................................. .

Úi Sr bethao nhé. Bận quá quên mất lỡ thất hứa. Code của Bảo ko biết ok chưa? Mình cũng chưa xem thử nhưng tiện đây cũng post thêm cho anh test thử nhé.



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 tbOpt = {};
local tbItemId2 = {18,1,1331,4};
local nLevel = pThisItem.nLevel;
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 >=13 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
Task:DelItem(me, tbItemId2);
Item:SetGradeEquipUpGradeLevel(pItem,nNewLevel);
return 0;
end


Chú ý đoạn màu đỏ:


local tbItemId2 = {18,1,1331,4}; -->> Mã Item của Tinh Thạch Đoạn Hải
và:

Task:DelItem(me, tbItemId2);; -->> Lệnh xóa em nó tránh lỗi trên.

BMK
05-06-13, 05:23 PM
Úi Sr bethao nhé. Bận quá quên mất lỡ thất hứa. Code của Bảo ko biết ok chưa? Mình cũng chưa xem thử nhưng tiện đây cũng post thêm cho anh test thử nhé.



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 tbOpt = {};
local tbItemId2 = {18,1,1331,4};
local nLevel = pThisItem.nLevel;
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 >=13 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
Task:DelItem(me, tbItemId2);
Item:SetGradeEquipUpGradeLevel(pItem,nNewLevel);
return 0;
end


Chú ý đoạn màu đỏ:

[B]và:


nếu có dev cái item lại thì phải thay id trong file đó nữa :> như cách của tui là gọn khỏi cần thay id :D

omasa
05-06-13, 05:27 PM
đang test thử xem có bị lỗi không :D nếu bị lỗi thì sẽ giúp chủ pic !



đã Fix được đang kiếm host Upload lên cho các bạn !

Download gradediamonds.lua (<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>)

Code ngon :-bd.
Sao mình ko nghĩ ra cách này nhỉ :">. Pro có khác =D>