Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- stock LoadDynamicObjectsFile(path[], virtualworld = -2, interior = -2, playerid = -2, Float:streamdistance = -2.0, Float:drawdistance = -2.0, areaid = -2, priority = -2)
- {
- 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;
- new o_virtualworld = virtualworld, o_interior = interior, o_playerid = playerid, Float:o_streamdistance = streamdistance, Float:o_drawdistance = drawdistance, o_areaid = areaid, o_priority = priority;
- while(fread(handle, buffer))
- {
- if(strfind(buffer, "CreateDynamicObject(") != -1)
- {
- objects++;
- new objectid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz;
- 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);
- new end = strfind(buffer, ", "), bool:stop;
- if(end == -1)
- {
- strfind(buffer, ")");
- stop = true;
- }
- strmid(tmpstr, buffer, 0, end);
- rz = floatstr(tmpstr);
- if(!stop)
- {
- strdel(buffer, 0, end + 2);
- end = strfind(buffer, ", ");
- if(end == -1)
- {
- strfind(buffer, ")");
- stop = true;
- }
- strmid(tmpstr, buffer, 0, end);
- if(o_virtualworld == -2)
- virtualworld = strval(tmpstr);
- if(!stop)
- {
- strdel(buffer, 0, end + 2);
- end = strfind(buffer, ", ");
- if(end == -1)
- {
- strfind(buffer, ")");
- stop = true;
- }
- strmid(tmpstr, buffer, 0, end);
- if(o_interior == -2)
- interior = strval(tmpstr);
- if(!stop)
- {
- strdel(buffer, 0, end + 2);
- end = strfind(buffer, ", ");
- if(end == -1)
- {
- strfind(buffer, ")");
- stop = true;
- }
- strmid(tmpstr, buffer, 0, end);
- if(o_playerid == -2)
- playerid = strval(tmpstr);
- if(!stop)
- {
- strdel(buffer, 0, end + 2);
- end = strfind(buffer, ", ");
- if(end == -1)
- {
- strfind(buffer, ")");
- stop = true;
- }
- strmid(tmpstr, buffer, 0, end);
- if(o_streamdistance == -2.0)
- streamdistance = floatstr(tmpstr);
- if(!stop)
- {
- strdel(buffer, 0, end + 2);
- end = strfind(buffer, ", ");
- if(end == -1)
- {
- strfind(buffer, ")");
- stop = true;
- }
- strmid(tmpstr, buffer, 0, end);
- if(o_drawdistance == -2.0)
- drawdistance = floatstr(tmpstr);
- if(!stop)
- {
- strdel(buffer, 0, end + 2);
- end = strfind(buffer, ", ");
- if(end == -1)
- {
- strfind(buffer, ")");
- stop = true;
- }
- strmid(tmpstr, buffer, 0, end);
- if(o_areaid == -2)
- areaid = strval(tmpstr);
- if(!stop)
- {
- strdel(buffer, 0, end + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ")"));
- printf("%s - %d", tmpstr, priority);
- if(o_priority == -2)
- priority = strval(tmpstr);
- printf("priority: %d", priority);
- }
- }
- }
- }
- }
- }
- }
- if(virtualworld == -2) virtualworld = -1;
- if(interior == -2) interior = -1;
- if(playerid == -2) playerid = -1;
- if(streamdistance == -2.0) streamdistance = STREAMER_OBJECT_SD;
- if(drawdistance == -2.0) drawdistance = STREAMER_OBJECT_DD;
- if(areaid == -2) areaid = -1;
- if(priority == -2) priority = 0;
- printf("CTO(%d, %.1f, %.1f, %.1f, %.1f, %.1f, %.1f, %d, %d, %d, %.1f, %.1f, %d, %d)", objectid, x, y, z, rx, ry, rz, virtualworld, interior, playerid, streamdistance, drawdistance, areaid, priority);
- tmpobjid = CreateDynamicObject(objectid, x, y, z, rx, ry, rz, virtualworld, interior, playerid, streamdistance, drawdistance, areaid, priority);
- virtualworld = o_virtualworld;
- interior = o_interior;
- playerid = o_playerid;
- streamdistance = o_streamdistance;
- drawdistance = o_drawdistance;
- areaid = o_areaid;
- priority = o_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 :]
- }
- stock LoadRemoveBuildingsForPlayer(playerid, path[])
- {
- new File:handle = fopen(path, io_read), buffer[186], string[128];
- if(!handle)
- {
- format(string, sizeof string, "%s couldn't be opened!", path);
- return printf(string);
- }
- new tmpstr[12];
- while(fread(handle, buffer))
- {
- if(strfind(buffer, "RemoveBuildingForPlayer(") != -1)
- {
- new objectid, Float:x, Float:y, Float:z, Float:radius;
- strdel(buffer, 0, strfind(buffer, ", ") + 2);
- strmid(tmpstr, buffer, 0, strfind(buffer, ", "));
- objectid = strval(tmpstr);
- 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, ")"));
- radius = floatstr(tmpstr);
- RemoveBuildingForPlayer(playerid, objectid, x, y, z, radius);
- }
- else
- break;
- }
- fclose(handle);
- return 1; // Made by Lirbo :]
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement