• Chào bạn, hãy đăng ký hoặc đăng nhập để tham gia cùng bọn mình và sử dụng được đầy đủ chức năng của diễn đàn :).
Senkuu

Hỏi về code plugin Về X, Z

Trạng thái
Không mở trả lời sau này.

Senkuu

DEVELOPER
THÀNH VIÊN
Tham gia
17/09/2016
Bài viết
1,754
giả sử mk có 1 thằng player, nó đứng ở 1 loca trong 1 world, nó shift cái thì lưu loca nó lại, rồi nó di chuyển, thì làm sao để detect xem nó đi theo hướng x hay z, theo x tức x tăng hay giảm > 1.5, và z thì cx như v ? Mk thử getX rồi - cái getX của loca store lại, đx 1 lúc, sau đó nó lỗi tùm lum ( lỗi logic í, chắc do mk ngu quá <(") )
Mấy bạn pờ rồ và đập dai đập dái giúp mk nha <(") <3
*****Nội dung được bổ sung thêm*****
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")|
| Giúp với |
|@Quang1999 , @Banbeucmas , @Anh Craft , @MasterClaus , ......................................................|
| Giúp tui zs :< |
|<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
*****Nội dung được bổ sung thêm*****
Hư cấu J thế bạn trẻ, bk đang hỏi J k mà cầm dép phán thế thím :v
 
lưu Location thì bỏ vào hashmap dạng HashMap<Player,Location>()
cứ mỗi khi đè shift (sneak thì check isSneaking()), bỏ vào hashmap
khi di chuyển, lấy location trong hashmap ra so sánh (nhớ xem đã có trong hashmap hay chưa)
Location newLoc = loc.getTo();
Location loc = locations.get(event.getPlayer());
float x1 = newLoc.getX();
float x2 = loc.getX();
if(x1 < 0){
x1 = x1*-1;
}
if((x1-x2) > 1.5){
// đi theo x...
return;
}

float z1 = newLoc.getZ();
float z2 = loc.getZ();
if(z1 < 0){
z1 = z1*-1;
}
if((z1-z2) > 1.5){
// đi theo z...
return;
}

// ko đi theo j hết =))
 
Hư cấu J thế bạn trẻ
lưu Location thì bỏ vào hashmap dạng HashMap<Player,Location>()
cứ mỗi khi đè shift (sneak thì check isSneaking()), bỏ vào hashmap
khi di chuyển, lấy location trong hashmap ra so sánh (nhớ xem đã có trong hashmap hay chưa)
Location newLoc = loc.getTo();
Location loc = locations.get(event.getPlayer());
float x1 = newLoc.getX();
float x2 = loc.getX();
if(x1 < 0){
x1 = x1*-1;
}
if((x1-x2) > 1.5){
// đi theo x...
return;
}

float z1 = newLoc.getZ();
float z2 = loc.getZ();
if(z1 < 0){
z1 = z1*-1;
}
if((z1-z2) > 1.5){
// đi theo z...
return;
}

// ko đi theo j hết =))



tui từng thử nó r, cái xong nó đi theo hướng xéo xéo cái nó loạn xạ luôn ...
 
Sửa lần cuối:
lưu Location thì bỏ vào hashmap dạng HashMap<Player,Location>()
cứ mỗi khi đè shift (sneak thì check isSneaking()), bỏ vào hashmap
khi di chuyển, lấy location trong hashmap ra so sánh (nhớ xem đã có trong hashmap hay chưa)
Location newLoc = loc.getTo();
Location loc = locations.get(event.getPlayer());
float x1 = newLoc.getX();
float x2 = loc.getX();
if(x1 < 0){
x1 = x1*-1;
}
if((x1-x2) > 1.5){
// đi theo x...
return;
}

float z1 = newLoc.getZ();
float z2 = loc.getZ();
if(z1 < 0){
z1 = z1*-1;
}
if((z1-z2) > 1.5){
// đi theo z...
return;
}

// ko đi theo j hết =))
M kiểm tra Yaw của nó là đc, phức tạp hóa làm cm gì?
 
giả sử mk có 1 thằng player, nó đứng ở 1 loca trong 1 world, nó shift cái thì lưu loca nó lại, rồi nó di chuyển, thì làm sao để detect xem nó đi theo hướng x hay z, theo x tức x tăng hay giảm > 1.5, và z thì cx như v ? Mk thử getX rồi - cái getX của loca store lại, đx 1 lúc, sau đó nó lỗi tùm lum ( lỗi logic í, chắc do mk ngu quá <(") )
Mấy bạn pờ rồ và đập dai đập dái giúp mk nha <(") <3
*****Nội dung được bổ sung thêm*****
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")|
| Giúp với |
|@Quang1999 , @Banbeucmas , @Anh Craft , @MasterClaus , ......................................................|
| Giúp tui zs :< |
|<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")<(")|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
*****Nội dung được bổ sung thêm*****
Hư cấu J thế bạn trẻ, bk đang hỏi J k mà cầm dép phán thế thím :v
Đi theo hướng x hay y của ý bạn là xác định theo direction của player hay là x,y của world ?
 
Direction là hướng của player nhìn về phía trc, còn x,y của location chỉ ra vị trí thôi à
huogn17 đi í ._., ví dụ thằng a rightclick vô thằng b, rồi thằng a lùi 3 bước, sau đó nó lưu loca 2 thằng vs cùng x khác z, a nếu nó di chuyển mà vẫn cùng x khác zl à đi dọc, mà x thay đổi nhưng z như ban đầu là đi ngang, còn vụ đi xéo xéo thì mk nghĩ k ra :V
 
huogn17 đi í ._., ví dụ thằng a rightclick vô thằng b, rồi thằng a lùi 3 bước, sau đó nó lưu loca 2 thằng vs cùng x khác z, a nếu nó di chuyển mà vẫn cùng x khác zl à đi dọc, mà x thay đổi nhưng z như ban đầu là đi ngang, còn vụ đi xéo xéo thì mk nghĩ k ra :v
Nếu xác định hướng đi mình nghĩ tốt nhất là dùng vector, đầu tiên tạo vector 1 là vector location của bạn khi di chuyển, tiếp theo tạo vector trục x hay z cũng được để so sánh chúng với nhau
Vector v = new Vector(1,0,0); (vector trục x)
hoặc Vector v = new Vector(0,0,1); (vector trục z)
 
Nếu xác định hướng đi mình nghĩ tốt nhất là dùng vector, đầu tiên tạo vector 1 là vector location của bạn khi di chuyển, tiếp theo tạo vector trục x hay z cũng được để so sánh chúng với nhau
Vector v = new Vector(1,0,0); (vector trục x)
hoặc Vector v = new Vector(0,0,1); (vector trục z)
Lấy cái vector hiện tại - vector được lưu và normalize kết quả
 
Nếu xác định hướng đi mình nghĩ tốt nhất là dùng vector, đầu tiên tạo vector 1 là vector location của bạn khi di chuyển, tiếp theo tạo vector trục x hay z cũng được để so sánh chúng với nhau
Vector v = new Vector(1,0,0); (vector trục x)
hoặc Vector v = new Vector(0,0,1); (vector trục z)
Lấy cái vector hiện tại - vector được lưu và normalize kết quả
từng thử r, mà thằng player nó đi xéo xéo là nó loạn xạ lên luôn
 
Trạng thái
Không mở trả lời sau này.
Back
Top Bottom