Antwort schreiben  Thema schreiben 
Verfasser Nachricht
Team Bolt
Profi
****


Beiträge: 297
Gruppe: User
Registriert seit: Dec 2009

Status: Offline
Danke erhalten: 93
Beitrag: #1
xPSP  Mit Lua Script die Variable einer Textdatei verändern

Hi Leute,

ich habe folgendes Problem: Ich möchte gerne eine Variable in einer Textdatei via Luascript verändern. Bsp. die Variable in der Textdatei lautet a = 0. Ich möchte jetzt die Variable z.B in a = 2 ändern.

Ich habe schon alles Versucht aber nichts hat geklappt.
Variablen in Textdateine schreiben habe ich bereits hinbekommen.

Konkret gesagt will ich eine einzelne Zeile in der Textdatei durch eine neue Zeile ersetzten.

Mein Lösungsansatz ist folgender:

function trans()
datei = io.open("test.txt","r")
datei:read(*a)
-- hier müsste irgendetwas mit datei:lines() oder so reinkommen
datei:write("a = 2")
end

trans()

Danke schonmal im Vorraus


SIGNATURENSOHN! Big Grin
08.06.2010 19:19
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
pspbricker
Mod a.D.
*


Beiträge: 3.428
Gruppe: User
Registriert seit: May 2008

Status: Offline
Danke erhalten: 1641
Beitrag: #2
RE: Mit Lua Script die Variable einer Textdatei verändern

Du willst also in einer Lua Datei einen Wert schreiben und diesen verändern, damit er gespeichert ist, auch wenn man das Programm verlässt ? Und in später wieder einlesen kann. Also so ähnlich wie Highscores oder so ?




Meine PS3 Games : Warhawk , NFS: Pro Street, Motorstorm ,Midnight Club LA, LittleBigPlanet, GTA4, Uncharted 2, Overlord, Killzone2, PES10, Battlefield ´43, Socom: Confrontation,


Forum Regeln Beachten! KEIN ISO Talk! KEINE Beleidigungen! KEINE illegalen Links!


08.06.2010 19:32
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neutrosider
Developer
*


Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010

Status: Offline
Danke erhalten: 2325
Beitrag: #3
RE: Mit Lua Script die Variable einer Textdatei verändern

du hast die datei mit "r" im lese modus geoeffnet nimm stattdessen "wb+"





GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)
08.06.2010 19:36
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Team Bolt
Profi
****


Beiträge: 297
Gruppe: User
Registriert seit: Dec 2009

Status: Offline
Danke erhalten: 93
Beitrag: #4
xPSP  RE: Mit Lua Script die Variable einer Textdatei verändern

Ja so ähnlich wie highscores.

Es muss doch irgendeine Möglichkeit geben eine Zeile in einer Textdatei zu löschen und einen neuen Text an der exakt selben position wieder einzusetzten...


SIGNATURENSOHN! Big Grin
08.06.2010 19:39
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neutrosider
Developer
*


Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010

Status: Offline
Danke erhalten: 2325
Beitrag: #5
RE: Mit Lua Script die Variable einer Textdatei verändern

du musst die datei komplett einlesen, und indie neue alles eingelesene bis zur bestimmten stelle wieder schreiben, dann gewuenschte aenderung reinschreiben und restliches eingelesenes schreiben. ist nicht sehr schwer, aber man sollte sich mit tabellen, schleifen und stringoperatoren auskennen, um das elegant zu loesen.





GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)
08.06.2010 19:57
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
James_Cutter
TeamCheyTac
*****


Beiträge: 1.084
Gruppe: User
Registriert seit: Jul 2009

Status: Offline
Danke erhalten: 1055
Beitrag: #6
xPSP  RE: Mit Lua Script die Variable einer Textdatei verändern

also müsste das so aussehen, wenn ich mich nicht irre:

Code:
function trans()
dateitoread = io.open("test.txt","r")
dateitoread:read(*a)
dateitoread:close()
dateitowrite =  io.open("test.txt","w")
dateitowrite:write("a = 2")
dateitowrite:close()
end

trans()


wenns falsch ist bitte korrigieren Big Grin
mfg




Kein Support mehr per PM

09.06.2010 13:06
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
pspbricker
Mod a.D.
*


Beiträge: 3.428
Gruppe: User
Registriert seit: May 2008

Status: Offline
Danke erhalten: 1641
Beitrag: #7
RE: Mit Lua Script die Variable einer Textdatei verändern

Ihr macht es euch viel zu kompliziert, ihr vergesst immer das Lua eine Script Sprache ist:

Code:
function readScore()
     dofile("score.txt")
end

function writeScore()
     d = io.open("score.txt","w")
     d:write("a = "..a.."\n")
     d:write("b = "..b.."\n")
     d:write("c = "..c.."\n")
     d:close()
end

Bevor man writeScore() ausführt müssen a,b,c schon deklariert sein, sonst gibt es einen Erorr.
Bei der Variante wird alles überschriben man muss der Variabele vor einen anderen Wert zu weisen.

Ich weiß jetzt nicht ob das wirklich die Lösung für den Problem, wenn nicht versuch es mal exakter zu beschreiben.




Meine PS3 Games : Warhawk , NFS: Pro Street, Motorstorm ,Midnight Club LA, LittleBigPlanet, GTA4, Uncharted 2, Overlord, Killzone2, PES10, Battlefield ´43, Socom: Confrontation,


Forum Regeln Beachten! KEIN ISO Talk! KEINE Beleidigungen! KEINE illegalen Links!


Dieser Beitrag wurde zuletzt bearbeitet: 09.06.2010 13:38 von pspbricker.

09.06.2010 13:35
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Team Bolt
Profi
****


Beiträge: 297
Gruppe: User
Registriert seit: Dec 2009

Status: Offline
Danke erhalten: 93
Beitrag: #8
xPSP  RE: Mit Lua Script die Variable einer Textdatei verändern

Ich brauch das für einen Zufallsgenerator den ich grade mache. Er wird zum Ausfragen von Schulklassen verwendet. Derzeit benutzt es mein IT/Deutsch Lehrer.

Es gibt bereits eine Klassenliste in der man Eintragen kann wer schon ausgefragt wurde. Wenn der Zufallsgenerator auf z.B die Zahl 3 kommt, SOLL der 3. Wert in der Klassenliste verändert werden und zwar von "nein" (wie noch nicht ausgefragt) nach "ja" wie schon ausgefragt. Das Auslesen funzt schon wunderbar nur eben diese Kleinigkeit, dass man die schon ausgefragten nicht manuell eintragen muss würde dem ganzen das Sahnehäubchen geben.

Die Textdatei sieht folgendermaßen aus:

Nr1 = "nein"
Nr2 = "nein"
Nr3 = "nein"
Nr4 = "nein"
Nr5 = "nein"
Nr6 = "nein"

(etc. bis Nr40)

Wenn der Zufallsgenerator in der Script.lua jetzt Nr3 ausgewählt hat, soll unmittelbar danach der Wert Nr3 = "nein" in den Wert Nr3 = "ja" geändert werden. Das Problem bei euren (trotzdem sehr nützlichen) Lösungsmöglichkeiten ist, das dabei alles überschrieben wird, bzw. der Wert NUR an den letzten Wert angehängt wird.

Vielleicht ist es jetzt klarer... Wink


SIGNATURENSOHN! Big Grin
09.06.2010 20:50
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neutrosider
Developer
*


Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010

Status: Offline
Danke erhalten: 2325
Beitrag: #9
RE: Mit Lua Script die Variable einer Textdatei verändern

wenns nicht drängt, kann ich dir das am freitag fertig machen.





GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)
10.06.2010 06:51
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
James_Cutter
TeamCheyTac
*****


Beiträge: 1.084
Gruppe: User
Registriert seit: Jul 2009

Status: Offline
Danke erhalten: 1055
Beitrag: #10
xPSP  RE: Mit Lua Script die Variable einer Textdatei verändern

also ungefär so oder was:

Code:
function writeScore()
     d = io.open("score.txt","w")
     d:write("nr1 = "..nr1.."\n")
     d:write("nr2 = "..nr2.."\n")
     d:write("nr3 = "..nr3.."\n")
--etc bis nr. 40
     d:close()
end

oder täusche ich micht da?

mfg




Kein Support mehr per PM

10.06.2010 12:43
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neutrosider
Developer
*


Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010

Status: Offline
Danke erhalten: 2325
Beitrag: #11
xPSP  RE: Mit Lua Script die Variable einer Textdatei verändern

nee, mit schleife ist besser. ich habe schon eine getestete, funktionierende funktion fertig. die funktion von mir braucht NUR die zeilenangabe, den rest macht sie von selbst. ich poste es, sobald ich an den pc komme, bin mit psp on.

Edit: hier ist die Funktion:

Code:
function anpassen(klassennr)
    file=io.open("klassen.txt","r")
    line=file:read("*l")
    i=1
    txt={}
    while line~=nil do
        txt[i]=line
        i=i+1
    line=file:read("*l")
    end
    file:close()
    file=io.open("klassen.txt","wb+")
    i=1
    while i<klassennr do
        file:write(txt[i].."\n")
        i=i+1
    end
    file:write("Nr"..i.." = \"ja\"\n")

    while i<table.getn(txt) do i=i+1
        file:write(txt[i].."\n")
        
    end
end


einfach mit anpassen(*zeilennummer*) aufrufen
natürlich wird *zeilennummer* dementsprechend ersetzt, z.b anpassen(2).

In diesem Fall muss die textdatei klassen.txt heissen, einfach an den stellen file=io.open("klassen.txt","r") und file=io.open("klassen.txt","wb+") anpassen. wers genereller braucht, kann das hier versuchen (ungetestet):

Code:
function anpassen(dateiname,zeile,ersatz)
    file=io.open(dateiname,"r")
    line=file:read("*l")
    i=1
    txt={}
    while line~=nil do
        txt[i]=line
        i=i+1
    line=file:read("*l")
    end
    file:close()
    file=io.open(dateiname,"wb+")
    i=1
    while i<zeile do
        file:write(txt[i].."\n")
        i=i+1
    end
    file:write(ersatz)

    while i<table.getn(txt) do i=i+1
        file:write(txt[i].."\n")
        
    end
end


diese funktion würde mit anpassen(dateiname,zeile,ersatz) aufgerufen
detainame = name der datei XD
zeile = zeile die ersetzt werden soll
ersatz = dass was in die zeile geschrieben werden soll.





GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)

Dieser Beitrag wurde zuletzt bearbeitet: 10.06.2010 15:40 von Neutrosider.

10.06.2010 14:22
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
James_Cutter
TeamCheyTac
*****


Beiträge: 1.084
Gruppe: User
Registriert seit: Jul 2009

Status: Offline
Danke erhalten: 1055
Beitrag: #12
RE: Mit Lua Script die Variable einer Textdatei verändern

elender cheater Big Grin
muss ich mir merken.
mit dateien arbeiten is mir sowieso n dorn im auge Big Grin




Kein Support mehr per PM

10.06.2010 16:41
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neutrosider
Developer
*


Beiträge: 2.442
Gruppe: Developer
Registriert seit: Feb 2010

Status: Offline
Danke erhalten: 2325
Beitrag: #13
xPSP  RE: Mit Lua Script die Variable einer Textdatei verändern

lol, wo hab ich gecheatet? Big Grin Big Grin





GEGEN ACTA, SOPA UND PIPA!
was sind ACTA, SOPA und PIPA?
Infos dazu hier (video), hier (video) und hier (website)
10.06.2010 16:56
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
James_Cutter
TeamCheyTac
*****


Beiträge: 1.084
Gruppe: User
Registriert seit: Jul 2009

Status: Offline
Danke erhalten: 1055
Beitrag: #14
RE: Mit Lua Script die Variable einer Textdatei verändern

ne ja kompliment an dich, so hätte ich das nie hingekriegt, wie man sieht Big Grin




Kein Support mehr per PM

10.06.2010 17:12
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Team Bolt
Profi
****


Beiträge: 297
Gruppe: User
Registriert seit: Dec 2009

Status: Offline
Danke erhalten: 93
Beitrag: #15
xPSP  RE: Mit Lua Script die Variable einer Textdatei verändern

Tausend Dank, ich werds mal testen...thumb


SIGNATURENSOHN! Big Grin
12.06.2010 17:37
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Antwort schreiben  Thema schreiben 

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
xGames Lua Inhalt der Datei gezielt verändern? © by Noa 3 10.540 09.01.2015 16:40
Letzter Beitrag: Whynot
xGames PGE Lua: Script ausbinden sigma-m 9 10.200 17.12.2014 07:16
Letzter Beitrag: arooj
xPSP [C] Variable anzeigen DoubleDD_aka_domis4 1 1.139 14.03.2012 22:11
Letzter Beitrag: Total_Noob
xPSP Plugin: erstellung einer deaktivierung des joystick im VSH und game belzebub 0 1.140 10.09.2011 09:33
Letzter Beitrag: belzebub
xPSP Wie funktionieren plugins auf einer CFW? freak300 9 2.286 13.08.2011 11:35
Letzter Beitrag: secret

Druckversion anzeigen
Thema einem Freund senden
Thema abonnieren | Thema zu den Favoriten hinzufügen




» zum Seitenanfang