[JX] Share Server Online Vừa Off ( Ngạo Tuyết) Version 2)! - Trang 60
Hello & Welcome to our community. Is this your first visit? Đăng Ký
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Trang 60 của 84 Đầu tiênĐầu tiên ... 10 50 58 59 60 61 62 70 ... CuốiCuối
Kết quả 591 đến 600 của 839
  1. #591
    Thành Viên
    Ngày tham gia
    Jan 2016
    Bài viết
    6
    Thanks
    0
    Thanked 0 Times in 0 Posts
    script\item\questkey\quest0064.lua
    đây là file của lệnh bài admin
    còn hàm gọi thì lấy lệnh bài thì vào
    script\global\npcchucnang\trogiup.lua
    vào trong file sửa cái dòng này để nhận Lb
    function ActiveGM()
    Say2("<color=pink>ThÇn Sø:<color> <bclr=blue>Chµo mõng C¸c H¹ ®Õn víi<color><bclr=white><color=red> T×nh NghÜa Giang Hå.",6,1,"",
    "NhËn Hç Trî T©n Thñ./hotronew",
    "NhËn Th­ëng CÊp §é./nhanthuongcap",
    --"NhËn Th­ëng Trïng Sinh./nhanthuong1",
    "Céng §iÓm TiÒm N¨ng Nhanh./tangdiem",
    --"NhËn LÖnh Bµi Hç Trî./lbadm", dòng này bỏ 2 cái dấu gạch -- ở đầu dòng đi nhé
    "KÕt thóc ®èi tho¹i./no")
    end
    thanks vuduymanh ....................
    Khách viếng thăm hãy cùng bymrchuot xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. #592
    Thành Viên vuduymanh's Avatar
    Ngày tham gia
    Sep 2014
    Đang ở
    Lâm An
    Bài viết
    957
    Thanks
    490
    Thanked 427 Times in 231 Posts

    Ðề: Share Server Online Vừa Off ( Ngạo Tuyết) Version 2)!

    Trích dẫn Gửi bởi taoaccts13 [Only registered and activated users can see links. ]
    Mình cũng thắc mắc cái này, ai biết giúp vụ này với Nhìn chẳng hiểu gì

    {1007,1,"555", 30000 ,{53 ,1,53 ,1,53 ,1,53 ,1},100,0,0,0,0 ,0},

    nNpcIndex = AddNpcNew(817,100,225,46399,108248,DEATHFILEST,
    5,"D­¬ng Phong DËt",1,"555",0,500000,100,8000,nil,10,20,nil,2000 ,50,2,DROPFILEST)
    SetNpcValue(nNpcIndex, 6);

    mình hiểu 1 tí ko biết có đúng ko
    817 là ID npc,100 là lever,225 là map,46399,108248 là tọa độ,
    5 là npc quái,"D­¬ng Phong DËt" tên boss,1 để ko chỉnh,555 randum 5 hệ ,0 để ko chỉnh,5000000 là máu boss ,100 là j ko nhớ
    100,8000,nil,10,20,nil,2000,50,2,DROPFILEST ko nhầm là kháng và thời gian và load file
    Khách viếng thăm hãy cùng vuduymanh xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  3. #593
    Thành Viên
    Ngày tham gia
    Oct 2015
    Đang ở
    Nơi tình yêu bắt đầu
    Bài viết
    45
    Thanks
    1
    Thanked 14 Times in 13 Posts

    Ðề: Share Server Online Vừa Off ( Ngạo Tuyết) Version 2)!

    AddNpcAuto ở trong worldlibrary.lua có giải thích rồi, ngồi đoán mò làm cái gì mấy thánh.
    Khách viếng thăm hãy cùng nhulaichuong xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  4. #594
    Thành Viên taoaccts13's Avatar
    Ngày tham gia
    Jul 2014
    Bài viết
    635
    Thanks
    45
    Thanked 49 Times in 39 Posts

    Ðề: Share Server Online Vừa Off ( Ngạo Tuyết) Version 2)!

    Ai giúp mình sửa file datau nhận nhiệm vụ chỉ nhận mấy nv đi đánh quái ko thôi được ko =.=, nv tìm đồ khó quá mình mún bỏ nó đi
    Khách viếng thăm hãy cùng taoaccts13 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  5. #595
    Thành Viên vuduymanh's Avatar
    Ngày tham gia
    Sep 2014
    Đang ở
    Lâm An
    Bài viết
    957
    Thanks
    490
    Thanked 427 Times in 231 Posts

    Ðề: Share Server Online Vừa Off ( Ngạo Tuyết) Version 2)!

    Trích dẫn Gửi bởi taoaccts13 [Only registered and activated users can see links. ]
    Ai giúp mình sửa file datau nhận nhiệm vụ chỉ nhận mấy nv đi đánh quái ko thôi được ko =.=, nv tìm đồ khó quá mình mún bỏ nó đi
    bạn vào file datau.lua dev thử xem dc ko
    bạn xem đoạn này nhé
    --loai co giao tra vat pham local x = 1;
    if(nLevel < 9) then
    x = random(2);
    else
    x = random(4);
    if(random(100) < 80) then
    if(x == 3) then
    x = 4;
    end
    end
    end
    SetTask(TASK_DATAU_NEED,0);
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 9,x))--set « [9] loai item
    nTaskValue = GetTask(TASK_DATAU_ACCEPT);
    local str;
    if(x == 1) then --trang bi ko thuoc tinh
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,4))--set « [3] ®é khã
    nTaskValue = GetTask(TASK_DATAU_ACCEPT);
    local nItemNum = RANDOM(1,getn(ITEM_QUEST_LEVEL[nLevel][x]));
    SetTask(TASK_DATAU_ACCEPT, SetNumber2(nTaskValue,4,ITEM_QUEST_LEVEL[nLevel][x][nItemNum])); --so thu tu array
    str = format(FIND_ITEM, KIND_EQUIP_NOTMAGIC[ITEM_QUEST_LEVEL[nLevel][x][nItemNum]][1]);
    elseif(x == 2) then --item mat binh thuong
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,5))--set « [3] ®é khã
    nTaskValue = GetTask(TASK_DATAU_ACCEPT);
    local nItemNum = RANDOM(1,getn(ITEM_QUEST_LEVEL[nLevel][x]));
    SetTask(TASK_DATAU_ACCEPT, SetNumber2(nTaskValue,4,ITEM_QUEST_LEVEL[nLevel][x][nItemNum])); --so thu tu array
    str = format(FIND_ITEM, KIND_ITEM_MAT[ITEM_QUEST_LEVEL[nLevel][x][nItemNum]][1]);
    if(KIND_ITEM_MAT[ITEM_QUEST_LEVEL[nLevel][x][nItemNum]][4] > 0) then
    str = str.."(cÊp "..KIND_ITEM_MAT[ITEM_QUEST_LEVEL[nLevel][x][nItemNum]][4]..")";
    end
    elseif(x == 3) then --item mat dac biet
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,9))--set « [3] ®é khã
    nTaskValue = GetTask(TASK_DATAU_ACCEPT);
    local nItemNum = RANDOM(1,getn(ITEM_QUEST_LEVEL[nLevel][x]));
    SetTask(TASK_DATAU_ACCEPT, SetNumber2(nTaskValue,4,ITEM_QUEST_LEVEL[nLevel][x][nItemNum])); --so thu tu array
    str = format(FIND_ITEM, KIND_ITEM_MAT[ITEM_QUEST_LEVEL[nLevel][x][nItemNum]][1]);
    if(KIND_ITEM_MAT[ITEM_QUEST_LEVEL[nLevel][x][nItemNum]][4] > 0) then
    str = str.."(cÊp "..KIND_ITEM_MAT[ITEM_QUEST_LEVEL[nLevel][x][nItemNum]][4]..")";
    end
    else --loai item co thuoc tinh
    local ItemKind = RANDOM(2);
    local nMagic = RANDOM(1,getn(KIND_EQUIP_HAVEMAGIC));
    if(nMagic == 3 and ItemKind == 2) then
    ItemKind = 0;
    end
    SetTask(TASK_DATAU_ACCEPT, SetNumber2(nTaskValue,4,ItemKind));
    local nChoose = RANDOM(1);
    local nMin,nMax = 0,0;
    nTaskValue = GetTask(TASK_DATAU_ACCEPT);
    if(KIND_EQUIP_HAVEMAGIC[nMagic][3] == 0) then --max 200
    if(nChoose == 0) then --level thap
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,6))
    nMin = 80;
    nMax = 100;
    else
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,7))
    nMin = 100;
    nMax = 120;
    end
    elseif(KIND_EQUIP_HAVEMAGIC[nMagic][3] == 1) then --max 40
    if(nChoose == 0) then --level thap
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,3))
    nMin = 10;
    nMax = 20;
    else
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,6))
    nMin = 30;
    nMax = 40;
    end
    elseif(KIND_EQUIP_HAVEMAGIC[nMagic][3] == 2) then --max 10
    if(nChoose == 0) then --level thap
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,3))
    nMin = 1;
    nMax = 4;
    else
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,5))
    nMin = 5;
    nMax = 8;
    end
    elseif(KIND_EQUIP_HAVEMAGIC[nMagic][3] == 3) then --max 20
    if(nChoose == 0) then --level thap
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,5))
    nMin = 5;
    nMax = 8;
    else
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,8))
    nMin = 12;
    nMax = 18;
    end
    else --max 25
    if(nChoose == 0) then --level thap
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,6))
    nMin = 7;
    nMax = 10;
    else
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,8))
    nMin = 10;
    nMax = 15;
    end
    end
    if(ItemKind == 0) then
    str=format(FIND_MAGIC,"NhÉn. ",KIND_EQUIP_HAVEMAGIC[nMagic][2],nMin,nMax);
    elseif (ItemKind == 1) then
    str=format(FIND_MAGIC,"D©y chuyÒn. ",KIND_EQUIP_HAVEMAGIC[nMagic][2],nMin,nMax);
    else
    str=format(FIND_MAGIC,"Ngäc béi. ",KIND_EQUIP_HAVEMAGIC[nMagic][2],nMin,nMax);
    end
    nTaskValue = SetNumber3(0,1,nMin);
    nTaskValue = SetNumber3(nTaskValue,2,nMax);
    nTaskValue = SetNumber3(nTaskValue,3,nMagic);
    SetTask(TASK_DIADOCHI, nTaskValue);
    end
    AddNote(str);
    main();
    end
    Khách viếng thăm hãy cùng vuduymanh xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  6. #596
    Thành Viên
    Ngày tham gia
    Jan 2016
    Bài viết
    29
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Ðề: Share Server Online Vừa Off ( Ngạo Tuyết) Version 2)!

    Ai cho mình xin cái ID tiền đồng khóa được không? Tìm mãi mà không thấy. Với lại cho mình hỏi làm sao để sửa lỗi mua đồ không được trong shop với. thanks
    Khách viếng thăm hãy cùng kimdung94 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  7. #597
    Thành Viên vuduymanh's Avatar
    Ngày tham gia
    Sep 2014
    Đang ở
    Lâm An
    Bài viết
    957
    Thanks
    490
    Thanked 427 Times in 231 Posts

    Ðề: Share Server Online Vừa Off ( Ngạo Tuyết) Version 2)!

    Trích dẫn Gửi bởi kimdung94 [Only registered and activated users can see links. ]
    Ai cho mình xin cái ID tiền đồng khóa được không? Tìm mãi mà không thấy. Với lại cho mình hỏi làm sao để sửa lỗi mua đồ không được trong shop với. thanks
    AddItem(0,3,21,0,0,5,500,0) --21 là ID còn 500 là số lượng
    hàm trên nhận tiền đồng còn đồng khóa dùng hàm khóa chứ tìm sao dc đồng khóa khóa
    còn vụ ko mua dc đồ trong shop là thiếu file shop nhé bạn bác carot đi thì mua sao dc
    bạn chỉ cần chép thư mục settings từ server qua client là dùng dc
    Khách viếng thăm hãy cùng vuduymanh xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  8. #598
    Thành Viên
    Ngày tham gia
    Jan 2016
    Bài viết
    29
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Ðề: Share Server Online Vừa Off ( Ngạo Tuyết) Version 2)!

    Trích dẫn Gửi bởi vuduymanh [Only registered and activated users can see links. ]
    AddItem(0,3,21,0,0,5,500,0) --21 là ID còn 500 là số lượng
    hàm trên nhận tiền đồng còn đồng khóa dùng hàm khóa chứ tìm sao dc đồng khóa khóa
    còn vụ ko mua dc đồ trong shop là thiếu file shop nhé bạn bác carot đi thì mua sao dc
    bạn chỉ cần chép thư mục settings từ server qua client là dùng dc
    Đã đồng bộ setting nhưng vẫn không mua hay bán gì được. Bạn có thể hướng dẫn cụ thể giúp mình được không. thanks
    Lần sửa cuối bởi kimdung94, ngày 19-01-16 lúc 03:22 PM.
    Khách viếng thăm hãy cùng kimdung94 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  9. #599
    Thành Viên taoaccts13's Avatar
    Ngày tham gia
    Jul 2014
    Bài viết
    635
    Thanks
    45
    Thanked 49 Times in 39 Posts

    Ðề: Share Server Online Vừa Off ( Ngạo Tuyết) Version 2)!

    Trích dẫn Gửi bởi vuduymanh [Only registered and activated users can see links. ]
    bạn vào file datau.lua dev thử xem dc ko
    bạn xem đoạn này nhé
    --loai co giao tra vat pham local x = 1;
    if(nLevel < 9) then
    x = random(2);
    else
    x = random(4);
    if(random(100) < 80) then
    if(x == 3) then
    x = 4;
    end
    end
    end
    SetTask(TASK_DATAU_NEED,0);
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 9,x))--set « [9] loai item
    nTaskValue = GetTask(TASK_DATAU_ACCEPT);
    local str;
    if(x == 1) then --trang bi ko thuoc tinh
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,4))--set « [3] ®é khã
    nTaskValue = GetTask(TASK_DATAU_ACCEPT);
    local nItemNum = RANDOM(1,getn(ITEM_QUEST_LEVEL[nLevel][x]));
    SetTask(TASK_DATAU_ACCEPT, SetNumber2(nTaskValue,4,ITEM_QUEST_LEVEL[nLevel][x][nItemNum])); --so thu tu array
    str = format(FIND_ITEM, KIND_EQUIP_NOTMAGIC[ITEM_QUEST_LEVEL[nLevel][x][nItemNum]][1]);
    elseif(x == 2) then --item mat binh thuong
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,5))--set « [3] ®é khã
    nTaskValue = GetTask(TASK_DATAU_ACCEPT);
    local nItemNum = RANDOM(1,getn(ITEM_QUEST_LEVEL[nLevel][x]));
    SetTask(TASK_DATAU_ACCEPT, SetNumber2(nTaskValue,4,ITEM_QUEST_LEVEL[nLevel][x][nItemNum])); --so thu tu array
    str = format(FIND_ITEM, KIND_ITEM_MAT[ITEM_QUEST_LEVEL[nLevel][x][nItemNum]][1]);
    if(KIND_ITEM_MAT[ITEM_QUEST_LEVEL[nLevel][x][nItemNum]][4] > 0) then
    str = str.."(cÊp "..KIND_ITEM_MAT[ITEM_QUEST_LEVEL[nLevel][x][nItemNum]][4]..")";
    end
    elseif(x == 3) then --item mat dac biet
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,9))--set « [3] ®é khã
    nTaskValue = GetTask(TASK_DATAU_ACCEPT);
    local nItemNum = RANDOM(1,getn(ITEM_QUEST_LEVEL[nLevel][x]));
    SetTask(TASK_DATAU_ACCEPT, SetNumber2(nTaskValue,4,ITEM_QUEST_LEVEL[nLevel][x][nItemNum])); --so thu tu array
    str = format(FIND_ITEM, KIND_ITEM_MAT[ITEM_QUEST_LEVEL[nLevel][x][nItemNum]][1]);
    if(KIND_ITEM_MAT[ITEM_QUEST_LEVEL[nLevel][x][nItemNum]][4] > 0) then
    str = str.."(cÊp "..KIND_ITEM_MAT[ITEM_QUEST_LEVEL[nLevel][x][nItemNum]][4]..")";
    end
    else --loai item co thuoc tinh
    local ItemKind = RANDOM(2);
    local nMagic = RANDOM(1,getn(KIND_EQUIP_HAVEMAGIC));
    if(nMagic == 3 and ItemKind == 2) then
    ItemKind = 0;
    end
    SetTask(TASK_DATAU_ACCEPT, SetNumber2(nTaskValue,4,ItemKind));
    local nChoose = RANDOM(1);
    local nMin,nMax = 0,0;
    nTaskValue = GetTask(TASK_DATAU_ACCEPT);
    if(KIND_EQUIP_HAVEMAGIC[nMagic][3] == 0) then --max 200
    if(nChoose == 0) then --level thap
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,6))
    nMin = 80;
    nMax = 100;
    else
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,7))
    nMin = 100;
    nMax = 120;
    end
    elseif(KIND_EQUIP_HAVEMAGIC[nMagic][3] == 1) then --max 40
    if(nChoose == 0) then --level thap
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,3))
    nMin = 10;
    nMax = 20;
    else
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,6))
    nMin = 30;
    nMax = 40;
    end
    elseif(KIND_EQUIP_HAVEMAGIC[nMagic][3] == 2) then --max 10
    if(nChoose == 0) then --level thap
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,3))
    nMin = 1;
    nMax = 4;
    else
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,5))
    nMin = 5;
    nMax = 8;
    end
    elseif(KIND_EQUIP_HAVEMAGIC[nMagic][3] == 3) then --max 20
    if(nChoose == 0) then --level thap
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,5))
    nMin = 5;
    nMax = 8;
    else
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,8))
    nMin = 12;
    nMax = 18;
    end
    else --max 25
    if(nChoose == 0) then --level thap
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,6))
    nMin = 7;
    nMax = 10;
    else
    SetTask(TASK_DATAU_ACCEPT,SetNumber(nTaskValue, 3,8))
    nMin = 10;
    nMax = 15;
    end
    end
    if(ItemKind == 0) then
    str=format(FIND_MAGIC,"NhÉn. ",KIND_EQUIP_HAVEMAGIC[nMagic][2],nMin,nMax);
    elseif (ItemKind == 1) then
    str=format(FIND_MAGIC,"D©y chuyÒn. ",KIND_EQUIP_HAVEMAGIC[nMagic][2],nMin,nMax);
    else
    str=format(FIND_MAGIC,"Ngäc béi. ",KIND_EQUIP_HAVEMAGIC[nMagic][2],nMin,nMax);
    end
    nTaskValue = SetNumber3(0,1,nMin);
    nTaskValue = SetNumber3(nTaskValue,2,nMax);
    nTaskValue = SetNumber3(nTaskValue,3,nMagic);
    SetTask(TASK_DIADOCHI, nTaskValue);
    end
    AddNote(str);
    main();
    end
    Sửa kiểu gì cũng vào nói chuyện với bác dã tẩu ko đc
    Khách viếng thăm hãy cùng taoaccts13 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  10. #600
    Thành Viên
    Ngày tham gia
    Jan 2016
    Bài viết
    29
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Ðề: Share Server Online Vừa Off ( Ngạo Tuyết) Version 2)!

    ai có thư mục droprate cho mình xin với, sv bị thiếu thư mục này.Mình muốn chỉnh tỉ lệ rớt đồ cho quái mà không tìm thấy thư mục này trong sv. thanks
    Lần sửa cuối bởi kimdung94, ngày 19-01-16 lúc 08:06 PM.
    Khách viếng thăm hãy cùng kimdung94 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 
Trang 60 của 84 Đầu tiênĐầu tiên ... 10 50 58 59 60 61 62 70 ... CuốiCuối

Các Chủ đề tương tự

  1. [JX] Giúp online server Win ngạo tuyết tập tành ... anh em PK vui
    Bởi xomnhalalop12 trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 9
    Bài viết cuối: 30-07-20, 03:52 AM
  2. [JX] Share Account Manager Tools Online [Công Cụ Quản Lý Tài Khoản Trực Tuyến]
    Bởi ohishu trong diễn đàn Võ Lâm Truyền Kỳ (Jx Server)
    Trả lời: 46
    Bài viết cuối: 17-11-12, 10:42 PM
  3. [MU] share forum Mu Online - version 5.0.0 beta 10
    Bởi tiger123 trong diễn đàn SQL Server & Website
    Trả lời: 0
    Bài viết cuối: 24-09-12, 02:52 PM
  4. [JX] Share Server Tuyệt Đỉnh Võ Lâm
    Bởi phamngochai2 trong diễn đàn Võ Lâm Truyền Kỳ (Jx Server)
    Trả lời: 119
    Bài viết cuối: 12-02-12, 08:12 AM

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 05:12 PM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.