- stock LoadObjects()
- {
- new data[512], objects = 0;
- mysql_query("SELECT * FROM `gamemode_objects`");
- mysql_store_result();
- while(mysql_fetch_row_format(data, "|") == 1)
- {
- new model, Float:pos[3], Float:rot[3], vw, int, other;
- sscanf(data, "p<|>ddddddffffff", other, model, other, other, vw, int, pos[0], pos[1], pos[2], rot[0], rot[1], rot[2]);
- if( vw == -1 ) vw = 0;
- new objectid = CreateDynamicObject(model, pos[0], pos[1], pos[2], rot[0], rot[1], rot[2], vw, int, -1, 500.0, 500.0);
- Iter_Add(Objects, objectid);
- sscanf(data, "p<|>ddddddffffff",
- pObject[objectid][object_uid],
- pObject[objectid][object_model],
- pObject[objectid][object_owner_type],
- pObject[objectid][object_owner_uid],
- pObject[objectid][object_virtual],
- pObject[objectid][object_interior],
- pObject[objectid][object_pos_x],
- pObject[objectid][object_pos_y],
- pObject[objectid][object_pos_z],
- pObject[objectid][object_rot_x],
- pObject[objectid][object_rot_y],
- pObject[objectid][object_rot_z]);
- }
- mysql_free_result();
- printf("[MySQL] Wczytano %d obiektów.", objects);
- return objects;
- }
- stock GetPointInAngleOfPlayer(playerid, &Float:x, &Float:y, &Float:z, Float:distance, Float:angle)
- {
- new Float:current_angle;
- GetPlayerPos(playerid, x, y, z);
- GetPlayerFacingAngle(playerid, current_angle);
- if( IsPlayerInAnyVehicle(playerid) )
- {
- GetVehicleZAngle(GetPlayerVehicleID(playerid), current_angle);
- }
- new Float:a = current_angle + angle;
- x += (distance * floatsin(-a, degrees));
- y += (distance * floatcos(-a, degrees));
- }
- stock AddObject(model, ownertype, owner, virtual, interior, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
- {
- mysql_query(sprintf("INSERT INTO `gamemode_objects` (`object_uid`, `object_model`, `object_ownertype`, `object_owner`, `object_virtual`, `object_interior`, `object_posx`, `object_posy`, `object_posz`, `object_rotx`, `object_roty`, `object_rotz`) VALUES (NULL, '%d', '%d', '%d', '%d', '%d', '%f', '%f', '%f', '%f', '%f', '%f')", model, ownertype, owner, virtual, interior, x, y, z, rx, ry, rz));
- new uid = mysql_insert_id();
- new objectid = CreateDynamicObject(model, x, y, z, rx, ry, rz, virtual, interior, -1, 500.0, 500.0);
- pObject[objectid][object_uid] = uid;
- pObject[objectid][object_model] = model;
- pObject[objectid][object_pos_x] = x;
- pObject[objectid][object_pos_y] = y;
- pObject[objectid][object_pos_z] = z;
- pObject[objectid][object_rot_x] = rx;
- pObject[objectid][object_rot_y] = ry;
- pObject[objectid][object_rot_z] = rz;
- pObject[objectid][object_interior] = interior;
- pObject[objectid][object_virtual] = virtual;
- pObject[objectid][object_owner_type] = ownertype;
- pObject[objectid][object_owner_uid] = owner;
- SaveObject(objectid);
- Iter_Add(Objects, objectid);
- return objectid;
- }
- stock SaveObject(objectid)
- {
- new query[256];
- format(query, 256, "UPDATE `gamemode_objects` SET `object_model` = '%d', `object_ownertype` = '%d', `object_owner` = '%d', `object_virtual` = '%d', `object_interior` = '%d', `object_posx` = '%f', `object_posy` = '%f', `object_posz` = '%f', `object_rotx` = '%f', `object_roty = '%f'`, `object_rotz` = '%f' WHERE `object_uid` = '%d'", pObject[objectid][object_model],
- pObject[objectid][object_owner_type],
- pObject[objectid][object_owner_uid],
- pObject[objectid][object_virtual],
- pObject[objectid][object_interior],
- pObject[objectid][object_pos_x],
- pObject[objectid][object_pos_y],
- pObject[objectid][object_pos_z],
- pObject[objectid][object_rot_x],
- pObject[objectid][object_rot_y],
- pObject[objectid][object_rot_z],
- pObject[objectid][object_uid]);
- mysql_query(query);
- mysql_free_result();
- return 1;
- }
- DeleteObject(objectid)
- {
- Iter_Remove(Objects, objectid);
- mysql_query(sprintf("DELETE FROM `gamemode_objects` WHERE `object_uid` = '%d'", pObject[objectid][object_uid]));
- pObject[objectid][object_uid] = 0;
- pObject[objectid][object_model] = 0;
- pObject[objectid][object_pos_x] = 0;
- pObject[objectid][object_pos_y] = 0;
- pObject[objectid][object_pos_z] = 0;
- pObject[objectid][object_rot_x] = 0;
- pObject[objectid][object_rot_y] = 0;
- pObject[objectid][object_rot_z] = 0;
- pObject[objectid][object_interior] = 0;
- pObject[objectid][object_virtual] = 0;
- pObject[objectid][object_owner_type] = 0;
- pObject[objectid][object_owner_uid] = 0;
- DestroyDynamicObject(objectid);
- mysql_free_result();
- return 1;
- }