[AMXX] Loạt TUT từ cơ bản đến nâng cao

Thảo luận trong 'Counter Strike' bắt đầu bởi buiducduy111, 23/9/12.

  1. ngochai9a7

    ngochai9a7 Dragon Quest

    Tham gia ngày:
    5/1/12
    Bài viết:
    1,450
    Bác Duy viết thêm nhiều bài nữa đi ;))
     
  2. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    Đang viết đây :D .............30character ?
     
  3. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    BÀI 5. THỰC THỂ

    Ở bài này chúng ta xem thực thể là gì nhé, nó rất rất quan trọng đấy, ví dụ ta muốn tạo độ giật cho sung, hay set cho khẩu sung bá đạo full đạn …. và hầu như muốn gì được đấy =)) (Với trình còi như mình thì muốn gì không được đấy =)) )

    Tất cả các thứ trên map bạn đang chơi như cái thúng, con tin, ô tô… và kể cả cả player bạn đang điều khiển, súng ống .. tất tần tật đều là thực thể cả

    Thực thể : ID và Name

    Bạn đã bao giờ đi thi học kì chưa, số báo danh của bạn là 06, tên của bạn là Hâm
    thì nếu giáo viên gọi đến 06 thì bạn phải chạy vào phòng thi đúng không ?

    OK nếu mình nói bạn là 1 thực thể thì 06 chính là ID của thực thể và Hâm là tên của thực thể đó

     như vậy từ tên thực thể bạn có thể xác định ID của thực thể (Nếu cô giáo hỏi Hâm số báo danh bao nhiêu thì bạn nói là 06 đúng không) và ngược lại từ ID của thực thể cũng xác định được tên luôn (cô giáo hỏi số 06 là bạn nào đấy nhỉ, bạn sẽ trả lời là Hâm)

    Giờ chúng ta cùng xem 1 số tên thực thể thường dùng
    “weapon_awp” : thực thể AWP
    “weapon_mp5navy” : thực thể MP5
    …….. cứ thế, nó theo quy luật là : “weapon_tên súng”. VD như “weapon_m4a1” chẳng hạn

    “player” : thực thể người chơi

    Cách tìm ID của thực thể trong amxx
    Bạn có biết vì sao cô giáo gọi các bạn vào thi chỉ gọi Số báo danh không, đó là vì nó ngắn gọn, ai hơi đâu đọc cả họ tên của bạn =))
    Amxx cũng thế, mọi hàm cung cấp cho chúng ta đều phải dùng ID của thực thể

    Giờ chúng ta xem làm sao để tìm.
    Module engine có cung cấp cho ta nhiều cách xác định ID của thực thể, dưới đây là 1 số cách tiêu biểu mà mình cho là cần thiết

    PHP:
    // Tìm ID của thực thể theo tên và id của chủ nhân (thường là player id)
    new ent =  find_ent_by_owner(-1”tên thực thểid);
    // Ví dụ mình tìm xem ID của khẩu AWP mà bạn cầm là gì nhé, ví dụ bạn có id=8
    new ent ==  find_ent_by_owner(-1”weapon_awp”id);
    // nếu không thể tìm thấy thì ent sẽ bằng 0 đó


    // Tìm ID thực thể theo tên, thường thì có rất nhiều thực thể trùng tên, ví dụ có rất nhiều player cầm AWP nhưng tìm theo cách này nó sẽ trả về ID của thực thể đầu tiên nó tìm thấy
    new entfind_ent_by_target(-1“Tên thực thẻ”)

    // Tìm ID thực thể theo model và tên, ví dụ model khẩu awp khi bị rơi xuống đất là “models/w_awp.mdl”
    // như  trên theo cách này bạn có thể tìm ra rất nhiều ID thực thể , nhưng nó chỉ trả về giá trị đầu tiên nó thấy
    new ent find_ent_by_model(-1“tên thực thể”“Tên model”)
     

    TUT kết thúc, ai muốn hỏi gì không? :D
     
  4. ngochai9a7

    ngochai9a7 Dragon Quest

    Tham gia ngày:
    5/1/12
    Bài viết:
    1,450
    Sau khi viết 1 tut thì bác Duy bỏ vào thẻ spoil rồi update ở #1 cho tiện theo dõi :)
     
  5. ngochai9a7

    ngochai9a7 Dragon Quest

    Tham gia ngày:
    5/1/12
    Bài viết:
    1,450
    bác Duy viết 1 tut về cách compile plugin sau khi code và cách cài vào game đi :)
     
  6. Giazzrian

    Giazzrian C O N T R A

    Tham gia ngày:
    6/1/11
    Bài viết:
    1,880
    Nơi ở:
    BMT/HCM
    vãi cả thực thể, chú nói nó là vật thể (object) hay ho hơn đấy.

    btw: cái post mềnh ai xóa àh =="
     
  7. [C'est la vie]

    [C'est la vie] Legend of Zelda

    Tham gia ngày:
    5/7/12
    Bài viết:
    1,052
    Nơi ở:
    Homeland
    cái này cũng không biết à ^:)^
     
  8. ngochai9a7

    ngochai9a7 Dragon Quest

    Tham gia ngày:
    5/1/12
    Bài viết:
    1,450
    compile cái plugin thêm súng nó bị error (chả biết plugin sai hay không biết compile)
    còn thử thêm vài cái plugin lặt vặt vào CSO NST beta 3 thì thỉnh thoảng bị dis vài ván
    PS: không phải là không biết :(, mà chả cần lắm, mấy cái đó để sau cùng cũng được ^:)^
     
  9. ngochai9a7

    ngochai9a7 Dragon Quest

    Tham gia ngày:
    5/1/12
    Bài viết:
    1,450
    compile chuẩn rồi, chắc tại plugin sai =))
    thêm tut đi bác Duy ;))
     
  10. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    ^
    - Chú học hiểu gì ko :-?................
     
  11. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257
    Chán quá, viết ra chả ai học nên chả viết nữa, nhờ sếp chuyển sang topic Amxx thôi
     
  12. kungfulon

    kungfulon Fire in the hole! Lão Làng GVN Sorcerer

    Tham gia ngày:
    1/5/11
    Bài viết:
    2,535
    Có ai rảnh học 1 phát vào luôn như thế này đâu:-??dạy thì cũng phải có bài bản chứ:-??
     
  13. MrKaii

    MrKaii The Warrior of Light

    Tham gia ngày:
    14/6/11
    Bài viết:
    2,208
    Nơi ở:
    Hà Nội
    @ngochai : học gì nhanh quá vậy, tôi đọc hết đống đó và thực hành căn bản cũng phải mất hơn tháng đó, hay cậu mới chỉ đọc qua chưa thực hành :2cool_misdoubt:
     
  14. ngochai9a7

    ngochai9a7 Dragon Quest

    Tham gia ngày:
    5/1/12
    Bài viết:
    1,450
    Thì em đợi cho nhiều tut vào rồi mới bắt tay vào thực hành luôn 1 thể :2cool_after_boom:
    Thú thật là em mới đọc qua để hiểu lí thuyết thôi :|

    - - - Updated - - -

    Có em học đây mà, học nhiêu đó không biết viết plugin được không :|
     
  15. dias

    dias Mega Man

    Tham gia ngày:
    17/1/10
    Bài viết:
    3,226
    Nơi ở:
    SEOUL
    Người ta có câu Lý Thuyết không bằng thực hành mà. Học xong phải thực hành mò mẫm mấy plugin đơn giản, xong lên forum đặt các câu hỏi "tại sao",... là giỏi thôi. Ta đang mong muốn học C++ nhưng vì nó khó quá, Tài liệu google thì dài dòng khó hiểu. Không biết ai có tài liệu gì hay hơn ko
     
  16. ngochai9a7

    ngochai9a7 Dragon Quest

    Tham gia ngày:
    5/1/12
    Bài viết:
    1,450
    Trước hết thì em cần hiểu, nắm vững lí thuyết để thử chỉnh sửa, nâng cấp 1 plugin nào đó hay viết 1 plugin đơn giản :)
    Vậy nên mới cần bác Duy hay ai đó viết thật nhiều tut vào :(
     
  17. theanh11a5

    theanh11a5 - NOW ON - Moderator

    Tham gia ngày:
    8/10/09
    Bài viết:
    5,126
    Tớ thử cái C&P cái code của kungfulon vào sma rồi compile thì váo Intergal Error gì đó.T.T
    Cái này này:
    PHP:
    #include <amxmodx>

    native NativeName(id)

    public 
    plugin_natives()
    {
         
    register_native("NativeName""CallbackFunc"1)
    }

    public 
    CallbackFunc(id)
    {
         
    client_print(idprint_console"Wellcome to CS1.6 Mod!")
    }

    public 
    client_putinserver(id)
    {
         
    NativeName(id)
     
  18. buiducduy111

    buiducduy111 Dragon Quest

    Tham gia ngày:
    3/5/11
    Bài viết:
    1,257

    PHP:
    #include <amxmodx>

    public plugin_natives()
    {
         
    register_native("NativeName""CallbackFunc"1)
    }

    public 
    CallbackFunc(id)
    {
         
    client_print(idprint_console"Wellcome to CS1.6 Mod!")
    }

    public 
    client_putinserver(id)
    {
         
    NativeName(id)
     
  19. MrKaii

    MrKaii The Warrior of Light

    Tham gia ngày:
    14/6/11
    Bài viết:
    2,208
    Nơi ở:
    Hà Nội
    @ngochai: học pawn này cũng giống vs các ngôn ngữ lt khác thôi, cứ đọc mấy cái duy post kia đi, bước đầu chỉ cần welcome to pawm thôi, xong bắt đầu học dần tới biến, hằng, chuỗi, vòng lặp, kiểu logic, mảng <= đó căn bản chỉ thế thôi, cứ học thuộc mấy cái từ khóa, đọc inc và plugins sample là khai sáng dần dần
    @dias: học c++ cũng phải vững toàn bộ kiến thức căn bản c cơ, sang c++ ko bị bỡ ngỡ :))
     
  20. kungfulon

    kungfulon Fire in the hole! Lão Làng GVN Sorcerer

    Tham gia ngày:
    1/5/11
    Bài viết:
    2,535
    Nếu bị Internal Error thì xin mời quý vị cài lại AMXX, nếu ko đc thì cài lại win là vừa.
     

Chia sẻ trang này