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
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.