Polski Sześcian 94 Opublikowano 22 maja 2017 Udostępnij Opublikowano 22 maja 2017 PrivateMessage Witam, tym razem napisałem skrypt na prywatne wiadomości. Ten skrypt używa YAML! Dzięki temu możesz odczytać prywatne wiadomości graczy. Gdy gracz będzie podawał IP innego serwera na /msg będziesz mógł zbanować gracza za reklamę. Każda wiadomość idzie do dwóch logów. Do jednego - log.yml - który pokazuje log ze wszystkich graczy, a drugi - %player%.yml - wyświetla tylko te które wysłał %player%. Skrypt zawiera następujące komendy i permisje: /msg [Gracz] [Wiadomość] msg.pm /r [Wiadomość] - reply.pm /pm - admin.pm /pm autor - admin.pm /pm reload - admin.pm v1.0.0 https://code.skript.pl/u5bRr4q6/raw/ Spoiler ##################################################################################################### #Nie zezwalam na usuwanie komendy /pm autor. # #Zezwalam na edycję wszystkich wiadomości, oprócz tej z komendy /pm autor! # #Zezwalam na edycję lokalizacji folderów, a także plików. # #Nie zezwalam na handlowanie skryptem. # #Nie zezwalam na podszywanie się pod autora skryptu. # ##################################################################################################### Cytuj Odnośnik do komentarza https://skript.pl/temat/18677-privatemessage/ Udostępnij na innych stronach Więcej opcji udostępniania...
knugi 794 Opublikowano 22 maja 2017 Udostępnij Opublikowano 22 maja 2017 No ok, jakiś pomysł na skrypt miałeś. Jak sama nazwa wskazuje to są prywatne wiadomości, więc zapisywanie ich mija się z tytułem. Zmień tytuł i będzie w porząsiu To tyle z hejtu, ale nie lubię być tym złym więc dam trochę pozytywów Jak na taki skrypt w miarę ogarnąłeś kod, by nie było zbędnych linijek. Lecz mam wątpliwości co do /msg <text> <text> Dałeś pętle i na warunku dałeś if, jeżeli się nie mylę to testowałeś ten skrypt, lecz tylko z jednym graczem. Jak będzie graczy więcej niż 2 będzie ci się wyświetlało, że ta osoba jest offline, a później i tak wyśle wiadomość. Aby czegoś takiego uniknąć to tego else wywalić, a na końcu if'u dać effect 'stop' wtedy wykonywanie kodu się zatrzyma. (coś jak return w javie) a później w tabach równo z loopem dajesz, że nie ma tego gracza. To Ci zapewni, że wyśle tę wiadomość, wtedy gdy tego gracza nie ma na serwerze Cytuj Odnośnik do komentarza https://skript.pl/temat/18677-privatemessage/#findComment-127517 Udostępnij na innych stronach Więcej opcji udostępniania...
Polski Sześcian 94 Opublikowano 23 maja 2017 Autor Udostępnij Opublikowano 23 maja 2017 (edytowane) EDIT: Faktycznie... Edytowane 23 maja 2017 przez Polski Sześcian Cytuj Odnośnik do komentarza https://skript.pl/temat/18677-privatemessage/#findComment-127552 Udostępnij na innych stronach Więcej opcji udostępniania...
_AvaX_ 294 Opublikowano 23 maja 2017 Udostępnij Opublikowano 23 maja 2017 1.Pętle sa bezsensu, uzywaj player-arg 2.PRYWATNE wiec zapis do yaml nie powinien miec tu miejsca 3.Zly zapis zmiennych, zastosuj sie do SSCC 3/10 Cytuj Odnośnik do komentarza https://skript.pl/temat/18677-privatemessage/#findComment-127579 Udostępnij na innych stronach Więcej opcji udostępniania...
kapi. 332 Opublikowano 6 czerwca 2017 Udostępnij Opublikowano 6 czerwca 2017 (edytowane) set {r.%player%} to arg 1 set {r.%arg 1%} to player wf "&6[&c%player% &6-> &9%arg 1%&6]&f %arg 2%" to "plugins/PrivateMessage/log.yml" send "&6[&cJa &6-> &9%arg 1%&6]&f %arg 2%" to player ( send "&6[&9%player% &6-> &cJa&6]&f %arg 2%" to loop-player ) # - 1 - # 1. Nie lepiej byłoby Tobie napisać send "blabla..." to {r.%player%} parsed as player ? command /msg [<text>] [<text>]: #2 2. Mogłeś wykonać to w prostszy sposób , ponieważ mogłeś użyc [<player>] Nawet możesz podmienić kod jeśli chcesz... command /msg [<player>] [<text>]: aliases: pm, m, tell permission: msg.pm permission message: &4Nie masz dostepu do tej komendy. trigger: argument 2 isn't set: send "&cUzyj: /msg [Gracz] [Wiadomosc]" argument 2 is set: player-arg is online: set {r.%player%} to arg 1 set {r.%arg 1%} to player wf "&6[&c%player% &6-> &9%arg 1%&6]&f %arg 2%" to "plugins/PrivateMessage/log.yml" send "&6[&cJa &6-> &9%arg 1%&6]&f %arg 2%" to player send "&6[&9%player% &6-> &cJa&6]&f %arg 2%" to loop-player if file "plugins/PrivateMessage/Players/%arg 1%.yml" doesn't exists: create file "plugins/PrivateMessage/Players/%arg 1%.yml" if file "plugins/PrivateMessage/Players/%player%.yml" doesn't exists: create file "plugins/PrivateMessage/Players/%player%.yml" wf "&6[&c%player% &6-> &9%arg 1%&6]&f %arg 2%" to "plugins/PrivateMessage/Players/%player%.yml" else: send "&cGracz do ktorego wysylasz wiadomosc jest offline!" stop Dalej już raczej wiesz co poprawić Moim zdaniem skrypt powinien być ulepszony. Edytowane 6 czerwca 2017 przez iм×kvρi Cytuj Odnośnik do komentarza https://skript.pl/temat/18677-privatemessage/#findComment-129140 Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ą.