Studziak 49 Opublikowano 31 sierpnia 2019 Udostępnij Opublikowano 31 sierpnia 2019 posiadam skrypt na /handel i jeśli jeden gracz zaakceptuje a drugi odrzuci itemy nie wracają zrobił by to ktoś dobrze ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość ZiemniaQ Opublikowano 31 sierpnia 2019 Udostępnij Opublikowano 31 sierpnia 2019 Czemu nie napisałeś o tym pod postem z którego wziąłeś skrypt? /summon @knugi Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Studziak 49 Opublikowano 31 sierpnia 2019 Autor Udostępnij Opublikowano 31 sierpnia 2019 4 godziny temu, ZiemniaQ napisał: Czemu nie napisałeś o tym pod postem z którego wziąłeś skrypt? /summon @knugi bo w sumie nie wiedziałem że to jego ale wiem że stąd brałem Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
knugi 723 Opublikowano 31 sierpnia 2019 Udostępnij Opublikowano 31 sierpnia 2019 @ZiemniaQ summonowałeś mnie, a teraz znikam *puf* Ja tam widzę Autor: Studziak, więc jakiś plagiat, hmmm. A co do skryptu, powiedz jaką wersję serwera masz i wersje skripta, skript-mirror i skquery: /ver /ver sk (Podaj wszystko co wyświetli się pod tymi komendami, komendę najlepiej wykonaj z consoli, wtedy będziesz mógł wkleić ładnie jako tekst) Gdy pisałem ten skrypt, wszystko było rzetelnie sprawdzane przeze mnie i jeszcze jedną osobę i takiego błędu nie zauważyliśmy. A może te przedmioty są w depozycie? Tak ten skrypt posiada depozyt, by itemy nie znikały Sprawdź wszystkie opcje, gdzie się podziały te itemki. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Studziak 49 Opublikowano 31 sierpnia 2019 Autor Udostępnij Opublikowano 31 sierpnia 2019 (edytowane) 19 minut temu, knugi napisał: @ZiemniaQ summonowałeś mnie, a teraz znikam *puf* Ja tam widzę Autor: Studziak, więc jakiś plagiat, hmmm. A co do skryptu, powiedz jaką wersję serwera masz i wersje skripta, skript-mirror i skquery: /ver /ver sk (Podaj wszystko co wyświetli się pod tymi komendami, komendę najlepiej wykonaj z consoli, wtedy będziesz mógł wkleić ładnie jako tekst) Gdy pisałem ten skrypt, wszystko było rzetelnie sprawdzane przeze mnie i jeszcze jedną osobę i takiego błędu nie zauważyliśmy. A może te przedmioty są w depozycie? Tak ten skrypt posiada depozyt, by itemy nie znikały Sprawdź wszystkie opcje, gdzie się podziały te itemki. [20:41:02 INFO]: This server is running Paper version git-Paper-1618 (MC: 1.12.2) (Implementing API version 1.12.2-R0.1-SNAPSHOT) [20:41:02 INFO]: You are running the latest version [20:41:32 INFO]: Skript version 2.2-dev32c [20:41:32 INFO]: Customize Minecraft's mechanics with simple scripts written in plain English sentences. [20:41:32 INFO]: Website: https://bensku.github.io/Skript [20:41:32 INFO]: Authors: Njol, Mirreski, bensku, TheBentoBox, tim740, Tuke-Nuke, TheLimeGlass, xXAndrew28Xx, Sashie, RoyCurtis, nfell2009, Syst3ms and Snow-Pyon [20:41:32 INFO]: SkQuery version 3.6.0-Lime [20:41:32 INFO]: Authors: LimeGlass and w00tmast3r [20:41:32 INFO]: SkinsRestorer version 13.7.2 [20:41:32 INFO]: Ability to restore/change skins on servers! (Offline and Online Mode) [20:41:32 INFO]: Website: https://skinsrestorer.net/ [20:41:32 INFO]: Authors: Th3Tr0LLeR, McLive, DoNotSpamPls and Blackfire62 [20:41:32 INFO]: skUtilities version 0.9.2 [20:41:32 INFO]: An addon for skript that adds conversions, utilities, files and much more. [20:41:32 INFO]: Website: https://tim740.github.io/ [20:41:32 INFO]: Author: tim740 [20:41:32 INFO]: skript-mirror version 0.9.0 Edytowane 31 sierpnia 2019 przez HeezQ Wstawiam w code; usuwam formatowanie Notatka dodana przez HeezQ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
knugi 723 Opublikowano 31 sierpnia 2019 Udostępnij Opublikowano 31 sierpnia 2019 (edytowane) Z wersji wszystko pasuje, powinno być okej. Zaraz przetestuję i dam Editkę lub nowy post //Edit: Masz rację, był błąd. Tutaj masz poprawione. Zniknięte przedmioty trafiają do depozytu (najprościej było poprawić ) Spoiler options: TAG: &c&l► #Nie zmieniaj :) READY: "gotowy" WAITING: "oczekuje" ACCEPT: "zaakceptowal" SETTING: "ustawia" #Code of TradeSK function TRADE_getInventory(t: text = "") :: inventory: set {_x} to chest with 5 rows named "&9&lWYMIANA" set {_i} to 4 loop 5 times: set slot {_i} of {_x} to 102 named "&l" add 9 to {_i} set slot 36 of {_x} to light green wool named "&8[&2✓&8] &2Akceptuj &8[&2✓&8]" set slot 37 of {_x} to red wool named "&8[&c✗&8] &4Odrzuc &8[&c✗&8]" set slot 41 of {_x} to yellow wool named "&8[&f►&8] &6Ustawia itemy &8[&f◄&8]" set slot 39 of {_x} to yellow wool named "&8[&f►&8] &6Ustawiasz itemy &8[&f◄&8]" return {_x} function TRADE_trade(p: player, p2: player): if distance between {_p} and {_p2} is larger than 5: send "{@TAG} &7Gracz jest za daleko." to {_p} stop if {trade::%{_p}%::status} is not set: if {trade::%{_p2}%::status} is not set: set {trade::%{_p}%::with} to {_p2} set {trade::%{_p}%::status} to {@READY} set {trade::%{_p2}%::with} to {_p} set {trade::%{_p2}%::status} to {@WAITING} send "{@TAG} &7Zaprosiles gracza %{_p2}% do wymiany." to {_p} send "{@TAG} &7Gracz %{_p}% zaprosil Cie do wymiany.%nl%{@TAG} &7Wpisz &6/handel %{_p}%&7, lub kliknij na niego PPM." to {_p2} stop if {trade::%{_p}%::status} is {@WAITING}: if {trade::%{_p}%::with} is {_p2}: set {trade::%{_p}%::status} to {@SETTING} set {trade::%{_p2}%::status} to {@SETTING} open TRADE_getInventory() to {_p} open TRADE_getInventory() to {_p2} function TRADE_saveItems(p: player): if name of {_p}'s current inventory is "&9&lWYMIANA": set {_slots::*} to 0, 1, 2, 3, 9, 10, 11, 12, 18, 19, 20, 21, 27, 28, 29 and 30 loop {_slots::*}: set {_slot} to "%loop-value%" parsed as integer if {_p}'s current inventory's slot {_slot} is not air: add {_p}'s current inventory's slot {_slot} to {deposit::%{_p}%::*} function TRADE_endTrade(p: player): set {_p::*} to {trade::%{_p}%::with} and {_p} set {_i} to 4 set {_przedzialka::*} to 4, 13, 22, 31 and 40 set {_items::*} to 160:14, 160:4 and 160:5 loop {_items::*}: loop {_p::*}: loop {_przedzialka::*}: if name of loop-value-2's current inventory is "&9&lWYMIANA": set {_nr} to loop-index-1 parsed as integer set loop-value-2's current inventory's slot loop-value-3 to loop-value-1 named "&8[&2✓&8] &aWymiana zaakceptowana &8[&2✓&8]" with lore "||||&a&l Wymiana konczy sie za:||&c%4 - {_nr}%" wait 1 second set {_p2} to {trade::%{_p}%::with} TRADE_saveItems({_p}) TRADE_saveItems({_p2}) TRADE_setStatus({_p}, "Odrzuc") give {deposit::%{_p}%::*} to {_p2} give {deposit::%{_p2}%::*} to {_p} clear {deposit::%{_p}%::*} clear {deposit::%{_p2}%::*} function TRADE_setStatus(p: player, t: text): set {_p2} to {trade::%{_p}%::with} if {_t} is "Odrzuc": delete {trade::%{_p}%::*} delete {trade::%{_p2}%::*} delete {trade::%{_p2}%} delete {trade::%{_p}%} close {_p2}'s inventory if {_p} is online: close {_p}'s inventory if {trade::%{_p}%::status} is "Perm": stop if {_t} is {@ACCEPT}: set {trade::%{_p}%::status} to {@ACCEPT} if {trade::%{_p2}%::status} is {@SETTING}: set {_p}'s current inventory's slot 39 to green wool named "&8[&2✓&8] &aZaakceptowales &8[&2✓&8]" set {_p2}'s current inventory's slot 41 to green wool named "&8[&2✓&8] &aZaakceptowal &8[&2✓&8]" stop if {trade::%{_p2}%::status} is {@ACCEPT}: set {_p}'s current inventory's slot 39 to green wool named "&8[&2✓&8] &aZaakceptowales &8[&2✓&8]" set {_p2}'s current inventory's slot 41 to green wool named "&8[&2✓&8] &aZaakceptowal &8[&2✓&8]" set {trade::%{_p}%::status} to "Perm" set {trade::%{_p2}%::status} to "Perm" TRADE_endTrade({_p}) stop if {_t} is {@SETTING}: set {trade::%{_p}%::status} to {@SETTING} set {trade::%{_p2}%::status} to {@SETTING} set {_p}'s current inventory's slot 39 to yellow wool named "&8[&f►&8] &6Ustawiasz itemy &8[&f◄&8]" set {_p2}'s current inventory's slot 39 to yellow wool named "&8[&f►&8] &6Ustawiasz itemy &8[&f◄&8]" set {_p}'s current inventory's slot 41 to yellow wool named "&8[&f►&8] &6Ustawia itemy &8[&f◄&8]" set {_p2}'s current inventory's slot 41 to yellow wool named "&8[&f►&8] &6Ustawia itemy &8[&f◄&8]" on script load: import "org.bukkit.event.inventory.InventoryClickEvent" import "org.bukkit.event.inventory.InventoryCloseEvent" import "org.bukkit.event.player.PlayerInteractEntityEvent" import "org.bukkit.event.inventory.InventoryDragEvent" on join: if size of {deposit::%player%::*} is larger than 0: wait 5 second send "&8[&c?&8] &7Aby odebrac swoje przedmioty z poprzedniej wymiany wpisz: &6/handel odbierz" on quit: if {trade::%player%::status} is set: set {_p2} to {trade::%player%::with} TRADE_saveItems(player) TRADE_saveItems({_p2}) TRADE_setStatus(player, "Odrzuc") wait 3 tick give {deposit::%{_p2}%::*} to {_p2} clear {deposit::%{_p2}%::*} on "org.bukkit.event.inventory.InventoryCloseEvent": set {_p} to event.getPlayer() if {trade::%{_p}%::status} is {@ACCEPT} or {@SETTING}: wait 3 tick open event.getInventory() to event.getPlayer() stop clear {trade::%{_p2}%::*} clear {trade::%{_p}%::status} close {trade::%{_p}%::with}'s inventory clear {trade::%{_p}%::*} on "org.bukkit.event.player.PlayerInteractEntityEvent": set {_p} to event.getPlayer() set {_p2} to "%event.getRightClicked()%" parsed as player if {_p2} is player: TRADE_trade({_p}, {_p2}) #Prawdopodobnie to kiedyś działało. on "org.bukkit.event.inventory.InventoryDragEvent": set {_top} to event.getWhoClicked().getOpenInventory().getTopInventory() if inventory name of {_top} is "&9&lWYMIANA": set {_x} to "%event.getRawSlots()%" replace all "[" and "]" with "" in {_x} set {_x::*} to split {_x} by ", " loop {_x::*}: if loop-value parsed as integer is smaller than 44: cancel event stop #Tak to wyżej xD on drop: set {_top} to player.getOpenInventory().getTopInventory() if name of {_top} is "&9&lWYMIANA": cancel event on "org.bukkit.event.inventory.InventoryClickEvent": set {_top} to event.getWhoClicked().getOpenInventory().getTopInventory() if name of {_top} is "&9&lWYMIANA": set {_rawSlot} to event.getRawSlot() if {_rawSlot} is smaller than 0: stop set {_p} to event.getWhoClicked() set {_clickType} to event.getClick() if "%{_clickType}%" contains "shift": cancel event stop if "%{_clickType}%" is "number key" or "double click using mouse" or "drop key": cancel event stop broadcast "%{_rawSlot}%" #37 if {_rawSlot} is smaller than 45: if {_rawSlot} is not 0, 1, 2, 3, 9, 10, 11, 12, 18, 19, 20, 21, 27, 28, 29 or 30: cancel event if {_rawSlot} is 36: TRADE_setStatus({_p}, {@ACCEPT}) if {_rawSlot} is 37: if {trade::%{_p}%::status} is not "perm": TRADE_saveItems({_p}) TRADE_saveItems({trade::%{_p}%::with}) TRADE_setStatus({_p}, "Odrzuc") if {_rawSlot} is 0, 1, 2, 3, 9, 10, 11, 12, 18, 19, 20, 21, 27, 28, 29 or 30: if {trade::%{_p}%::status} is "Perm": cancel event stop set {_p2} to {trade::%{_p}%::with} wait 1 tick set {_p2}'s current inventory's slot {_rawSlot} + 5 to event.getCurrentItem() TRADE_setStatus({_p}, {@SETTING}) #Crevsers tego nie napisał! #Knugi też nie :kappa: #Samo się napisało. command /handel [<text>]: trigger: if arg 1 is not set: send "&8(◕^^◕)" send "&7/handel <nick> &8Doprowadza do wymiany z graczem." send "&7/handel odbierz &8Odbierasz itemy z depozytu." stop if arg 1 is "odbierz": if size of {deposit::%player%::*} is larger than 0: give {deposit::%player%::*} to player clear {deposit::%player%::*} send "{@TAG} &7Otrzymales swoje przedmioty." stop send "{@TAG} &7Nie masz zadnych przedmiotow w depozycie." stop set {_p} to "%arg%" parsed as offlineplayer if {_p} is online: TRADE_trade(player, {_p}) Edytowane 31 sierpnia 2019 przez knugi Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TakiJakTy 140 Opublikowano 2 września 2019 Udostępnij Opublikowano 2 września 2019 Przenoszę do kosza. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TakiJakTy 140 Opublikowano 2 września 2019 Udostępnij Opublikowano 2 września 2019 Ten temat został przeniesiony do kosza! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi