Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* SA-MP Include Km Vehicle
- *
- * (c) by Kaliber, 2014
- *
- */
- /*
- native GetVehicleKM(vehicleid);
- native GetVehicleM(vehicleid);
- */
- #if !defined _samp_included
- #include <a_samp>
- #endif
- #if defined _samp_km
- #endinput
- #endif
- #define _samp_km
- #define GetVehicleKM(%0) km_Info[1][%0]
- #define GetVehicleM(%0) km_Info[0][%0]
- new km_Info[2][MAX_VEHICLES];
- forward KM_OnGameModeInit();
- forward KM_OnGameModeExit();
- public OnGameModeInit() return k_LoadData(),SetTimer("@km_Timer",999,1),CallLocalFunction("KM_OnGameModeInit","");
- #if defined _ALS_OnGameModeInit
- #undef OnGameModeInit
- #else
- #define _ALS_OnGameModeInit
- #endif
- #define OnGameModeInit KM_OnGameModeInit
- public OnGameModeExit() return k_SaveData(),CallLocalFunction("KM_OnGameModeExit","");
- #if defined _ALS_OnGameModeExit
- #undef OnGameModeExit
- #else
- #define _ALS_OnGameModeExit
- #endif
- #define OnGameModeExit KM_OnGameModeExit
- @km_Timer();@km_Timer() {
- for(new i,v; i<MAX_PLAYERS; i++) {
- if(!IsPlayerInAnyVehicle(i)) continue;
- v=GetPlayerVehicleID(i),km_Info[0][v] += floatround(floatdiv(float(km_GetVehicleSpeed(v)),3.6));
- if(km_Info[0][v] > 999) km_Info[0][v]=0,km_Info[1][v]++;
- }
- return 1;
- }
- stock k_LoadData() {
- if(!fexist("km_data.db")) return 0;
- new DB:db=db_open("km_data.db"),tmp[50],DBResult:result;
- for(new v; v<MAX_VEHICLES; v++) {
- format(tmp,sizeof tmp,"SELECT `km`,`m` FROM `KM_DATA` WHERE `ID` = '%d'",v);
- result = db_query(db,tmp);
- db_get_field(result,0,tmp,8),km_Info[1][v] = strval(tmp);
- db_get_field(result,1,tmp,8),km_Info[0][v] = strval(tmp);
- db_free_result(result);
- }
- return db_close(db),1;
- }
- stock k_SaveData() {
- new bool:x = (!fexist("km_data.db")) ? true : false,DB:db=db_open("km_data.db");
- if(x) {
- db_free_result(db_query(db,"CREATE TABLE IF NOT EXISTS `KM_DATA` (`ID`,`km`,`m`)"));
- for(new v,tmp[75]; v<MAX_VEHICLES; v++) {
- format(tmp,sizeof tmp,"INSERT INTO `KM_DATA` (`ID`,`km`,`m`) VALUES ('%d','%d','%d')",v,km_Info[1][v],km_Info[0][v]);
- db_query(db,tmp);
- }
- } else {
- for(new v,tmp[75]; v<MAX_VEHICLES; v++) {
- format(tmp,sizeof tmp,"UPDATE `KM_DATA` SET `km`='%d',`m`='%d' WHERE `ID` = '%d'",km_Info[1][v],km_Info[0][v],v);
- db_query(db,tmp);
- }
- }
- return db_close(db),1;
- }
- stock km_GetVehicleSpeed(vehicleid) {
- new Float:Q[3];
- return GetVehicleVelocity(vehicleid,Q[0],Q[1],Q[2]),floatround(floatmul(VectorSize(Q[0], Q[1], Q[2]), 170.0));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement