KrestoR 1 Opublikowano 18 lutego 2021 Udostępnij Opublikowano 18 lutego 2021 (edytowane) Witam chciałbym się podzielić z wami moim pomysłem jaki mi wpadł do głowy, otóż zrobiłem całkiem prosty skrypt na pojedynki 1 vs 1. W skrypcie jest config który też będzie miał znaczne zmiany w przyszłości. Czym wyróżnia się mój skrypt od innych których jest tu takich od pewnie cholery? Nie wiem, jedyne czym może to przyjmowanie i odrzucanie zaproszeń przez klikniecie w [V] albo [X] i po zakończonej walce, wygrany zostaje teleportowany tam skąd przyjął zaproszenie Skrypt będzie aktualizowany co jakiś czas, więc to nie jest jego oficjalna wersja komendy: /1v1 wyzwij [nick gracza] - wyzywa podanego gracza na pojedynek (musi być ten gracz online) /1v1 ustaw - ustawia lokalizacje areny, tam gdzie stoi gracz Wymagania: Skript 2.7+ Aktualizacje: 1.0 - Pierwsze wydanie Edytowane 18 lutego 2021 przez KrestoR Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
luk4sMC 10 Opublikowano 18 lutego 2021 Udostępnij Opublikowano 18 lutego 2021 (edytowane) Chyba jakoś tak... set {_time} to 5 loop {_time} time: send "%{_time}% sek." to player #arg-1, arg-2, attacker set {_time} to {_time} -1 wait 1 seconds send "GO!" to player #arg-1, arg-2 #lub set {_time} to 5 loop {_time} time: send subtitle "%{_time}% sek." to player #arg-1, arg-2 set {_time} to {_time} -1 wait 1 seconds send subtitle "GO!" to player #arg-1, arg-2 Edytowane 18 lutego 2021 przez luk4sMC Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kormic 1925 Opublikowano 19 lutego 2021 Udostępnij Opublikowano 19 lutego 2021 (edytowane) 1. Raz używasz list zmiennych, a raz zwykłych zmiennych mimo to, że operujesz na graczach. Użyj samych list zmiennych. Skoro je używasz, nie muszę ci raczej tłumaczyć dlaczego są lepsze. 2. Zalecam oduczyć się nawyku zagnieżdżania w sobie warunków. Przez takie coś kod jest mniej czytelny. # Jak ty to robisz: if arg-1 is set: if arg-2 is set: if arg-3 is set: # Dalszy kod else: send "Podaj argument nr 3!" else: send "Podaj argument nr 2!" else: send "Podaj argument nr 1!" # Jak ja bym to zrobił: if arg-1 is not set: send "Podaj argument nr 1!" stop if arg-2 is not set: send "Podaj argument nr 2!" stop if arg-3 is not set: send "Podaj argument nr 3!" stop # Dalszy kod Widać różnicę, prawda? 3. W skrypcie masz błąd, gdyż żaden kod nie jest przynależny do warunku w 46. linijce. 4. Co do odliczania, Lukas już o tym napisał (chociaż mu się trochę kod rozjechał), ale ja zrobiłbym je w ten sposób. loop 5 times: send "%6 - loop-number%..." to player wait 1 second # Dalszy kod 5. Powinieneś użyć eventu 'on death of player', gdyż w twoim kodzie event będzie wywoływany przy śmierci dowolnego entity. Tak więc jeżeli na serwer wejdzie gracz o nazwie "sheep", przy śmierci dowolnej owcy kod się wykona dalej. Nie sprawdzasz również czy 'attacker' w ogóle jest w tym evencie (attacker is set). 6. Zrobiłbym na twoim miejscu coś z tymi nieregularnymi przerwami na początku skryptu, nie są również mile widziane. Edytowane 19 lutego 2021 przez Kormic luk4sMC 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
KrestoR 1 Opublikowano 19 lutego 2021 Autor Udostępnij Opublikowano 19 lutego 2021 Skrypt robiłem na szybko i może jeszcze dzisiaj uda mi się to wszystko poprawić Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi