Register for your free account! | Forgot your password?

You last visited: Today at 10:55

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Release] Timestring Funktion

Discussion on [Release] Timestring Funktion within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
[Release] Timestring Funktion

Heute mal was kleines aber feines, eine Funktion die eine Sekundenangabe zu einem String macht. Der String sieht dabei immer "gut aus". Das heisst, bei z.B. 1 Stunde (60*60 Sekunden) gibt er "1 Stunde" zurück, bei 2 Stunden (60*60*2) gibt er "2 Stunden" zurück, bei 3 Werten setzt er zwischen den ersten beiden ein Komma, danach ein und usw.

Hier mal ein paar Beispiele in der Lua Demo:
Code:
print(toTimestring(1))--1 Sekunde
        --> 1 Sekunde
print(toTimestring(2))--2 Sekunden
        --> 2 Sekunden
print(toTimestring(60))--1 Minute
        --> 1 Minute
print(toTimestring(61))--1 Minute 1 Sekunde
        --> 1 Minute und 1 Sekunde
print(toTimestring(62))--1 Minute 2 Sekunden
        --> 1 Minute und 2 Sekunden
print(toTimestring(120))--2 Minuten
        --> 2 Minuten
print(toTimestring(121))--2 Minuten 1 Sekunde
        --> 2 Minuten und 1 Sekunde
print(toTimestring(122))--2 Minuten 2 Sekunden
        --> 2 Minuten und 2 Sekunden
print(toTimestring(3600))--1 Stunde
        --> 1 Stunde
print(toTimestring(3601))--1 Stunde 1 Sekunde
        --> 1 Stunde und 1 Sekunde
print(toTimestring(3602))--1 Stunde 2 Sekunden
        --> 1 Stunde und 2 Sekunden
print(toTimestring(3660))--1 Stunde 1 Minute
        --> 1 Stunde und 1 Minute
print(toTimestring(3661))--1 Stunde 1 Minute 1 Sekunde
        --> 1 Stunde, 1 Minute und 1 Sekunde
print(toTimestring(3662))--1 Stunde 1 Minute 2 Sekunden
        --> 1 Stunde, 1 Minute und 2 Sekunden
print(toTimestring(3720))--1 Stunde 2 Minuten
        --> 1 Stunde und 2 Minuten
print(toTimestring(3721))--1 Stunde 2 Minuten 1 Sekunde
        --> 1 Stunde, 2 Minuten und 1 Sekunde
print(toTimestring(3722))--1 Stunde 2 Minuten 2 Sekunden
        --> 1 Stunde, 2 Minuten und 2 Sekunden
Die Funktion setzt sich aus 2 Funktionen zusammen, die erste gibt aus der Angabe an Sekunden einen Table mit den Einzelwerten zurück, die zweite macht aus diesen Einzelwerten einen gut aussehenden String.

Code:
function toHoursMinutesSeconds(seconds)
	if type(seconds) ~= "number" then return false end
	local hours = math.floor(seconds/60/60)
	local minutes = math.floor((seconds-(hours*60*60))/60)
	local seconds = math.floor(seconds-(hours*60*60)-(minutes*60))
	return {hours, minutes, seconds}
end

function toTimestring(seconds)
	local HoursMinutesSeconds = toHoursMinutesSeconds(seconds)
	if not HoursMinutesSeconds then return false end
	local TimestringValues = {}
	for i = 1, table.getn(HoursMinutesSeconds) do
		local v = HoursMinutesSeconds[i]
		local name = ({
			({--hours
				[0] = "",
				[1] = " Stunde"
			})[v] or " Stunden",
			({--minutes
				[0] = "",
				[1] = " Minute"
			})[v] or " Minuten",
			({--seconds
				[0] = "",
				[1] = " Sekunde"
			})[v] or " Sekunden"
		})[i]
		if name ~= "" then
			table.insert(TimestringValues, v..name)
		end
	end
	local Timestring = ""
	local Valuecount = table.getn(TimestringValues)
	for i = 1, Valuecount do
		local v = TimestringValues[i]
		Timestring = Timestring..v..(({[0] = "", [1] = " und "})[Valuecount-i] or ", ")
	end
	return Timestring
end
Special Thanks:
- Xilent
rollback is offline  
Thanks
8 Users
Old 07/26/2015, 14:29   #2
 
.Xilent's Avatar
 
elite*gold: 12
Join Date: Jun 2012
Posts: 978
Received Thanks: 860
Sehr gut gemacht, Seחsi. Die Idee ist wirklich gut!
.Xilent is offline  
Thanks
3 Users
Reply


Similar Threads Similar Threads
[Smal-Release]Alt+F4 Funktion
03/10/2015 - Metin2 PServer Guides & Strategies - 11 Replies
Guten Abend Elitepvpers, Ich wollte wieder mal was Releasen ;) Zum Release: Ihr Öffnet die game.py und sucht nach:
[Release][Lua] SQL PASSWORD Funktion
01/12/2015 - Metin2 PServer Guides & Strategies - 4 Replies
deleted
[HELP]Kostümystem clientside grob und funktion für funktion fail..
05/04/2014 - Metin2 Private Server - 2 Replies
Moin , ich hab das Kostümystem clientside erst funktion für funktion eingefügt, zeile für zeile aber auch bei "grob einfügen (copy and past) den gleichen scheiß fehler.. 0503 15:06:14429 :: CPythonPlayer::SetItemData(dwSlotIndex=5, itemIndex=1289) - Failed to item data 0503 15:06:14430 :: CPythonPlayer::SetItemData(dwSlotIndex=38, itemIndex=41010) - Failed to item data 0503 15:06:14548 :: CMapOutdoor::Load - LoadMonsterAreaInfo ERROR
[Release]Reittier Funktion wie auf De
08/03/2013 - Metin2 PServer Guides & Strategies - 55 Replies
Hallo und guten Tag Elitepvpers, Ich bekomme ncoh oft anfragen wie ich das hier gemacht habe : YouTube - ‪HcG-Power Reittier quest‬‏ zu diesem zeitpunkt habe ich noch nicht mit den 2010er Files gearbeitet zum besonderen Teil:
[S] USA.net E-mail Spammer (Proxy Funktion & Account-listen Abruf Funktion) [B] e*g
04/24/2013 - elite*gold Trading - 0 Replies
Hallo, Ich Suche einen E-mail Spammbot der mit USA.net E-mail Adressen Arbeitet. den SMTP Herrauszufinden ist ja nicht Wirklich schwer. Er Sollte Proxy Funktionen haben (E-mail via Proxy versenden) Und er sollte eine liste mit Accounts (Format E-mail:Passwort) Einlesen und verwenden Können (Wenn eine E-mail nichtsmehr sendet wird eine 2te Genommen Also aus der Liste) Hoffe ihr könnt mir da Weiterhelfen ^^ Kontakt Bitte per PN.



All times are GMT +2. The time now is 10:55.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.