• logo_cipsoft
    Nowe serwery zostały otwarte 19 Lut 2025:
    Noctalia (Open PvP) Ignitera (Open PvP) us_logo Xybra (Open PvP)

Globalevents "cykliczne czyszczenie bazy danych", aktualna wersja publiczna!

Status
Zamknięty.

Ankledork

Active User
Dołączył
Luty 2, 2011
Posty
128
Liczba reakcji
12
"cykliczne czyszczenie bazy danych"
aktualna wersja publiczna


Skrypt ma na zadanie sprz?ta? brudy w bazie danych, czyli nieaktualne postacie (mniejszy poziom ni? 100, i ostatnie zalogowanie po 30 dniach), puste konta (czyli bez postaci), puste domy (czyli, z?e przypisanie, dom nale?y do postaci, kt?rej nie ma w bazie danych). Wszystko robi si? automatycznie (cyklicznie), czyli domy?lnie przy w??czeniu serwera. Wszystko napisane wy??cznie przeze mnie - autor Ankledork.​

PHP:
<?xml version="1.0" encoding="UTF-8"?>
<mod name="cykliczne czyszczenie bazy danych!" version="#PUBLIC-VERSION#" author="Ankledork" contact="ankledork@gmail.com" enabled="yes">
	
	<globalevent name="globalevent.cleanup.start" type="start" event="script">
	<![CDATA[
	
		globalevent = { cleanup = {}, logs = {}, comments = {} }
		globalevent.cleanup.queries = {
			"DELETE FROM `players` WHERE `level` < 100 AND `id` > 6 AND `group_id` = 1 AND `lastlogin` < ".. (os.time() - 30 * 24 * 60 * 60) ..";",
			"DELETE FROM `accounts` WHERE `id` NOT IN (SELECT `account_id` FROM `players`);",
			"UPDATE `houses` SET `owner` = 0 WHERE `owner` > 0 AND `owner` NOT IN (SELECT `id` FROM `players`);"
		}
	
		function onStartup()
			for i = 0, #globalevent.cleanup.queries do
				db.executeQuery(globalevent.cleanup.queries[i])
			end	return true
		end
	]]>
	</globalevent>
	
</mod>

Dzi?kuje, wasz Ankledork.
 
Odp: "cykliczne czyszczenie bazy danych", aktualna wersja publiczna!

@Up
Jaki znowu b??d? To nazwa skryptu, a ni pliku. Pomy?l troch?.
 
Odp: "cykliczne czyszczenie bazy danych", aktualna wersja publiczna!

Jemu chyba chodzi?o o nazw? tego skryptu: glovalevent.cleanup.start

Nie wiem jak masz nazwane te skrypty, ale chyba powinno by? global zamiast gloval.

A skrypt na pewno si? przyda. Gdybym dalej bawi? si? otsami to bym z niego skorzysta?.
 
Odp: "cykliczne czyszczenie bazy danych", aktualna wersja publiczna!

HTML:
        globalevent = { cleanup = {}, logs = {}, comments = {} }
Je?li dam w logs = {1} to b?dzie mi zapisywa?o logi?
Bo bym wola? wiedzie?, kto/co i kiedy zosta?o usuni?te.
 
Odp: "cykliczne czyszczenie bazy danych", aktualna wersja publiczna!

Wyskakuje mi blad.
[09/05/2011 15:11:34] [Error - GlobalEvent Interface]
[09/05/2011 15:11:34] buffer:onStartup
[09/05/2011 15:11:34] Description:
[09/05/2011 15:11:34] [string "loadBuffer"]:11: attempt to call field 'executemojabazadanych' (a nil value)
[09/05/2011 15:11:34] stack traceback:
[09/05/2011 15:11:34] [string "loadBuffer"]:11: in function <[string "loadBuffer"]:9>
Jak to naprawic??
 
Status
Zamknięty.
Do góry