PDA

View Full Version : [KT] Help-Hàm đọc thời gian NPC sinh ra



nguyenhophuc87
16-01-13, 05:12 AM
Cụ thể là mình cần đếm thời gian tồn tại của 1 NPC, để dùng cho việc check NPC đến thời gian quy định (2 phút, 5 phút...) thì thực hiện script khác. không biết có huynh nào có sáng kiến nào để làm việc này ?

Ví dụ minh họa: sinh ra NPC, mỗi khi click vào NPC nó báo: tôi đã tồn tại x giây, và mỗi lần click sau thì số giây tăng lên theo thời gian nó đã tồn tại.

Xin mọi người cùng góp ý (LƯU Ý: KHÔNG DÙNG TASK nhé, vì nếu dùng TASK thì không thể sử dụng trên diện rộng và chỉ đối với từng nhân vật, nhân vật khác nó đếm khác, nói chung không sử dụng TASK)


EVENT Trồng Cây thì nó sử dụng 1 hàm tạo sẵn trong Cây là nBirthday, nhưng không dùng cho NPC khác được. không biết còn hàm nào check birthday cho NPC không nhỉ ? =((

nghichtu91
16-01-13, 06:47 PM
Cụ thể là mình cần đếm thời gian tồn tại của 1 NPC, để dùng cho việc check NPC đến thời gian quy định (2 phút, 5 phút...) thì thực hiện script khác. không biết có huynh nào có sáng kiến nào để làm việc này ?

Ví dụ minh họa: sinh ra NPC, mỗi khi click vào NPC nó báo: tôi đã tồn tại x giây, và mỗi lần click sau thì số giây tăng lên theo thời gian nó đã tồn tại.

Xin mọi người cùng góp ý (LƯU Ý: KHÔNG DÙNG TASK nhé, vì nếu dùng TASK thì không thể sử dụng trên diện rộng và chỉ đối với từng nhân vật, nhân vật khác nó đếm khác, nói chung không sử dụng TASK)


EVENT Trồng Cây thì nó sử dụng 1 hàm tạo sẵn trong Cây là nBirthday, nhưng không dùng cho NPC khác được. không biết còn hàm nào check birthday cho NPC không nhỉ ? =((
có cách đơn giản mà ;))
-------------------------------

satthupro95
16-01-13, 06:52 PM
có cách đơn giản mà ;))
-------------------------------

Chỉ đi a ................................

VNGameZoneVN
16-01-13, 07:50 PM
ông nay chuyên gia đi pán ít chỉ lắm. nếu lòng tốt thì chỉ ra cho mọi người nghiên cứu

trungviet
16-01-13, 07:56 PM
Cụ thể là mình cần đếm thời gian tồn tại của 1 NPC, để dùng cho việc check NPC đến thời gian quy định (2 phút, 5 phút...) thì thực hiện script khác. không biết có huynh nào có sáng kiến nào để làm việc này ?

Ví dụ minh họa: sinh ra NPC, mỗi khi click vào NPC nó báo: tôi đã tồn tại x giây, và mỗi lần click sau thì số giây tăng lên theo thời gian nó đã tồn tại.

Xin mọi người cùng góp ý (LƯU Ý: KHÔNG DÙNG TASK nhé, vì nếu dùng TASK thì không thể sử dụng trên diện rộng và chỉ đối với từng nhân vật, nhân vật khác nó đếm khác, nói chung không sử dụng TASK)


EVENT Trồng Cây thì nó sử dụng 1 hàm tạo sẵn trong Cây là nBirthday, nhưng không dùng cho NPC khác được. không biết còn hàm nào check birthday cho NPC không nhỉ ? =((

Mình không rành hàm của Server Kiếm Thế, chỉ thắc mắc là không biết khi tạo NPC có thể set một biến lưu giữ thời gian NPC được tạo ra không nhỉ? Rồi dựa vào đó check...

nguyenhophuc87
16-01-13, 10:51 PM
Mình không rành hàm của Server Kiếm Thế, chỉ thắc mắc là không biết khi tạo NPC có thể set một biến lưu giữ thời gian NPC được tạo ra không nhỉ? Rồi dựa vào đó check...

hi bạn, nếu dùng biến để lưu giữ time tạo thì như mình đã nói bên trên là dùng TASK, nhưng TASK không phải là biến toàn cục cho SV mà chỉ áp dụng cho từng nhân vật. Nếu như bạn nói time ghi nhận thời gian NPC được Add thì mình nghĩ họ code sẵn hàm rồi, chỉ là không biết hàm nào. Nếu dùng Task với 1 item được tạo ra (tạo cho 1 nhân vật) thì đơn giản

Mình nhớ event nấu bánh hay gì gì đó, có sử dụng cách tính time này, nhưng quên mất script nào. có ai gợi ý không ?

TO: NghichTu

Ông nhỏ ơi, help được thì help, sợ nhiều người biết thì pm qua yahoo gợi ý, chứ nói như vậy thì thui đừng nói, spam làm gì :-"

linhpl2001
17-01-13, 06:55 AM
nó chỉ mới lạ :)) năng nỉ rát họng còn không chỉ
thằng này ki bo lắm >:)
3:-O

nghichtu91
17-01-13, 08:11 AM
nó chỉ mới lạ :)) năng nỉ rát họng còn không chỉ
thằng này ki bo lắm >:)
3:-O

@-)............................................

--- Chế độ gộp bài viết ---


hi bạn, nếu dùng biến để lưu giữ time tạo thì như mình đã nói bên trên là dùng TASK, nhưng TASK không phải là biến toàn cục cho SV mà chỉ áp dụng cho từng nhân vật. Nếu như bạn nói time ghi nhận thời gian NPC được Add thì mình nghĩ họ code sẵn hàm rồi, chỉ là không biết hàm nào. Nếu dùng Task với 1 item được tạo ra (tạo cho 1 nhân vật) thì đơn giản

Mình nhớ event nấu bánh hay gì gì đó, có sử dụng cách tính time này, nhưng quên mất script nào. có ai gợi ý không ?

TO: NghichTu

sao ko pm yh tôi ;)) chẳng lẻ chờ tôi pm à :>

nguyenhophuc87
17-01-13, 04:13 PM
@-)............................................

--- Chế độ gộp bài viết ---



sao ko pm yh tôi ;)) chẳng lẻ chờ tôi pm à :>

Chiều ta test lại vụ này sẽ réo ngươi ! X_X

Sesshomaru
17-01-13, 04:25 PM
câu hỏi của bạn có nhiều mục đích:
1.nếu mục đích là căn thời gian thực hiện 1 script khác thì có rất nhiều cách thực hiện.
2.nếu mục đích chỉ là để báo thời gian cây tồn tại thì hơi khó.mà phải nói là làm cái này rất chi là "rảnh".

Nếu bạn thuộc dạng tìm mục đích 1 thì có thể tham khảo sv mình theo đường dẫn: script/event/cmt8 hoặc TrungThu
còn dạng mục đích 2 thì xin kiếu.trình độ có hạn ko giúp được

nguyenhophuc87
17-01-13, 06:18 PM
câu hỏi của bạn có nhiều mục đích:
1.nếu mục đích là căn thời gian thực hiện 1 script khác thì có rất nhiều cách thực hiện.
2.nếu mục đích chỉ là để báo thời gian cây tồn tại thì hơi khó.mà phải nói là làm cái này rất chi là "rảnh".

Nếu bạn thuộc dạng tìm mục đích 1 thì có thể tham khảo sv mình theo đường dẫn: script/event/cmt8 hoặc TrungThu
còn dạng mục đích 2 thì xin kiếu.trình độ có hạn ko giúp được

nếu Toại nói cái mục đích 2 là "rảnh" thì phải xem xét lại rồi. bồ thấy cái event quả hoàng kim hiện tại không ? dùng 4 cái scheduletask để làm nhưng vẫn không hay cho lắm. Click vào hạt huy hoàng nó cứ báo còn "5 phút 0 giây" nữa mới chín. click trăm lần vẫn vậy.

Nếu có thể check được time của Hạt khi sinh ra, cứ vậy script nó tự đếm time, đủ x phút là nó gọi script của Quả Hoàng Kim thì hay hơn nhiều và thiết thực hơn nhiều. Hiện tại script bạn dùng là lách luật, đến x giờ thì gọi npc, 5 phút sau thì xóa npc rồi gọi npc khác để thay cho quá trình sinh trưởng. Nhưng như vậy thì nếu bạn gọi Hạt ra nó sẽ không sinh trưởng được, ở script TRỒNG CÂY thi khác, mỗi cây hoạt động độc lập >>> cái này chính là cái hay của event !!! rất linh động !

UP tiếp nào !

__Jie__
17-01-13, 08:25 PM
mạo muội góp ý chưa biết có được không gạch đá ko tiếp nhận chỉ muốn góp tí ý tưởng

Set giờ cho hạt ra sau đó dùng 1 hàm tính time hiện tại trừ cho giờ nó ra sẽ ra được giờ giấc đúng mà mình qui định

local nCurTime = tonumber(os.date("%H%M", GetTime()))

Sesshomaru
17-01-13, 09:11 PM
Mình viết được,nhưng thấy ko cần thiết nên ko viết.bằng chứng là cái event trung thu đấy.sau khi treo đèn 1 thời gian nó tự mất,giống cái trồng cây.Đúng là cách đó ko hay lắm.nhưng người chơi chỉ quan tâm quả đã chín chứ ko quan tâm hạt giống của nó

hongphat7997
17-01-13, 09:42 PM
Chiều ta test lại vụ này sẽ réo ngươi ! X_X

Tặng cho cái file tgNPC.lua nè


local self = tbtgNpc;

local tbtgNpc = Map.tbtgNpc or {};
Map.tbNpc = tbNpc;
local CountThat = 0;
local nState = 0;
local nTimerId1 = 0;
local pTimerClose = 0;
local tbGetParam = {};
local uiSayPanel = Ui(Ui.UI_SAYPANEL);

local szCmd = [=[
Map.tbtgNpc:tgNpcSwitch();
]=];

function tbtgNpc:tgNpcSwitch()
local nMyMapId, nMyPosX, nMyPosY = me.GetWorldPos();
me.Msg(nMyMapId..","..nMyPosX..","..nMyPosY);
for i=1, 7000 do
CountThat = CountThat +1;
local nId = self:GetAroundNpcId(CountThat);
if nId then
local tbFileData = Lib:LoadTabFile("\\setting\\npc\\npc.txt");
for nRowNum, tbRow in ipairs(tbFileData or {}) do
if (tbRow.Id == ""..CountThat.."") then
local bSuccess = me.Msg("<color=green>"..tbRow.Name.." <color=gold> "..CountThat);
break;
end
end
end
end
CountThat = 0;
self:Reload();
end

function tbtgNpc: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

function tbtgNpc:Reload()
local function fnDoScript(szFilePath)
local szFileData = KFile.ReadTxtFile(szFilePath);
assert(loadstring(szFileData, szFilePath))();
end
fnDoScript("\\interface\\spr_tool\\script\\window\\GetIdNpc.lu a");
me.Msg("<color=yellow>------------");
end

local tCmd={"Map.tbGetIdNpc:GetIdNpcSwitch()", "tgNpc", "", "Alt+1+2", "Alt+1+2", "tgdNpc"};
AddCommand(tCmd[4], tCmd[3], tCmd[2], tCmd[7] or UiShortcutAlias.emKSTATE_INGAME);
UiShortcutAlias:AddAlias(tCmd[2], tCmd[1]);

nguyenhophuc87
18-01-13, 02:28 PM
Thanks các Huynh Đệ nhiều, thanks cả Nghịch Tử đã help script nấu rượu cho nghiên cứu. :-*

To TRANTOAI:

Mình viết được,nhưng thấy ko cần thiết nên ko viết.bằng chứng là cái event trung thu đấy.sau khi treo đèn 1 thời gian nó tự mất,giống cái trồng cây.Đúng là cách đó ko hay lắm.nhưng người chơi chỉ quan tâm quả đã chín chứ ko quan tâm hạt giống của nó
mình hiểu ý của Toại, nhưng nếu code độc lập cho nó thì sẽ linh động ở chổ "CÓ HẠT LÀ TRỒNG ĐƯỢC" vậy event có thể kéo hêm event rồi. ^^ trồng mọi nơi nếu có HẠT ! Thanks toại nhiều ^^