Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Alap jármű rendszer
- - Készítette GameStar 2011
- MySQL tábla:
- CREATE TABLE IF NOT EXISTS `vehicles` (
- `id` SMALLINT(7) NOT NULL auto_increment,
- `owner` VARCHAR(24) NOT NULL,
- `model` INT NOT NULL DEFAULT '0',
- `x` FLOAT DEFAULT '0.0',
- `y` FLOAT DEFAULT '0.0',
- `z` FLOAT DEFAULT '0.0',
- `an` FLOAT DEFAULT '0.0',
- PRIMARY KEY (`id`)
- );
- */
- #include <a_samp>
- #include <mysql> // http://forum.sa-mp.com/showthread.php?t=56564
- #include <sscanf2> // http://forum.sa-mp.com/showthread.php?t=120356
- new VehicleOwner[MAX_VEHICLES][MAX_PLAYER_NAME];
- new VehicleSQLID[MAX_VEHICLES];
- // Ha meg akarod változtatni a jármű tulajdonosát
- stock ChangeVehicleOwner(vehicleid, owner[])
- {
- new query[256];
- format(query, 256, "UPDATE vehicles SET owner = '%s' WHERE id = %i", owner, VehicleSQLID[vehicleid]);
- mysql_query(query);
- format(VehicleOwner[vehicleid], MAX_PLAYER_NAME, "%s", owner);
- return 1;
- }
- // A jármű pozícióját a jelenlegi pozíciójának jegyzi meg
- stock UpdateVehiclePos(vehicleid)
- {
- new query[256],
- Float:x,
- Float:y,
- Float:z,
- Float:an;
- GetVehiclePos(vehicleid, x, y, z);
- GetVehicleZAngle(vehicleid, an);
- format(query, 256, "UPDATE vehicles SET x = %f, y = %f, z = %f, an = %f WHERE id = %i", x, y, z, an, VehicleSQLID[vehicleid]);
- mysql_query(query);
- return 1;
- }
- // Jármű hozzáadása az adatbázishoz
- stock AddVehicleToBase(vehicleid, owner[])
- {
- new query[256],
- Float:x,
- Float:y,
- Float:z,
- Float:an;
- GetVehiclePos(vehicleid, x, y, z);
- GetVehicleZAngle(vehicleid, an);
- format(query, 256, "INSERT INTO vehicles VALUES(0, '%s', %i, %f, %f, %f, %f)", owner, GetVehicleModel(vehicleid), x, y, z, an);
- mysql_query(query);
- format(query, 256, "SELECT id FROM vehicles WHERE x = %f", x);
- VehicleSQLID[vehicleid] = mysql_fetch_int();
- return 1;
- }
- // Jármű törlése az adatbázisból
- stock RemoveVehicleFromBase(vehicleid)
- {
- new query[256];
- format(query, 256, "DELETE FROM vehicles WHERE id = %i", VehicleSQLID[vehicleid]);
- mysql_query(query);
- return 1;
- }
- // MySQL csatlakozása, járművek betöltése
- public OnFilterScriptInit()
- {
- mysql_init();
- mysql_connect("localhost", "samp", "szerver", "jelszo");
- mysql_query("SELECT * FROM vehicles");
- mysql_store_result();
- new row[256],
- id,
- owner[MAX_PLAYER_NAME],
- model,
- Float:x,
- Float:y,
- Float:z,
- Float:an;
- for(new i = 0; i < MAX_VEHICLES; i++)
- {
- mysql_fetch_row(row);
- if(!sscanf(row, "p<|>is[24]iffff", id, owner, model, x, y, z, an))
- {
- new v = CreateVehicle(model, x, y, z, an, -1, -1, -1);
- VehicleSQLID[v] = id;
- VehicleOwner[v] = owner;
- }
- }
- return 1;
- }
- // MySQL bezárása
- public OnFilterScriptExit()
- {
- mysql_close();
- return 1;
- }
- // Saját járműbe szállás ellenőrzése
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- if(!ispassenger)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, MAX_PLAYER_NAME);
- if(strcmp(VehicleOwner[vehicleid], name) < 0)
- {
- SendClientMessage(playerid, 0xFFFF00FF, "Sajnálom, ez nem a te járműved!");
- ClearAnimations(playerid);
- }
- }
- return 1;
- }
- // Ha elhagyja a járművet, a pozíció mentése
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, MAX_PLAYER_NAME);
- if(strcmp(VehicleOwner[vehicleid], name) < 0) UpdateVehiclePos(vehicleid);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment