Ich habe ein Problem mit meinem Skript Code von dem Plugin Skript: https://skunity.com/downloads
Und Zwar folgendes ich habe Anhand dieses Tutorial Videos:
Mein Eigenes Ore Reset Skript geschrieben was für eine Region gilt indem Kohlerz ist. was innerhalb 30 sec sich regeneriert.
Das Script ansich funktioniert nur das mit der Zeit stimmt nicht ganz.
Nach ca 30 Sec werden alle Kohleerzblöcke wieder resettet was so aber nicht stimmt.
Es sollte so funktionieren das Jeder abgebaute Erzblock nach 30 Sec neu erscheint:.
Nur leider weis ich nicht was ich ändern muss damit dies geschieht:
Hier ist mein derzeitiger Code:
Wo muss ich was ändern damit dies auf jeden Abgebauten block zutrifft? nicht auf alle gleichzeitig.
Bin über eine Lösung sehr Dankbar
//edit:
Ich habe momentan eine Lösung gefunden bin aber nicht sicher ob diese Performance Einbüsend ist:
Was hab ich geändert?
ich habe bei der Abfrage block break diese zeile Entfernt:
Sodass nur die Funktion nach dem Abbau aufgerufen wird also so:
Danach habe ich 2 Zeilen in der Funktion arenareset() hinzugefügt
Einmal unter:
Folgendes Eingefügt
und eine If Abfrage eingefügt welche die Variable wieder leert
Diese sieht so aus:
Diese Befindet sich unterhalb:
set block at {_loc} to {_block}
Für meine Ansicht her funktionierts aber ihr habt bestimmt noch eine Bessere Variante die wüsste ich gerne.
Danke.
Und Zwar folgendes ich habe Anhand dieses Tutorial Videos:
Mein Eigenes Ore Reset Skript geschrieben was für eine Region gilt indem Kohlerz ist. was innerhalb 30 sec sich regeneriert.
Das Script ansich funktioniert nur das mit der Zeit stimmt nicht ganz.
Nach ca 30 Sec werden alle Kohleerzblöcke wieder resettet was so aber nicht stimmt.
Es sollte so funktionieren das Jeder abgebaute Erzblock nach 30 Sec neu erscheint:.
Nur leider weis ich nicht was ich ändern muss damit dies geschieht:
Hier ist mein derzeitiger Code:
Arenareset:
options:
# Trag bei Regionname deine Worlguard region ein. Hast du mehrere so trenne sie mit einem or zwischen den namen.
# Beispiel: regionames: "region1" or "region2" usw.
regionnames: "testregion"
function arenareset():
loop {testregion::loc::*}:
set {_loc} to first element out of {testregion::loc::*} #Holt die Location des Blocks aus der Liste
remove {_loc} from {testregion::loc::*}
set {_block} to first element out of {testregion::loc::block::*} #Holt den Block aus der Liste
remove {_block} from {testregion::loc::block::*}
set {_block} to {_block} parsed as item #Wichtig!
set block at {_loc} to {_block}
clear {testregion::*}
block break:
"%region at event-block%" contains "testregion in world Myslaria"
if "%region at block%" contains {@regionnames}:
if "%type of event-block%" contains "ore":
add event-location to {testregion::loc::*}
add "%event-block%" to {testregion::loc::block::*}
wait 0.5 minutes
arenareset()
Bin über eine Lösung sehr Dankbar
//edit:
Ich habe momentan eine Lösung gefunden bin aber nicht sicher ob diese Performance Einbüsend ist:
Was hab ich geändert?
ich habe bei der Abfrage block break diese zeile Entfernt:
wait 0.5 minutes
Code:
block break:
"%region at event-block%" contains "testregion in world Myslaria"
if "%region at block%" contains {@regionnames}:
if "%type of event-block%" contains "ore":
add event-location to {testregion::loc::*}
add "%event-block%" to {testregion::loc::block::*}
# wait 10 second
arenareset()
Danach habe ich 2 Zeilen in der Funktion arenareset() hinzugefügt
Einmal unter:
Code:
loop [testregion::loc::*]
Code:
wait 30 second
Diese sieht so aus:
Code:
if block at {_lock} is {_block}:
clear {testregion::*}
set block at {_loc} to {_block}
Für meine Ansicht her funktionierts aber ihr habt bestimmt noch eine Bessere Variante die wüsste ich gerne.
Danke.
Zuletzt bearbeitet: