Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //////////////////////////////////////////
- // //
- // Script Created By DarkLored //
- // //
- //////////////////////////////////////////
- #include <a_samp>
- #include <zcmd>
- #include <sscanf2>
- #include <streamer>
- #define FILTERSCRIPT
- new DB:Loot;
- enum LootInfo
- {
- ObjectID,
- ObjectModelID,
- Float:ObjectX,
- Float:ObjectY,
- Float:ObjectZ,
- Float:ObjectRX,
- Float:ObjectRY,
- Float:ObjectRZ,
- ObjectVW,
- ObjectINT
- };
- new lInfo[MAX_OBJECTS][LootInfo];
- public OnFilterScriptInit()
- {
- LoadLoot();
- print("Dynamic Object Creator/Delete/Editor loaded! By DarkLored");
- return 1;
- }
- public OnFilterScriptExit()
- {
- db_close(Loot);
- print("Filterscript Unloaded!");
- return 1;
- }
- CMD:createobject(playerid, params[])
- {
- new objectmodelid, objectvw, objectint, Float:x, Float:y, Float:z, Query[500];
- if(sscanf(params, "ddd", objectmodelid, objectvw, objectint))
- {
- SendClientMessage(playerid, -1, "[USAGE]/createobject (modelid) (virtual world) (interior)");
- return 1;
- }
- GetPlayerPos(playerid, x, y, z);
- format(Query, sizeof(Query), "INSERT INTO loot (objmodelid, objx, objy, objz, objvw, objint) VALUES (%d, %f, %f, %f, %d, %d)", objectmodelid, x, y, z, objectvw, objectint);
- db_query(Loot, Query);
- print(Query);
- return 1;
- }
- CMD:editobject(playerid, params[])
- {
- new objectid;
- if(sscanf(params, "d", objectid))
- {
- SendClientMessage(playerid, -1, "[USAGE]/editobject (objid)");
- return 1;
- }
- EditDynamicObject(playerid, objectid);
- return 1;
- }
- CMD:spawnobject(playerid, params[])
- {
- new objectid, Query[500], DBResult:Result;
- if(sscanf(params, "d", objectid))
- {
- SendClientMessage(playerid, -1, "[USAGE]/spawnobject (objid)");
- return 1;
- }
- format(Query, sizeof(Query), "SELECT * FROM loot WHERE objid = %d", objectid);
- Result = db_query(Loot, Query);
- if(db_num_rows(Result))
- {
- db_get_field_assoc(Result, "objmodelid", Query, 7);
- lInfo[objectid][ObjectModelID] = strval(Query);
- db_get_field_assoc(Result, "objx", Query, 60);
- lInfo[objectid][ObjectX] = floatstr(Query);
- db_get_field_assoc(Result, "objy", Query, 60);
- lInfo[objectid][ObjectY] = floatstr(Query);
- db_get_field_assoc(Result, "objz", Query, 60);
- lInfo[objectid][ObjectZ] = floatstr(Query);
- db_get_field_assoc(Result, "objrx", Query, 60);
- lInfo[objectid][ObjectRX] = floatstr(Query);
- db_get_field_assoc(Result, "objry", Query, 60);
- lInfo[objectid][ObjectRY] = floatstr(Query);
- db_get_field_assoc(Result, "objrz", Query, 60);
- lInfo[objectid][ObjectRZ] = floatstr(Query);
- db_get_field_assoc(Result, "objvw", Query, 7);
- lInfo[objectid][ObjectVW] = strval(Query);
- db_get_field_assoc(Result, "objint", Query, 7);
- lInfo[objectid][ObjectINT] = strval(Query);
- objectid = CreateDynamicObject(lInfo[objectid][ObjectModelID], lInfo[objectid][ObjectX], lInfo[objectid][ObjectY], lInfo[objectid][ObjectZ], lInfo[objectid][ObjectRX], lInfo[objectid][ObjectRY], lInfo[objectid][ObjectRZ], lInfo[objectid][ObjectVW], lInfo[objectid][ObjectINT], -1, 200.0);
- db_free_result(Result);
- }
- else
- {
- SendClientMessage(playerid, -1, "Object does not exist.");
- db_free_result(Result);
- }
- return 1;
- }
- CMD:destroyobject(playerid, params[])
- {
- new objectid, Query[500], DBResult:Result;
- if(sscanf(params, "d", objectid))
- {
- SendClientMessage(playerid, -1, "[USAGE]/destroyobject (objectid).");
- return 1;
- }
- if(IsValidDynamicObject(objectid))
- {
- format(Query, sizeof(Query), "DELETE FROM loot WHERE objid = %d", objectid);
- db_query(Loot, Query);
- print("Existing object destroyed");
- DestroyDynamicObject(objectid);
- return 1;
- }
- else if(!IsValidDynamicObject(objectid))
- {
- format(Query, sizeof(Query), "SELECT * from loot WHERE objid = %d", objectid);
- Result = db_query(Loot, Query);
- if(db_num_rows(Result))
- {
- format(Query, sizeof(Query), "DELETE FROM loot WHERE objid = %d", objectid);
- db_query(Loot, Query);
- print("None existing object deleted");
- }
- else
- {
- SendClientMessage(playerid, -1, "Object does not exist!");
- }
- db_free_result(Result);
- return 1;
- }
- return 1;
- }
- public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
- {
- new Float:oldX, Float:oldY, Float:oldZ, Float:oldRotX, Float:oldRotY, Float:oldRotZ, Query[800];
- GetObjectPos(objectid, oldX, oldY, oldZ);
- GetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
- if(!playerobject)
- {
- if(!IsValidObject(objectid)) return 1;
- SetObjectPos(objectid, fX, fY, fZ);
- SetObjectRot(objectid, fRotX, fRotY, fRotZ);
- }
- if(response == EDIT_RESPONSE_UPDATE)
- {
- GetObjectPos(objectid, fX, fY, fZ);
- GetObjectRot(objectid, fRotX, fRotY, fRotZ);
- }
- if(response == EDIT_RESPONSE_FINAL)
- {
- GetObjectPos(objectid, fX, fY, fZ);
- GetObjectRot(objectid, fRotX, fRotY, fRotZ);
- format(Query, sizeof(Query), "UPDATE loot SET objx = %f, objy = %f, objz = %f, objrx = %f, objry = %f, objrz = %f WHERE objid = %d",
- fX, fY, fZ, fRotX, fRotY, fRotZ, objectid);
- db_query(Loot, Query);
- print(Query);
- }
- if(response == EDIT_RESPONSE_CANCEL)
- {
- if(!playerobject)
- {
- SetObjectPos(objectid, oldX, oldY, oldZ);
- SetObjectRot(objectid, oldRotX, oldRotY, oldRotZ);
- }
- else
- {
- SetPlayerObjectPos(playerid, objectid, oldX, oldY, oldZ);
- SetPlayerObjectRot(playerid, objectid, oldRotX, oldRotY, oldRotZ);
- }
- }
- return 1;
- }
- LoadLoot()
- {
- new Query[800];
- Loot = db_open("loot.db");
- strcat(Query, "CREATE TABLE IF NOT EXISTS loot (objid INTEGER PRIMARY KEY AUTOINCREMENT, objmodelid INTEGER DEFAULT 0 NOT NULL, objx FLOAT DEFAULT 0.0 NOT NULL, objy FLOAT DEFAULT 0.0 NOT NULL,", sizeof(Query));
- strcat(Query, "objz FLOAT DEFAULT 0.0 NOT NULL, objrx FLOAT DEFAULT 0.0 NOT NULL, objry FLOAT DEFAULT 0.0 NOT NULL, objrz FLOAT DEFAULT 0.0 NOT NULL, objvw INTEGER DEFAULT 0 NOT NULL, objint INTEGER DEFAULT 0 NOT NULL )", sizeof(Query));
- db_query(Loot, Query);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement