Page 2 of 3

Re: Sesija

Posted: 2013 May 28 21:28
by alfre
Kai pasikrauna žemėlapis, tai kažkokį laiko tarpą palauki ir jei jis neprisijungę, tai užskaitai atjungimą ? Logiškiausia manau būtų.
kai mapas keiciasi,vistiek vygdoma client_putinserver.reikia issaugot vistiek.

Re: Sesija

Posted: 2013 May 28 21:30
by hleV
Tai kad besikeičiant map'ui visiems žaidėjams iššaukiamas client_disconnect. Kas čia tokio, jei į MySQL išsaugos žaidėjo atsijungimo laiką kai keičiasi map'as? Gi jei žaidėjas dar serveryje, tai kai jis atsijungs iš tikrųjų, jo atsijungimo laikas atsinaujins ir MySQL'e.

Re: Sesija

Posted: 2013 May 28 22:35
by alfre
hleV wrote:Tai kad besikeičiant map'ui visiems žaidėjams iššaukiamas client_disconnect. Kas čia tokio, jei į MySQL išsaugos žaidėjo atsijungimo laiką kai keičiasi map'as? Gi jei žaidėjas dar serveryje, tai kai jis atsijungs iš tikrųjų, jo atsijungimo laikas atsinaujins ir MySQL'e.
pas mane taip veikia :
kai prisijungia zaidejas,sukuriama jam nauja lentele/row ar kaip ten pasakius.o kai clientas disconnectina,lentele updatinama.Kai prisijungia,vel sukuriama nauja lentele/row ir t.t.

Re: Sesija

Posted: 2013 May 29 12:41
by newb
Nu galima per prisijungima patikrinti, kada buvo atsijungimas ir jei jis buvo <5min, tai nekurt naujo iraso.

Re: Sesija

Posted: 2013 May 29 13:24
by alfre
Galima,bet ar apsimoketu taip daryt?

Re: Sesija

Posted: 2013 May 29 15:49
by newb
Jeigu issaugoti laika taip, kad ji butu lengvai su pawn nuskaityti, tai apsimoka.

Re: Sesija

Posted: 2013 May 29 16:18
by alfre
gal kodo pavyzdy galetum?

-- 2013 Geg 29 21:40 --

?

Re: Sesija

Posted: 2013 May 30 09:40
by newb
Issaugai data DATETIME formatu ir vykdai tokia uzklausa

Code: Select all

SELECT id FROM users WHERE DATE_SUB(NOW(),INTERVAL 5 MINUTE) <= disconnect_date AND name = "name" LIMIT 1;
Jei toks irasas yra, tai nekuri naujo.
Aisku, laikas ant serverio kur stovi db turi buti teisingas.

Re: Sesija

Posted: 2013 May 30 11:31
by alfre

Code: Select all

public client_disconnect(client){    new ip[16], query[256], data[1];    get_user_ip(client, ip, charsmax(ip), 1);    session[client] = 0;    data[0] = client;    get_user_authid(client,iddd,31)    formatex(query, charsmax(query), "SELECT * FROM %s WHERE STEAMID = '%s'", TABLE, iddd[client]);    SQL_ThreadQuery(Tuple, "OnCheckInfoo", query, data, sizeof data);    remove_task(client);}
kodel neupdatina disconectinus?
Query failed. [1065] Query was empty
Image

Re: Sesija

Posted: 2013 May 30 12:05
by newb
Nes cia blogas kodas apskritai, jau net nekalbant, kad tu selectini, o nori updaitint...