PDA

View Full Version : [KT] lỗi Phù báo danh Tống Kim



cybervn
03-05-14, 10:41 PM
Sau khi em chỉnh sửa Tống Kim chỉ mở ra map Gia Dụ Quan
Thì em dùng Truyền Tống Phù đến chỗ Báo danh không được, em dùng thẻ GM thì ok
Em kiếm tra GS thì thấy có hiện lỗi, chạy ts 2 file đó nhưng cũng bó tay

Các map Báo Danh thì e đã mở đủ

Ảnh GS em sau khi bấm zô dòng Chiến Trường Tống Kim trong Truyền Tống Phù
3018
<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>

cybervn
04-05-14, 04:33 PM
Ai thông em phát
nhìu chỗ em khó hiểu qá

__Jie__
04-05-14, 05:15 PM
Chỉnh sửa ở đâu và như thế nào 8-|

cybervn
04-05-14, 11:39 PM
Chỉnh sửa ở đâu và như thế nào 8-|

File \gamesever\script\mission\battle\define
Em sửa nt.này

Battle.LEVEL_LIMIT = { 1 }; -- 进不同战场需要的等级

Battle.NAME_GAMELEVEL = {"Dương Châu"} -- 战场名
Battle.NAME_CAMP = {"Tống", "Kim"};


\gamesever\script\mission\battle\gm.lua
Em sửa chổ Script mở map Cửu Khúc Chiến thành Gia Dụ Quan

self:OpenBattle(1, nLevel, 1635 + nLevel - 1, string.format("(调试版%d)", nLevel), nRuleId, 1, nSeqNum, 1, szBattleTime);
self:OpenBattle(1, nLevel, 1636 + nLevel - 1, string.format("(调试版%d)", nLevel), nRuleId, 1, nSeqNum, 2, szBattleTime);
tbMission = self:GetMission(nLevel, 1);


Trong \gamesever\setting\battle\songjin\battlemap
Em sửa thế này

1 1635 1636 1637 2 ¼ÎÓø¹ØÖ®Ơ½ 2
2 1638 1639 1640 2 ¼ÎÓø¹ØÖ®Ơ½ 2 3
3 1641 1642 1643 2 ¼ÎÓø¹ØÖ®Ơ½ 1 2 3



Còn trong cái Truyền Tống Phù e k sửa gì hết

__Jie__
05-05-14, 09:10 AM
Từ đoạn đầu đã sai rồi
Thường ng ta sẽ để 3 tham số vì trong hàm của phù tống kim có hàm for và nó sẽ get lvl. Bạn xóa nó đi thì nó sẽ ko xài được nữa.

Mình hiểu ý của bạn . Nếu bạn muốn giới hạn lvl chỉ vào 1 tống kim thì set thế này

Ví dụ chọn Dương Châu :

Battle.LEVEL_LIMIT = { 256,257,259 }; -- Dương châu sẽ từ lvl 60 --> 255. Từ 256 sẽ qua phượng tượng

Battle.NAME_GAMELEVEL = {"Dương Châu,Phượng Tường,Tương Dương"} -- 战场名
Battle.NAME_CAMP = {"Tống", "Kim"};


Để chắc cú hơn ở file npc bạn check thêm hàm get lvl


if nLevel > 255 then
me.Msg("Đẳng cấp nhân vật quá cao , vui lòng chờ update tống kim mới");
renturn 0
end

cybervn
06-05-14, 04:47 PM
Từ đoạn đầu đã sai rồi
Thường ng ta sẽ để 3 tham số vì trong hàm của phù tống kim có hàm for và nó sẽ get lvl. Bạn xóa nó đi thì nó sẽ ko xài được nữa.

Mình hiểu ý của bạn . Nếu bạn muốn giới hạn lvl chỉ vào 1 tống kim thì set thế này

Ví dụ chọn Dương Châu :

Battle.LEVEL_LIMIT = { 256,257,259 }; -- Dương châu sẽ từ lvl 60 --> 255. Từ 256 sẽ qua phượng tượng

Battle.NAME_GAMELEVEL = {"Dương Châu,Phượng Tường,Tương Dương"} -- 战场名
Battle.NAME_CAMP = {"Tống", "Kim"};


Để chắc cú hơn ở file npc bạn check thêm hàm get lvl


if nLevel > 255 then
me.Msg("Đẳng cấp nhân vật quá cao , vui lòng chờ update tống kim mới");
renturn 0
end

Tks a :D

cybervn
06-05-14, 09:19 PM
Ex, vẫn k được a Jie ơi :(

__Jie__
06-05-14, 10:20 PM
Ex, vẫn k được a Jie ơi :(
Chép lại file trước khi fix hoặc ở sv nào đó xong giới hạn lại lvl là được

cybervn
07-05-14, 07:00 PM
Chép lại file trước khi fix hoặc ở sv nào đó xong giới hạn lại lvl là được

Cũng k được a Jie ơi

Vừa nãy e vào game chơi, có thông báo Tống kim.
<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>

<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>

__Jie__
07-05-14, 07:13 PM
Tốt nhất là bạn hãy tự nhớ lại bạn đã làm những gì để gây ra lỗi đó.

Chứ nói thiệt bạn chỉ post cái ảnh lên đây thì dù cho thần tiên xuống cũng không biết bạn bị gì mà fix cho bạn

cybervn
07-05-14, 08:25 PM
Tốt nhất là bạn hãy tự nhớ lại bạn đã làm những gì để gây ra lỗi đó.

Chứ nói thiệt bạn chỉ post cái ảnh lên đây thì dù cho thần tiên xuống cũng không biết bạn bị gì mà fix cho bạn

Ok a :D, tiện cho e hỏi cách tính tọa độ trong script\item\class\chuansongfu.lua với a
Xem mà không hiểu tính ntn, không zống tọa độ NPC, không phải tọa độ x,y luôn. Nhân kiểu nào cũng trượt hết :D tks a

__Jie__
07-05-14, 08:51 PM
Ok a :D, tiện cho e hỏi cách tính tọa độ trong script\item\class\chuansongfu.lua với a
Xem mà không hiểu tính ntn, không zống tọa độ NPC, không phải tọa độ x,y luôn. Nhân kiểu nào cũng trượt hết :D tks a
Thông thường ingame sẽ có 3 loại bao gồm :
Mã bản đồ
Mã tọa độ : X / Y ( mã tọa độ là mã dùng để thực thi 1 số cái )
Mã màn hình : X / Y ( mã màn hình là mả để bạn add NPC )

Thường Mã màn hình được tính = cách lấy X(Mã tọa độ) x 32 , Y(Mã tọa độ) x32

Mã tọa độ được tính khi thực hiện các lệnh me.NewWorld(Mã bản đồ,Mã tọa độ X,Mã tọa độ Y);
<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>
Để hiện thị chính xác mình có đoạn Plugin như sau :


local self = tbGetIdNpc;


local tbGetIdNpc = Map.tbGetIdNpc or {};
Map.tbGetIdNpc = tbGetIdNpc;
local CountThat = 0;


local szCmd = [=[
Map.tbGetIdNpc:GetIdNpcSwitch();
]=];
UiShortcutAlias:AddAlias("GM_C1", szCmd);-- tương dương ALt + 1


function tbGetIdNpc:GetIdNpcSwitch()
local nMyMapId, nMyPosX, nMyPosY = me.GetWorldPos();
me.Msg("Get ID Map<enter><color=green>Mã bản đồ: <color=orange>"..nMyMapId.."<color><enter>Mã tọa độ: <color=orange>"..nMyPosX.." / "..nMyPosY.."<color><enter>Mã màn hình: <color=orange>"..(nMyPosX*32).." / "..(nMyPosY*32));
local _, x, y = me.GetWorldPos();
local nMapId = me.nTemplateMapId
local szPosTexta = "";
local szPosText = "";
szPosText = string.format("<link=pos:%s(%d.%d),%d,%d,%d>",
GetMapNameFormId(nMapId), x / 8, y / 16, nMapId, x, y);
local tbAroundNpc = KNpc.GetAroundNpcList(me, 10);
local nMinLenSquare = math.huge;
local pNearNpc = nil;
for _, pNpc in ipairs(tbAroundNpc) do
if (pNpc.nKind ~= 1) then
local _, nNpcX, nNpcY = pNpc.GetWorldPos();
local nThisLenSquare = (nNpcX - x) ^ 2 + (nNpcY - y) ^ 2;
if (nThisLenSquare < nMinLenSquare) then
nMinLenSquare = nThisLenSquare;
pNearNpc = pNpc;
end
end
end
if (not pNearNpc) then
me.Msg("Get ID NPC<enter><color=green>Không tìm thấy Npc đứng gần");
return;
end
szPosText = string.format("<color=green>Mã NPC: <color=orange>%d - %s", pNearNpc.nTemplateId, pNearNpc.szName);
me.Msg("Get ID NPC<enter>"..szPosText);
end


function tbGetIdNpc:GetAroundNpcId(nTempId)
local tbAroundNpc = KNpc.GetAroundNpcList(me, 10);
for _, pNpc in ipairs(tbAroundNpc) do
if (pNpc.nTemplateId == nTempId) then
return pNpc.nIndex
end
end
return
end