Skowronn 2 Opublikowano 6 marca 2020 Udostępnij Opublikowano 6 marca 2020 (edytowane) Witam, widziałem że istnieje już taki poradnik lecz został on dosyć chaotycznie zrobiony więc postanowiłem zrobić swój w bardziej "ogarnięty" sposób. Nasza komenda będzie polegać na zapisie do pliku Rangę którą dostanie gracz oraz odczytaniu jej z pliku i nadani tej rangi graczowi. ZAPIS A więc zacznijmy od podstawy, tworzymy komendę: command /dajrange [<player>] [<text>]: trigger: Gdy nie podano nicku wyświetla się komunikat "Podaj nick gracza!": if arg 1 is not set: send "&c&lPodaj nick gracza!" stop Gdy nie podano rangi wyświetla się komunikat "Podaj range!": if arg 2 is not set: send "&c&lPodaj range!" stop Teraz przejdźmy do konkretów: wf "X: 'Y'" to "ścieżka" w miejsce X wstawiamy to co ma być zapisywane czyli "Ranga" w miejsce Y wstawiamy to co ma być zapisywanie jako "Ranga" w miejsce ŚCIEŻKA podajemy docelowe miejsce zapisu pliku Przykład: wf "Ranga: '%arg-2%'" to "plugins/Gracze/%player%.yml" w miejsce X podstawiłem "Ranga" czyli to co chcemy mieć zapisane u gracza w miejsce Y podstawiłem "%arg-2%" czyli to co będzie zapisane do pliku (w moim przypadku będzie to argument 2 czyli ranga) w miejsce ŚCIEŻKA podałem że powyższe dane mają zapisywać się w pliku z nickiem gracza. !PLIK UTWORZY SIĘ SAMOCZYNNIE! no i tutaj dalsze część komendy: execute console command "pex user %arg-1% group set %arg-2%" wait 1 tick send "&2&lDales graczowi &9&l%arg-1% &2&lrange &9&l%arg-2%" stop Po wpisaniu komendy /dajrange luki1123 Wlasciciel w pliku wygląda to tak: Ranga: 'Wlasciciel' Cała komenda: command /dajrange [<player>] [<text>]: permission: dajrange.admin trigger: if arg 1 is not set: send "&c&lPodaj nick gracza!" stop if arg 2 is not set: send "&c&lPodaj range!" stop if arg 1 is set: if arg 2 is "Gracz" or "vip" or "svip" or "czatownik" or "straznik": wf "Ranga: '%arg-2%'" to "plugins/Gracze/%player%.yml" execute console command "pex user %arg-1% group set %arg-2%" wait 1 tick send "&2&lDales graczowi &9&l%arg-1% &2&lrange &9&l%arg-2%" stop if arg 1 is set: if arg 2 is "moderator" or "mod" or "pomocnik" or "wlasciciel": execute console command "pex user %arg-1% add sluzba.admin" wf "Ranga: '%arg-2%'" to "plugins/Gracze/%player%.yml" execute console command "pex user %arg-1% group set %arg-2%" wait 1 tick send "&2&lDales graczowi &9&l%arg-1% &2&lrange &9&l%arg-2%" stop Odczyt Zaczynamy oczywiście od podstawy: command /sluzba: trigger: I teraz jeżeli gracz nie jest na służbie: if {sluzba.%player%} is false: to: set Z to single value "X" get of "sciezka" w miejsce Z wstawiamy zmienną którą sobie ustalimy, w moim przypadku będzie to {rank::%player%} w miejsce X wstawiamy to co chcemy żeby było odczytane w miejsce ŚCIEŻKA wstawiamy lokalizację pliku Czyli w moim przypadku będzie to wyglądać tak: set {rank::%player%} to single value "Ranga" get of "plugins/Gracze/%player%.yml" Ustawia zmienną {rank::%player%} na to co jest zapisane w pliku jako "Ranga" I dalsza częśc komendy: execute console command "pex user %player% group set %{rank::%player%}%" execute player command "bc &f&l%player% &4&lwlasnie zalogowal sie jako Administrator!" set {sluzba.%player%} to true przydziela graczowi rangę która jest zapisana w pliku wysyla komunikat do wszystkich że gracz zalogował się jako Administrator Ustawia zmienną {sluzba.%player%} na true czyli że gracz jest teraz na służbie Gdy gracz jest już na służbie: else: if {sluzba.%player%} is true: execute console command "pex user %player% group set Gracz" send "&c&lOd teraz nie jestes na sluzbie!" set {sluzba.%player%} to false Ustawia rangę gracza na "Gracz" Cała komenda: command /sluzba: permission: sluzba.admin trigger: if {sluzba.%player%} is false: set {rank::%player%} to single value "Ranga" get of "plugins/Gracze/%player%.yml" execute console command "pex user %player% group set %{rank::%player%}%" execute player command "bc &f&l%player% &4&lwlasnie zalogowal sie!" set {sluzba.%player%} to true else: if {sluzba.%player%} is true: execute console command "pex user %player% group set Gracz" send "&c&lOd teraz nie jestes na sluzbie!" set {sluzba.%player%} to false Edytowane 6 marca 2020 przez Skowronn Odnośnik do komentarza https://skript.pl/temat/37345-zapisodczyt-z-pliku/ Udostępnij na innych stronach Więcej opcji udostępniania...
bludis 418 Opublikowano 6 marca 2020 Udostępnij Opublikowano 6 marca 2020 (edytowane) Mamy 2020, a ludzie nadal używają WildSkripta - porzuconego dodatku, który nie jest wspierany na najnowszych wersjach... Poradnik miałby jakikolwiek sens, gdyby zastosowany zostałby yaml z SkQuery czy SkUtilities. Edytowane 6 marca 2020 przez LjayPL789 Rejszpat 1 Odnośnik do komentarza https://skript.pl/temat/37345-zapisodczyt-z-pliku/#findComment-237694 Udostępnij na innych stronach Więcej opcji udostępniania...
CountingDogs 130 Opublikowano 6 marca 2020 Udostępnij Opublikowano 6 marca 2020 27 minut temu, LjayPL789 napisał: Mamy 2020, a ludzie nadal używają WildSkripta - porzuconego dodatku, który nie jest wspierany na najnowszych wersjach... Poradnik miałby jakikolwiek sens, gdyby zastosowany zostałby yaml z SkQuery czy SkUtilities. WildSkript zawiera ciekawe opcje m.in. sprawdzenie folderu, a nie samego pliku.. Poza tym, bardzo dużo serwerów jest właśnie pod starsze wersję m.in. 1.8. Odnośnik do komentarza https://skript.pl/temat/37345-zapisodczyt-z-pliku/#findComment-237697 Udostępnij na innych stronach Więcej opcji udostępniania...
Rejszpat 378 Opublikowano 6 marca 2020 Udostępnij Opublikowano 6 marca 2020 SkQuery i SkUtilities mają więcej funkcji Odnośnik do komentarza https://skript.pl/temat/37345-zapisodczyt-z-pliku/#findComment-237701 Udostępnij na innych stronach Więcej opcji udostępniania...
Skowronn 2 Opublikowano 7 marca 2020 Autor Udostępnij Opublikowano 7 marca 2020 Nadal jest duża część społeczeństwa która używa WildSkript'a :) HeezQ 1 Odnośnik do komentarza https://skript.pl/temat/37345-zapisodczyt-z-pliku/#findComment-237746 Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi