Skocz do zawartości
  • 0

Prosty sk na komendę.


PanNiedzwiadek

Pytanie

Siemka,

 

Bardzo proszę o napisanie mi skryptu na komendę /vip <nick> <czas>

 

W <nick> podajemy nick gracza któremu zmienna %vip% ma się ustawić na 1

A <czas> podajemy w godzinach po jakim czasie zmienna %vip% ma się ustawić na 0

 

A i zmienna %vip% ma się nie resetować gdy wyjdziemy z serwera.

To dla mnie bardzo ważne ! Chcę zrobić w ten sposób rangi.

Proszę nie pisać postów typu "Lepiej wgraj plugin", "plugin lepszy" itp.

Odnośnik do komentarza
Udostępnij na innych stronach

Rekomendowane odpowiedzi

  • 0
command /vip <player> <integer>: permission: givevip permission message: <red>Niet! trigger:  set {vip::czas::%arg 1%} to "%arg 2% hours" parsed as timespan add player to {player::vips::*}  set {vip::czasustawienia::%arg%} to nowset {vip.%arg%} to 1every 1 second: loop {player::vips::*}:  time between  {vip::czasustawienia::%loop-index%} and now is greather or equal to {vip::czas::%loop-value%}:    set {vip.%loop-value%} to 0   delete {vip::czas::%loop-value%}   delete {vip::czasustawienia::%loop-value%}
Edytowane przez kryxkan
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

wytłumaczę ci tu kod:

_

set {vip::czas::%arg 1%} to "%

arg 2% hours" parsed as

timespan

_

Ustawia czas trwania vipa.

_

add arg to {player::vips::*}

_

Dodaje gracza do listy vipów, można użyć tej zmiennej do sprawdzenia, czy gracz jest vipem

_

set {vip::czasustawienia::%arg%}

to now

_

Ustala czas przyznania vipa

_

set {vip.%arg%} to 1

_

Ustawia wspomnianą przez ciebie zmienną.

_

every 1 second:

loop {player::vips::*}:

_

Zapętla listę vipów

_

time between

{vip::czasustawienia::%loop-index

%} and now is greather or equal

to {vip::czas::%loop-value%}:

_

sprawdza, czy vip już minął

_

set {vip.%loop-value%} to 0

_

Jeżeli tak, ustawia zmienną na 0

_

delete {vip::czas::%loop-value%}

delete {vip::czasustawienia::%

loop-value%}

_

Usuwa niepotrzebne już zmienne.

Tutaj edytowałem linijkę dodawania gracza do listy vipów, bo pomyliłem się w tym. Tutaj ta linijka jest poprawna.

I pozamieniaj loop-value na loop-index

P.S. Aby był tag na chacie dodaj:

on chat:

{vip.%player%} is "1":

cancel event

broadcast "<yellow>[V.I.P]&r<red>%player%:&r%message%"

Edytowane przez kryxkan
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Nie wiem dlaczego ale zawsze jak robię:

every <ilekolwiek> second:

to mi skrypt nie działa...

 

 

Sry, za double-posta, na fonie pisane...

//To nie zwalnia cię z przestrzegania regulaminu. Na telefonie też masz opcję edycji. ~ :norbi:

Edytowane przez Norbi
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Aha czyli ty po prostu nie umiesz ang...

 

SECOND = SEKUNDA

 

SECONDS = SEKUDNY

 

jeżeli dajesz więcej niż 1 sekunde

 

piszesz np.:

 

every 20 seconds

 

a jeżeli dajesz:

every 1 second - BRAK KOŃCÓWKI

Aha czyli ty po prostu nie znasz podstaw skripta...

Jakim cudem ci nie dziala every?

Podaj wersję sk, serwa itp

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Nie chce mi się podawać wersji. Najnowasza, wersja serwa 1.5.2

 

I nie działa mi np. wait 180 second.

 

 

 

//EDIT: Zresztą, już sobie poradzę inaczej(nie wiem jak ale i tak trzeba sobie jakoś radzić...)

Edytowane przez PanNiedzwiadek
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

A co to za różnica ?

Skript jest pisany pod 1.7.x ?

Skrypt teoretycznie pisany jest pod każdą wersję Minecrafta, jednakże plugin Skript na wersji 1.5.2 jest troszkę okrojony pod względem zawartymi w nim elementami i wyrażeniami. Dlatego pewne eventy, czy efekty mogą nie działać poprawnie, gdyż w wersju Skript na 1.5.2 nie zostały one jeszcze dodane :P

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...