PDA

View Full Version : [KT] Hỏi cách chỉnh phần thưởng tống kim



chaolegion01
31-05-12, 04:09 AM
Lần trước đã có 1 bác share rồi nhưng mình làm theo không được .

Có bạn nào biết cách chỉnh phần thưởng theo xếp hạng không , mình cảm ơn rất nhiều .

chaolegion01
01-06-12, 06:02 PM
Có ai biết không vậy help me !!!!!!!!!!!!

chaolegion01
02-06-12, 11:52 AM
Không ai giúp với sao :( !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

nguyendung2011
02-06-12, 12:10 PM
Không ai giúp với sao :( !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

có trong mục hỏi đáp rồi, bạn vui lòng tìm lại các bài cũ để biết nhé :x

chaolegion01
02-06-12, 08:20 PM
Mình đã coi hết rồi nhưng thảo luận là chính , và cũng có topic hướng dẫn chỉnh phần thường tk tdc v.v.. nhưng chỉnh tống kim thì không được , và mình đang muốn chỉnh nhận thưởng theo xếp hạng tống kim .

chaolegion01
05-06-12, 10:44 AM
up lền nhờ người giúp .!!!!!!!!!!!!!!!!!!!

kixboc
06-06-12, 06:31 PM
uppppppppppppppppppp
cũng đang cần, ai hỗ trợ với. cả thương hội nữa

vipbk
06-06-12, 06:48 PM
uppppppppppppppppppp
cũng đang cần, ai hỗ trợ với. cả thương hội nữa

phần thưởng tống kim đang tìm :))
còn thương hội thì bạn vào: gameserver\setting\task\merchant\award_step.txt

chaolegion01
06-06-12, 10:46 PM
Mún chỉnh phần thưởng tống kim theo xếp hạng thôi không ai giúp ak :(

Sesshomaru
07-06-12, 02:42 PM
Mún chỉnh phần thưởng tống kim theo xếp hạng thôi không ai giúp ak :(
script\mission\battle\battle_bouns.lua.

Ngâm 1 hồi sẽ ra

vipbk
07-06-12, 03:03 PM
script\mission\battle\battle_bouns.lua.

Ngâm 1 hồi sẽ ra

mình ngâm 1 hồi cũng ra được 1 chút :D
có nhiều đoạn như thế này:

for i, v in ipairs(tbPlayerList) do
if (self.tbWeiWangRank[1] == i) then
self:AwardWeiWang(v, 10, 50); -- 冠军有6点威望
elseif (self.tbWeiWangRank[1] < i and self.tbWeiWangRank[2] >= i) then
self:AwardWeiWang(v, 8, 40);
elseif (i > self.tbWeiWangRank[2] and self.tbWeiWangRank[3] >= i) then
self:AwardWeiWang(v, 6, 30);
else
if (nFlag == 1) then
local nBouns = v.nBouns;
if (4500 <= nBouns) then
self:AwardWeiWang(v, 5, 20, 1);
elseif (3000 <= nBouns) then
self:AwardWeiWang(v, 4, 20, 1);
elseif (1800 <= nBouns) then
self:AwardWeiWang(v, 3, 15, 1);
elseif (1500 <= nBouns) then
self:AwardWeiWang(v, 2, 15, 1);
elseif (1200 <= nBouns) then
self:AwardWeiWang(v, 2, 10, 1);
elseif (800 <= nBouns) then
self:AwardWeiWang(v, 1, 10, 1);
elseif (500 <= nBouns) then
self:AwardWeiWang(v, 0, 10, 1);
end
end
end
end

ở đây mình hiểu là phần thưởng UY DANH (WeiWang) theo xếp hạng và theo điểm tích lũy, còn các phần thưởng khác thì sao bạn, bạn có thể giải thích ý nghĩa các hàm sau giùm mình với:

self:AwardWeiWang(v, 10, 50);
self:AwardWeiWang(v, 5, 20, 1);
self:AwardOffer(v, 150);
self:AwardXinDe(tbPlayerList[i].pPlayer, 300000);
.......

mình không hiểu ý nghĩa các con số này :-?

Sesshomaru
07-06-12, 04:08 PM
sao không chọn cái đoạn dễ hơn mà tìm hiểu

vipbk
07-06-12, 04:16 PM
sao không chọn cái đoạn dễ hơn mà tìm hiểu

vấn đề là mình không hiểu số liệu của nó, ngắn hay dài đằng nào cũng không hiểu :D

chaolegion01
07-06-12, 10:38 PM
Đã tìm được cái đó , cũng tìm thấy giống bạn ở trên nhưng thêm me.additem vào thì không được .

Bạn trantoai nói cái dễ hơn là cái nào za , có theo xếp hạng được không hay là căn cứ vào đâu vậy ?

vipbk
07-06-12, 10:46 PM
căn cứ cả vào xếp hạng và cả điểm tích lũy

hoangtumu
08-06-12, 08:28 AM
ai bít làm phần thưởng TK ko vậy

anhvaem_n2s
08-06-12, 10:04 AM
function Battle:AwardFinalShengWang(tbPlayerList)
local nNowShengWang = 0;
local nMaxRank = 0;
local nIndex = 0;
for i = 1, #tbPlayerList do
local tbBattleInfo = tbPlayerList[i];
local nNowShengWang = 0;
local nRankSheng = 0;
local nBounsSheng = 0;
if (1 == i) then
nRankSheng = Battle.tbRANKSHENGWANG[1];
elseif (2 <= i and 4 >= i) then
nRankSheng = Battle.tbRANKSHENGWANG[2];
elseif (5 <= i and 10 >= i) then
nRankSheng = Battle.tbRANKSHENGWANG[3];
elseif (11 <= i and 20 >= i) then
nRankSheng = Battle.tbRANKSHENGWANG[4];
end

for key, tbRankBouns in ipairs(Battle.tbBOUNSSHENGWANG) do
if (tbBattleInfo.nBouns >= tbRankBouns[1]) then
nBounsSheng = tbRankBouns[2];
break;
end
end
nNowShengWang = nRankSheng;
if (nBounsSheng > nNowShengWang) then
nNowShengWang = nBounsSheng;
end
local nCamp = tbBattleInfo.tbCamp.nCampId;
tbBattleInfo.nShengWang = tbBattleInfo.nShengWang + nNowShengWang;
tbBattleInfo.pPlayer.Msg(string.format("Xếp hạng: <color=green>%d<color>, bạn nhận được <color=white>%d<color> điểm danh vọng chiến trường.", i, tbBattleInfo.nShengWang));
end
end


-- 战局结束时的声望按排名奖励
function Battle:AwardFinalHonor(tbPlayerList)
local nNowHonor = 0;
local nMaxRank = 0;
local nIndex = 0;
for i = 1, #tbPlayerList do
local tbBattleInfo = tbPlayerList[i];
local nNowHonor = 0;
local nRankHonor = 0;
local nBounsHonor = 0;
if (1 == i) then
nRankHonor = Battle.tbRANKHONOR[1];
elseif (2 <= i and 5 >= i) then
nRankHonor = Battle.tbRANKHONOR[2];
elseif (6 <= i and 10 >= i) then
nRankHonor = Battle.tbRANKHONOR[3];
elseif (11 <= i and 20 >= i) then
nRankHonor = Battle.tbRANKHONOR[4];
end

for key, tbRankBouns in ipairs(Battle.tbBOUNSHONOR) do
if (tbBattleInfo.nBouns >= tbRankBouns[1]) then
nBounsHonor = tbRankBouns[2];
break;
end
end
nNowHonor = nRankHonor;
if (nBounsHonor > nNowHonor) then
nNowHonor = nBounsHonor;
end
local nCamp = tbBattleInfo.tbCamp.nCampId;
tbBattleInfo.nHonor = tbBattleInfo.nHonor + nNowHonor;
tbBattleInfo.pPlayer.Msg(string.format("Xếp hạng: <color=green>%d<color>, bạn nhận được <color=white>%d<color> điểm vinh dự chiến trường.", i, tbBattleInfo.nHonor));
end
end


Mình nghĩ đoạn này thì rõ hơn, theo như đoạn trên thì nó thưởng danh vọng theo cấp thì phải , anh em thử xem

chaolegion01
08-06-12, 10:17 AM
function Battle:AwardFinalShengWang(tbPlayerList)
local nNowShengWang = 0;
local nMaxRank = 0;
local nIndex = 0;
for i = 1, #tbPlayerList do
local tbBattleInfo = tbPlayerList[i];
local nNowShengWang = 0;
local nRankSheng = 0;
local nBounsSheng = 0;
if (1 == i) then
nRankSheng = Battle.tbRANKSHENGWANG[1];
elseif (2 <= i and 4 >= i) then
nRankSheng = Battle.tbRANKSHENGWANG[2];
elseif (5 <= i and 10 >= i) then
nRankSheng = Battle.tbRANKSHENGWANG[3];
elseif (11 <= i and 20 >= i) then
nRankSheng = Battle.tbRANKSHENGWANG[4];
end

for key, tbRankBouns in ipairs(Battle.tbBOUNSSHENGWANG) do
if (tbBattleInfo.nBouns >= tbRankBouns[1]) then
nBounsSheng = tbRankBouns[2];
break;
end
end
nNowShengWang = nRankSheng;
if (nBounsSheng > nNowShengWang) then
nNowShengWang = nBounsSheng;
end
local nCamp = tbBattleInfo.tbCamp.nCampId;
tbBattleInfo.nShengWang = tbBattleInfo.nShengWang + nNowShengWang;
tbBattleInfo.pPlayer.Msg(string.format("Xếp hạng: <color=green>%d<color>, bạn nhận được <color=white>%d<color> điểm danh vọng chiến trường.", i, tbBattleInfo.nShengWang));
end
end


-- 战局结束时的声望按排名奖励
function Battle:AwardFinalHonor(tbPlayerList)
local nNowHonor = 0;
local nMaxRank = 0;
local nIndex = 0;
for i = 1, #tbPlayerList do
local tbBattleInfo = tbPlayerList[i];
local nNowHonor = 0;
local nRankHonor = 0;
local nBounsHonor = 0;
if (1 == i) then
nRankHonor = Battle.tbRANKHONOR[1];
elseif (2 <= i and 5 >= i) then
nRankHonor = Battle.tbRANKHONOR[2];
elseif (6 <= i and 10 >= i) then
nRankHonor = Battle.tbRANKHONOR[3];
elseif (11 <= i and 20 >= i) then
nRankHonor = Battle.tbRANKHONOR[4];
end

for key, tbRankBouns in ipairs(Battle.tbBOUNSHONOR) do
if (tbBattleInfo.nBouns >= tbRankBouns[1]) then
nBounsHonor = tbRankBouns[2];
break;
end
end
nNowHonor = nRankHonor;
if (nBounsHonor > nNowHonor) then
nNowHonor = nBounsHonor;
end
local nCamp = tbBattleInfo.tbCamp.nCampId;
tbBattleInfo.nHonor = tbBattleInfo.nHonor + nNowHonor;
tbBattleInfo.pPlayer.Msg(string.format("Xếp hạng: <color=green>%d<color>, bạn nhận được <color=white>%d<color> điểm vinh dự chiến trường.", i, tbBattleInfo.nHonor));
end
end


Mình nghĩ đoạn này thì rõ hơn, theo như đoạn trên thì nó thưởng danh vọng theo cấp thì phải , anh em thử xem


Mình đã tìm được đoạn này rồi nhưng vấn đề làm sao để thêm phần thường kèm chung với 2 đoạn này .

chaolegion01
11-06-12, 01:03 PM
Up lên nhờ người giúp !!!!!!!!!!

hoangtumu
12-06-12, 09:41 AM
<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>

chaolegion01
12-06-12, 02:58 PM
Up lên chờ người giúp .!!!!!!!!!!!!!!!!!!!

ltasa93
15-12-12, 01:06 AM
uppppppppppppppppppppppppppppppppppppppppppppppppp ppppppppppp

nh0kk3n2310
15-12-12, 04:01 PM
function Battle:AwardFinalHonor(tbPlayerList)
local nNowHonor = 0;
local nMaxRank = 0;
local nIndex = 0;
for i = 1, #tbPlayerList do
local tbBattleInfo = tbPlayerList[i];
local nNowHonor = 0;
local nRankHonor = 0;
local nBounsHonor = 0;
if (1 == i) then
nRankHonor = Battle.tbRANKHONOR[1];
elseif (2 <= i and 5 >= i) then
nRankHonor = Battle.tbRANKHONOR[2];
elseif (6 <= i and 10 >= i) then
nRankHonor = Battle.tbRANKHONOR[3];
elseif (11 <= i and 20 >= i) then
nRankHonor = Battle.tbRANKHONOR[4];
end

for key, tbRankBouns in ipairs(Battle.tbBOUNSHONOR) do
if (tbBattleInfo.nBouns >= tbRankBouns[1]) then
nBounsHonor = tbRankBouns[2];
break;
end
end
nNowHonor = nRankHonor;
if (nBounsHonor > nNowHonor) then
nNowHonor = nBounsHonor;
end
local nCamp = tbBattleInfo.tbCamp.nCampId;
tbBattleInfo.nHonor = tbBattleInfo.nHonor + nNowHonor;
tbBattleInfo.pPlayer.Msg(string.format("Xếp hạng: <color=green>%d<color>, bạn nhận được <color=white>%d<color> điểm vinh dự chiến trường.", i, tbBattleInfo.nHonor));
end
end

nghiên cứu trong đoạn này nè