|
You last visited: Today at 19:08
Advertisement
[Offi Files]Fragen u. Disskussionsthread
Discussion on [Offi Files]Fragen u. Disskussionsthread within the Flyff Private Server forum part of the Flyff category.
03/06/2010, 20:37
|
#991
|
elite*gold: 0
Join Date: Dec 2008
Posts: 187
Received Thanks: 29
|
kann mir jez ma einer antworten???
Quote:
Originally Posted by Piefkie
@Feuerbreak Bei dem 3. Meinst du wohl einen Patcher du kannst demn vom Offi flyff nehmen oder Eapa, welchen ich momentan benutze.
1. Du musst bei deinem Themen Ordner mal die Maps aus den .res Dateien entpacken, hat bei mir dazu geführt das ich durch M drücken die Map auf rufen kann.
4. Ein installer ist soweit glaube ich nicht möglich/einfach du kannst deinen Clienten einfach auf einem Server Hochladen
@Ronns0r Leider kann ich dir bei deinen Fragen auch nicht helfen aber schau doch ob es bei dir im Clienten oder im Server einen error gibt
|
zum 1. punkt:
in meinem themen ordner gibts 2 unterordern!
default und german!!!
im german ordner und im default ordner sind beide gleichnamige
.res datei drinne
und ganz normal im ober ordner theme!!!
alle 3 löschen???
und was meinst du mit: "Du musst bei deinem Themen Ordner mal die Maps aus den .res Dateien entpacken"
wie soll ich ne res datei entpacken oO
mfg feuerbreak
|
|
|
03/06/2010, 21:25
|
#992
|
elite*gold: 13
Join Date: May 2009
Posts: 1,314
Received Thanks: 1,483
|
so habe jetz "endlich" den v14 server zum laufen gebracht ^^ (MMsql konnte ich jetz installiere ,vorher ging es nicht ka wiso .) wolte jetz fragen ob es schon eine register seite dafür gibt (habe aber nichts per sufu gefunden!)
(und vlleicht einen itemshop oder wie man den ingame itemshop richtig einstellt bzw macht das dieser geht)
|
|
|
03/06/2010, 21:27
|
#993
|
elite*gold: 18
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,471
|
Quote:
Originally Posted by shadow52
so habe jetz "endlich" den v14 server zum laufen gebracht ^^ (MMsql konnte ich jetz installiere ,vorher ging es nicht ka wiso .) wolte jetz fragen ob es schon eine register seite dafür gibt (habe aber nichts per sufu gefunden!)
(und vlleicht einen itemshop oder wie man den ingame itemshop richtig einstellt bzw macht das dieser geht)
|
1) Sieh mal in meine signature da is ein FAQ Thread wo du nicht posten darfst.
2) Ich weis wie man Items so einstellt das sie in shops gehen^^ nur ist ein thread zu aufwendig da dürft ihr selber probieren.
|
|
|
03/06/2010, 21:33
|
#994
|
elite*gold: 0
Join Date: Apr 2009
Posts: 840
Received Thanks: 83
|
@ Sedrika kanst du dabei vilt helfen:
Quote:
Originally Posted by russenstayler
Hey Leute immer wenn jemand auf mein server connectet chrasht der Trans server und dann nach 1 minute auch der World server. Hier die error.txt:
Code:
2010/ 3/ 6 19:48:54 OP: 166791133, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
2010/ 3/ 6 19:49:01 OP: 6237, 0.0, 0.0, 6236.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
2010/ 3/ 6 19:49:01 LUA - ID de l'evenement : 1, Nom : Neuer Anfangs Event, Etat : 1
2010/ 3/ 6 19:49:03 OP: 1864, 0.0, 0.0, 0.0, 0.0, 0.0, 1863.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
2010/ 3/ 6 19:49:18 LoadObject : Part_maleHair05.o3d Àб⠽ÇÆÐ
2010/ 3/ 6 19:49:18 Model\Part_maleHair05.o3d : ãÀ» ¼ö ¾øÀ½
2010/ 3/ 6 19:49:18 LoadObject : Part_maleHead05.o3d Àб⠽ÇÆÐ
2010/ 3/ 6 19:49:18 Model\Part_maleHead05.o3d : ãÀ» ¼ö ¾øÀ½
2010/ 3/ 6 19:49:18 LoadObject : part_mVag01Upper.o3d Àб⠽ÇÆÐ
2010/ 3/ 6 19:49:18 Model\part_mVag01Upper.o3d : ãÀ» ¼ö ¾øÀ½
2010/ 3/ 6 19:49:18 LoadObject : part_mVag01Hand.o3d Àб⠽ÇÆÐ
2010/ 3/ 6 19:49:18 Model\part_mVag01Hand.o3d : ãÀ» ¼ö ¾øÀ½
2010/ 3/ 6 19:49:18 LoadObject : part_mVag01Foot.o3d Àб⠽ÇÆÐ
2010/ 3/ 6 19:49:18 Model\part_mVag01Foot.o3d : ãÀ» ¼ö ¾øÀ½
2010/ 3/ 6 19:49:26 CDbManager::UpdateGuildRanking¿¡¼* (RANKING.RANKING_DBF.dbo.RANKING_STR 'R1','01') ½ÇÆÐ
2010/ 3/ 6 19:49:42 LoadObject : Part_maleHair05.o3d Àб⠽ÇÆÐ
2010/ 3/ 6 19:49:42 Model\Part_maleHair05.o3d : ãÀ» ¼ö ¾øÀ½
2010/ 3/ 6 19:49:42 LoadObject : Part_maleHead03.o3d Àб⠽ÇÆÐ
2010/ 3/ 6 19:49:42 Model\Part_maleHead03.o3d : ãÀ» ¼ö ¾øÀ½
2010/ 3/ 6 19:49:42 LoadObject : part_mVag01Upper.o3d Àб⠽ÇÆÐ
2010/ 3/ 6 19:49:42 Model\part_mVag01Upper.o3d : ãÀ» ¼ö ¾øÀ½
2010/ 3/ 6 19:49:42 LoadObject : part_mVag01Hand.o3d Àб⠽ÇÆÐ
2010/ 3/ 6 19:49:42 Model\part_mVag01Hand.o3d : ãÀ» ¼ö ¾øÀ½
2010/ 3/ 6 19:49:42 LoadObject : part_mVag01Foot.o3d Àб⠽ÇÆÐ
2010/ 3/ 6 19:49:42 Model\part_mVag01Foot.o3d : ãÀ» ¼ö ¾øÀ½
2010/ 3/ 6 19:49:43 .\LuaFunc\EventFunc.lua:27: attempt to compare number with nil
2010/ 3/ 6 19:49:48 CProject::GetAddSkillProp ¹üÀ§Ä§¹ü. 4512
2010/ 3/ 6 19:50:50 TRANS : is not alive
Was kann ich da machen ?
P.S kann es an der Eventfunc.lua liegen weil hab da versucht die rates zu ändern wenn ja kann mir vilt jemand seine hochladen
|
|
|
|
03/06/2010, 21:35
|
#995
|
elite*gold: 18
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,471
|
Yop ich würde auich sagen das dein Fehler mit der LUA beginnt^^
hier ist die diedatei.
Naja letzter post für heute, bin auch morgen nicht da.
|
|
|
03/06/2010, 21:38
|
#996
|
elite*gold: 0
Join Date: Apr 2009
Posts: 316
Received Thanks: 32
|
@Sedrika Ich glaube er meinte das der Shop wie beim Offi auch ingame funktioniert also der CS-Shop.
Und eine Frage an dich kannst du mir mal deinen eintrag der Core Server.ini schicken zur not auch per pn wenn du es hier nicht machen willst
Edit: das war aber jz gemein xD^^
|
|
|
03/06/2010, 21:41
|
#997
|
elite*gold: 13
Join Date: May 2009
Posts: 1,314
Received Thanks: 1,483
|
@Piefkie ja dabei hast du recht ^^
normal müsste dieser ja auch dann ingame gehen oder nicht ? (sind ja die offizielen serverfiles ,oder sind die doch nicht die echten o.O ? )
Quote:
Originally Posted by Sedrika
1) Sieh mal in meine signature da is ein FAQ Thread wo du nicht posten darfst.
2) Ich weis wie man Items so einstellt das sie in shops gehen^^ nur ist ein thread zu aufwendig da dürft ihr selber probieren.
|
wie man acc's per sql "befehl" erstellt weiß ich.
Fragte ja nach einer homepage bzw einem account erstell script für eine hp. (finde aber keine(s) in deinem FAQ thread. (weil bei einem server der auf nem root läuft für jeden player per hand nen acc zumachen ist etwas viel oder nicht ?)
|
|
|
03/06/2010, 21:42
|
#998
|
elite*gold: 18
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,471
|
Quote:
Originally Posted by Piefkie
@Sedrika Ich glaube er meinte das der Shop wie beim Offi auch ingame funktioniert also der CS-Shop.
Und eine Frage an dich kannst du mir mal deinen eintrag der Core Server.ini schicken zur not auch per pn wenn du es hier nicht machen willst
Edit: das war aber jz gemein xD^^
|
Du hast Luck das ich noch ne mail bekommen hab bevor ich MSN ausgemacht hab =)
Quote:
Sys "1"
Database "127.0.0.1"
PartyExpRate "2"
// 167 0 0 2 2 00 00
101
{
1 0 0 30 30 00 00
2 0 0 5 5 00 00
3 0 0 3 3 00 00
4 0 0 5 5 00 00
5 0 0 2 2 00 00
6 0 0 7 7 00 00
7 0 0 12 12 00 00
200 0 0 5 5 00 00
201 0 0 5 5 00 00
210 0 0 1 1 00 00
220 0 0 1 1 00 00
230 0 0 1 1 00 00
202 0 0 5 5 00 00
204 0 0 5 5 00 00
205 0 0 2 2 00 00
203 0 0 3 3 00 00
206 0 0 2 2 00 00
207 0 0 2 2 00 00
208 0 0 2 2 00 00
241 0 0 1 1 00 00
242 0 0 1 1 00 00
243 0 0 1 1 00 00
244 0 0 1 1 00 00
21 0 0 1 1 00 00
22 0 0 1 1 00 00
23 0 0 1 1 00 00
24 0 0 1 1 00 00
25 0 0 1 1 00 00
121 0 0 5 5 00 00
122 0 0 5 5 00 00
209 0 0 1 1 00 00
151 0 0 2 2 00 00
152 0 0 2 2 00 00
153 0 0 2 2 00 00
154 0 0 2 2 00 00
155 0 0 2 2 00 00
156 0 0 2 2 00 00
157 0 0 2 2 00 00
158 0 0 2 2 00 00
159 0 0 2 2 00 00
160 0 0 2 2 00 00
161 0 0 2 2 00 00
162 0 0 2 2 00 00
163 0 0 2 2 00 00
164 0 0 2 2 00 00
165 0 0 2 2 00 00
166 0 0 2 2 00 00
}
|
Und was war gemeint mit "Edit: das war aber jz gemein xD^^" ?
Quote:
Originally Posted by shadow52
wie man acc's per sql "befehl" erstellt weiß ich.
Fragte ja nach einer homepage bzw einem account erstell script für eine hp. (finde aber keine(s) in deinem FAQ thread. (weil bei einem server der auf nem root läuft für jeden player per hand nen acc zumachen ist etwas viel oder nicht ?)
|
Sieh dir Die Sammlung an ein Link weiter untern im Siggi^^
Register Script
|
|
|
03/06/2010, 21:44
|
#999
|
elite*gold: 0
Join Date: Apr 2009
Posts: 316
Received Thanks: 32
|
Das du kurz vorher geschrieben hast das das dein letzter post für heute war und du hast nicht alle V14 maps geaddet 167 fehlt :P xD
@Shadow52 Ich habe ein funktionierendes
und hier das welches Sedrika meint :
|
|
|
03/06/2010, 21:47
|
#1000
|
elite*gold: 0
Join Date: Apr 2009
Posts: 840
Received Thanks: 83
|
@ Sedrika ok hab jetzt deine EventFunc.lua bekomm aber immernoch denn Fehler:
Code:
2010/ 3/ 6 21:44:27 OP: 173724650, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
2010/ 3/ 6 21:44:34 OP: 6426, 0.0, 0.0, 6425.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
2010/ 3/ 6 21:44:36 OP: 2162, 0.0, 0.0, 0.0, 0.0, 0.0, 2130.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
2010/ 3/ 6 21:44:56 CDbManager::UpdateGuildRanking¿¡¼* (RANKING.RANKING_DBF.dbo.RANKING_STR 'R1','01') ½ÇÆÐ
2010/ 3/ 6 21:45:08 .\LuaFunc\EventFunc.lua:27: attempt to compare number with nil
|
|
|
03/06/2010, 21:47
|
#1001
|
elite*gold: 18
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,471
|
Quote:
Originally Posted by Piefkie
Das du kurz vorher geschrieben hast das das dein letzter post für heute war und du hast nicht alle V14 maps geaddet 167 fehlt :P xD
@Shadow52 Ich habe ein funktionierendes
|
Hmm Welche map ist denn 167 ?
Und ich wusste ich lasse mich aufhalten aber ich kenn die Lösung ^^
Laptop akku raus und gut ist für heute und morgen ^^.
OT:Bin Montag wieder da.
Wünscht mit glück bei Mathe
|
|
|
03/06/2010, 21:52
|
#1002
|
elite*gold: 0
Join Date: Apr 2009
Posts: 316
Received Thanks: 32
|
@Sedrika dies ist die antwort meiner defineWorld^^ : #define WI_DUNGEON_SECRET_16 167 und das #define WI_DUNGEON_SECRET_L 167. Dein armes Laptop immer das Akku rausnehmen^^
Und viel Glück^^
@russenstayler poste mal den inhalt deiner func.lua
|
|
|
03/06/2010, 21:58
|
#1003
|
elite*gold: 0
Join Date: Apr 2009
Posts: 840
Received Thanks: 83
|
Hier die EventFunc:
Code:
Event = {} -- ??? ?? ???
tNotice = {} -- ?? ?? ??
bNotice = false
function SEC( n )
return n*1000
end
function MIN( n )
return n*SEC(60)
end
-----------------------------------------------------------------------------------
function Notice( strTime, nInterval, nNoticeCount )
tNotice.strTime = strTime
tNotice.nInterval = nInterval
tNotice.nNoticeCount = nNoticeCount
tNotice.tMessage = {}
end
function AddMessage( strMessage )
local nSize = table.getn( tNotice.tMessage ) + 1
tNotice.tMessage[nSize] = strMessage
end
function IsNoticeTime()
if( (bNotice == true) and (tNotice.nNoticeCount > 0) and (tNotice.strTime == os.date("%a %H:%M")) ) then
tNotice.nNoticeCount = tNotice.nNoticeCount - 1
SetNextNoticeTime()
return true
end
return false
end
function SetNextNoticeTime()
local nMin = tonumber( os.date( "%M" ) )
local nHour = tonumber( os.date( "%H" ) )
local strTemp;
tNotice.strTime = os.date( "%a " )
nMin = nMin + tNotice.nInterval;
if( nMin > 59 ) then
nMin = 60 - nMin
nHour = nHour + 1
end
-- ?
strTemp = tostring( nHour )..":"
if( nHour < 10 ) then strTemp = "0"..strTemp end
tNotice.strTime = tNotice.strTime .. strTemp
-- ?
strTemp = tostring( nMin )
if( nMin < 10 ) then strTemp = "0"..strTemp end
tNotice.strTime = tNotice.strTime .. strTemp
end
function GetNoticeMessage()
return tNotice.tMessage
end
-----------------------------------------------------------------------------------
------- C?? ??? ?? ?? ----------------------------------------------------
-----------------------------------------------------------------------------------
-- ??? ??? ??? (DBSERVER)
function GetEventState()
local tReturn = {}
local nCount = 0
for i in pairs(tEvent) do
local OldState = tEvent[i].State
for j in pairs(tEvent[i].Time) do
if( tEvent[i].Time[j].nStart <= tonumber(os.date("%Y%m%d%H%M")) ) then
if( tEvent[i].Time[j].nEnd > tonumber(os.date("%Y%m%d%H%M")) ) then
if( tEvent[i].State == 0 ) then
tEvent[i].State = 1
end
else
if( tEvent[i].State == 1 ) then
tEvent[i].State = 0
end
end
end
end
if( OldState ~= tEvent[i].State ) then
tReturn[nCount] = {}
tReturn[nCount].nId = i
tReturn[nCount].State = tEvent[i].State
nCount = nCount + 1
end
end
return tReturn
end
-- WORLDSERVER?? ??? ???? ???? ??? state? ???? ?? ??
function SetState( nId, nState )
if( tEvent[nId] == nil ) then
TRACE( string.format( "Pas d'evenement ayant l'id : %d", nId ) )
ERROR( string.format( "Pas d'evenement ayant l'id : %d", nId ) )
return false;
end
tEvent[nId].State = nState
TRACE( string.format( "ID de l'evenement : %d, Nom : %s, Etat : %d", nId, tEvent[nId].Desc, tEvent[nId].State ) )
ERROR( string.format( "ID de l'evenement : %d, Nom : %s, Etat : %d", nId, tEvent[nId].Desc, tEvent[nId].State ) )
return true;
end
-- ???? ??? ???
function GetEventList()
local tList = {}
local nCount = 1
for i in pairs(tEvent) do
if( tEvent[i].State == 1 ) then
tList[nCount] = i
nCount = nCount + 1
end
end
return tList
end
-- ??? ???? ?? ?? ???
function GetAllEventList()
local tAllList = {}
local nCount = 1
for i in pairs(tEvent) do
tAllList[nCount] = {}
tAllList[nCount].nId = i
tAllList[nCount].strTitle = tEvent[i].Desc
tAllList[nCount].nState = tEvent[i].State
nCount = nCount + 1
end
return tAllList
end
-- ??? ?? ?? ???? ??
function GetEventInfo( nId )
local tEventInfo = {}
if( tEvent[nId] == nil ) then
tEventInfo[1] = "Pas d'infos sur l'evenement ayant l'id : "..nId
return tEventInfo
end
local nCount = 3
tEventInfo[1] = "Nom = " .. tEvent[nId].Desc
tEventInfo[2] = "Etat = " .. tEvent[nId].State
for i in pairs(tEvent[nId].Time) do
local strTime = tEvent[nId].Time[i].nStart .. ", " ..tEvent[nId].Time[i].nEnd
tEventInfo[nCount] = "Time["..i.."] = " .. strTime
nCount = nCount + 1
end
for i in pairs(tEvent[nId].Item) do
local strItem = tEvent[nId].Item[i].ItemId ..", ".. tEvent[nId].Item[i].ItemMaxNum ..", ".. tEvent[nId].Item[i].ItemNum ..", ".. tEvent[nId].Item[i].nLevel
tEventInfo[nCount] = "Objet["..i.."] = " .. strItem
nCount = nCount + 1
end
if( tEvent[nId].fExpFactor ~= 5 ) then
tEventInfo[nCount] = "Experience multiplie par : " .. tEvent[nId].fExpFactor
nCount = nCount + 1
end
if( tEvent[nId].fItemDropRate ~= 5 ) then
tEventInfo[nCount] = "Drop multiplie par : " .. tEvent[nId].fItemDropRate
nCount = nCount + 1
end
if( tEvent[nId].fPieceItemDropRate ~= 5 ) then
tEventInfo[nCount] = "Nombre d'objets multiplie par : " .. tEvent[nId].fPieceItemDropRate
nCount = nCount + 1
end
if( tEvent[nId].fGoldDropFactor ~= 5 ) then
tEventInfo[nCount] = "Penyas multiplie par : " .. tEvent[nId].fGoldDropFactor
nCount = nCount + 1
end
if( tEvent[nId].nAttackPower ~= 0 ) then
tEventInfo[nCount] = "Attaque augmentee de : " .. tEvent[nId].nAttackPower
nCount = nCount + 1
end
if( tEvent[nId].nDefensePower ~= 0 ) then
tEventInfo[nCount] = "Defense augmentee de : " .. tEvent[nId].nDefensePower
nCount = nCount + 1
end
if( tEvent[nId].nCouponEvent ~= 0 ) then
if( tEvent[nId].nCouponEvent < MIN(1) ) then
tEventInfo[nCount] = "Duree des coupons evenement : " .. tEvent[nId].nCouponEvent / SEC(1) .. "Secondes"
else
tEventInfo[nCount] = "Duree des coupons evenement : " .. tEvent[nId].nCouponEvent / MIN(1) .. "Minutes"
end
nCount = nCount + 1
end
for i in pairs(tEvent[nId].Gift) do
local strGift = tEvent[nId].Gift[i].nLevel ..", ".. tEvent[nId].Gift[i].strAccount ..", ".. tEvent[nId].Gift[i].strItemId ..", ".. tEvent[nId].Gift[i].nItemNum
tEventInfo[nCount] = "Cadeaux n¡Æ["..i.."] : " .. strGift
nCount = nCount + 1
end
if( tEvent[nId].fCheerExpFactor ~= 1 ) then
tEventInfo[nCount] = "fCheerExpFactor = " .. tEvent[nId].fCheerExpFactor
nCount = nCount + 1
end
return tEventInfo
end
-- ??? ??
function GetDesc( nId )
local strDesc = tEvent[nId].Desc
return strDesc
end
-- ??? ??? ???? ??
function GetTimeToNumber( strTime )
local strTemp = ""
local j = 0
for i in string.gfind( strTime, "%d+" ) do
j = j + 1
if( (j~=1) and (tonumber(i)<10) ) then
i = "0"..tonumber(i)
end
strTemp = strTemp..i
end
return tonumber( strTemp )
end
---------------------------------------------------------------------------
------ ??? ?? ?? ---------------------------------------------------
---------------------------------------------------------------------------
-- ??? ??? ??
function AddEvent( strDesc )
local nEventId = table.getn(tEvent) + 1
tEvent[nEventId] = {}
tEvent[nEventId].Item = {}
tEvent[nEventId].Time = {}
tEvent[nEventId].Desc = strDesc
tEvent[nEventId].fExpFactor = 1
tEvent[nEventId].fItemDropRate = 1
tEvent[nEventId].fPieceItemDropRate = 1
tEvent[nEventId].fGoldDropFactor = 1
tEvent[nEventId].State = 0
tEvent[nEventId].nAttackPower = 0
tEvent[nEventId].nDefensePower = 0
tEvent[nEventId].nCouponEvent = 0
tEvent[nEventId].Gift = {}
tEvent[nEventId].fCheerExpFactor = 1
end
-- ????, ???
function SetTime( strStart, strEnd )
local nEventId = table.getn(tEvent)
local nSize = table.getn( tEvent[nEventId].Time ) + 1
tEvent[nEventId].Time[nSize] = {}
tEvent[nEventId].Time[nSize].nStart = GetTimeToNumber( strStart )
tEvent[nEventId].Time[nSize].nEnd = GetTimeToNumber( strEnd )
end
-- ???
function SetItem( ItemId, nItemMaxNum, nItemNum, nLevel )
local nEventId = table.getn(tEvent)
local nSize = table.getn(tEvent[nEventId].Item)
tEvent[nEventId].Item[nSize+1] = {}
tEvent[nEventId].Item[nSize+1].ItemId = ItemId
tEvent[nEventId].Item[nSize+1].ItemMaxNum = nItemMaxNum
tEvent[nEventId].Item[nSize+1].ItemNum = nItemNum
tEvent[nEventId].Item[nSize+1].nLevel = nLevel
tEvent[nEventId].Item[nSize+1].TimeOut = 0
tEvent[nEventId].Item[nSize+1].Skip = 0
local tInterval = {}
local nTotal = 0
for i in pairs(tHour) do
nTotal = nTotal + tHour[i]
end
for i in pairs(tHour) do
tInterval[i] = 3600000 / ( nItemMaxNum * tHour[i] / nTotal )
tInterval[i] = math.floor(tInterval[i])
end
tEvent[nEventId].Item[nSize+1].tInterval = tInterval
end
-- ??? ??? ??
function GetItem( nTickCount, nLevel )
local nHour = tonumber(os.date("%H")) + 1
local tList = GetEventList()
local tReturn = {}
local nCount = 1
for i in pairs(tList) do
local tItem = tEvent[tList[i]].Item
for j in pairs(tItem) do
local nRandom = math.random(0, tItem[j].ItemNum)
if( (nRandom > 0) and (nTickCount >= tItem[j].TimeOut) and (tItem[j].nLevel <= nLevel) ) then
tItem[j].TimeOut = tItem[j].tInterval[nHour] + nTickCount
if( tItem[j].Skip == 0 ) then
tReturn[nCount] = {}
tReturn[nCount].ItemId = tItem[j].ItemId
tReturn[nCount].ItemNum = nRandom
tItem[j].Skip = nRandom - 1
nCount = nCount + 1
TRACE( "Event.lua : GetItem() - Drop - "..tItem[j].ItemId..", "..nRandom.."?, Skip:"..tItem[j].Skip.." ???:"..(nHour-1).." ~ "..nHour )
else
tItem[j].Skip = tItem[j].Skip - 1
TRACE( "Event.lua : GetItem() - Skip - "..tItem[j].ItemId..", ?? Skip:"..tItem[j].Skip.." ???:"..(nHour-1).." ~ "..nHour )
end
end
end
end
return tReturn
end
-- ??? ??
function SetExpFactor( fExpFactor )
local nEventId = table.getn(tEvent)
tEvent[nEventId].fExpFactor = fExpFactor
end
function GetExpFactor()
local tList = GetEventList()
local fExpFactor = 20
for i in pairs(tList) do
if( tEvent[tList[i]].fExpFactor ~= nil ) then
fExpFactor = fExpFactor * tEvent[tList[i]].fExpFactor
end
end
return fExpFactor
end
-- ??? ??? ??
function SetItemDropRate( fItemDropRate )
local nEventId = table.getn(tEvent)
tEvent[nEventId].fItemDropRate = fItemDropRate
end
function GetItemDropRate()
local tList = GetEventList()
local fItemDropRate = 20
for i in pairs(tList) do
if( tEvent[tList[i]].fItemDropRate ~= nil ) then
fItemDropRate = fItemDropRate * tEvent[tList[i]].fItemDropRate
end
end
return fItemDropRate
end
-- ?? ??? ??? ??
function SetPieceItemDropRate( fPieceItemDropRate )
local nEventId = table.getn(tEvent)
tEvent[nEventId].fPieceItemDropRate = fPieceItemDropRate
end
function GetPieceItemDropRate()
local tList = GetEventList()
local fPieceItemDropRate = 20
for i in pairs(tList) do
if( tEvent[tList[i]].fPieceItemDropRate ~= nil ) then
fPieceItemDropRate = fPieceItemDropRate * tEvent[tList[i]].fPieceItemDropRate
end
end
return fPieceItemDropRate
end
-- ?? ?? ??
function SetGoldDropFactor( fGoldDropFactor )
local nEventId = table.getn(tEvent)
tEvent[nEventId].fGoldDropFactor = fGoldDropFactor
end
function GetGoldDropFactor()
local tList = GetEventList()
local fGoldDropFactor = 100
for i in pairs(tList) do
if( tEvent[tList[i]].fGoldDropFactor ~= nil ) then
fGoldDropFactor = fGoldDropFactor * tEvent[tList[i]].fGoldDropFactor
end
end
return fGoldDropFactor
end
-- ??? ??
function SetAttackPower( nAttackPower )
local nEventId = table.getn(tEvent)
tEvent[nEventId].nAttackPower = nAttackPower
end
function GetAttackPower()
local tList = GetEventList()
local nAttackPower = 0
for i in pairs(tList) do
if( tEvent[tList[i]].nAttackPower ~= nil ) then
nAttackPower = nAttackPower + tEvent[tList[i]].nAttackPower
end
end
return nAttackPower
end
-- ??? ??
function SetDefensePower( nDefensePower )
local nEventId = table.getn(tEvent)
tEvent[nEventId].nDefensePower = nDefensePower
end
function GetDefensePower()
local tList = GetEventList()
local nDefensePower = 0
for i in pairs(tList) do
if( tEvent[tList[i]].nDefensePower ~= nil ) then
nDefensePower = nDefensePower + tEvent[tList[i]].nDefensePower
end
end
return nDefensePower
end
-- ?? ???
function SetCouponEvent( nTime )
local nEventId = table.getn(tEvent)
tEvent[nEventId].nCouponEvent = nTime
end
function GetCouponEvent()
local tList = GetEventList()
for i in pairs(tList) do
if( tEvent[tList[i]].nCouponEvent ~= 0 ) then
return tEvent[tList[i]].nCouponEvent
end
end
return 0
end
function SetLevelUpGift( nLevel, strAccount, strItemId, nItemNum, byFlag )
local nEventId = table.getn(tEvent)
local nSize = table.getn(tEvent[nEventId].Gift)
tEvent[nEventId].Gift[nSize+1] = {}
tEvent[nEventId].Gift[nSize+1].nLevel = nLevel
tEvent[nEventId].Gift[nSize+1].strAccount = strAccount
tEvent[nEventId].Gift[nSize+1].strItemId = strItemId
tEvent[nEventId].Gift[nSize+1].nItemNum = nItemNum
tEvent[nEventId].Gift[nSize+1].byFlag = byFlag
end
function GetLevelUpGift( nLevel, strAccount )
local nCount = 1
local tGiftList = {}
local tList = GetEventList()
for i in pairs(tList) do
local tGift = tEvent[tList[i]].Gift
for j in pairs(tGift) do
local nTemp = string.find( strAccount, tGift[j].strAccount )
if( (tGift[j].strAccount == "all") or (nTemp ~= nil) ) then
if( tGift[j].nLevel == nLevel ) then
tGiftList[nCount] = {}
tGiftList[nCount].strItemId = tGift[j].strItemId
tGiftList[nCount].nItemNum = tGift[j].nItemNum
tGiftList[nCount].byFlag = tGift[j].byFlag
nCount = nCount + 1
end
end
end
end
return tGiftList
end
function SetCheerExpFactor( fCheerExpFactor )
local nEventId = table.getn(tEvent)
tEvent[nEventId].fCheerExpFactor = fCheerExpFactor
end
function GetCheerExpFactor()
local tList = GetEventList()
local fCheerExpFactor = 1
for i in pairs(tList) do
if( tEvent[tList[i]].fCheerExpFactor ~= nil ) then
fCheerExpFactor = fCheerExpFactor * tEvent[tList[i]].fCheerExpFactor
end
end
return fCheerExpFactor
end
PS. Viel Glück Sedrika bei Mathe :>
|
|
|
03/06/2010, 22:02
|
#1004
|
elite*gold: 0
Join Date: Apr 2009
Posts: 316
Received Thanks: 32
|
Versuch es mal mit dieser
tEvent = {} -- À̺¥Æ® ÀúÀå Å×À̺í
tNotice = {} -- Á¡°Ë ÀÚµ¿ °øÁö
bNotice = false
function SEC( n )
return n*1000
end
function MIN( n )
return n*SEC(60)
end
-----------------------------------------------------------------------------------
function Notice( strTime, nInterval, nNoticeCount )
tNotice.strTime = strTime
tNotice.nInterval = nInterval
tNotice.nNoticeCount = nNoticeCount
tNotice.tMessage = {}
end
function AddMessage( strMessage )
local nSize = table.getn( tNotice.tMessage ) + 1
tNotice.tMessage[nSize] = strMessage
end
function IsNoticeTime()
if( (bNotice == true) and (tNotice.nNoticeCount > 0) and (tNotice.strTime == os.date("%a %H:%M")) ) then
tNotice.nNoticeCount = tNotice.nNoticeCount - 1
SetNextNoticeTime()
return true
end
return false
end
function SetNextNoticeTime()
local nMin = tonumber( os.date( "%M" ) )
local nHour = tonumber( os.date( "%H" ) )
local strTemp;
tNotice.strTime = os.date( "%a " )
nMin = nMin + tNotice.nInterval;
if( nMin > 59 ) then
nMin = 60 - nMin
nHour = nHour + 1
end
-- ½Ã
strTemp = tostring( nHour )..":"
if( nHour < 10 ) then strTemp = "0"..strTemp end
tNotice.strTime = tNotice.strTime .. strTemp
-- ºÐ
strTemp = tostring( nMin )
if( nMin < 10 ) then strTemp = "0"..strTemp end
tNotice.strTime = tNotice.strTime .. strTemp
end
function GetNoticeMessage()
return tNotice.tMessage
end
-----------------------------------------------------------------------------------
------- C¿¡¼* È£ÃâÇÒ ·ç¾Æ ÇÔ¼ö ----------------------------------------------------
-----------------------------------------------------------------------------------
-- º¯°æµÈ À̺¥Æ® ¸®½ºÆ® (DBSERVER)
function GetEventState()
local tReturn = {}
local nCount = 1
for i in pairs(tEvent) do
local OldState = tEvent[i].State
for j in pairs(tEvent[i].Time) do
if( tEvent[i].Time[j].nStart <= tonumber(os.date("%Y%m%d%H%M")) ) then
if( tEvent[i].Time[j].nEnd > tonumber(os.date("%Y%m%d%H%M")) ) then
if( tEvent[i].State == 0 ) then
tEvent[i].State = 1
end
else
if( tEvent[i].State == 1 ) then
tEvent[i].State = 0
end
end
end
end
if( OldState ~= tEvent[i].State ) then
tReturn[nCount] = {}
tReturn[nCount].nId = i
tReturn[nCount].State = tEvent[i].State
nCount = nCount + 1
end
end
return tReturn
end
-- WORLDSERVER¿¡¼* ½ÇÇàµÈ ½ºÅ©¸³Æ® ÆÄÀÏ¿¡µµ º¯°æµÈ state¸¦ Àû¿ëÇϱâ À§ÇÑ ÇÔ¼ö
function SetState( nId, nState )
if( tEvent[nId] == nil ) then
TRACE( string.format( "Have Not Event - ID:%d", nId ) )
ERROR( string.format( "Have Not Event - ID:%d", nId ) )
return false;
end
tEvent[nId].State = nState
TRACE( string.format( "Event - ID:%d, Title:%s, State:%d", nId, tEvent[nId].Desc, tEvent[nId].State ) )
ERROR( string.format( "Event - ID:%d, Title:%s, State:%d", nId, tEvent[nId].Desc, tEvent[nId].State ) )
return true;
end
-- ÁøÇàÁßÀÎ À̺¥Æ® ¸®½ºÆ®
function GetEventList()
local tList = {}
local nCount = 1
for i in pairs(tEvent) do
if( tEvent[i].State == 1 ) then
tList[nCount] = i
nCount = nCount + 1
end
end
return tList
end
-- À̺¥Æ® Å×ÀÌºí¿¡ ÀÖ´Â ¸ðµç ¸®½ºÆ®
function GetAllEventList()
local tAllList = {}
local nCount = 1
for i in pairs(tEvent) do
tAllList[nCount] = {}
tAllList[nCount].nId = i
tAllList[nCount].strTitle = tEvent[i].Desc
tAllList[nCount].nState = tEvent[i].State
nCount = nCount + 1
end
return tAllList
end
-- À̺¥Æ® »ó¼¼ Á¤º¸ Å×À̺íÀ» ¸®ÅÏ
function GetEventInfo( nId )
local tEventInfo = {}
if( tEvent[nId] == nil ) then
tEventInfo[1] = "No EventInfo ID = "..nId
return tEventInfo
end
local nCount = 3
tEventInfo[1] = "Title = " .. tEvent[nId].Desc
tEventInfo[2] = "State = " .. tEvent[nId].State
for i in pairs(tEvent[nId].Time) do
local strTime = tEvent[nId].Time[i].nStart .. ", " ..tEvent[nId].Time[i].nEnd
tEventInfo[nCount] = "Time["..i.."] = " .. strTime
nCount = nCount + 1
end
for i in pairs(tEvent[nId].Item) do
local strItem = tEvent[nId].Item[i].ItemId ..", ".. tEvent[nId].Item[i].ItemMaxNum ..", ".. tEvent[nId].Item[i].ItemNum ..", ".. tEvent[nId].Item[i].nLevel
tEventInfo[nCount] = "Item["..i.."] = " .. strItem
nCount = nCount + 1
end
if( tEvent[nId].fExpFactor ~= 1 ) then
tEventInfo[nCount] = "ExpFactor = " .. tEvent[nId].fExpFactor
nCount = nCount + 1
end
if( tEvent[nId].fItemDropRate ~= 1 ) then
tEventInfo[nCount] = "ItemDropRate = " .. tEvent[nId].fItemDropRate
nCount = nCount + 1
end
if( tEvent[nId].fPieceItemDropRate ~= 1 ) then
tEventInfo[nCount] = "fPieceItemDropRate = " .. tEvent[nId].fPieceItemDropRate
nCount = nCount + 1
end
if( tEvent[nId].fGoldDropFactor ~= 1 ) then
tEventInfo[nCount] = "fGoldDropFactor = " .. tEvent[nId].fGoldDropFactor
nCount = nCount + 1
end
if( tEvent[nId].nAttackPower ~= 0 ) then
tEventInfo[nCount] = "nAttackPower = " .. tEvent[nId].nAttackPower
nCount = nCount + 1
end
if( tEvent[nId].nDefensePower ~= 0 ) then
tEventInfo[nCount] = "nDefensePower = " .. tEvent[nId].nDefensePower
nCount = nCount + 1
end
if( tEvent[nId].nCouponEvent ~= 0 ) then
if( tEvent[nId].nCouponEvent < MIN(1) ) then
tEventInfo[nCount] = "nCouponEventTime = " .. tEvent[nId].nCouponEvent / SEC(1) .. "Sec"
else
tEventInfo[nCount] = "nCouponEventTime = " .. tEvent[nId].nCouponEvent / MIN(1) .. "Min"
end
nCount = nCount + 1
end
for i in pairs(tEvent[nId].Gift) do
local strGift = tEvent[nId].Gift[i].nLevel ..", ".. tEvent[nId].Gift[i].strAccount ..", ".. tEvent[nId].Gift[i].strItemId ..", ".. tEvent[nId].Gift[i].nItemNum
tEventInfo[nCount] = "Gift["..i.."] = " .. strGift
nCount = nCount + 1
end
if( tEvent[nId].fCheerExpFactor ~= 1 ) then
tEventInfo[nCount] = "fCheerExpFactor = " .. tEvent[nId].fCheerExpFactor
nCount = nCount + 1
end
return tEventInfo
end
-- À̺¥Æ® ¼³¸í
function GetDesc( nId )
local strDesc = tEvent[nId].Desc
return strDesc
end
-- ½Ã°£À» ¼ýÀÚ·Î ¹Ù²ãÁÖ´Â ÇÔ¼ö
function GetTimeToNumber( strTime )
local strTemp = ""
local j = 0
for i in string.gfind( strTime, "%d+" ) do
j = j + 1
if( (j~=1) and (tonumber(i)<10) ) then
i = "0"..tonumber(i)
end
strTemp = strTemp..i
end
return tonumber( strTemp )
end
---------------------------------------------------------------------------
------ µ¥ÀÌÅÍ Ãß°¡ ÇÔ¼ö ---------------------------------------------------
---------------------------------------------------------------------------
-- »õ·Î¿î À̺¥Æ® Ãß°¡
function AddEvent( strDesc )
local nEventId = table.getn(tEvent) + 1
tEvent[nEventId] = {}
tEvent[nEventId].Item = {}
tEvent[nEventId].Time = {}
tEvent[nEventId].Desc = strDesc
tEvent[nEventId].fExpFactor = 1
tEvent[nEventId].fItemDropRate = 1
tEvent[nEventId].fPieceItemDropRate = 1
tEvent[nEventId].fGoldDropFactor = 1
tEvent[nEventId].State = 0
tEvent[nEventId].nAttackPower = 0
tEvent[nEventId].nDefensePower = 0
tEvent[nEventId].nCouponEvent = 0
tEvent[nEventId].Gift = {}
tEvent[nEventId].fCheerExpFactor = 1
end
-- ½ÃÀ۽ð£, ³¡½Ã°£
function SetTime( strStart, strEnd )
local nEventId = table.getn(tEvent)
local nSize = table.getn( tEvent[nEventId].Time ) + 1
tEvent[nEventId].Time[nSize] = {}
tEvent[nEventId].Time[nSize].nStart = GetTimeToNumber( strStart )
tEvent[nEventId].Time[nSize].nEnd = GetTimeToNumber( strEnd )
end
-- ¾ÆÀÌÅÛ
function SetItem( ItemId, nItemMaxNum, nItemNum, nLevel )
local nEventId = table.getn(tEvent)
local nSize = table.getn(tEvent[nEventId].Item)
tEvent[nEventId].Item[nSize+1] = {}
tEvent[nEventId].Item[nSize+1].ItemId = ItemId
tEvent[nEventId].Item[nSize+1].ItemMaxNum = nItemMaxNum
tEvent[nEventId].Item[nSize+1].ItemNum = nItemNum
tEvent[nEventId].Item[nSize+1].nLevel = nLevel
tEvent[nEventId].Item[nSize+1].TimeOut = 0
tEvent[nEventId].Item[nSize+1].Skip = 0
local tInterval = {}
local nTotal = 0
for i in pairs(tHour) do
nTotal = nTotal + tHour[i]
end
for i in pairs(tHour) do
tInterval[i] = 3600000 / ( nItemMaxNum * tHour[i] / nTotal )
tInterval[i] = math.floor(tInterval[i])
end
tEvent[nEventId].Item[nSize+1].tInterval = tInterval
end
-- µå·ÓµÉ ¾ÆÀÌÅÛ ¸ñ·Ï
function GetItem( nTickCount, nLevel )
local nHour = tonumber(os.date("%H")) + 1
local tList = GetEventList()
local tReturn = {}
local nCount = 1
for i in pairs(tList) do
local tItem = tEvent[tList[i]].Item
for j in pairs(tItem) do
local nRandom = math.random(0, tItem[j].ItemNum)
if( (nRandom > 0) and (nTickCount >= tItem[j].TimeOut) and (tItem[j].nLevel <= nLevel) ) then
tItem[j].TimeOut = tItem[j].tInterval[nHour] + nTickCount
if( tItem[j].Skip == 0 ) then
tReturn[nCount] = {}
tReturn[nCount].ItemId = tItem[j].ItemId
tReturn[nCount].ItemNum = nRandom
tItem[j].Skip = nRandom - 1
nCount = nCount + 1
TRACE( "Event.lua : GetItem() - Drop - "..tItem[j].ItemId..", "..nRandom.."°³, Skip:"..tItem[j].Skip.." ½Ã°£´ë:"..(nHour-1).." ~ "..nHour )
else
tItem[j].Skip = tItem[j].Skip - 1
TRACE( "Event.lua : GetItem() - Skip - "..tItem[j].ItemId..", ³²Àº Skip:"..tItem[j].Skip.." ½Ã°£´ë:"..(nHour-1).." ~ "..nHour )
end
end
end
end
return tReturn
end
-- °æÇèÄ¡ ¹è¼ö
function SetExpFactor( fExpFactor )
local nEventId = table.getn(tEvent)
tEvent[nEventId].fExpFactor = fExpFactor
end
function GetExpFactor()
local tList = GetEventList()
local fExpFactor = 1
for i in pairs(tList) do
if( tEvent[tList[i]].fExpFactor ~= nil ) then
fExpFactor = fExpFactor * tEvent[tList[i]].fExpFactor
end
end
return fExpFactor
end
-- ¾ÆÀÌÅÛ µå·Ó·ü ¹è¼ö
function SetItemDropRate( fItemDropRate )
local nEventId = table.getn(tEvent)
tEvent[nEventId].fItemDropRate = fItemDropRate
end
function GetItemDropRate()
local tList = GetEventList()
local fItemDropRate = 1
for i in pairs(tList) do
if( tEvent[tList[i]].fItemDropRate ~= nil ) then
fItemDropRate = fItemDropRate * tEvent[tList[i]].fItemDropRate
end
end
return fItemDropRate
end
-- °³º° ¾ÆÀÌÅÛ µå·Ó·ü ¹è¼ö
function SetPieceItemDropRate( fPieceItemDropRate )
local nEventId = table.getn(tEvent)
tEvent[nEventId].fPieceItemDropRate = fPieceItemDropRate
end
function GetPieceItemDropRate()
local tList = GetEventList()
local fPieceItemDropRate = 1
for i in pairs(tList) do
if( tEvent[tList[i]].fPieceItemDropRate ~= nil ) then
fPieceItemDropRate = fPieceItemDropRate * tEvent[tList[i]].fPieceItemDropRate
end
end
return fPieceItemDropRate
end
-- Æä³Ä µå·Ó ¹è¼ö
function SetGoldDropFactor( fGoldDropFactor )
local nEventId = table.getn(tEvent)
tEvent[nEventId].fGoldDropFactor = fGoldDropFactor
end
function GetGoldDropFactor()
local tList = GetEventList()
local fGoldDropFactor = 1
for i in pairs(tList) do
if( tEvent[tList[i]].fGoldDropFactor ~= nil ) then
fGoldDropFactor = fGoldDropFactor * tEvent[tList[i]].fGoldDropFactor
end
end
return fGoldDropFactor
end
-- °ø°Ý·Â Áõ°¡
function SetAttackPower( nAttackPower )
local nEventId = table.getn(tEvent)
tEvent[nEventId].nAttackPower = nAttackPower
end
function GetAttackPower()
local tList = GetEventList()
local nAttackPower = 0
for i in pairs(tList) do
if( tEvent[tList[i]].nAttackPower ~= nil ) then
nAttackPower = nAttackPower + tEvent[tList[i]].nAttackPower
end
end
return nAttackPower
end
-- ¹æ¾î·Â Áõ°¡
function SetDefensePower( nDefensePower )
local nEventId = table.getn(tEvent)
tEvent[nEventId].nDefensePower = nDefensePower
end
function GetDefensePower()
local tList = GetEventList()
local nDefensePower = 0
for i in pairs(tList) do
if( tEvent[tList[i]].nDefensePower ~= nil ) then
nDefensePower = nDefensePower + tEvent[tList[i]].nDefensePower
end
end
return nDefensePower
end
-- ÄíÆù À̺¥Æ®
function SetCouponEvent( nTime )
local nEventId = table.getn(tEvent)
tEvent[nEventId].nCouponEvent = nTime
end
function GetCouponEvent()
local tList = GetEventList()
for i in pairs(tList) do
if( tEvent[tList[i]].nCouponEvent ~= 0 ) then
return tEvent[tList[i]].nCouponEvent
end
end
return 0
end
function SetLevelUpGift( nLevel, strAccount, strItemId, nItemNum, byFlag )
local nEventId = table.getn(tEvent)
local nSize = table.getn(tEvent[nEventId].Gift)
tEvent[nEventId].Gift[nSize+1] = {}
tEvent[nEventId].Gift[nSize+1].nLevel = nLevel
tEvent[nEventId].Gift[nSize+1].strAccount = strAccount
tEvent[nEventId].Gift[nSize+1].strItemId = strItemId
tEvent[nEventId].Gift[nSize+1].nItemNum = nItemNum
tEvent[nEventId].Gift[nSize+1].byFlag = byFlag
end
function GetLevelUpGift( nLevel, strAccount )
local nCount = 1
local tGiftList = {}
local tList = GetEventList()
for i in pairs(tList) do
local tGift = tEvent[tList[i]].Gift
for j in pairs(tGift) do
local nTemp = string.find( strAccount, tGift[j].strAccount )
if( (tGift[j].strAccount == "all") or (nTemp ~= nil) ) then
if( tGift[j].nLevel == nLevel ) then
tGiftList[nCount] = {}
tGiftList[nCount].strItemId = tGift[j].strItemId
tGiftList[nCount].nItemNum = tGift[j].nItemNum
tGiftList[nCount].byFlag = tGift[j].byFlag
nCount = nCount + 1
end
end
end
end
return tGiftList
end
function SetCheerExpFactor( fCheerExpFactor )
local nEventId = table.getn(tEvent)
tEvent[nEventId].fCheerExpFactor = fCheerExpFactor
end
function GetCheerExpFactor()
local tList = GetEventList()
local fCheerExpFactor = 1
for i in pairs(tList) do
if( tEvent[tList[i]].fCheerExpFactor ~= nil ) then
fCheerExpFactor = fCheerExpFactor * tEvent[tList[i]].fCheerExpFactor
end
end
return fCheerExpFactor
end
|
|
|
03/06/2010, 22:05
|
#1005
|
elite*gold: 13
Join Date: May 2009
Posts: 1,314
Received Thanks: 1,483
|
@Piefkie kannst du mir mal dein registerscript geben ? bei dem von Sedrika kommt immer
Fatal error: Call to undefined function mssql_connect() in C:\xampp\htdocs\1\register.php on line 36
|
|
|
All times are GMT +2. The time now is 19:10.
|
|