/* PAWN battle: Renas vs Bičas. Darbo tipas: Rekordo sistema. Saugojimas/Krovimas: mySQL r5. Renas(c)2014 */ // .inc #include #include // Konstantos #define Online(%0) IsPlayerConnected(%0) // Enum'ai enum _rekordoInformacija{ serverioRekordas, serverioRekordasPasiektas[32], padejoPasiektiRekorda[MAX_PLAYER_NAME+1] }; new rekordoInfo_[_rekordoInformacija]; public OnPlayerConnect(playerid) { new getString[50],str[256]; mysql_query("SELECT Rekordas FROM rekordas"); mysql_store_result(); mysql_retrieve_row(); mysql_fetch_field_row(getString,"Rekordas"); rekordoInfo_[serverioRekordas]=strval(getString); if(OnlinePlayers()>rekordoInfo_[serverioRekordas]){ format(rekordoInfo_[serverioRekordasPasiektas],32,"%s",GautiData()); format(rekordoInfo_[padejoPasiektiRekorda],MAX_PLAYER_NAME+1,"%s",pName(playerid)); rekordoInfo_[serverioRekordas]=OnlinePlayers(); updateRecord(rekordoInfo_[serverioRekordas],rekordoInfo_[serverioRekordasPasiektas],rekordoInfo_[padejoPasiektiRekorda]); SendClientMessageToAll(-1,"~*~ Pasiektas naujas serverio rekordas ~*~"); format(str,128,"~*~ Pasiektas žaidėjų rekordas: %i žaidėjai ~*~",rekordoInfo_[serverioRekordas]); SendClientMessageToAll(-1,str); format(str,128,"~*~ Rekordas pasiektas: %s ~*~",rekordoInfo_[serverioRekordasPasiektas]); SendClientMessageToAll(-1,str); format(str,128,"~*~ Žaidėjas, padėjęs pasiekti rekordą: %s ~*~",rekordoInfo_[padejoPasiektiRekorda]); SendClientMessageToAll(-1,str); SendClientMessageToAll(-1,"~*~ Visi gaunate po 500lt ir 150xp!"); for(new _i=0;_i!=MAX_PLAYERS;_i++) {if(Online(_i)){GivePlayerMoney(_i,500); SetPlayerScore(_i,GetPlayerScore(_i)+150);}} } mysql_free_result(); return 1; } // FUNKCIJOS REIKALINGOS SKRIPTUI. stock updateRecord(rekordas,data[],kaspadejo[]) { new sendQuery[128] ; format(sendQuery,128,"UPDATE `rekordas` SET Rekordas = '%i', RekordasPasiektas = '%s', PadejoRekordaPasiekti = '%s'",rekordas,data,kaspadejo); mysql_query(sendQuery); printf("[updateRecord(rekordas,data[],kaspadejo[])]: Rekordas: %i, RekordasPasiektas: %s, PadejoRekordaPasiekti: %s",rekordas,data,kaspadejo); } stock GautiData() // by Ance_Zas { new stringas[ 31 ], data[ 6 ] ; getdate( data[ 0 ], data[ 1 ], data[ 2 ] ); gettime( data[ 3 ], data[ 4 ], data[ 5 ] ); format( stringas, 31, "%d-%02d-%02d %02d:%02d", data[ 0 ], data[ 1 ], data[ 2 ], data[ 3 ], data[ 4 ] ); return stringas; } stock OnlinePlayers() { new x=0; for(new i=0;i!=MAX_PLAYERS;i++) { if(Online(i)) { x++; } } return x; }