Facebook
From Emerald Elephant, 5 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 190
  1. stock LoadObjects()
  2. {
  3.     new data[512], objects = 0;
  4.     mysql_query("SELECT * FROM `gamemode_objects`");
  5.     mysql_store_result();
  6.     while(mysql_fetch_row_format(data, "|") == 1)
  7.     {
  8.         new model, Float:pos[3], Float:rot[3], vw, int, other;
  9.         sscanf(data, "p<|>ddddddffffff", other, model, other, other, vw, int, pos[0], pos[1], pos[2], rot[0], rot[1], rot[2]);
  10.  
  11.         if( vw == -1 ) vw = 0;
  12.         new objectid = CreateDynamicObject(model, pos[0], pos[1], pos[2], rot[0], rot[1], rot[2], vw, int, -1, 500.0, 500.0);
  13.  
  14.         Iter_Add(Objects, objectid);
  15.         sscanf(data, "p<|>ddddddffffff",
  16.         pObject[objectid][object_uid],
  17.         pObject[objectid][object_model],
  18.         pObject[objectid][object_owner_type],
  19.         pObject[objectid][object_owner_uid],
  20.         pObject[objectid][object_virtual],
  21.         pObject[objectid][object_interior],
  22.         pObject[objectid][object_pos_x],
  23.         pObject[objectid][object_pos_y],
  24.         pObject[objectid][object_pos_z],
  25.         pObject[objectid][object_rot_x],
  26.         pObject[objectid][object_rot_y],
  27.         pObject[objectid][object_rot_z]);
  28.     }
  29.     mysql_free_result();
  30.     printf("[MySQL] Wczytano %d obiektów.", objects);
  31.     return objects;
  32. }
  33.  
  34. stock GetPointInAngleOfPlayer(playerid, &Float:x, &Float:y, &Float:z, Float:distance, Float:angle)
  35. {
  36.     new Float:current_angle;
  37.     GetPlayerPos(playerid, x, y, z);
  38.     GetPlayerFacingAngle(playerid, current_angle);
  39.     if( IsPlayerInAnyVehicle(playerid) )
  40.     {
  41.         GetVehicleZAngle(GetPlayerVehicleID(playerid), current_angle);
  42.     }
  43.     new Float:a = current_angle + angle;  
  44.     x += (distance * floatsin(-a, degrees));
  45.     y += (distance * floatcos(-a, degrees));
  46. }
  47.  
  48. stock AddObject(model, ownertype, owner, virtual, interior, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
  49. {
  50.         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));
  51.     new uid = mysql_insert_id();
  52.  
  53.     new objectid = CreateDynamicObject(model, x, y, z, rx, ry, rz, virtual, interior, -1, 500.0, 500.0);
  54.  
  55.     pObject[objectid][object_uid] = uid;
  56.     pObject[objectid][object_model] = model;
  57.     pObject[objectid][object_pos_x] = x;
  58.     pObject[objectid][object_pos_y] = y;
  59.     pObject[objectid][object_pos_z] = z;
  60.     pObject[objectid][object_rot_x] = rx;
  61.     pObject[objectid][object_rot_y] = ry;
  62.     pObject[objectid][object_rot_z] = rz;
  63.     pObject[objectid][object_interior] = interior;
  64.     pObject[objectid][object_virtual] = virtual;
  65.     pObject[objectid][object_owner_type] = ownertype;
  66.     pObject[objectid][object_owner_uid] = owner;
  67.     SaveObject(objectid);
  68.  
  69.     Iter_Add(Objects, objectid);
  70.  
  71.     return objectid;
  72. }
  73.  
  74. stock SaveObject(objectid)
  75. {
  76.         new query[256];
  77.         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],
  78.     pObject[objectid][object_owner_type],
  79.     pObject[objectid][object_owner_uid],
  80.     pObject[objectid][object_virtual],
  81.     pObject[objectid][object_interior],
  82.     pObject[objectid][object_pos_x],
  83.     pObject[objectid][object_pos_y],
  84.     pObject[objectid][object_pos_z],
  85.     pObject[objectid][object_rot_x],
  86.     pObject[objectid][object_rot_y],
  87.     pObject[objectid][object_rot_z],
  88.     pObject[objectid][object_uid]);
  89.         mysql_query(query);
  90.     mysql_free_result();
  91.     return 1;
  92. }
  93.  
  94. DeleteObject(objectid)
  95. {
  96.     Iter_Remove(Objects, objectid);
  97.     mysql_query(sprintf("DELETE FROM `gamemode_objects` WHERE `object_uid` = '%d'", pObject[objectid][object_uid]));
  98.  
  99.     pObject[objectid][object_uid] = 0;
  100.     pObject[objectid][object_model] = 0;
  101.     pObject[objectid][object_pos_x] = 0;
  102.     pObject[objectid][object_pos_y] = 0;
  103.     pObject[objectid][object_pos_z] = 0;
  104.     pObject[objectid][object_rot_x] = 0;
  105.     pObject[objectid][object_rot_y] = 0;
  106.     pObject[objectid][object_rot_z] = 0;
  107.     pObject[objectid][object_interior] = 0;
  108.     pObject[objectid][object_virtual] = 0;
  109.     pObject[objectid][object_owner_type] = 0;
  110.     pObject[objectid][object_owner_uid] = 0;
  111.     DestroyDynamicObject(objectid);
  112.     mysql_free_result();
  113.     return 1;
  114. }