Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Mega-TuT] Poradnik Skript! Własne skrypty na serwerze!


olekn

Rekomendowane odpowiedzi

Opublikowano

#

#

#

#

#

R

E

K

L

A

M

A

#

#

#

#

Siemka, dziś zaprezentuje wam plugin Skript!

======================================================

Może na początek: Co to jest Skript?

Jest to plugin umożliwiający naprawdę wiele, od zwykłych komend

po skomplikowane działania.

Czemu jest to lepsze rozwiązanie od pluginów?

-Ma prawie takie same możliwości co większość pluginów,

a przy tym nie zabiera tak dużo zasobów serwera

-Jest mniej skomplikowany i łatwiejszy w obsłudze

Ok co nam będzie potrzebne?

-Jakiś dobry notatnik np. Notepad++

-Pomysły na skrypty

-Trochę czasu

Krótkie wyjaśnienia paru rzeczy:

-zapisujemy plik końcówką .sk i wrzucamy do folderu >skripts w pluginie

-po kratce (#) tekst nie jest zauważalny przez plugin, piszemy za nią

np. pomocne opisy, które nam się przydadzą

-jeśli chcesz skopiować skrypt, skopiuj go przez pastebina

-pamiętaj: używamy [tab] zamiast spacji!

======================================================

Cz. 1 - Anulujemy stawianie TNT. (Inne bloki też można zablokować)

Tak więc zaczynamy!

Nasz pierwszy skrypt anuluje stawianie TNT na serwerze.

on place tnt:
    cancel event
    send: "Nie mozesz stawiac tnt."

(Tu będzie zdjęcie)

Trochę słabo to wygląda, dodajmy permisję:

on place tnt:
    player don't have permission: "stawianie.tnt"
    cancel event
    send "Nie mozesz stawiac tnt."

Teraz dodamy kolor i pogrubienie:

on place tnt:
    player don't have permission: "stawianie.tnt"
    cancel event
    send "&l&cNie mozesz stawiac tnt."

(Tu będzie zdjęcie)

Teraz wystarczy zapisać z końcówką .sk i wrzucić do folderu >skripts w tym pluginie

Teraz wyjaśnienie zdarzenia:


on place tnt: # Oznacza to: Gdy postawimy tnt:

Zamiast tnt można wpisać jego id lub wybrać inny blok np. kamień wpisując on place stone: zamiast on place tnt:

player don't have permission: "stawianie.tnt" # Oznacza to: Gdy gracz nie ma uprawnień:

cancel event # Oznacza to: Anuluje zdarzenie, w tym przypadku postawienie TNT

send "&l&cNie mozesz stawiac tnt." # Oznacza to: Wysłanie wiadomości do gracza &l oznacza pogrubienie, & oznacza czerwony kolor. Zamiast &c można wpisać &red, albo wybrać inny kolor. Pamiętaj po kolorze nie może być spacji!

 

Idąc tym tropem zablokujemy kamień:

on place stone:
    player don't have permission "stawianie.stone"
    cancel event
    send "&l&cNie mozesz stawiac kamienia."

Link do pastebina: http://pastebin.com/RWhRjVUu

Cz. 2 - Własna komenda informacyjna

Ok tworzymy własną komendę

	command: /vipinfo [<text>]:
	aliases: /vinfo [<text>]:
	    trigger:
	        if argument 1 is "eq"
	            send: "&l&3==EQ VIP'a=="
	            send: "&l&3Diax set, prot 3"
	            send: "&l&3Diax miecz, 5/2"
	            send: "&l&3Cztery Kox jabłka"
	        else:
	                if argument 1 is "cena"
	                    send: "&l&2==Cena VIP'a=="
	                    send: "&l&214 dni: 7zl"
	                    send: "&l&230 dni: 13zl"

(Tu będzie zdjęcie)

Teraz wyjaśnienie komendy:

command: /vipinfo [<text>]: # Jest to nasza komenda, [<text>] jest to argument, inaczej mówiąc dokończenie komendy

aliases: /vinfo [<text>]: # Jest to skrót komendy

trigger: # Oznacza to: Warianty if argument 1 is "eq" # Oznacza to: Gdy wpiszemy /vipinfo eq, skrypt wykona polecenia niżej

send: "&l&3==EQ VIP'a==" # Wysyła wiadomość

send: "&l&3Diax set, prot 3"

send: "&l&3Diax miecz, 5/2"

send: "&l&3Cztery Kox jabłka"

else: # Oznacza to: Jeśli...

if argument 1 is "cena" # ...wpiszemy /vipinfo cena, skrypt wykona polecenia niżej

send: "&l&2==Cena VIP'a==" # Wysyła wiadomość

send: "&l&214 dni: 7zl"

send: "&l&230 dni: 13zl"

Link do pastebina: http://pastebin.com/RHYhJv1X

Cz. 3 - Lepsze efekty złotych jabłek i super cukier

 
on consume gold apple:
    apply: speed 2 to player for 10 second
    apply: jump boost 2 to player for 10 second 

Wyjaśnienie efektu:

on consume gold apple: # Oznacza to: gdy zjemy złote jabłko...

apply: speed 2 to player for 10 second # Daje nam efekt prędkości 2 na 10 sekund

apply: jump boost 2 to player for 10 second # Daje nam efekt zwiększonego skoku na 10 sekund

 

 

To może coś trudniejszego?

on rightclick with sugar:
    player has permission "sugar.boost":
        set {czas} to difference between {opoznienie.%player%} and now
        if {czas} is less than 60 seconds:
            send "&l&6Poczekaj jeszcze %difference between 60 seconds and {czas}%"
        else:
           send "&l&6BOOST!"
           execute command "/playsound mob.ghast.fireball %name of player%"
           apply swiftness 2 to the player for 6 seconds
           apply jump boost 2 to the player for 6 seconds
           set {opoznienie.%player%} to now
 

on leftclick with sugar:
    player has permission "sugar.boost":
        set {czas} to difference between {opoznienie.%player%} and now
        if {czas} is less than 60 seconds:
            send "&l&6Poczekaj jeszcze %difference between 60 seconds and {czas}%"
        else:
           send "&l&6Ooo chyba wzialem za duzo!"
           execute command "/playsound mob.ghast.fireball %name of player%"
           apply hunger to the player for 10 seconds
           apply poison 2 to the player for 10 seconds
           apply weakness 2 to the player for 10 seconds
           apply blindness 2 to the player for 10 seconds
           apply nausea 2 to the player for 10 seconds
           set {opoznienie.%player%} to no

Wyjaśnienie skryptu:

on rightclick with sugar: # Oznacza to: gdy klikniemy ppm z cukrem w ręce...
player has permission "sugar.boost": # ...i mamy uprawnienie "sugar.boost"...
set {czas} to difference between {opoznienie.%player%} and now # Skrypt ustawia {czas} między {opoznienie.%player%} i aktualnym czasem.

if {czas} is less than 60 seconds: # Oznacza to: jeśli nie minęło 60 sekund...
send "&l&6Poczekaj jeszcze %difference between 60 seconds and {czas}%" # Oznacza to: ...wysyła wiadomość
else: # Oznacza to: Jeśli... w tym wypadku minęło ponad 60 sekund
send "&l&6BOOST!" # Oznacza to: ...wysyła wiadomość

execute command "/playsound mob.ghast.fireball %name of player%" # Oznacza to: włączenie dźwięku "wystrzelenie fireballa ghasta" graczowi
apply swiftness 2 to the player for 6 seconds # Dodaje efekt szybkości 2 na 6 sekund
apply jump boost 2 to the player for 6 seconds # Dodaje efekt zwiększonego skoku 2 na 6 sekund

set {opoznienie.%player%} to now # Oznacza to: zresetowanie opóźnienia

 

{czas} oznacza: w nawiasach klamrowych { } wpisujemy np. czas, który posłuży nam do odmierzania pozostałego czasu

{opoznienie.%player%} oznacza: w nawiasach klamrowych { } wpisujemy np. opoznienie.%player%, który posłuży nam do różnicy czasu, a aktualną godziną

%name of player% oznacza: Szczerze to nie wiem czemu to tu jest, ale chyba działa na zasadzie jak %loop.player% czyli gracz, który jest czynnikiem skryptu... Jak ktoś wie, to niech napisze w odpowiedzi, gdyż przyda się to wszystkim.

on leftclick with sugar: # Oznacza to: gdy klikniemy lpm z cukrem w ręce...
player has permission "sugar.boost":
set {czas} to difference between {opoznienie.%player%} and now
if {czas} is less than 60 seconds:
send "&l&6Poczekaj jeszcze %difference between 60 seconds and {czas}%"
else:
send "&l&6Ooo chyba wzialem za duzo!"
execute command "/playsound mob.ghast.fireball %name of player%"
apply hunger to the player for 10 seconds
# Dodaje efekt głodu na 10 sekund

apply poison 2 to the player for 10 seconds # Dodaje zatrucia 2 na 10 sekund
apply weakness 2 to the player for 10 seconds # Dodaje osłabienia 2 na 10 sekund
apply blindness 2 to the player for 10 seconds # Dodaje ślepoty 2 na 10 sekund
apply nausea 2 to the player for 10 seconds # Dodaje nudności 2 na 10 sekund
set {opoznienie.%player%} to no

 

 

Link do pastebina: http://pastebin.com/DNSQs9eu;

http://pastebin.com/T21JeEJg

Cz. 4 - Anti-Relog

variables:
    {fight.%player%} = false
    {ban.%player%} = false
    
options:
    walka: 5
    ban: 2
    
on damage of player:
    if {walka.%victim%} is false:
        set {fight.%victim%} to true
        set {fight.%attacker%} to true
        send "&l&4!!!Uwaga!!! Jestes w walce! Nie wylogowywuj sie." to victim
        send "&l&4!!!Uwaga!!! Jestes w walce! Nie wylogowywuj sie." to attacker
        wait {@walka} seconds
        set {walka.%victim%} to false
        set {walka.%attacker%} to false
        send "&l&2Zakonczyles walke. Mozesz sie spokojnie wylogowac." to victim
        send "&l&2Zakonczyles walke. Mozesz sie spokojnie wylogowac." to attacker
    
on quit:
    if {fight.%player%} is true:
        clear the player's inventory
        set {fight.%player%} to false
        kill player
        set {ban.%player%} to true
        wait {@czas_bana} minutes
        set {ban.%player%} to false
        broadcast "Gracz %name of player% wylogował się podczas walki!
 
on join:
    if {ban.%player%} is true:
        kick player due to "Zostales zbanowany na okres 2 dni z powodu ucieczki z walki!"
 

Ok, jak zawsze wyjaśniamy skrypt.

variables:

{fight.%player%} = false
{ban.%player%} = false

options:
walka: 5
ban: 2

on damage of player:
if {walka.%victim%} is false:
set {fight.%victim%} to true
set {fight.%attacker%} to true
send "&l&4!!!Uwaga!!! Jestes w walce! Nie wylogowywuj sie." to victim
send "&l&4!!!Uwaga!!! Jestes w walce! Nie wylogowywuj sie." to attacker
wait {@walka} seconds
set {walka.%victim%} to false
set {walka.%attacker%} to false
send "&l&2Zakonczyles walke. Mozesz sie spokojnie wylogowac." to victim
send "&l&2Zakonczyles walke. Mozesz sie spokojnie wylogowac." to attacker

on quit:
if {fight.%player%} is true:
clear the player's inventory
set {fight.%player%} to false
kill player
set {ban.%player%} to true
wait {@czas_bana} minutes
set {ban.%player%} to false

broadcast "&l&4Gracz %name of player% wylogował się podczas walki!

on join:
if {ban.%player%} is true:
kick player due to "Zostales zbanowany na okres 2 dni z powodu ucieczki z walki!"

======================================================

Change log:

0.1: Dodana pierwsza część TuT'a

===================================

0.2 Dodana druga część TuT'a

===================================

0.3 Dodano skrypty w code

===================================

0.4 Dodana trzecią część TuT'a

0.4_1 Poprawki estetyczne

0.4_2 Dodanie szablonu na zablokowanie kamienia w pierwszej części TuT'a

0.4_3 Dodanie szablonu na super cukier do trzeciej części TuT'a

Nie rozumiesz czegoś? Słabo wytłumaczone? Napisz.

Skrypty nie mają licencji ponieważ są łatwe, ale proszę nie przypisywać siebie jako autora.

Skrypty służą też jako szablony i można je edytować na swoje potrzeby.

Kolejne części niedługo!

(skrypty nie testowane, ale powinny działać, testy wykonam niedługo)

Wszelkie błędy zgłaszaj pod tematem to bardzo pomaga!

|----Jedyny serwis z darmowymi skinami!----|


|------------Darmowe-Skiny.PL---------------|


|----Skiny i przedmioty do CS:GO, TF2----|


|------------------------------------------------|


|DOTA2, WarFrame i innych gier ze Steama!|


|--------------Start: NIEDŁUGO!!!--------------|

Opublikowano

Śmiało piszcie pomysły na skrypty do wytłumaczenia!

|----Jedyny serwis z darmowymi skinami!----|


|------------Darmowe-Skiny.PL---------------|


|----Skiny i przedmioty do CS:GO, TF2----|


|------------------------------------------------|


|DOTA2, WarFrame i innych gier ze Steama!|


|--------------Start: NIEDŁUGO!!!--------------|

Opublikowano

@topic Część 3 (lepsze złote jabłka) i 4 (AntiRelog) już jutro!

@up zrobię to jutro

|----Jedyny serwis z darmowymi skinami!----|


|------------Darmowe-Skiny.PL---------------|


|----Skiny i przedmioty do CS:GO, TF2----|


|------------------------------------------------|


|DOTA2, WarFrame i innych gier ze Steama!|


|--------------Start: NIEDŁUGO!!!--------------|

Opublikowano

Daj kod skryptu w code bo nowi się nie połapią.

 

A tak wgl, to nawet fajny poradnik

Opublikowano

Ładnie napisane, przydatne bo kolega poprosił mnie o napisanie skryptów na pigułkę która daje JumpBoost'a. Leci Like.

Opublikowano

Ładnie napisane, przydatne bo kolega poprosił mnie o napisanie skryptów na pigułkę która daje JumpBoost'a. Leci Like.

Tylko musisz sprawdzić czy jump boost trzeba pisać razem czy osobno, bo nie testowałem ;)

Piszcie pomysły, 5 część TuT'a będzie o różnych efektach np. dźwiękach

|----Jedyny serwis z darmowymi skinami!----|


|------------Darmowe-Skiny.PL---------------|


|----Skiny i przedmioty do CS:GO, TF2----|


|------------------------------------------------|


|DOTA2, WarFrame i innych gier ze Steama!|


|--------------Start: NIEDŁUGO!!!--------------|

Opublikowano

Ok, trochę ulepsze każdą część, części czwartej

spodziewajcie się dzisiaj, piąta część o różnych efektach niebawem, a za pare dni powinny być już screeny.

@up chyba nie da się zrobić połączenia z mysql przez skripta, ale jest jakiś plugin do tego, a co do rankingu to na pewno zamieszczę wzory na punkty, zabicia i wydobywanie ;)

|----Jedyny serwis z darmowymi skinami!----|


|------------Darmowe-Skiny.PL---------------|


|----Skiny i przedmioty do CS:GO, TF2----|


|------------------------------------------------|


|DOTA2, WarFrame i innych gier ze Steama!|


|--------------Start: NIEDŁUGO!!!--------------|

Opublikowano

Ok, trochę ulepsze każdą część, części czwartej

spodziewajcie się dzisiaj, piąta część o różnych efektach niebawem, a za pare dni powinny być już screeny.

@up chyba nie da się zrobić połączenia z mysql przez skripta, ale jest jakiś plugin do tego, a co do rankingu to na pewno zamieszczę wzory na punkty, zabicia i wydobywanie ;)

 

Nie chcę nic mówić ale do się skripta pod mysql podłączyć przez pliki normalnie :)

Opublikowano

xxx

 

Część czwarta poradnika gotowa! Zapraszam do komentowania.

Część piąta może nawet wyjdzie dzisiaj :)

|----Jedyny serwis z darmowymi skinami!----|


|------------Darmowe-Skiny.PL---------------|


|----Skiny i przedmioty do CS:GO, TF2----|


|------------------------------------------------|


|DOTA2, WarFrame i innych gier ze Steama!|


|--------------Start: NIEDŁUGO!!!--------------|

Opublikowano

Kolego... fajnie że się pochwaliłeś czyjąś wiedzą.

Nie chciało Ci się nawet formatować tekstu.

Poradnik EWIDENTNIE skopiowany ze strony crafts***.pl

 

Leci report.

Opublikowano

Gdzies jz to widzialem OO.

Nie wiem czy skopiowane czy nie.

Ale dobra robota.

MQpg.png


| Polub ten Post | Sygnatury na Zamowienie | Bannery | Loga |

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...