Skocz do zawartości
  • 0

Skrypt na podmianę główek


dawid3ak
 Udostępnij

Pytanie

Rekomendowane odpowiedzi

  • 0
3 minuty temu, dawid3ak napisał:

Hej. Napisałby mi ktoś skrypt na podmianę główek? Chodzi o to, że podchodzę do główki gracza, która jest postawiona na spawnie, klikam RPM i ją zmieniam na swoją.

 

W internecie jest kilka takich skryptów, wystarczy nieco dłużej poszukać.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
3 minuty temu, dawid3ak napisał:

Szukam już trochę czasu. Podeślesz?

W najprostszej formie możesz spróbować tak:

on right click:
	type of clicked block is player head item
	set clicked block to player's head

Ewentualnie zamień 'player's head' na 'player's skull'.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, Kormic napisał:

W najprostszej formie możesz spróbować tak:

on right click:
	type of clicked block is player head item
	set clicked block to player's head

Ewentualnie zamień 'player's head' na 'player's skull'.

Ok, a da się jakoś zrobić hologram nad tą główką (który zmienia się razem z nią) i wyświetla nick właściciela główki?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, dawid3ak napisał:

Ok, a da się jakoś zrobić hologram nad tą główką (który zmienia się razem z nią) i wyświetla nick właściciela główki?

Proszę, skrypt nietestowany.

on right click:
	type of clicked block is player head item
	set clicked block to player's head
	loop all entities in radius 2 around clicked block:
		loop-entity is armor stand
		set {_as} to loop-entity
		exit loop
	if {_as} is set:
		set display name of {_as} to player's name
	else:
		spawn armor stand at block below clicked block
		apply potion of invisibility 1 without any particles to last spawned armor stand for 999 days
		set display name of last spawned armor stand to player's name

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
9 godzin temu, Kormic napisał:

Proszę, skrypt nietestowany.

on right click:
	type of clicked block is player head item
	set clicked block to player's head
	loop all entities in radius 2 around clicked block:
		loop-entity is armor stand
		set {_as} to loop-entity
		exit loop
	if {_as} is set:
		set display name of {_as} to player's name
	else:
		spawn armor stand at block below clicked block
		apply potion of invisibility 1 without any particles to last spawned armor stand for 999 days
		set display name of last spawned armor stand to player's name

 

a block can't be set to the eye location of the player because the latter is not an item type (glowki.sk, line 3: set clicked block to player's head')

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
9 minut temu, dawid3ak napisał:

a block can't be set to the eye location of the player because the latter is not an item type (glowki.sk, line 3: set clicked block to player's head')

Spróbuj zamienić w błędnej linijce 'player's head' na 'player's skull'.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
10 minut temu, dawid3ak napisał:

Działa, błędu nie ma, ale główki się nie zamieniają.

 

W takim razie spróbujemy z dodatkiem Skellett.

on right click:
	clicked block is floor head
	set skull owner of clicked block to (player's name) parsed as offlineplayer
	loop all entities in radius 2 around clicked block:
		loop-entity is armor stand
		set {_as} to loop-entity
		exit loop
	if {_as} is set:
		set display name of {_as} to player's name
	else:
		spawn armor stand at block below clicked block
		apply potion of invisibility 1 without any particles to last spawned armor stand for 999 days
		set display name of last spawned armor stand to player's name

Jeżeli nie zadziała, zobacz czym jest 'clicked block' oraz co zwraca 'clicked block's type'.

on left click:
	send "%clicked block%"
	send "%clicked block's type%"

Wystarczy, że klikniesz na tę główkę lewym przyciskiem myszy. Podaj co zostanie wysłane na czacie.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
4 minuty temu, Kormic napisał:

W takim razie spróbujemy z dodatkiem Skellett.

on right click:
	clicked block is floor head
	set skull owner of clicked block to (player's name) parsed as offlineplayer
	loop all entities in radius 2 around clicked block:
		loop-entity is armor stand
		set {_as} to loop-entity
		exit loop
	if {_as} is set:
		set display name of {_as} to player's name
	else:
		spawn armor stand at block below clicked block
		apply potion of invisibility 1 without any particles to last spawned armor stand for 999 days
		set display name of last spawned armor stand to player's name

Jeżeli nie zadziała, zobacz czym jest 'clicked block' oraz co zwraca 'clicked block's type'.

on left click:
	send "%clicked block%"
	send "%clicked block's type%"

Wystarczy, że klikniesz na tę główkę lewym przyciskiem myszy. Podaj co zostanie wysłane na czacie.

Nie zwraca nic. W konsoli taki błąd: the clicked block is not a world (glowki.sk, line 7: set skull owner of clicked block to (player's name) parsed as offlineplayer'). Skeletta mam. I strasznie dużo błędów wypluwa.

 

[08:26:35 ERROR]: Could not pass event PlayerInteractEvent to Skript v2.2-dev37c
java.lang.NoSuchMethodError: org.bukkit.event.player.PlayerInteractEvent.getHand()Lorg/bukkit/inventory/EquipmentSlot;
        at ch.njol.skript.events.EvtClick.check(EvtClick.java:191) ~[?:?]
        at ch.njol.skript.SkriptEventHandler.check(SkriptEventHandler.java:146) ~[?:?]
        at ch.njol.skript.SkriptEventHandler$1.execute(SkriptEventHandler.java:110) ~[?:?]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[srv.jar:git-Spigot-7d15d07-c194444]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [srv.jar:git-Spigot-7d15d07-c194444]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [srv.jar:git-Spigot-7d15d07-c194444]
        at org.bukkit.craftbukkit.v1_9_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:212) [srv.jar:git-Spigot-7d15d07-c194444]
        at org.bukkit.craftbukkit.v1_9_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:179) [srv.jar:git-Spigot-7d15d07-c194444]
        at net.minecraft.server.v1_9_R1.PlayerInteractManager.a(PlayerInteractManager.java:110) [srv.jar:git-Spigot-7d15d07-c194444]
        at net.minecraft.server.v1_9_R1.PlayerConnection.a(PlayerConnection.java:784) [srv.jar:git-Spigot-7d15d07-c194444]
        at net.minecraft.server.v1_9_R1.PacketPlayInBlockDig.a(SourceFile:40) [srv.jar:git-Spigot-7d15d07-c194444]
        at net.minecraft.server.v1_9_R1.PacketPlayInBlockDig.a(SourceFile:10) [srv.jar:git-Spigot-7d15d07-c194444]
        at net.minecraft.server.v1_9_R1.PlayerConnectionUtils$1.run(SourceFile:13) [srv.jar:git-Spigot-7d15d07-c194444]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_271]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_271]
        at net.minecraft.server.v1_9_R1.SystemUtils.a(SourceFile:45) [srv.jar:git-Spigot-7d15d07-c194444]
        at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:716) [srv.jar:git-Spigot-7d15d07-c194444]
        at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400) [srv.jar:git-Spigot-7d15d07-c194444]
        at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:655) [srv.jar:git-Spigot-7d15d07-c194444]
        at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:554) [srv.jar:git-Spigot-7d15d07-c194444]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_271]
[08:26:35 ERROR]: Could not pass event PlayerInteractEvent to Skript v2.2-dev37c
java.lang.NoSuchMethodError: org.bukkit.event.player.PlayerInteractEvent.getHand()Lorg/bukkit/inventory/EquipmentSlot;
        at ch.njol.skript.events.EvtClick.check(EvtClick.java:191) ~[?:?]
        at ch.njol.skript.SkriptEventHandler.check(SkriptEventHandler.java:146) ~[?:?]
        at ch.njol.skript.SkriptEventHandler$1.execute(SkriptEventHandler.java:110) ~[?:?]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[srv.jar:git-Spigot-7d15d07-c194444]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [srv.jar:git-Spigot-7d15d07-c194444]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [srv.jar:git-Spigot-7d15d07-c194444]
        at org.bukkit.craftbukkit.v1_9_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:212) [srv.jar:git-Spigot-7d15d07-c194444]
        at org.bukkit.craftbukkit.v1_9_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:179) [srv.jar:git-Spigot-7d15d07-c194444]
        at net.minecraft.server.v1_9_R1.PlayerInteractManager.a(PlayerInteractManager.java:110) [srv.jar:git-Spigot-7d15d07-c194444]
        at net.minecraft.server.v1_9_R1.PlayerConnection.a(PlayerConnection.java:784) [srv.jar:git-Spigot-7d15d07-c194444]
        at net.minecraft.server.v1_9_R1.PacketPlayInBlockDig.a(SourceFile:40) [srv.jar:git-Spigot-7d15d07-c194444]
        at net.minecraft.server.v1_9_R1.PacketPlayInBlockDig.a(SourceFile:10) [srv.jar:git-Spigot-7d15d07-c194444]
        at net.minecraft.server.v1_9_R1.PlayerConnectionUtils$1.run(SourceFile:13) [srv.jar:git-Spigot-7d15d07-c194444]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_271]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_271]
        at net.minecraft.server.v1_9_R1.SystemUtils.a(SourceFile:45) [srv.jar:git-Spigot-7d15d07-c194444]
        at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:716) [srv.jar:git-Spigot-7d15d07-c194444]
        at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400) [srv.jar:git-Spigot-7d15d07-c194444]
        at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:655) [srv.jar:git-Spigot-7d15d07-c194444]
        at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:554) [srv.jar:git-Spigot-7d15d07-c194444]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_271]

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
3 minuty temu, dawid3ak napisał:

Nie zwraca nic. W konsoli taki błąd: the clicked block is not a world (glowki.sk, line 7: set skull owner of clicked block to (player's name) parsed as offlineplayer'). Skeletta mam. I strasznie dużo błędów wypluwa.

Podaj proszę:

  • wersję serwera (tutaj widzę, że 1.9, ale wolę się upewnić)
  • listę dodatków do Skripta wraz z ich wersjami
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, Kormic napisał:

Podaj proszę:

  • wersję serwera (tutaj widzę, że 1.9, ale wolę się upewnić)
  • listę dodatków do Skripta wraz z ich wersjami

1.9 (2175 wersji do tyłu)

 

- Skellett Legacy

- SkQuery 4.1.4

- skRyFall 1.9.23

- Vixio 2.0.7

- WildSkript (?)

- TuSke (?)

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, dawid3ak napisał:

1.9 (2175 wersji do tyłu)

Masz stary silnik, cholernie stary.

Jeżeli możesz, zaktualizuj go przynajmniej do wersji 1.9.4, abyś mógł użyć Skripta 2.5.3 (najnowszego).

1 minutę temu, dawid3ak napisał:

- Skellett Legacy

- SkQuery 4.1.4

- skRyFall 1.9.23

- Vixio 2.0.7

- WildSkript (?)

- TuSke (?)

Zostawisz jedynie Skripta i Skelletta, a następnie zobacz czy nadal sypie błędami w konsoli.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
5 minut temu, Kormic napisał:

Masz stary silnik, cholernie stary.

Jeżeli możesz, zaktualizuj go przynajmniej do wersji 1.9.4, abyś mógł użyć Skripta 2.5.3 (najnowszego).

Zostawisz jedynie Skripta i Skelletta, a następnie zobacz czy nadal sypie błędami w konsoli.

Teraz sam Skript działa dobrze, ale...

 

[08:58:23 ERROR]: Can't compare a block with 'floor head' (glowki.sk, line 6: clicked block is floor head')
[08:58:23 ERROR]: the clicked block is not a world (glowki.sk, line 7: set skull owner of clicked block to (player's name) parsed as offlineplayer')

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, dawid3ak napisał:

Teraz sam Skript działa dobrze, ale...

 

[08:58:23 ERROR]: Can't compare a block with 'floor head' (glowki.sk, line 6: clicked block is floor head')
[08:58:23 ERROR]: the clicked block is not a world (glowki.sk, line 7: set skull owner of clicked block to (player's name) parsed as offlineplayer')

Teraz masz wersję 1.9.4 i Skripta 2.5.3, tak?

Właśnie w przypadku tych błędów używasz kodu do sprawdzania bloku, który podrzuciłem ci wyżej.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
4 minuty temu, Kormic napisał:

Teraz masz wersję 1.9.4 i Skripta 2.5.3, tak?

Właśnie w przypadku tych błędów używasz kodu do sprawdzania bloku, który podrzuciłem ci wyżej.

No to tak...

 

Zwraca "SKULL",

Tworzy się kilka armor standów,

Główki się nie zmieniają.

 

Wersje mam takie, jak powiedziałeś.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
14 minut temu, dawid3ak napisał:

No to tak...

 

Zwraca "SKULL",

Tworzy się kilka armor standów,

Główki się nie zmieniają.

 

Wersje mam takie, jak powiedziałeś.

Wysyła tylko jedną wiadomość? Powinny zostać wysłane dwie.

Co do główki, że się nie zmienia... błąd jest, więc to jest pewne, że nie zadziała.

Tworzy się kilka armor standów? W takim razie niszcz je.

Jeżeli chodzi o wersje, to dobrze. Mogłeś od razu zaktualizować serwer do możliwie najwyższej wersji.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, Kormic napisał:

Wysyła tylko jedną wiadomość? Powinny zostać wysłane dwie.

Co do główki, że się nie zmienia... błąd jest, więc to jest pewne, że nie zadziała.

Tworzy się kilka armor standów? W takim razie niszcz je.

Jeżeli chodzi o wersje, to dobrze. Mogłeś od razu zaktualizować serwer do możliwie najwyższej wersji.

Zwraca dwie wiadomości. 

Ta główka w ogóle nie będzie działać?

Co z tego, że zniszczę armor standy, skoro inny gracz podmieni główkę i będzie to samo. Kiepsko to będzie wyglądało ;/

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, dawid3ak napisał:

Zwraca dwie wiadomości. 

I obie zwracają "SKULL"?

W takim razie...

on right click:
	"%clicked block's type%" is "SKULL"
	set skull owner of targeted block to (player's name) parsed as offlineplayer
	loop all entities in radius 2 around clicked block:
		loop-entity is armor stand
		set {_as} to loop-entity
		exit loop
	if {_as} is set:
		set display name of {_as} to player's name
	else:
		spawn armor stand at block below clicked block
		apply potion of invisibility 1 without any particles to last spawned armor stand for 999 days
		set display name of last spawned armor stand to player's name
Teraz, dawid3ak napisał:

Ta główka w ogóle nie będzie działać?

Będzie, tylko musimy najpierw rozprawić się z pierwszym błędem.

Teraz, dawid3ak napisał:

Co z tego, że zniszczę armor standy, skoro inny gracz podmieni główkę i będzie to samo. Kiepsko to będzie wyglądało ;/

Spokojnie, na razie testujemy. Później się to ogarnie, na razie musimy rozprawić się z błędami w skrypcie.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, Kormic napisał:

I obie zwracają "SKULL"?

W takim razie...

on right click:
	"%clicked block's type%" is "SKULL"
	set skull owner of targeted block to (player's name) parsed as offlineplayer
	loop all entities in radius 2 around clicked block:
		loop-entity is armor stand
		set {_as} to loop-entity
		exit loop
	if {_as} is set:
		set display name of {_as} to player's name
	else:
		spawn armor stand at block below clicked block
		apply potion of invisibility 1 without any particles to last spawned armor stand for 999 days
		set display name of last spawned armor stand to player's name

Będzie, tylko musimy najpierw rozprawić się z pierwszym błędem.

Spokojnie, na razie testujemy. Później się to ogarnie, na razie musimy rozprawić się z błędami w skrypcie.

A więc, jak?

Odnośnik do komentarza
Udostępnij na innych stronach

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ą.

Nieaktywny
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

 Udostępnij

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

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