Skocz do zawartości
  • 0

Potrzebuję pomocy Fast


piotrus131102

Pytanie

Witam, mam zrobioną mapę i nie chce by została zaśmiecona przez graczy w krótkim czasie, i żebym nie musiał jej czyścić z craftingów itp.

chciałbym aby jedną komendą mógłbym usunąć wszystkie blocki położone przez gracza / danego gracza

np /usun Kappa3322

i usuwa wszystkie położone przez niego blocki

Liczę na pomoc, zmienna jest mi obojętna :v

Odnośnik do komentarza
Udostępnij na innych stronach

4 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Hmmm... da się, ale to wymagałoby dużej mocy obliczeniowej przy usuwaniu. Szczególnie wtedy gdy będziemy chcieli usunąć bloki z chunku, który nie jest załadowany. Drugi problem jest taki w jaki sposób przypisywać większość bloków do graczy. Przykładowo ktoś tworzy i stawia wagonik z TNT i o rozsadza. Jest dużo różnych takich przypadków i każdy z nich trzeba przewidzieć. A co z mobami, na przykład creeperami, albo endermanami?

No i trzeba się liczyć z tym, że to jest już dużo informacji do przechowywania, więc najlepiej nadałaby się w tym celu baza danych, bo ten CSV w Skript będzie wydłużał czas ładowania, odczytu no i też będzie dużo kosztował w samym użytkowaniu,

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

@TheMolkaPL Robię serwer na podstawie starve.io jest ograniczona mapa, bloków się nie da niszczyć, da się je "wykopać" no ale jak gracz zginie to musi jego położone blocki pousuwać. dużo pamięci to nie zje bo jednak każdy chunk jest załadowany na takiej mapce. 

ktoś wie jak to napisać?
Można wybrane bloki stawiać np. "ognisko" które mam zrobione w skrypcie. wystarczy chyba tam dopisać lokalizację z graczem, ale nie wiem jak zrobić żeby usunęło po zginięciu gracza :/

 

@NaxynPL Zaraz sprawdzę czy działa.

 

Wow! działa, dziękuję ślicznie <3

Do zamknięcia!

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Hmm coś mi się udało zrobić nie wiem czy na 100% oto ci chodzi ale usuwa bloki :)
(Używałem skripta dev 25 Bensku 1.8.8 Może dużo wymagać od sprzętu)

on place:
	if {zmienna::lokacja::%player%::*} is not set:
		set {zmienna::lokacja::%player%::*} to location of block
	else:
		add location of block to {zmienna::lokacja::%player%::*}
	 
on death of player:
	if {zmienna::lokacja::%player%::*} is set:
		loop {zmienna::lokacja::%player%::*}:
			set block at loop-value to air
		clear {zmienna::lokacja::%player%::*}
		
on quit:
	if {zmienna::lokacja::%player%::*} is set:
		loop {zmienna::lokacja::%player%::*}:
			set block at loop-value to air
		clear {zmienna::lokacja::%player%::*}

 

Edytowane przez NaxynPL
Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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