Ich würde gerne zu Beginn das momentane Datum bekommen (mit Sekunden). Und danach Sekunden zu diesem Datum hinzufügen, sodass ein neues Datum rauskommt, welches in der Zukunft liegt.
Wie stell ich das in LUA an ?
Hab mir os.clock() herumprobiert, das sind aber keine Daten sondern nur Nummern, da funktioniert das addieren nicht.
Mit io.date() funktionierts scheinbar irgendwie, aber ich komm nicht drauf. Er wirft mir auch immer einen Fehler, und sagt, dass die Variable leer ist, in die im io.date() reinschreiben möchte.
PS: local, da LUA dynamische Variablen benutzt. C++ z.B. benutzt lexikalische.
Den Begriff "dynamische Variable" lese ich hier das erste Mal. Mit "lexikalisch" wird für gewöhnlich ein statischer Gültigkeitsbereich assoziiert, keine statische Typisierung - denn eine "lexikalische Typisierung" gibt es nicht, wohl aber einen lexikalischen, also statischen Gültigkeitsbereich.
Hatte mal Langeweile und hab's ihm vorgeschrieben.
Er wollte ja sozusagen ein neues Datum - hoffe hab seine Wünsche getroffen.
Code:
local clock = os.clock
function sleep(n)
local t = clock()
while clock() - t <= n do end
end
function explode(div,str) -- credit: http://richard.warburton.it
if (div=='') then return false end
local pos,arr = 0,{}
for st,sp in function() return string.find(str,div,pos,true) end do
table.insert(arr,string.sub(str,pos,st-1))
pos = sp + 1
end
table.insert(arr,string.sub(str,pos))
return arr
end
local first = os.date("%c")
sleep(2)
local second = os.date("%c")
local tab = explode(" ", first)
local tab2 = explode(" ", second)
local seconds1 = explode(":", tab[2])
local seconds2 = explode(":", tab2[2])
local date1 = explode("/", tab[1])
local date2 = explode("/", tab2[1])
metaT={}
metaT.__add = function(table1, table2)
local tab = {}
tab[1] = table1[1] + table2[1]
tab[2] = table1[2] + table2[2]
tab[3] = table1[3] + table2[3]
return tab
end
setmetatable(seconds2, metaT)
setmetatable(date2, metaT)
local new_second = seconds2 + seconds1
local new_date = date2 + date1
local seconds = {24,60,60}
for i = 3, 1, -1 do
while new_second[i] >= seconds[i] do
if i ~= 1 then
new_second[i] = new_second[i] - seconds[i]
new_second[i-1] = new_second[i-1] + 1
else
new_date[2] = new_date[2] + 1
end
end
end
local days = {99999999, 31, 12}
local new_sets = {3,1,2}
for i = 2, 1, -1 do
while new_date[i] >= days[i] do
new_date[i] = new_date[i] - days[i]
new_date[new_sets[i]] = new_date[new_sets[i]] + 1
end
end
for _,v in ipairs(new_second) do
if v < 10 then new_second[_] = "0"..new_second[_] end
end
for _,v in ipairs(new_date) do
if v < 10 then new_date[_] = "0"..new_date[_] end
end
local out = new_date[1].."/"..new_date[2].."/"..new_date[3].." "..new_second[1]..":"..new_second[2]..":"..new_second[3]
print(out)
--> 08/12/28 04:18:34
Schau dir doch mal bitte genau an was os.time zurückgibt, dass sind nicht einfach nur irgendwelche Zahlen.
Einfach nur zwei os.time mit einem os.date verbinden und du hast was du wolltest, dafür braucht man fünf Zeilen inc. einem sleep zum Testen.
Wie erwähnt: hatte Langeweile - gab so spät nichts mehr zu tun.
Aber es funktioniert genau so gut Lua's hauseigene Funktionen und ich wette es geht noch umständlicher
Exp boni addieren 10/26/2013 - CrossFire - 4 Replies Hey Leute,
addiert sich der exp bonus von vip waffen mit exp - event oder mit rp gekauften
exp boni ?
Wenn man in bag 1 zb die awm infernal hat und in bag 2 die ak beast eye addieren sich die boni dann zu 400 prozent exp ?
Freue mich über aufklärende Antworten. (:
Spalten addieren 02/12/2013 - .NET Languages - 8 Replies hi!
Ich habe folgendes Problem in Visual Basics
http://i.epvpimg.com/vVwCe.jpg
wie kann ich das umsetzen?
Teamspeak + Teamviewer wär das beste, wäre schön wenn sich wer findet :)
[QUEST][LUA]Datum und Zeit herausbekommen 09/24/2012 - Metin2 Private Server - 2 Replies Hallo liebe Community,
ich benötige für meinen Server eine Quest, mit Zeit- und Datumsabfrage.
Ich habe mich nun gefragt, wie das ganze funktioniert.
Was ich brauche:
Sekunden
Minuten
Stunden
Zeit und Datum funktion im Client? 01/17/2011 - Metin2 Private Server - 9 Replies Hallo,
gibt es ein Import also eine Funktion die Zeit und Datum vom Rechner wiedergeben kann?
Mir ist Datum da wichtiger als Zeit.
Ich möchte beim einloggen sowas wie eine kleine Log machen :)
mfg Freaky
++ Addieren 10/30/2010 - General Coding - 13 Replies Hallo
wie kann ich in einer while mehr als 1 addieren ?
Also wenn z.B.:
int a ;
in der while dann
while(bla)
a++