Skocz do zawartości
  • 0

Nadmierny resp mobów


LordYu
 Udostępnij

Pytanie

Kod skryptu

on spawn of a zombie:
	entity is in world "world":
		set {_zombie} to random integer between 1 and 5
		if {_zombie} is equal to 1:
			set name of event-entity to "&aZombie Lv.1"
			set max health of event-entity to 20
			heal event-entity
			stop
		else:
			if {_zombie} is equal to 2:
				set name of event-entity to "&2Zombie Lv.2"
				set max health of event-entity to 25
				heal event-entity
				stop
			else:
				if {_zombie} is equal to 3:
					set name of event-entity to "&3Zombie Lv.3"
					set max health of event-entity to 30
					heal event-entity
					stop
				else:
					if {_zombie} is equal to 4:
						set name of event-entity to "&cZombie Lv.4"
						set max health of event-entity to 35
						heal event-entity
						stop
					else:
						if {_zombie} is equal to 5:
							set name of event-entity to "&4Zombie Lv.5"
							set max health of event-entity to 50
							heal event-entity
							stop

Problem:

Po włączeniu skryptu i nocy na serverze, moby respią się niekontrolowanie

Jest ich od 600-2 000 potem już blokuje je komendą stoplag bo mi wiesza komputer

Moby respią się wokół Gracza który się nie porusza czyli 10x10 chunków (ustawienia serwera)

Nie wiem w czym leży problem, myślałem już że moby mogą się duplikować czyli:
Zrespi się Zombie > Losowanie mu Lv > Wylosowano 2 > Resp Zombie Lv.2 > Kopiowanie Zombie Lv.2 > Losowanie > Wylosowano 5 > Kopiowanie Zombie Lv. 5 > ...

Czyli że po prostu moby się nadpisują na siebie

Dodałem formułkę która sprawdza ich nazwy przed losowaniem, if name of entity is ...

Lecz bez efektu, wciąż jest ich za dużo, zmniejszałem już ilość mobów w bukkit.yml do 5/10 ale nic to nie dało wciąż zabijam ~1000 mobów

 

 

Chciałbym aby skrypt nie ingerował w ilość respionych mobów lecz tylko w ich nazwy, życie i wyposażenie.

Po wyłączeniu skryptu mobów zabijam tylko 100/140 taką samą ilość chciałbym mieć z wł skryptem

Odnośnik do komentarza
Udostępnij na innych stronach

8 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
9 godzin temu, JPablo napisał:

Kod skryptu

on spawn of a zombie:
	entity is in world "world":
		set {_zombie} to random integer between 1 and 5
		if {_zombie} is equal to 1:
			set name of event-entity to "&aZombie Lv.1"
			set max health of event-entity to 20
			heal event-entity
			stop
		else:
			if {_zombie} is equal to 2:
				set name of event-entity to "&2Zombie Lv.2"
				set max health of event-entity to 25
				heal event-entity
				stop
			else:
				if {_zombie} is equal to 3:
					set name of event-entity to "&3Zombie Lv.3"
					set max health of event-entity to 30
					heal event-entity
					stop
				else:
					if {_zombie} is equal to 4:
						set name of event-entity to "&cZombie Lv.4"
						set max health of event-entity to 35
						heal event-entity
						stop
					else:
						if {_zombie} is equal to 5:
							set name of event-entity to "&4Zombie Lv.5"
							set max health of event-entity to 50
							heal event-entity
							stop

Problem:

Po włączeniu skryptu i nocy na serverze, moby respią się niekontrolowanie

Jest ich od 600-2 000 potem już blokuje je komendą stoplag bo mi wiesza komputer

Moby respią się wokół Gracza który się nie porusza czyli 10x10 chunków (ustawienia serwera)

Nie wiem w czym leży problem, myślałem już że moby mogą się duplikować czyli:
Zrespi się Zombie > Losowanie mu Lv > Wylosowano 2 > Resp Zombie Lv.2 > Kopiowanie Zombie Lv.2 > Losowanie > Wylosowano 5 > Kopiowanie Zombie Lv. 5 > ...

Czyli że po prostu moby się nadpisują na siebie

Dodałem formułkę która sprawdza ich nazwy przed losowaniem, if name of entity is ...

Lecz bez efektu, wciąż jest ich za dużo, zmniejszałem już ilość mobów w bukkit.yml do 5/10 ale nic to nie dało wciąż zabijam ~1000 mobów

 

 

Chciałbym aby skrypt nie ingerował w ilość respionych mobów lecz tylko w ich nazwy, życie i wyposażenie.

Po wyłączeniu skryptu mobów zabijam tylko 100/140 taką samą ilość chciałbym mieć z wł skryptem

Jeżeli zmienisz nazwę potwora to jest odliczany od limitu na chunku. Ostatnio sam robiłem i respiły się bez limitu. Po 2k. Można pogrzebać w kodzie aby zrobić własny limit mobów na chunku itp ale to trzeba troszkę czasu (parę minut).

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Godzinę temu, JPablo napisał:

@Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

A jaka jest formułka na sprawdzanie ilości mobów na chunku?

 

Ewentualnie już plugin który może zrobić taki sam efekt jak ma mw skrypcie

Możesz przy spawanie potwora też sprawdzać czy w okolicy np 25 bloków nie ma żadnego w przeciwnym razie można unieważnić respawn.

On spawn of creature:

   Loop all entities within 25 meters of event-entity:

    If loop-entity is more than or equal to iles:

          Kill event-entity

 

Coś w tym stylu można (pisałem przykładowo więc nie testowałem i nie wiem czy trzeba zliczyć loop, zobaczyć można coś takiego).

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Zamiast kill lepiej by było cancel event żeby go nei respił, bo z kill wylatują itemy (a te dają się liczyć po 500)

Ale pomysł już jakiś jest, chciałem dodać limit w postaci zmiennej przy respie +1 po zabiciu -1 ale to by spowodowało że w 100 kratkach byłoby 500 a potem nic

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
11 godzin temu, JPablo napisał:

Zamiast kill lepiej by było cancel event żeby go nei respił, bo z kill wylatują itemy (a te dają się liczyć po 500)

Ale pomysł już jakiś jest, chciałem dodać limit w postaci zmiennej przy respie +1 po zabiciu -1 ale to by spowodowało że w 100 kratkach byłoby 500 a potem nic

To dodaj clear drops jeżeli ofiara nie ma nazwy np cancel event to nwm czy nie będzie można wtedy lokalizacji złapać skoro obiektu nie będzie. Ale możesz spróbować z cancel jeżeli zadziała.

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...