Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Main thread and database: http://forum.sa-mp.com/showthread.php?t=583034
- #include <a_samp>
- #define ScriptVersion 1
- #define ScriptName "Weapon Save System"
- #define ScriptAuthor "kaZax"
- #define DataBaseName "PlayerWeapons.db"
- new DB:db_Main;
- new WeaponData[MAX_PLAYERS][13][2];
- public OnFilterScriptInit()
- {
- db_Main = db_open(DataBaseName);
- db_query (db_Main, "PRAGMA synchronous=OFF; PRAGMA journal_mode=OFF;");
- printf(" Filterscript %s loaded. Version %d. Author: %s", ScriptName, ScriptVersion, ScriptAuthor);
- return 1;
- }
- public OnFilterScriptExit()
- {
- db_close(db_Main);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new k_PName[24];
- GetPlayerName(playerid, k_PName, 24);
- new query[80], DBResult:db_result, tmp[48], w_idx, a_idx;
- format(query, sizeof query, "SELECT * FROM `Weapon_Data` WHERE `Player`='%s'", k_PName);
- db_result = db_query(db_Main, query);
- if(db_num_rows(db_result))
- {
- for (new x = 0; x < 26; x ++)
- {
- db_get_field(db_result, x + 2, tmp, sizeof tmp);
- WeaponData[playerid][w_idx][a_idx] = strval(tmp);
- w_idx ++;
- if (x > 11 && a_idx == 0) w_idx = 0, a_idx = 1;
- }
- SetPVarInt(playerid, "FirstSpawn", 1);
- }
- else
- {
- format(query, sizeof(query), "INSERT INTO `Weapon_Data` (`Player`) VALUES ('%q')", k_PName);
- db_free_result(db_query(db_Main, query));
- }
- db_free_result(db_result);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if (GetPVarInt(playerid, "FirstSpawn"))
- {
- for (new x = 0; x <= 12; x ++)
- {
- GivePlayerWeapon(playerid, WeaponData[playerid][x][0], WeaponData[playerid][x][1]);
- WeaponData[playerid][x][0] = 0;
- WeaponData[playerid][x][1] = 0;
- }
- DeletePVar(playerid, "FirstSpawn");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new weapons[13][2], query[384], k_PName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, k_PName, MAX_PLAYER_NAME);
- for (new i = 0; i <= 12; i++)
- {
- GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);
- }
- format(query, sizeof query, "UPDATE `Weapon_Data` SET `Field3` = '%d', `Field4` = '%d', `Field5` = '%d', `Field6` = '%d', `Field7` = '%d', `Field8` = '%d', `Field9` = '%d', `Field10` = '%d' WHERE `Player` = '%q'",
- weapons[0][0], weapons[1][0], weapons[2][0], weapons[3][0], weapons[4][0], weapons[5][0], weapons[6][0], weapons[7][0], k_PName);
- db_free_result(db_query(db_Main, query));
- format(query, sizeof query, "UPDATE `Weapon_Data` SET `Field11` = '%d', `Field12` = '%d', `Field13` = '%d', `Field14` = '%d', `Field15` = '%d', `Field16` = '%d', `Field17` = '%d', `Field18` = '%d' WHERE `Player` = '%q'",
- weapons[8][0], weapons[9][0], weapons[10][0], weapons[11][0], weapons[12][0], weapons[0][1], weapons[1][1], weapons[2][1], k_PName);
- db_free_result(db_query(db_Main, query));
- format(query, sizeof query, "UPDATE `Weapon_Data` SET `Field19` = '%d', `Field20` = '%d', `Field21` = '%d', `Field22` = '%d', `Field23` = '%d', `Field24` = '%d', `Field25` = '%d', `Field26` = '%d', `Field27` = '%d', `Field28` = '%d' WHERE `Player` = '%q'",
- weapons[3][1], weapons[4][1], weapons[5][1], weapons[6][1], weapons[7][1], weapons[8][1], weapons[9][1], weapons[10][1], weapons[11][1], weapons[12][1], k_PName);
- db_free_result(db_query(db_Main, query));
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement