Skocz do zawartości

Pytanie

Witam, czy podjął by się ktoś napisania skryptu na miecze, które w swoim opisie zawierają ilość zadawanego damage?

Przykładowo:

Diamond sword named "&bDiamentowy Miecz" with lore "Obrazenia: 5♥" zabiera przeciwnikowi 5♥.

Diamond sword named "&bDiamentowy Miecz" with lore "Obrazenia: 5♥-10♥" losuje damage sposrod 5♥ a 10♥ i zabiera je przeciwnikowi.

Skrypt nie powinien zawierać setek if'ów sprawdzających lore. if lore = "Obrazenia: 5♥"  "Obrazenia: 10♥"  "Obrazenia: 15♥" ponieważ atak może mieć nieskończenie wiele możliwośći.

 

Z góry dziękuje za napisanie skryptu, podobno jest on możliwy do zrealizowania :)

Edytowane przez Szymon21xxPL
Odnośnik do komentarza
https://skript.pl/temat/11120-miecze-z-losowymi-obra%C5%BCeniami/
Udostępnij na innych stronach

6 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Mam takie coś:

on damage:
    if attacker's tool is diamond sword:
        loop 100 times:
            if lore of attacker's tool is "%loop-number%":
                damage victim by loop-number
                send "&6&lZadales obrazenia w postaci %loop-number% serc!" to attacker

 

Jak do tego dodać losowe obrażenia spośród np 3♥ a 9♥

Odnośnik do komentarza
https://skript.pl/temat/11120-miecze-z-losowymi-obra%C5%BCeniami/#findComment-80762
Udostępnij na innych stronach

  • 0

Wasz kod jest okropny.. XD

on damage:
	if attacker's tool is any sword:
		if name of player's tool is "&bDiamentowy Miecz" or "&bZelazny Miecz" or "&bZloty Miecz" or "&bDrewniany Miecz":
			set {_lore} to the lore of attacker's tool
			replace all "||" in {_lore} with " : "
			set {_x::*} to {_lore} split by " : "
			loop {x::*}:
				if loop-value is "Obrazenia":
					set {_z} to loop-index parsed as number
					add 1 to {_z}
					set {_s::*} to  {_x::%{_z}%} split by  "-"
					set {_minDmg} to  {_s::1} parsed as integer
					set {_maxDmg} to  {_s::2} parsed as integer
			set {_dmg} to random integer between {_minDmg} and {_maxDmg}
			set damage to {_dmg}

Resztę dokończę jutro. Dotychczas losowało obrażenia, które podałem w opisie. (np. 5-7).

Tutaj masz też kawałek, który daje Ci takie miecz, tak dla testu, abyś nie musiał się bawić w przepisywanie opisu i nazwy:
 

command /daj:
	trigger:
		give 1 diamond sword named "&bDiamentowy Miecz" with lore "Obrazenia : 2-9" to player

 

Odnośnik do komentarza
https://skript.pl/temat/11120-miecze-z-losowymi-obra%C5%BCeniami/#findComment-80763
Udostępnij na innych stronach

  • 0
11 godzin temu, KingOfGri' Maw napisał:

Wasz kod jest okropny.. XD


on damage:
	if attacker's tool is any sword:
		if name of player's tool is "&bDiamentowy Miecz" or "&bZelazny Miecz" or "&bZloty Miecz" or "&bDrewniany Miecz":
			set {_lore} to the lore of attacker's tool
			replace all "||" in {_lore} with " : "
			set {_x::*} to {_lore} split by " : "
			loop {x::*}:
				if loop-value is "Obrazenia":
					set {_z} to loop-index parsed as number
					add 1 to {_z}
					set {_s::*} to  {_x::%{_z}%} split by  "-"
					set {_minDmg} to  {_s::1} parsed as integer
					set {_maxDmg} to  {_s::2} parsed as integer
			set {_dmg} to random integer between {_minDmg} and {_maxDmg}
			set damage to {_dmg}

Resztę dokończę jutro. Dotychczas losowało obrażenia, które podałem w opisie. (np. 5-7).

Tutaj masz też kawałek, który daje Ci takie miecz, tak dla testu, abyś nie musiał się bawić w przepisywanie opisu i nazwy:
 


command /daj:
	trigger:
		give 1 diamond sword named "&bDiamentowy Miecz" with lore "Obrazenia : 2-9" to player

 

http://imgur.com/Q1dq0LV

 

 

Tylko jeden błąd, te 2 pozostałe to z mojej dopiski juz naprawilem :)

 

on damage:
    if attacker's tool is any sword:
        if name of attacker's tool is "&bDiamentowy Miecz" or "&bZelazny Miecz" or "&bZloty Miecz" or "&bDrewniany Miecz":
            set {_lore} to the lore of attacker's tool
            replace all "||" in {_lore} with " : "
            set {_x::*} to {_lore} split by " : "
            loop {x::*}:
                if loop-value is "Obrazenia":
                    set {_z} to loop-index parsed as number
                    add 1 to {_z}
                    set {_s::*} to  {_x::%{_z}%} split by  "-"
                    set {_minDmg} to  {_s::1} parsed as integer
                    set {_maxDmg} to  {_s::2} parsed as integer
            set {_dmg} to random integer between {_minDmg} and {_maxDmg}
            set damage to {_dmg}
            
            
command /daj:
    trigger:
        if player has permission "admin.daj":
            give 1 diamond sword named "&bDiamentowy Miecz" with lore "Obrazenia : 2-9" to player

Edytowane przez Szymon21xxPL
Odnośnik do komentarza
https://skript.pl/temat/11120-miecze-z-losowymi-obra%C5%BCeniami/#findComment-80781
Udostępnij na innych stronach

  • 0

Nie ma już błędu naprawiłem, tylko ze ten kod nie jest skonczony a @KingOfGri nie moze go skonczyc bo go nie ma. Wiec raczej ciezko dokonczyc kogos kod, moze masz inny pomysl jak wykonac ten skrypt?

Odnośnik do komentarza
https://skript.pl/temat/11120-miecze-z-losowymi-obra%C5%BCeniami/#findComment-80804
Udostępnij na innych stronach

  • 0
O 30.03.2016 o 17:58, Sweey napisał:

on damage:
    set {_} to a random integer between 1 and 10
	damage victim by {_} hp

 

Weź przeczytaj jeszcze raz temat i odpowiedzi bo źle zrozumiałeś.. ;/

Odnośnik do komentarza
https://skript.pl/temat/11120-miecze-z-losowymi-obra%C5%BCeniami/#findComment-81022
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ę...