Lirbo

LoadDynamicObjectsFile

Nov 21st, 2022 (edited)
950
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.20 KB | None | 0 0
  1. stock LoadDynamicObjectsFile(path[], playerid = -1, Float:streamdistance = STREAMER_OBJECT_SD, Float:drawdistance = STREAMER_OBJECT_DD)
  2. {
  3.     new File:handle = fopen(path, io_read), buffer[186], string[128];
  4.     if(!handle)
  5.     {
  6.         format(string, sizeof string, "%s couldn't be opened!");
  7.         return printf(string);
  8.     }
  9.     new tmpobjid, tmpstr[12];
  10.     while(fread(handle, buffer))
  11.     {
  12.         if(strfind(buffer, "CreateDynamicObject(") != -1)
  13.         {
  14.             new objectid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, virtualworld, interior;
  15.             strdel(buffer, 0, strfind(buffer, "(") + 1);
  16.             strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
  17.             objectid = strval(tmpstr);
  18.             strdel(buffer, 0, strfind(buffer, ", ") + 2);
  19.             strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
  20.             x = floatstr(tmpstr);
  21.             strdel(buffer, 0, strfind(buffer, ", ") + 2);
  22.             strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
  23.             y = floatstr(tmpstr);
  24.             strdel(buffer, 0, strfind(buffer, ", ") + 2);
  25.             strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
  26.             z = floatstr(tmpstr);
  27.             strdel(buffer, 0, strfind(buffer, ", ") + 2);
  28.             strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
  29.             rx = floatstr(tmpstr);
  30.             strdel(buffer, 0, strfind(buffer, ", ") + 2);
  31.             strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
  32.             ry = floatstr(tmpstr);
  33.             strdel(buffer, 0, strfind(buffer, ", ") + 2);
  34.             strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
  35.             rz = floatstr(tmpstr);
  36.             strdel(buffer, 0, strfind(buffer, ", ") + 2);
  37.             strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
  38.             virtualworld = strval(tmpstr);
  39.             strdel(buffer, 0, strfind(buffer, ", ") + 2);
  40.             strmid(tmpstr, buffer, 0, strfind(buffer, ")"));
  41.             interior = strval(tmpstr);
  42.             tmpobjid = CreateDynamicObject(objectid, x, y, z, rx, ry, rz, virtualworld, interior, playerid, streamdistance, drawdistance);
  43.         }
  44.         else if(strfind(buffer, "SetDynamicObjectMaterial(") != -1)
  45.         {
  46.             new idx, model, txd[48], texture[48], color;
  47.             strdel(buffer, 0, strfind(buffer, ", ") + 2);
  48.             strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
  49.             idx = strval(tmpstr);
  50.             strdel(buffer, 0, strfind(buffer, ", ") + 2);
  51.             strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
  52.             model = strval(tmpstr);
  53.             strdel(buffer, 0, strfind(buffer, ", \"") + 3);
  54.             strmid(txd, buffer, 0, strfind(buffer, "\", "));
  55.             strdel(buffer, 0, strfind(buffer, ", \"") + 3);
  56.             strmid(texture, buffer, 0, strfind(buffer, "\", "));
  57.             strdel(buffer, 0, strfind(buffer, ", ") + 2);
  58.             strmid(tmpstr, buffer, 0, strfind(buffer, ")"));
  59.             sscanf(tmpstr, "x", color);
  60.             SetDynamicObjectMaterial(tmpobjid, idx, model, txd, texture, color);
  61.         }
  62.         else if(strfind(buffer, "SetDynamicObjectMaterialText(") != -1)
  63.         {
  64.             new idx, text[128], materialsize, fontface[32], fontsize, bold, fontcolor, backcolor, textalignment;
  65.             strdel(buffer, 0, strfind(buffer, ", ") + 2);
  66.             strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
  67.             idx = strval(tmpstr);
  68.             strdel(buffer, 0, strfind(buffer, ", \"") + 3);
  69.             strmid(text, buffer, 0, strfind(buffer, "\", "));
  70.             strdel(buffer, 0, strfind(buffer, ", ") + 2);
  71.             strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
  72.             materialsize = strval(tmpstr);
  73.             strdel(buffer, 0, strfind(buffer, ", \"") + 3);
  74.             strmid(fontface, buffer, 0, strfind(buffer, "\", "));
  75.             strdel(buffer, 0, strfind(buffer, ", ") + 2);
  76.             strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
  77.             fontsize = strval(tmpstr);
  78.             strdel(buffer, 0, strfind(buffer, ", ") + 2);
  79.             strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
  80.             bold = strval(tmpstr);
  81.             strdel(buffer, 0, strfind(buffer, ", ") + 2);
  82.             strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
  83.             sscanf(tmpstr, "x", fontcolor);
  84.             strdel(buffer, 0, strfind(buffer, ", ") + 2);
  85.             strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
  86.             sscanf(tmpstr, "x", backcolor);
  87.             strdel(buffer, 0, strfind(buffer, ", ") + 2);
  88.             strmid(tmpstr, buffer, 0, strfind(buffer, ")"));
  89.             textalignment = strval(tmpstr);
  90.             SetDynamicObjectMaterialText(tmpobjid, idx, text, materialsize, fontface, fontsize, bold, fontcolor, backcolor, textalignment);
  91.         }
  92.  
  93.     }
  94.     format(string, sizeof string, "%s has been successfully loaded!", path);
  95.     printf(string);
  96.     fclose(handle);
  97.     return 1; // Made by Lirbo :]
  98. }
  99.  
Advertisement
Add Comment
Please, Sign In to add comment