Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- stock LoadDynamicObjectsFile(path[], playerid = -1, Float:streamdistance = STREAMER_OBJECT_SD, Float:drawdistance = STREAMER_OBJECT_DD, areaid = -1, priority = 0)
- {
- new File:handle = fopen(path, io_read), buffer[186], string[144];
- if(!handle)
- {
- format(string, sizeof string, "%s couldn't be opened!", path);
- return printf(string);
- }
- new tmpobjid, tmpstr[12], objects, materials, texts, removes;
- while(fread(handle, buffer))
- {
- if(strfind(buffer, "CreateDynamicObject(") != -1)
- {
- objects++;
- new objectid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, virtualworld, interior;
- strdel(buffer, 0, strfind(buffer, "(") + 1);
- strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
- objectid = strval(tmpstr);
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
- x = floatstr(tmpstr);
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
- y = floatstr(tmpstr);
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
- z = floatstr(tmpstr);
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
- rx = floatstr(tmpstr);
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
- ry = floatstr(tmpstr);
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
- rz = floatstr(tmpstr);
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
- virtualworld = strval(tmpstr);
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ")"));
- interior = strval(tmpstr);
- tmpobjid = CreateDynamicObject(objectid, x, y, z, rx, ry, rz, virtualworld, interior, playerid, streamdistance, drawdistance, areaid, priority);
- }
- else if(strfind(buffer, "SetDynamicObjectMaterial(") != -1)
- {
- materials++;
- new idx, model, txd[48], texture[48], color;
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
- idx = strval(tmpstr);
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
- model = strval(tmpstr);
- strdel(buffer, 0, strfind(buffer, ", \"") + 3);
- strmid(txd, buffer, 0, strfind(buffer, "\", "));
- strdel(buffer, 0, strfind(buffer, ", \"") + 3);
- strmid(texture, buffer, 0, strfind(buffer, "\", "));
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ")"));
- sscanf(tmpstr, "x", color);
- SetDynamicObjectMaterial(tmpobjid, idx, model, txd, texture, color);
- }
- else if(strfind(buffer, "SetDynamicObjectMaterialText(") != -1)
- {
- texts++;
- new idx, text[128], materialsize, fontface[32], fontsize, bold, fontcolor, backcolor, textalignment;
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
- idx = strval(tmpstr);
- strdel(buffer, 0, strfind(buffer, ", \"") + 3);
- strmid(text, buffer, 0, strfind(buffer, "\", "));
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
- materialsize = strval(tmpstr);
- strdel(buffer, 0, strfind(buffer, ", \"") + 3);
- strmid(fontface, buffer, 0, strfind(buffer, "\", "));
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
- fontsize = strval(tmpstr);
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
- bold = strval(tmpstr);
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
- sscanf(tmpstr, "x", fontcolor);
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
- sscanf(tmpstr, "x", backcolor);
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ")"));
- textalignment = strval(tmpstr);
- SetDynamicObjectMaterialText(tmpobjid, idx, text, materialsize, fontface, fontsize, bold, fontcolor, backcolor, textalignment);
- }
- else if(strfind(buffer, "RemoveBuildingForPlayer(") != -1)
- removes++;
- }
- format(string, sizeof string, "%s has been successfully loaded! (Objects: %s, Textures: %s, Texts: %s, Removes: %s)", path, comma(objects), comma(materials), comma(texts), comma(removes));
- printf(string);
- fclose(handle);
- return 1; // Made by Lirbo :]
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement