@redplane :
- Think
- fm_can_see sẽ check nếu ent1 thấy ent2 hay ko , có cần thiết phải get_angles ko ông ?
- Đo khoảng cách đạn / tốc độ đạn = tgian gây damage cho client
- Gây damage cho client ( chance thì như ông nói )
- Tạo đường đạn cho nó giống thật :) .
Q: Thế ông biết làm thế nào để Bot nhảy lên khi gặp chướng ngại ko ?
Phải get_angles chứ, tầm nhìn của con người cũng chỉ là một góc nhỏ hơn 180 độ mà, nếu mà ông chỉ nói fm_can_see thì chưa đủ đâu, vì fm_can_see nó chỉ tính của view_angles, nhưng giả sử nhé, ông nhìn thấy một phần thân của player thì cũng có nghĩa là nó khiến ông chú ý, fm_can_see chỉ true khi 2 cái origin ở giữa thân của player trace một đường mà không gặp chướng ngại thôi
Việc tạo way point thì tôi không thích lắm, vì tôi muốn như zbot, chứ lại ngồi tạo way point thì ngại lắm
Cái vấn đề mà Bot nhày lên tường khi gặp chướng ngại thì tôi có một cái thuật toán, nhưng tôi chưa kiểm tra
Lấy origin của chân của con NPC
Lấy một cái origin khác có tọa độ x = origin[1] + 10.0
Trace một cái, tính khoảng cách điểm đầu điểm cuối
Nếu mà nó nhỏ hơn 16.0 (tức là khoảng cách rất nhỏ)
Nâng tọa độ y là origin[0] thêm 0.5, tiếp tục trace,
Láy khoảng cách điêm đâu và điểm cuối, nếu mà khoảng cách thay đổi thì ta tiếp tục trace một phát nữa
Nếu trace lần 3 mà khoảng cách tiếp tục thay đổi có nghĩa là cái dốc
Còn nếu trace 3 lần mà khoảng cách không đổi thì có nghĩa là bức tường
Còn việc tính chiểu cao của bức tường thì ta phải lấy một góc hợp với phương nằm ngang là 45 độ
trace tiếp, nếu mà khoảng cách không đổi, nghĩa là bức tường quá cao, không thể nhảy được
nếu mà khoảng cách đổi thì tôi chưa biết làm (đợi chiêu nay xây dựng tiếp)