#include <streamer> #define MAP_OBJECTS_LOCATION "Maps/%s/objects.ini" stock LoadMapDynamicObjects(filename[]) // Load from a .txt file in scriptfile directory (Bugged, don't know why) { new File:file, line[256], modelid, Float:SpawnX, Float:SpawnY, Float:SpawnZ, Float:SpawnRotX, Float:SpawnRotY, Float:SpawnRotZ, objects_loaded; new fileloc[100]; format(fileloc, sizeof(fileloc), MAP_OBJECTS_LOCATION, filename); file = fopen(fileloc, io_read); if(!file) return printf("FATAL ERROR: Failed to load object %s (File doesnt exist in scriptfiles directory)!", filename); while(fread(file, line)) { if(sscanf(line, "dffffff", modelid, SpawnX, SpawnY, SpawnZ, SpawnRotX, SpawnRotY, SpawnRotZ)) { CreateDynamicObject(modelid, SpawnX, SpawnY, SpawnZ, SpawnRotX, SpawnRotY, SpawnRotZ); printf("created | modelid: %f | spawnx: %f | spawny: %f | spawnz: %f | spawnrotx: %f | spawnroty: %f | spawnrotz: %f", modelid, SpawnX, SpawnY, SpawnZ, SpawnRotX, SpawnRotY, SpawnRotZ); // Debug objects_loaded++; } } fclose(file); printf("[MAP: %s] %d objects loaded!", filename, objects_loaded); return 1; }
LoadMapDynamicObjects(mapname);
CreateDynamicObject(5166,703.5460205,-3315.6921387,13.1085014,0.0000000,0.0000000,0.0000000); // CreateDynamicObject(5160,703.5654297,-3315.7128906,13.1171703,0.0000000,0.0000000,0.0000000); // CreateDynamicObject(5167,596.1196899,-3307.6933594,15.1931553,0.0000000,0.0000000,0.0000000); // CreateDynamicObject(5156,647.8857422,-3307.6230469,18.8172741,0.0000000,0.0000000,0.0000000); // CreateDynamicObject(5157,756.7019653,-3307.5939941,24.8475151,0.0000000,0.0000000,0.0000000); // CreateDynamicObject(5155,579.5029907,-3307.4985352,29.1487885,0.0000000,0.0000000,0.0000000); // CreateDynamicObject(5158,555.4444580,-3307.7600098,19.8190804,0.0000000,0.0000000,89.9615479); // CreateDynamicObject(5154,692.7363281,-3308.1171875,23.5348148,0.0000000,0.0000000,0.0000000); // CreateDynamicObject(5154,639.6289062,-3307.2509766,23.4234257,0.0000000,0.0000000,0.0000000); // CreateDynamicObject(2934,732.1699219,-3307.3906250,20.3406200,0.0000000,0.0000000,0.0000000); //
This one: printf("created | modelid: %f | spawnx: %f | spawny: %f | spawnz: %f | spawnrotx: %f | spawnroty: %f | spawnrotz: %f", modelid, SpawnX, SpawnY, SpawnZ, SpawnRotX, SpawnRotY, SpawnRotZ); // Debug
[15:27:12] created | modelid: 0.000000 | spawnx: 0.000000 | spawny: 0.000000 | spawnz: 0.000000 | spawnrotx: 0.000000 | spawnroty: 0.000000 | spawnrotz: 0.000000 [15:27:12] created | modelid: 0.000000 | spawnx: 0.000000 | spawny: 0.000000 | spawnz: 0.000000 | spawnrotx: 0.000000 | spawnroty: 0.000000 | spawnrotz: 0.000000 [15:27:12] created | modelid: 0.000000 | spawnx: 0.000000 | spawny: 0.000000 | spawnz: 0.000000 | spawnrotx: 0.000000 | spawnroty: 0.000000 | spawnrotz: 0.000000 [15:27:12] created | modelid: 0.000000 | spawnx: 0.000000 | spawny: 0.000000 | spawnz: 0.000000 | spawnrotx: 0.000000 | spawnroty: 0.000000 | spawnrotz: 0.000000 [15:27:12] created | modelid: 0.000000 | spawnx: 0.000000 | spawny: 0.000000 | spawnz: 0.000000 | spawnrotx: 0.000000 | spawnroty: 0.000000 | spawnrotz: 0.000000 [15:27:12] created | modelid: 0.000000 | spawnx: 0.000000 | spawny: 0.000000 | spawnz: 0.000000 | spawnrotx: 0.000000 | spawnroty: 0.000000 | spawnrotz: 0.000000 [15:27:12] created | modelid: 0.000000 | spawnx: 0.000000 | spawny: 0.000000 | spawnz: 0.000000 | spawnrotx: 0.000000 | spawnroty: 0.000000 | spawnrotz: 0.000000 [15:27:12] created | modelid: 0.000000 | spawnx: 0.000000 | spawny: 0.000000 | spawnz: 0.000000 | spawnrotx: 0.000000 | spawnroty: 0.000000 | spawnrotz: 0.000000 [15:27:12] created | modelid: 0.000000 | spawnx: 0.000000 | spawny: 0.000000 | spawnz: 0.000000 | spawnrotx: 0.000000 | spawnroty: 0.000000 | spawnrotz: 0.000000 [15:27:12] created | modelid: 0.000000 | spawnx: 0.000000 | spawny: 0.000000 | spawnz: 0.000000 | spawnrotx: 0.000000 | spawnroty: 0.000000 | spawnrotz: 0.000000
sscanf(line, "p<,>dffffff", modelid, SpawnX, SpawnY, SpawnZ, SpawnRotX, SpawnRotY, SpawnRotZ)
new modelid, Float: p[6];
...
sscanf(line, "'CreateDynamicObject('P<),>ia<f>[6]", modelid, p);
printf("created | modelid: %i | spawnx: %f | spawny: %f | spawnz: %f | spawnrotx: %f | spawnroty: %f | spawnrotz: %f", modelid, p[0], p[1], p[2], p[3], p[4], p[5]);
if(sscanf(line, "P<(),>{s[32]}iffffff", modelid, x, y, z, rx, ry, rz))
You need to ignore the name of the function and after the last parameter. I had written a function to move maps that conflicted and I used:
pawn Код:
|