-
Ilość zawartości
39 -
Rejestracja
-
Ostatnia wizyta
Treść opublikowana przez DaWiHsS
-
Do zamknięcia.
-
To nie wiedziałem. Dzięki
-
Eeeeeeeeeeeeeee dafuq. Właśnie zrobiłem update, z spigot 1.12 i skript <nie wiem> przeszedłem na spigot 1.12.2 i skript 2.4.1. Błędy takie same wyskoczyły. Ale. Zauważyłem jeden problem. Dlaczego linijka 1 nie działa a 2 tak? send "Ench nr.%{_num}% Key: %loop-index% Value: %loop-value-2%" to player ## działa bez zarzutów send "Ench nr.%{_num}% Key: %loop-index% Value: %loop-value-2%" to player Usunąłem komentarz i błąd zniknął. Like. Dlaczego. xD Nie interpretuje polskich znaków w komentarzach? W każdym razie, usunąłem komentarz przy enchant slot (round(34 + 3*{_num})) of player's current inventory with ("%loop-index% %loop-value-2%" parsed as enchantment type) i błąd zniknął, działa jak powinno. Dlatego to: Jest jednak rozwiązaniem, a na komentarze trzeba uważać Axee, chcesz naj czy dać do tego wpisu?
-
(...) loop 3 times: (...) loop {horoEnchant::%player%::ench%{_num}%::*}: enchant slot (round(34 + 3*{_num})) of player's current inventory with ("sharpness 2" parsed as enchantment type) enchant slot (round(34 + 3*{_num})) of player's current inventory with ("%loop-index% %loop-value-2%" parsed as enchantment type) ### NIE DZIAŁA send "Ench nr.%{_num}% Key: %loop-index% Value: %loop-value-2%" to player ## działa bez zarzutów Cały kod:
-
enchant slot (round(34 + 3*{_num})) of player's current inventory with ("sharpness 2" parsed as enchantment type) enchant slot (round(34 + 3*{_num})) of player's current inventory with ("%loop-index% %loop-value-2%" parsed as enchantment type) Pierwsza linijka działa, druga natomiast ni chu. Can't understand this condition/effect: enchant slot (round(34 + 3*{_num})) of player's current inventory with ("%loop-index% %loop-value-2%" parsed as enchantment type)
-
enchant slot 37 of player's current inventory with (loop-index parsed as enchantment) 1 Can't understand this condition/effect: enchant slot 37 of player's current inventory with (loop-index parsed as enchantment) 1 Still coś nie halo Ma to sens. Ma to bardzo duży sens. Zwrócę na to uwagę, dzięki
-
W najgorszym wypadku mogę zrobić na chama: if {ench1::sharpness} is set: enchant <item> with sharpness {ench1::sharpness} No ale to trochu nie efektywne
-
Więc mam coś takiego: loop 3 times: set {_num} to loop-number (...) loop {customEnchant.%player%.ench%{_num}%::*}: send loop-index to player enchant slot 37 of player's current inventory with loop-index 1 I nie chce to działać, zarówno gdy użyję (linijka z enchant slot 37) : with %loop-index% 1 with %{loop-index}% 1 with (loop-index parsed as enchant) 1 with (loop-index parsed as text) 1 with (%loop-index% parsed as enchant) 1 with (%{loop-index}% parsed as text) 1 Mimo tego, że tuż pod tym mam: loop {customEnchant.%player%.ench%{_num}%::*}: send "Ench nr.%{_num}% Key: %loop-index% Value: %loop-value-2%" to player I działa to bez problemów. Błąd wyrzuca że albo nie znalazło pętli z możliwością loop-index albo że nie rozumie tego warunku/efektu W zmiennej ench%{_num}%:: są takie rzeczy jak ::sharpness ::unbreaking ::bane of arthropods . . . Jak teraz mogę z indexów ::sharpness (watość: 5) zrobić enchant <item> with sharpness 5
-
^ Najefektywniejsze. Dzięki Do zamknięcia.
-
Witam, chcę usunąć kilka zmiennych "podrzędnych". W sensie mam takie zmienne np: {kek.%player%.t1.a} {kek.%player%.t1.b} {kek.%player%.t1.c} i chciałbym zamiast delete {kek.%player%.t1.a} delete {kek.%player%.t1.b} delete {kek.%player%.t1.c} zrobić coś np delete {kek.%player%.t1.*} albo delete {kek.%player.t1::*} wiem że ::* służy do pętel, ale przynajmniej próbowałem :^) Pytanie: Czy jest coś takiego możliwe? Czy każdą zmienną trzeba usuwać osobno. Notka: To nie będą zmienne tymczasowe ({_t1.a}) ponieważ chce je stworzyć przy jednym evencie i usunąć przy drugim
-
Rozpracowałem to. Razem z tym set {_item} to slot 22 of current inventory of player ...można było {_item} porównywać i na nim operować. Kompletny kod, z obsługą w razie gdyby gracz zamknął enchant bez ściągania przedmiotu: Dziękuję, w razie problemów napiszę na nowo. Do zamknięcia. EDIT: Nie wiem czy teraz zaznaczyć swoją czy Marudy odpowiedź za najlepszą xd
-
... nie w tym momencie, ale moment po położeniu. Myślałem żeby wykorzystać wait 1 tick, tylko nie mogłem porównać przedmiotu ze slotu 22. Wyrzuca błąd: Can't understand this expression: 'item in slot 22 of current inventory of player' (<<<>>>.sk, line 38: set {_item} to item in slot 22 of current inventory of player') Bardziej myślę jak już to nad: on inventory click: if event-inventory's name is "&4&lEnchanting": if event-slot is not (22, 37, 40 or 43): cancel event else: if event-slot is 22: send "EventSlot" to player wait 1 tick set {_item} to item in slot 22 of current inventory of player if {_item} is any tool: send "TOOL" to event-player if {_item} is any sword: send "SWORD" to player Jak się okazuję nagle usuwając item i dodając wait 2 tick nagle działa, jeśli zostawi się 1 tick trzeba dwa razy włożyć zanim zaskoczy: on inventory click: if event-inventory's name is "&4&lEnchanting": if event-slot is not (22, 37, 40 or 43): cancel event else: if event-slot is 22: send "EventSlot" to player wait 2 tick set {_item} to slot 22 of current inventory of player if {_item} is any tool: send "TOOL" to event-player if {_item} is any sword: send "SWORD" to player
-
Okej, akcję ja mam, nawet widać na zdj efekt zareagowania na klikniecie, co prawda nie miałem inventory action is place one:, ale dalej to nie rozwiązuje zadania sprawdzenia, co za przedmiot został wstawiony, a o to mi głównie chodzi.
-
Próbuję zrobić nowy system Enchantowania, i potrzebuję odpowiedni event w momencie, w którym włożę item w slot 22 wirtualnej skrzyni. Czyli otwieram "Enchant", przekładam z inv gracza do wirtualnego, i jeśli jest to slot 22, i w tym slocie jest teraz miecz to zrób A, jeśli jest kilof zrób B, jeśli zbroja C itd. Aktualnym kodem dochodzę do momentu wskazania na opowiedni slot, ale item ma się nijak do porównania z tool albo sword. Aktualny kod także nie wyrzuca błędów, wersja 1.12 on inventory click: if event-inventory's name is "&4&lEnchanting": if event-slot is not (22, 37, 40 or 43): cancel event else: if event-slot is 22: send "EventSlot" to player wait 1 tick if player's item is tool: send "TOOL" to event-player if event-item is a sword: send "SWORD" to player A tak ekwipunek wygląda ekwipunek po włożeniu miecza do 22:
-
Złapała mnie intryga, czy można przeładować argument komendy tak jak funkcji w zwykłym programowaniu? Dla tych co nie znają przeładowania: (przykład c++) void funkcja(int x, int y) { // kod dla dwóch argumentów } void funkcja(int x, int y, int z) { // kod dla trzech argumentów } Chodzi mi głównie o to, czy mógłbym podać argument komendy jako player albo text, żeby przy wpisywaniu komendy, można było wprowadzić w dany argument jakiś tekst, albo gracza (z auto uzupełnianiem na Tab). Prosiłbym o przykładowy kod jeżeli takoż się da
-
Osobiście bym zalecił użycia typu czasu niżeli liczb. Mógłbyś wtedy wyrzucić every 1 minute: i zastąpić jego funkcjonalność w komendzie, używając now, który odpowiada za czas aktualny (w tym momencie). Miałbyś wtedy np: command /kit <text>: (...) trigger: if arg 1 is "Gracz": set {_waited} to difference betweenn {delay.%player%.kitGracz} and now if {_waited} is less than 60 minutes: message " &cMusisz poczekać %difference between 60 minutes and {_waited}%" stop # Teoretyczny else #>> kit Gracz (...) #<< kit Gracz set {delay.%player%.kitGracz} to now Unikniesz przez to ewentualnego lag-spike'a co minutę przez przebieranie po 4 zmiennych każdego gracza, nawet tych offline (nie usuwasz gracza z listy po dojściu do granicy cooldown'u. więc jego zmienna będzie się zwiększać w nieskończoność aż do granicy zmiennej) Nie sprawdzałem tego skryptu więc mogą być ewentualne literówki ;d Popatrz na to i sprawdź, czy będzie odpowiednio działać.
-
:CCC Dobra, to coś łatwiejszego... (tak, wrzuciłem tam prawie każde stylowanie, łącznie z indeksami xd) W sumie ContLock można by łatwiej przez po prostu zablokowanie i ustalenie dla właściciela xD bez tych zabezpieczeń, obostrzeń i grup itp. Ostatnio zastanawiałem się nad mini grą Paintball: Tworzone są 2 drużyny, zbalansowanych pod liczbą (max przewaga drużyny to 1 gracz). Po wystartowaniu gry, drużyny spawnują się w swojej bazie z ochroną na 2-3 s, każdy gracz dostaje 50 dajmy śnieżek, klikając prawym, wystrzeliwuje ją, i przy trafieniu w sojusznika odbierany jest 1 pkt, a trafiony przeciwnik jest teleportowany do swojego spawna, odnawiany (ochrona i amunicja). Za zabójstwo dostaje się 10 pkt. W sumie tyle by wystarczyło xd W skrócie; paintball team deathmatch. Dodatkowe, co można w tym rozwinąć (w sumie należałoby do użytku publicznego xd) - Rangi strzelców, zdobywane od punktów - Zakupywanie w grze amunicji - Scoreboard, z punktami, rangą, zabójstwami, zgonami, punktami, K/D, wystrzelone, trafione, użyte inne bronie, celność, - Inne typy broni (granaty, air strike, sticki, rakiety) - Głosowanie na mapy - Wybór preferowanej drużyny ( Sowieci / Naziści / Obojętnie. A nie, bo teraz tak nie wolno. Kamień / Papier / Nożyce (3 drużyny??) / Ręka) W sumie też tak nie wiemy do końca na jakim poziomie jesteście, i co możemy wam dać xD Więc tak można sb szczelać i szczelać xd SkriptGuiGenerator (może być skomplikowane :l): W skrzynce ustawiasz przedmioty, które zostaną zapisane gdzieś, najlepiej yaml, po komendzie, naciśnięcie prawym danym itemem przypisze otworzenie gui tym itemem z układem jak w skrzynce. To taki pomysł na przypale, nie musicie się brać za to xD Kolejne pomysły mogę pisać na bieżąco Pozdrawiam ~ @koxoskar16 @albertinio
-
Poszukuje skryptu na wiadomosci po smierci/deadzie
DaWiHsS odpowiedział(a) na AdeeK211555 pytanie w Pytania i problemy
Hashe ( # ) w srkipcie służą za komentarz do skryptu, przez co łatwiej potem się połapać co się dzieje w skrypcie bez dokładnej analizy kodu ;d Broadcast podałem mu jako przykład, bo o to też się pytał ;d set death message to bym podał, gdyby zapytał się o sposób o zmiane typowej wiadomości śmierci a nie samej wiadomości ;d Chociaż też racja, mogłem przewidzieć to -
Proponowałbym dopisać do tego jeszcze, by od razu wysłało informację do op'ów o nowym problemie. (...) send "Dodano problem!" send "==>Dodano nowy problem!<===" to ops # albo loop players: if loop-player has permission "Notify.newproblem": send "==>Dodano nowy problem!<===" to loop-player
-
Poszukuje skryptu na wiadomosci po smierci/deadzie
DaWiHsS odpowiedział(a) na AdeeK211555 pytanie w Pytania i problemy
Coś w ten deseń? on death of a player: if attacker is zombie: send "Zginales od zombiaka" to victim #wysyła tylko do gracza, który umar if attacker is skeleton: broadcast "Zastrzelono gracza %victim%" to the world of victim # wysyła do świata w którym umarł # if attacker is creeper / pigman / ghast / wither etc. też powinno działać, mam tylko wątpliwości co do creepera, ale to informuj jakby coś było nie ten teges # if damage cause is drowning: # jeżeli (teoretycznie) umarł od uduszenia # if damage cause is explosion: # jeżeli (teo) od wybuchu # if damage cause is fire: # jeżeli (t) od ognia, np w nim stoi # if damage cause is burning: # od spalenia, np od podpalenia przez lawe # if damage cause is lava: # od lawy # if damage cause is projectile: # od pocisku, np z dispensera Więcej o damage cause: https://skripthub.net/docs/?id=2140 -
Szczerze nie widzę jakiegoś problemu w samym skrypcie... To jest serwer publiczny czy lokalny prywatny? Porobiłbym testy dla kilku scenariuszy, jeżeli miałbyś czas go odpalić
- 6 odpowiedzi
-
- set block at
- bloki
-
(i 3 więcej)
Oznaczone tagami:
-
Ło Cie Panie, jak o pomysły to daj mi moment 1. ContainerLock: Skrypt blokowania skrzynek, enchantów, hopperów i piecyków przed niszczeniem i otwieraniem/wyciąganiem dla użytku dla graczy, z opcjami na blokowanie Prywatne, i Drużynowe, też w taki sposób, by nie tworzyć konfigu dla każdego pojedynczego pojemnika, a tylko na stwierdzenie czy dany pojemnik ma być zablokowany Prywatnie, Grupowo, Publicznie, z możliwością tworzenia do 3 grup na użytkownika, z ograniczeniem do 5 użytkowników na grupę dla graczy z permisją dajmy np. Skript.ContBlock.group.size.member i do 8 dla *.vip. Jakby dokumentacja: -Bloki do blokady definiowane w opcjach lub variables, ew przez komendę -Komenda zablokowania pojemnika na który gracz się patrzy z przypisaniem, czy na prywatne, grupy (nazwa, max 3 grupy) czy publicznie (nie można niszczyć ale otwierać ok) [EDIT bo przypadkiem zapisałem xd] -Komenda stworzenia grupy (do 3 grup) i dodawania, usuwania, listowania użytkowników, do 5/8 użytkowników na grupę -Komenda listowania właściwości zablokowanego pojemnika -Przy próbie otworzenia/zniszczenia pojemnika stosowne ostrzeżenie -Automatyczne usunięcie blokady z konfigu, jeżeli pojemnik zostanie zniszczony przez właściciela -Lista konfiguracyjna na każdy blok: (przykładowo) [nazwa] {ContLock.Locked.%Właściciel%.%Lokalizacja%} [1] Właściciel (ten, który zablokował) [2,3,4] Udostępnione dla grup * 3, "%właściciel%" jeżeli prywatne, "0" dla nieokreślonego (nie brany pod uwagę), "all" dla publicznego -Grup: [nazwa] {ContLock.Groups.%Właściciel%.%Nazwa%} [1 lub wcale] Właściciel [1-5/2-6] Członkowie # Administracyjne: -Komenda usunięcia blokady z pojemnika, usunięcia grupy, upublicznienia za kare (czy co tam jeszcze wam przyjdzie do głowy xd) # Uwaga! - Hoppery innych właścicieli / bezpańskie nie mogą wyciągać z zablokowanych pojemników - Nie można zablokować już zablokowanego przez kogoś pojemnika - Po upublicznieniu karym, nie można zablokować pojemnika, ani niszczyć (o zniszczenie trzeba do administracji)[rozwiązaniem może być upublicznienie na właścicielu o nazwie <w tym miejscu walnij głową w klawiaturę> ] - Blokada przed wysadzeniem zablokowanych pojemników Mile widziana byłaby możliwość szybkiej re-konfiguracji w dziale options, jak nazwy zmiennych, ilość grup/użytk., ilość użytk./grupę. I oczywiście dokumentacja w komentarzach skrytpu, opcjonalna, ale mile widziana Pozdrawiam~ @albertinio @koxoskar16 PS.: Jeżeli wgl weźmiecie się za ten projekt, zostawcie odpowiedź lub coś, ew mam kilka pomysłów na prostsze skrypty jeżeli to za dużo xd
-
on death: if victim is not Player: #send "Ded is not player" to attacker # <--- opcjonalne if attacker is a player: #send "Ded is by player" to attacker # <--- opcjonalne add 50 to attacker's balance chance of 50%: drop 5 diamond at victim chance of 25%: drop 1 pumpkin at victim # tak, tak jest dynia chance of 50%: drop 12 Gold ingot at victim Zmieniłem u siebie tylko: if attacker is player na: if attacker is a player I wszystko ok, działa
-
Sprawdziłem, działa, dziękuję za udział i uważam temat za zamknięty Pozdrawiam
-
Well, wszystko ok, uważam temat za zamknięty Dziękuję pozdrawiam
