Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- 2014-06-11 - Bičas productions, rekordo sistema, skirta kovai prieš Reną :D
- */
- #include <a_samp>
- #include <a_mysql>
- #define CALLBACK::%0(%1) forward %0(%1); public %0(%1)
- #define MYSQL::%0(%1) %0(%1)
- #define FUNCTION::%0(%1) %0(%1)
- #define RekordoXP 100
- #define RekordoLT 1000
- #define DuodamXP(%0, %1) SetPlayerScore(%0, GetPlayerScore(%0) + %1)
- enum srvINFO
- {
- Rekordas,
- RekordoData[32]
- }
- new srvInfo[srvINFO];
- #define sInfo::%0() srvInfo[%0]
- CALLBACK::OnPlayerConnect(playerid)
- {
- new
- masyvas[200]
- ;
- MYSQL::LOADRECORD();
- if(GetOnlinePlayers() > sInfo::Rekordas())
- {
- MYSQL::SAVERECORD();
- format(masyvas, sizeof(masyvas), "[ Rekordas ] Pasiektas naujas serverio rekordas! %d žaidėjai, senas %d", sInfo::Rekordas(), sInfo::Rekordas() - 1);
- SendClientMessageToAll(-1, masyvas);
- format(masyvas, sizeof(masyvas), "[ Rekordas ] Pasiekto rekordo proga visi gavo %dXP ir %dLT!!!", RekordoXP, RekordoLT);
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- GivePlayerMoney(i, RekordoLT);
- DuodamXP(i, RekordoXP);
- SendClientMessage(i, -1, masyvas);
- }
- }
- }
- if(GetOnlinePlayers() <= sInfo::Rekordas())
- {
- format(masyvas, sizeof(masyvas), "[ Rekordas ] Serverio rekordas yra %d, pasiekstas %s", sInfo::Rekordas(), sInfo::RekordoData());
- SendClientMessage(playerid, -1, masyvas);
- }
- return true;
- }
- FUNCTION::GetOnlinePlayers ( ) // by Renas // Bičas correction
- {
- new pOnline;
- for ( new i = 0; i < MAX_PLAYERS; i ++ )
- {
- if(IsPlayerConnected( i ) ) pOnline++;
- }
- return pOnline;
- }
- FUNCTION::getDate() // 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;
- }
- MYSQL::SAVERECORD()
- {
- new
- query[128]
- ;
- sInfo::Rekordas() = FUNCTION::GetOnlinePlayers();
- sInfo::RekordoData() = FUNCTION::getDate();
- format(query, sizeof(query), "UPDATE `srvinfo` SET Rekordas = '%i', RekordoData = '%s'",
- sInfo::Rekordas(), sInfo::RekordoData());
- mysql_query(query);
- }
- MYSQL::LOADRECORD()
- {
- new
- query[128],
- fetch[24]
- ;
- format(query, sizeof(query), "SELECT * FROM `srvinfo`");
- mysql_query(query);
- mysql_store_result();
- mysql_retrieve_row();
- mysql_fetch_field_row(fetch, "Rekordas"); sInfo::Rekordas();
- mysql_fetch_field_row(sInfo::RekordoData(), "RekordoData");
- mysql_free_result();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement