Skocz do zawartości

.fxy_

Użytkownik
  • Ilość zawartości

    62
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    1

Treść opublikowana przez .fxy_

  1. @up: To nie jest literówka, działa na oba sposoby bodajże. p.s: To jest tylko tutorial, wy sobie ten kod możecie swobodnie edytować.
  2. @up: Dzięki, to mnie motywuje do dalszej "pracy". :) p.s: Masz może pomysł na kolejny tutek?
  3. Tak, jest napisane o tym na początku.
  4. Witajcie w moim kolejnym (drugim) poradniku dotyczących gildii. Wszystkie te poradniki dotyczących gildii wychodzą po to żeby się ogólnie czegoś nauczyć pisząc skrypt na gildie. Głównym obiektem naszego zainteresowania w tym tutorialu jest wchodzenie oraz wychodzenie z terenu gildii (z intruzem). O co w tym chodzi? Chodzi w tym o to, że gdy wejdziemy lub wyjdziemy z terenu gildii pojawi nam się informacje o wchodzeniu lub wychodzeniu z danego terenu gildii. Gdy wchodzimy na teren gildii w której nie jesteśmy członkami wszystkim członkom online w tej gildii wyświetli się informacja o intruzie. Bez zbędnego gadania przejdźmy do pisania, a przed zaczęciem przypomnę tylko, że do poprawnego działania kodu potrzebny jest dodatek: WildSkript. No to zaczynamy: Zmienne z których będziemy korzystać: {gildie.%player%.step} = przetrzymywanie tagu gildii na którym się znajdujemy {gildie.%player%.step-enabled} = zapobiega tylko spamowaniu wejściem/wyjściem. {gildie.gildia.%{gildie.%player%.step}%.czlonkowie: :*} = członkowie gildii {gildie.gildia.%{gildie.%player%.step}%.tag} = tag gildii {gildie.gildia.%{gildie.%player%.step}%.nazwa} = nazwa gildii Teraz przejdźmy do kodu: 1. Na początek stworzymy sobie event "on anymove" oraz przypiszemy lokalizacje gracza do regionu w którym się znajduje: on anymove: set {_gildia} to Region.at{location of player};2. Sprawdźmy czy gracz był już na terenie jakiejś gildii, żeby to sprawdzić zmienna: {gildie.%player%.step} musi być "is set": if {gildie.%player%.step} is set:3. A teraz czas na resztę kodu od opuszczania terenu gildii: send " &8{@p} &7Opusciles teren gildii &6[%{gildie.gildia.%{gildie.%player%.step}%.tag}%] %{gildie.gildia.%{gildie.%player%.step}%.nazwa}%&7." if {gildie.gildia.%{gildie.%player%.step}%.czlonkowie::*} doesn't contain "%player%": loop {gildie.gildia.%{gildie.%player%.step}%.czlonkowie::*}: send " &8{@p} &cIntruz opuscil teren twojej gildii &7(%player%)&c." to loop-value parsed as player set {gildie.%player%.step-enabled} to false delete {gildie.%player%.step} stop4. Co to za tutorial bez omówienia kodu: - wyślij informacje do gracza o opuszczeniu terenu; - zloopuj wszystkich członków terenu gildii na której ostatnio byliśmy. - jeśli w zloopowanych członkach gildii nie znajdziemy nas; - wyślij do osób z gildii informacje o tym, że intruz opuścił teren gildii; Całe opuszczanie gildii właśnie zrobiliśmy, teraz czas na wchodzenie: 1. Sprawdzamy czy teren gildii zawiera "gildia-". Jeśli tak to usuwamy "gildia-" aby uzyskać tag gildii: if {_gildia} contain "gildia-": replace all "gildia-" with "" in {_gildia}2. Blokujemy już, żeby spamowało wejściem/wyjściem: if {gildie.%player%.step-enabled} is not set: set {gildie.%player%.step-enabled} to false if {gildie.%player%.step-enabled} is false: set {gildie.%player%.step-enabled} to true3. Teraz sprawdzamy czy nie jest przypisany teren na który weszliśmy. Jeśli tak jest to go setujemy na tag gildii: if {gildie.%player%.step} is not set: set {gildie.%player%.step} to "%{_gildia}%"4. Teraz czas na resztę kodu: send " &8{@p} &7Wszedles na teren gildii &6[%{gildie.gildia.%{gildie.%player%.step}%.tag}%] %{gildie.gildia.%{gildie.%player%.step}%.nazwa}%&7." if {gildie.gildia.%{gildie.%player%.step}%.czlonkowie::*} doesn't contain "%player%": loop {gildie.gildia.%{gildie.%player%.step}%.czlonkowie::*}: send " &8{@p} &cNa terenie twojej gildii pojawil sie intruz &7(%player%)&c." to loop-value parsed as player stop5. Oraz jego omówienie: - wyślij do gracza informacje o wejściu na teren gildii; - zloopuj wszystkich graczy w gildii z terenu na który weszliśmy; - jeśli w zloopowanych graczach nie znajdziemy nas; - wysyłamy do graczy z gildii o tym, że intruz wszedł na teren gildii; I'voila, kod napisany. Cały wygląda tak: on anymove: set {_gildia} to Region.at{location of player}; if {_gildia} is not set: if {gildie.%player%.step} is set: send " &8{@p} &7Opusciles teren gildii &6[%{gildie.gildia.%{gildie.%player%.step}%.tag}%] %{gildie.gildia.%{gildie.%player%.step}%.nazwa}%&7." if {gildie.gildia.%{gildie.%player%.step}%.czlonkowie::*} doesn't contain "%player%": loop {gildie.gildia.%{gildie.%player%.step}%.czlonkowie::*}: send " &8{@p} &cIntruz opuscil teren twojej gildii &7(%player%)&c." to loop-value parsed as player set {gildie.%player%.step-enabled} to false delete {gildie.%player%.step} stop if {_gildia} contain "gildia-": replace all "gildia-" with "" in {_gildia} if {gildie.%player%.step-enabled} is not set: set {gildie.%player%.step-enabled} to false if {gildie.%player%.step-enabled} is false: set {gildie.%player%.step-enabled} to true if {gildie.%player%.step} is not set: set {gildie.%player%.step} to "%{_gildia}%" send " &8{@p} &7Wszedles na teren gildii &6[%{gildie.gildia.%{gildie.%player%.step}%.tag}%] %{gildie.gildia.%{gildie.%player%.step}%.nazwa}%&7." if {gildie.gildia.%{gildie.%player%.step}%.czlonkowie::*} doesn't contain "%player%": loop {gildie.gildia.%{gildie.%player%.step}%.czlonkowie::*}: send " &8{@p} &cNa terenie twojej gildii pojawil sie intruz &7(%player%)&c." to loop-value parsed as player stopPozdrawiam ~.fxy_
  5. Dzięki za opinie. ;) @offtopic: Chcielibyście poradnik dot. wchodzenia i wychodzenia z cuboidów gildyjnych (chodzi o wiadomosci: "Wszedłeś na teren gildii x", "Opuściłeś teren gildii x", "Na terenie twojej gildii pojawił się intruz (<gracz>)", "Intruz opuścił teren twojej gildii")?
  6. Jest zmienna. jak budowla to nic się nie stanie, przez 1 hit tylko nieśmiertelność, a jak lawa to mało prawdopodobne, że się trafi otwarte źródło ale powinien przeżyć.
  7. .fxy_

    Parsed as...

    Dzięki wszystkim za pomoc. Temat rozwiązany, można zamknąć. :)
  8. ---------------------------------------------------------------------------- Witam, chciałbym wam przedstawić mój kolejny skrypt którym jest RandomTP. Sam pomysł na skypt nie jest za bardzo oryginalny lecz działanie już tak. Cały skrypt opiera się na rzeczach w Skript. Skrypt nie potrzebuje innego pluginu czy dodatkowo do działania. Autor: .fxy_ Wersja: 1.0 Kod: Kliknij, aby przejść! (raw version) ----------------------------------------------------------------------------
  9. .fxy_

    PVPGuild - skrypt na gildie

    @2up: Chodzi nam o to samo? Gdy gracz jest po za cuboidem gildii to może go rozwalać?
  10. .fxy_

    PVPGuild - skrypt na gildie

    @up Levi, może dlatego, że ten temat to temat z skryptem patka? p.s: Levi, chyba pomyliłeś tematy xd
  11. .fxy_

    Forumowy Survival

    Można prosić o dodanie ^^? nick: DragoPeeL
  12. .fxy_

    PVPGuild - skrypt na gildie

    @topic: Patison, jeśli Cię to obchodzi to znalazłem spory bug w cuboidach tych w wersji 1.7. Po więcej informacji pisz na pw ;)
  13. Witajcie, w tym małym ale przejrzystym tutku dotyczących głównie gildii w skrypcie dowiecie się jak blokować budowanie po wybuchu tnt lub creepera przez np. 60 sekund. Sam owego kodu używam w nowych gildiach które piszę a w tych aktualnych jest bug który powoduje, że większa ilość wybuchów przyśpiesza licznik. Przed zaczęciem poradnika przypomnę jeszcze, że do poprawnego działania kodu potrzebny jest dodatek: WildSkript. No więc.. od czego zaczynamy: Tworzymy event "on explode" oraz pobieramy region przypisując mu lokalizacje wybuchu: on explode: set {_gildia} to Region.at{location of event-location};Jeśli się da to można jeszcze tak (nie sprawdzałem): on explode: set {_gildia} to Region.at{event-location};Teraz sprawdzamy czy istnieje region w tej lokalizacji wybuchu "{_gildia}", jeśli tak to sprawdzamy czy nazwa tego regionu zawiera "gildia-" (moje nazwy cuboidów to "gildia-%tag gildii%"): if {_gildia} is not set: stop if {_gildia} contain "gildia-":Jeśli się okaże, że zawiera to usuwamy sobie to "gildia-" żeby uzyskać tag gildii: replace all "gildia-" with "" in {_gildia} Dla dodatku ja posiadam środek gildii czyli w tym przypadku "sponge" który jest mi do czegoś potrzebny i nie chce aby on też wybuchł: loop all blocks in radius 5 around event-location: if loop-block is sponge: wait 0.1 second set loop-block to spongeDo poprawnego użycia będą nam potrzebne 2 zmienne: {gildie.gildia.%{_gildia}%.explode-enabled}Która zapobiega zbugowaniu licznika oraz: {gildie.gildia.%{_gildia}%.explode}Która przetrzymuje liczbę sekund przez które nie możemy budować. 1 zmienną nigdzie nie setujemy czyli jest "not set", na początek ją zsetujemy na "false": if {gildie.gildia.%{_gildia}%.explode-enabled} is not set: set {gildie.gildia.%{_gildia}%.explode-enabled} to falseA następnie tworzymy cały licznik. Ja wkleję cały kod na ten licznik a następnie go omówimy: if {gildie.gildia.%{_gildia}%.explode-enabled} is false: set {gildie.gildia.%{_gildia}%.explode-enabled} to true set {gildie.gildia.%{_gildia}%.explode} to 60 loop {gildie.gildia.%{_gildia}%.czlonkowie::*}: send " &8{@p} &cNa terenie twojej gildii wybuchlo TNT. Nie mozesz od teraz na nim budowac przez &760 sekund&c." to loop-value parsed as player while {gildie.gildia.%{_gildia}%.explode} is greater than 0: wait 1 second subtract 1 from {gildie.gildia.%{_gildia}%.explode} set {gildie.gildia.%{_gildia}%.explode-enabled} to false stopTłumaczenia będą linijka po linijce: - jeśli {gildie.gildia.%{_gildia}%.explode-enabled} jest ustawiona na false; - ustaw {gildie.gildia.%{_gildia}%.explode-enabled} na true (żeby nie można było zbugować licznika); - ustaw {gildie.gildia.%{_gildia}%.explode} (licznik) na 60; - zloopuj członków gildii na której wybuchło; - wyślij do nich wiadomość z informacją; - pętla while będzie wykonywana dopóki {gildie.gildia.%{_gildia}%.explode} (licznik) jest większy niż 0; - czeka 1 sekunde; - zabiera 1 z {gildie.gildia.%{_gildia}%.explode} (licznika); - po pętli while ustawia {gildie.gildia.%{_gildia}%.explode-enabled} na false; - stop; GOTOWE, licznik gotowy, cały kod wygląda następująco: on explode: set {_gildia} to Region.at{location of event-location}; if {_gildia} is not set: stop if {_gildia} contain "gildia-": replace all "gildia-" with "" in {_gildia} loop all blocks in radius 5 around event-location: if loop-block is sponge: wait 0.1 second set loop-block to sponge if {gildie.gildia.%{_gildia}%.explode-enabled} is not set: set {gildie.gildia.%{_gildia}%.explode-enabled} to false if {gildie.gildia.%{_gildia}%.explode-enabled} is false: set {gildie.gildia.%{_gildia}%.explode-enabled} to true set {gildie.gildia.%{_gildia}%.explode} to 60 loop {gildie.gildia.%{_gildia}%.czlonkowie::*}: send " &8{@p} &cNa terenie twojej gildii wybuchlo TNT. Nie mozesz od teraz na nim budowac przez &760 sekund&c." to loop-value parsed as player while {gildie.gildia.%{_gildia}%.explode} is greater than 0: wait 1 second subtract 1 from {gildie.gildia.%{_gildia}%.explode} set {gildie.gildia.%{_gildia}%.explode-enabled} to false stopAle poczekaj... to przecież tylko licznik. Teraz czas na blokowanie budowania: on place: set {_gildia} to Region.at{location of player}; if {_gildia} is not set: stop if {_gildia} contain "gildia-": replace all "gildia-" with "" in {_gildia} if {gildie.%player%.tag} isn't "%{_gildia}%": cancel event send " &8{@p} &cNie mozesz klasc blokow na terenie innej gildii!" stop else: if {gildie.gildia.%{gildie.%player%.tag}%.explode} is greater than 0: cancel event send " &8{@p} &cNa terenie gildii wybuchlo TNT. Nie mozesz na nim budowac jeszcze przez &7%{gildie.gildia.%{gildie.%player%.tag}%.explode}% sekund&c." stopPierwsze 6 linijek (nie licząc eventu) są takie same, nie będę ich omawiał. Teraz czas na omawianie reszty: - Jesli tag gildii gracza nie będzie taki sam jak tag gildii cuboidu; - anuluje event; - wysyła wiadomość informacyjną; - stop; - jeśli tag gildii gracza będzie jednak taki sam jak tag gildii cuboidu; - jeśli {gildie.gildia.%{gildie.%player%.tag}%.explode} (licznik) będzie większy niż 0; - anuluje event; - wysyła wiadomość informacyjną; - stop; I tak o to napisaliśmy wybuchanie tnt na terenie gildii. Zmienne wykorzystane w tutorialu: - {gildie.%player%.tag} = tag gildii gracza; - {gildie.gildia.%{gildie.%player%.tag}%.explode} = licznik; - {gildie.gildia.%{_gildia}%.explode-enabled} = zapobiega zbugowaniu licznika {_gildia} = tag gildii. Pozdrawiam ~.fxy_
  14. .fxy_

    Liczymy do 1000

    808
  15. @up: Cały czas go poprawiam ;) Głównie to go od nowa piszę bo mi nie wyszło coś a taki syf w nim, że się patrzeć nie da. Na 100% w nowej wersji ukaże się powiększanie cuboidów oraz płacenie odpowiedniej ilości diamentów za dołączenie do gildii (19,27,31) itp. mam na to wszystko przygotowany skromny algorytm.
  16. .fxy_

    [Dyskusja] Propozycje

    @up: Wiem, że istnieje ale na aktualnym czasowym np. nie ubywa tego życia co np. sekundę, źle działa jak bym chciał stworzyć na 10 sekund i 50 procent życia.
  17. .fxy_

    [Dyskusja] Propozycje

    Tworzenie czasowego paska smoka jak to jest możliwe w BarAPI za pomocą kodu: BarAPI.setMessage(player, message, 5);to w skrypcie można to zrobić inaczej: display "Czesc!" on timed bossbar on 10 seconds with 50 percent I to spowoduje wyświetlenie paska smoka czasowego na 10 sekund na którym ubywa życie od tych 50 procent czyli połowy życia. Pobieranie aktualnych rzeczy na pasku smoka: set {_text} to text on player's bossbarset {_percent} to percent on player's bossbarset {_time} to time on player's bossbar@EDIT: Oprócz tego jeżeli jest to możliwe to można by było dodać edytowanie aktualnego paska smoka niż tworzenie dla tego gracza kolejnego: change text on player's bossbar to "Czesc, kolego!"change time on player's bossbar to 11change percent on player's bossbar to 75
  18. @offtopic: Cały temat stał się teraz pogawędką o tym jak skrypty czy pluginy są od siebie lepsze, a nie o to w tym chodzi. Jeżeli jakiś moderator stwierdzi, że to jest plagiat albo coś co narusza coś tam to po prostu niech zamknie ten temat to się spam skończy. Takie przezwiska i wgl. to tylko przez to, że skopiowałem marne 20 linijek czegoś co jest nie realne? Proszę was, jak macie robić z tego czegoś aferę to zapraszam do psychiatryka bo jest z wami coś nie tak.
  19. @up: Nie no... podaj reszte kodów podobnych, z chęcią je zobaczę i postaram się zmienić pisząc inne kody niż ty mistrzu skryptów.
  20. Ja zliczyłem 3 ;) p.s: Zjechałem na sam dół i co... widzę tylko 2 eventy takie same ŁOŁ (PO PROSTU BULLSHIT NA CAŁEGO...) to jest zbieg okoliczności, że wyglądają tak samo. Ja zostaje przy swoim. :) p.s2: Porównując to to są jedyne ok. 20-25 linijek takie same a gdzie twoje całe 93 niby?
  21. Heh, ja swoje powiedziałem: nie skopiowałem od nikogo kodu, wszystko sam napisałem. Jak Patison ma taki ból dupy to mogę skrypt jeszcze raz napisać tak żeby nie przypominało to lepszej kopii jego skryptu ;) p.s: Prawda jest taka, że jak ja bym swój skrypt wstawił jako pierwszy a patison po mnie to ja bym mógł go o to samo posądzać, ale taki szczegół.
  22. @up: Ja nie udaję, z twojego kodu nic nie patrzyłem bo i tak jest w nim masło maślane i mało co można go ogarnąć, a kod tych gildii pisałem sam i wiem o tym. To, że ty masz jakąś super strone od sprawdzania podobieństw kodu to już twoja sprawa, ja będę cały czas sądził, że kod tych gildii sam pisałem, coś jeszcze?
  23. @up: Doceniam, a to że on ci tyle pokazał to nie znaczy że kopiuje tylko podobnie wygląda. Kod pisałem sam, udowodnić ci to jakoś inaczej? Może mam go inaczej napisać żebyś był zadowolony...?
  24. Napisz co, bo cały kod to moja wiedza i pomoc docem WildSkripta.
  25. Dzięki, do zamknięcia! //Zamykam na prośbę autora ~ tropereks
×
×
  • Dodaj nową pozycję...