Peršokti į turinį

Vip praradimas.


Recommended Posts

if(playerDB[p][vip])
{
if(playerDB[p][VipLaikas] < gettime())
{
SendClientMessage(p, GREEN, "• Praradai VIP narystę nes tavo VIP galiojimo laikas pasibaigęs!");
playerDB[p][vip] = 0;
     playerDB[p][VipLaikas] = 0;
}
}

Kiekviena kartą tikrinant nuima vipą.... Nu ir neparišu kodėl jį nuima.

Nuoroda į komentarą
Dalintis per kitą puslapį

Ką tu tikrini? Paaiškink. Tai gi viskas parašyta, laikas baigėsi..

 

Gali būt, kad blogai nusistato vip laiką ir jį nuiima.

 

Na tikrina viskas ok, bet nesuprantu, duomenų bazėj laiką rašo normaliai, o tik prisijungus nuima vipą.

Nuoroda į komentarą
Dalintis per kitą puslapį

Pabandyk pažiūrėti, gal ne taip laikas nustatytas, pvž ne dienom o minutėm..

CMD:skirtivip(playerid, params[])
{
if(playerDB[playerid][admin] != 4) return SendClientMessage(playerid, RED, "• Tokios komandos nėra. Visos komandos: /pagalba");
new id, vips, post[40], msg[160];
if(sscanf(params, "ud", id, vips)) return SendClientMessage(playerid, BLUE, "• Skirti V.I.P.: /skirtivip [Vardas_Pavardė/ID] [Lygis]");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,RED,"• Tokio žaidėjo nėra.");
switch(vips)
{
   case 0:
   {
SendClientMessage(playerid, BLUE, "• Pašalinote žaidėją iš V.I.P. pareigų.");
SendClientMessage(id, BLUE, "• Savininkas pašalino jus iš V.I.P. pareigų.");
playerDB[id][vip]=0;
playerDB[id][VipLaikas] = 0;
SavePlayerData(id);
return 1;
}


case 1: format(post, sizeof(post), "1 LVL"); 
case 2: format(post, sizeof(post), "2 LVL");
default: format(post, sizeof(post), "NĖRA");
}
playerDB[id][vip] = vips;
playerDB[id][vispejimai] = 0;
playerDB[id][VipLaikas] += 2592000;
format(msg, sizeof(msg),"• Sveikiname, jūs paskirtas %s V.I.P.", post);
SendClientMessage(id,GREEN, msg);
SavePlayerData(id);
format(msg, sizeof(msg), "• Paskyrėte %s naujuoju %s V.I.P..", GetPlayerNameEx(id), post);
SendClientMessage(playerid,BLUE,msg);
return 1;
}

Na laiką sukuriu milisekundėm.

Nuoroda į komentarą
Dalintis per kitą puslapį

Same shit, perkant tas pats...

Admin komandai veikia puikiai, čia ne...

Bet taip taisiklingai padaryta, nes pagal tave tai prie seno laiko pridedi laiką, nors tas laikas jau seniai gali būti parėjęs.

Bėda jeigu atsitinka tik prisijungiant tai gali būt bėda užkrovime.

  • Teigiamai 1
Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)
    mysql_fetch_field_row(lQuery, "VipLaikas"); playerDB[playerid][VipLaikas] = strval(lQuery);
format(zQuery, sizeof(zQuery), "UPDATE `players` SET `VipLaikas` = '%d' WHERE `Vardas` = '%s'", playerDB[playerid][VipLaikas], GetPlayerNameEx(playerid));
mysql_query(zQuery);

Atrodo man jog viskas ok.

Prarandu ir užsidėjas jau serveryje kai tikrina

Redaguota , nario John"Cool
Nuoroda į komentarą
Dalintis per kitą puslapį

 

    mysql_fetch_field_row(lQuery, "VipLaikas"); playerDB[playerid][VipLaikas] = strval(lQuery);
format(zQuery, sizeof(zQuery), "UPDATE `players` SET `VipLaikas` = '%d' WHERE `Vardas` = '%s'", playerDB[playerid][VipLaikas], GetPlayerNameEx(playerid));
mysql_query(zQuery);

Atrodo man jog viskas ok.

Prarandu ir užsidėjas jau serveryje kai tikrina

 

Tai kintamasis "VipLaikas" yra mažesnis už dabartinį laiką, nebent kažkur per klaidą yra įdėtas kitas tikrinimas kuris atlieka atvirkštinę funkciją. Nes kitur klaidos neturėtų būt.

 

Galima įdėti į vip nuėmimo funkciją komandą:

 

printf("Žaidėjo vip laikas: %i , pagrindinis laikas: %i",playerDB[p][VipLaikas], gettime());

Kuri serverio loguose arba monitoriuje išspauzdinti ir sulyginti skaičius.

Redaguota , nario MisterisR
  • Teigiamai 1
Nuoroda į komentarą
Dalintis per kitą puslapį

Tai kintamasis "VipLaikas" yra mažesnis už dabartinį laiką, nebent kažkur per klaidą yra įdėtas kitas tikrinimas kuris atlieka atvirkštinę funkciją. Nes kitur klaidos neturėtų būt.

 

Galima įdėti į vip nuėmimo funkciją komandą:

 

printf("Žaidėjo vip laikas: %i , pagrindinis laikas: %i",playerDB[p][VipLaikas], gettime());

Kuri serverio loguose arba monitoriuje išspauzdinti ir sulyginti skaičius.

Dėkui, susitvarkiau ;)

Nuoroda į komentarą
Dalintis per kitą puslapį

Svečias
Ši tema yra užrakinta.
  • Å iame puslapyje narÅ¡o:   0 nariai

    Nėra registruotų narių peržiūrinčių šį forumą.


×
×
  • Sukurti naują...