Potrzebuję systemu słyszalności gracza, tj. zombie widzą gracza z dalszej odległości, gdy biegnie niż gdy idzie, i z krótszej odległości gdy kuca niż gdy idzie/stoi.
on sneak toggle:
player is not sneaking:
set {detectability::%player%} to 0
player is sneaking:
set {detectability::%player%} to 1
on sprint toggle:
player is not sprinting:
set {detectability::%player%} to 2
player is sprinting:
set {detectability::%player%} to 1
every tick:
loop all players:
if {detectability::%loop-player%} is 1:
execute loop-player command "/entitydata @e[name=Zombie,r=40] {Attributes:[{Name:""generic.followRange"",Base:25.0}]}"
if {detectability::%loop-player%} is 2:
execute loop-player command "/entitydata @e[name=Zombie,r=40] {Attributes:[{Name:""generic.followRange"",Base:45.0}]}"
if {detectability::%loop-player%} is 0:
execute loop-player command "/entitydata @e[name=Zombie,r=40] {Attributes:[{Name:""generic.followRange"",Base:5.0}]}"
Pierwsza część ustawia zmienne wedlug stanu gracza w jakim obecnie jest (bieg/marsz/skradanie)
Druga część używa komend by zmieniać zasięg widzenia mobów.
Ale pojawił się problem, jeśli gracza zobaczy zombie z dalekiej odległosci i zacznie isc w jego kierunku, a gracz wtedy kucnie, to zombie nagle zatrzymuje się, bo nie widzi już gracza. Jest to nierealistyczne, chciałbym, aby zombie, które już zauważyły gracza pozostawały przy swoim zasięgu widzenia.
Pytanie
Gość Usunięty#10777
Potrzebuję systemu słyszalności gracza, tj. zombie widzą gracza z dalszej odległości, gdy biegnie niż gdy idzie, i z krótszej odległości gdy kuca niż gdy idzie/stoi.
on sneak toggle: player is not sneaking: set {detectability::%player%} to 0 player is sneaking: set {detectability::%player%} to 1 on sprint toggle: player is not sprinting: set {detectability::%player%} to 2 player is sprinting: set {detectability::%player%} to 1 every tick: loop all players: if {detectability::%loop-player%} is 1: execute loop-player command "/entitydata @e[name=Zombie,r=40] {Attributes:[{Name:""generic.followRange"",Base:25.0}]}" if {detectability::%loop-player%} is 2: execute loop-player command "/entitydata @e[name=Zombie,r=40] {Attributes:[{Name:""generic.followRange"",Base:45.0}]}" if {detectability::%loop-player%} is 0: execute loop-player command "/entitydata @e[name=Zombie,r=40] {Attributes:[{Name:""generic.followRange"",Base:5.0}]}"Pierwsza część ustawia zmienne wedlug stanu gracza w jakim obecnie jest (bieg/marsz/skradanie)
Druga część używa komend by zmieniać zasięg widzenia mobów.
Ale pojawił się problem, jeśli gracza zobaczy zombie z dalekiej odległosci i zacznie isc w jego kierunku, a gracz wtedy kucnie, to zombie nagle zatrzymuje się, bo nie widzi już gracza. Jest to nierealistyczne, chciałbym, aby zombie, które już zauważyły gracza pozostawały przy swoim zasięgu widzenia.
Jakieś pomysły?
Odnośnik do komentarza
https://skript.pl/temat/35270-system-slyszalnosci-gracza/Udostępnij na innych stronach
5 odpowiedzi na to pytanie
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.