Account clean

Indította Prezi, 2011 január 19, 09:36:58 DÉLELŐTT

Előző téma - Következő téma

Prezi

Sziasztok!

Egy kis segítségre lenne szükségem, mégpedig:

Egy olyan funkciórol van szó, hogy az újonnal készített accountok kapnak egy "egyedi rangot". Ez kész minden parancsokkal stb ezzel nincs gond

De ez a egyedi rang csak 3 óráig tartana.

Hogy ellenőriztessem hogy a 3 óránál "öregebb" accountoknál töröljre az account_acces adatokat
ezt ellenőrize pl 10 percenként.

Az ellenőrzést 10 percenként megtudom csinállni, de hogy a 3 óránál öregebb accountokra nincs ötletem.

Köszönöm előre is a helpet


Talán valami beugortt:

A create timot UnixTimestamp -ba tárolnám
ugye Unixidőben 3 óra az : 10800

Ha le ellenörizném, hogy a mostani idő nagyobb-e már mint a crete_time +10800

Xvid

#1
v

Trophy

Nem tudom jól értelmeztem-e de te olyasmit akarsz, h minden új accountnak növeled az accountszintjét aztán 3 óra elteltével visszaveszed.
Eddig szép és jó, de mi értelme annak hogy 3 óráig tart? Na mindegy.
Javasolnám, hogy inkább a weboldaladba vagy accmanagerbe építs be egy scriptet ami ezt megteszi.
Megjegyzem hamarabb találsz webprogramozót, aki ezt megcsinálja, mint C++ programozót.
Lehet hogy ez nem a legszebb/legjobb módszer, de nincs +script, ami esetleg laggoltathatja, vagy instabillá tehetei az emudat.
Ez persze csak javaslat, szóval tedd amit jónak látsz.

Raisen

Szerintem 3 órának annyi értelme van akik most mennek a szeróra 3 órán át olyan mint ha vipek lennének és ha tetszik nekik utána fizetnek vipet :D


▀█▀ █▀▀▄ █▀▀ █▀▀█ ▒█▀▀█ █▀▀█ █▀▀█ █░█ █▀▀█ █▀▀ █▀▀ ░ █░░█ █░░█
▒█░ █░░█ █▀▀ █░░█ ▒█▀▀▄ █▄▄█ █▄▄▀ █▀▄ █▄▄█ █░░ ▀▀█ ▄ █▀▀█ █░░█
▄█▄ ▀░░▀ ▀░░ ▀▀▀▀ ▒█▄▄█ ▀░░▀ ▀░▀▀ ▀░▀ ▀░░▀ ▀▀▀ ▀▀▀ █ ▀░░▀ ░▀▀▀

Girosz

Valami ilyesmi kéne:

class rank_checker : public PlayerScript
{
    public:
        rank_checker() : PlayerScript("rank_checker") {}

void OnLogin(Player *pPlayer)
{
uint32 timestamp = 0;
// Lekérdezed a létrehozási időt
result = LoginDatabase.PQuery("SELECT `create_time` FROM `account` WHERE `id` = %u", pPlayer->GetSession()->GetAccountId());
if (result)
{
Field *fields = result->Fetch();
timestamp = fields[0].GetUInt32();
// Ha a létrehozási idő kissebb, mint a mostani időből 3 óra, akkor...
if (timestamp < time(NULL)-16800){
// Elveszed tőle a jogot
                LoginDatabase.PExecute("UPDATE `account` SET `customrank` = 0 WHERE `id` = %u;", pPlayer->GetSession()->GetAccountId());
}
}
}
};

void AddSC_rank_checker()
{
    new rank_checker();
}

Powered by EzPortal