C:\\Users\\Márk\\Desktop\\paawn\\pawno\\include\\mtamap.inc(192) : warning 219: local variable \"mod\" shadows a variable at a preceding level
/*Copyright 2010 Michael Dabski (mick88)This script is my intelectual property. Please respect that and keep my credits where they are.You are free to modify this script or use parts of the code as long as you give me credit for my work.*//*MTA .map loader by mick88 Release 0.212th December 2010 Requirements: SSCANF2 plugin by Y_Less Stock functions: LoadMtaMap(file[], convert03c) - loads .map file UnloadMtaMap(file[]) - unloads previously loaded .map file UnloadAll() - unloads all .map files IsMapLoaded(file[]) - returns true if map has been loaded (even if loaded partially) Supported map elements: objects, vehicles Supported object data: model, posX, posY, posZ, rotX, rotY, rotZ + SAMP 0.3c objects Supported vehicle data: model, paintjob, mods (upgrades), colors (2 colors), posX, posY, posZ, rotZ, interior, world (dimension), numberplate (0.3c only)Changelog:* 13th September 2010 ver 0.1:- first release* 12th December 2010 ver 0.2-Added support for SA-MP 0.3c objects-Added storing object/vehicle IDs-Added function to unload single map-This script is now an include-Added support for custom vehicle numberplates (SA-MP 0.3c only)-Added function to unload all current map files-Added function checking if map is loaded-Support for Incognito\'s streamer native UnloadMtaMap(file[MAX_MAP_FILE_PATH]); native LoadMtaMap(file[MAX_MAP_FILE_PATH], convert03c=false); native UnloadAll(); native IsMapLoaded(file[MAX_MAP_FILE_PATH]); */#include <sscanf2>#define MAX_LOADED_ELEMENTS 5000 //Max number of vehicles + objects#define MAX_MAP_FILE_PATH 80#define VEHICLE_RESPAWN_DELAY 300#define MAP_STREAM_DISTANCE 300.0#if defined _streamer_included #define ADD_OBJECT(%1) CreateDynamicObject(%1, interior, world, -1, MAP_STREAM_DISTANCE) #define DELETE_OBJECT(%1) DestroyDynamicObject(%1)#else //Modify these if you use different streamer: #define ADD_OBJECT(%1) CreateObject(%1, MAP_STREAM_DISTANCE)#define DELETE_OBJECT(%1) DestroyObject(%1)#endif#define MAX_MODS 14#define MAX_NUMBERPLATE 9#define ELEMENT_TYPE_NONE 0#define ELEMENT_TYPE_OBJECT 1#define ELEMENT_TYPE_VEHICLE 2enum MapElement{eElementID,eElementType,eElementSource[MAX_MAP_FILE_PATH]}newFloat: MapElements[MAX_LOADED_ELEMENTS][MapElement],MinElementID = 0;stock NextElementID(){Increment:MinElementID++;if (MinElementID == MAX_LOADED_ELEMENTS){ print(\"ERROR: Cannot load any more map elements. Current maximum \"#MAX_LOADED_ELEMENTS\" has been reached!\");return false;}if (MapElements[MinElementID][eElementType]) goto Increment;return true;}// :::::::::::::::::::::::::: STOCK FUNCTIONS :::::::::::::::::::::::::::stock UnloadMtaMap(file[]){new n;for (new id=MAX_LOADED_ELEMENTS-1; id >= 0; id--) if (MapElements[id][eElementType] && strcmp(file, MapElements[id][eElementSource], false, MAX_MAP_FILE_PATH) == 0){ switch (MapElements[id][eElementType]) { case ELEMENT_TYPE_OBJECT: DELETE_OBJECT(MapElements[id][eElementID]); case ELEMENT_TYPE_VEHICLE: DestroyVehicle(MapElements[id][eElementID]); } MapElements[id][eElementID] = 0; MapElements[id][eElementType] = ELEMENT_TYPE_NONE; MapElements[id][eElementSource][0] = \'\\0\'; MinElementID = id;}return n;}stock IsMapLoaded(file[]){for (new id=MAX_LOADED_ELEMENTS-1; id >= 0; id--) if (MapElements[id][eElementType] && strcmp(file, MapElements[id][eElementSource], false, MAX_MAP_FILE_PATH) == 0) return true;return false;}stock UnloadAll(){new n;for (new id=MAX_LOADED_ELEMENTS-1; id >= 0; id--) if (MapElements[id][eElementType]){ switch (MapElements[id][eElementType]) { case ELEMENT_TYPE_OBJECT: DELETE_OBJECT(MapElements[id][eElementID]); case ELEMENT_TYPE_VEHICLE: DestroyVehicle(MapElements[id][eElementID]); } MapElements[id][eElementID] = 0; MapElements[id][eElementType] = ELEMENT_TYPE_NONE; MapElements[id][eElementSource][0] = \'\\0\'; MinElementID = id;}return n;}stock LoadMtaMap(file[], convert03c=false){if (!fexist(file) || MinElementID == MAX_LOADED_ELEMENTS){ printf(\"Map %s cannot be loaded\", file);return 0;}new File:MapFile=fopen(file),n, string[400], numberplate[MAX_NUMBERPLATE],Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz,modelid, paintjob, interior, world,t = GetTickCount();while(fread(MapFile, string)){ if (!sscanf(string, \"p<\\\">\'object\'\'model=\'d\'interior=\'d\'dimension=\'d\'posX=\'f\'posY=\'f\'posZ=\'f\'rotX=\'f\'rotY=\'f\'rotZ=\'f\", modelid, interior, world, x, y, z, rx, ry, rz)){ if (convert03c) { switch(modelid) { case 14383..14483: modelid += 4248; case 14770..14856: modelid += 4063; case 14858..14871: modelid += 4062; case 18000..18036: modelid += 934; case 18038..18101: modelid += 933; case 14872..14883: modelid += 4163; case 14885..14891: modelid += 4162; case 13590..13667: modelid += 5142; case 14500..14522: modelid += 4310; case 12835..12944: modelid -= 6219; case 14892: modelid += 5009; } } //modelid x y z rx ry rz interior world new objectid = ADD_OBJECT(modelid, x, y, z, rx, ry, rz); if (objectid == INVALID_OBJECT_ID) printf(\"Error, object could not be created. Make sure you don\'t exceed max number of objects. Use stramer if you need to create more than %d objects!\", MAX_OBJECTS); else { #if defined _streamer_included Streamer_SetFloatData(STREAMER_TYPE_OBJECT, objectid, E_STREAMER_DRAW_DISTANCE, MAP_STREAM_DISTANCE); #endif MapElements[MinElementID][eElementType] = ELEMENT_TYPE_OBJECT; MapElements[MinElementID][eElementID] = objectid; strcp(file, MapElements[MinElementID][eElementSource]); //MapElements[MinElementID][eElementSource] = file; n++; //printf(\"Object %d loaded into slot %d\", objectid, MinElementID); if (!NextElementID()) { fclose(MapFile); return n; } } } else if (!sscanf(string, \"p<\\\">\'vehicle\'\'paintjob=\'d\'model=\'d\'plate=\'s[\"#MAX_NUMBERPLATE\"]\'interior=\'d\'dimension=\'d\'posX=\'f\'posY=\'f\'posZ=\'f\'rotZ=\'f\", paintjob, modelid, numberplate, interior, world, x, y, z, rz)) { new col1, col2, colors[20], mods[80], modd[MAX_MODS]; sscanf(string, \"p<\\\">\'color=\'s[20] \", colors); sscanf(string, \"p<\\\">\'upgrades=\'s[80] \", mods); sscanf(colors, \"p<,>dd\", col1, col2); sscanf(mods, \"p<,>A<d>(0)[\"#MAX_MODS\"]\", modd); //modelid x y z rz col1 col2 paintjob interior world new vehicleid = CreateVehicle(modelid, x, y, z, rz, col1, col2, VEHICLE_RESPAWN_DELAY); if (vehicleid == INVALID_VEHICLE_ID) print(\"Vehicle failed to load! Check if you exceeded maximum of 2000 vehicles\"); else { SetVehicleNumberPlate(vehicleid, numberplate); SetVehicleToRespawn(vehicleid); for (new i; i < MAX_MODS; i++) if (modd) AddVehicleComponent(vehicleid, modd); ChangeVehiclePaintjob(vehicleid, paintjob); LinkVehicleToInterior(vehicleid, interior); SetVehicleVirtualWorld(vehicleid, world); MapElements[MinElementID][eElementType] = ELEMENT_TYPE_VEHICLE; MapElements[MinElementID][eElementID] = vehicleid; strcp(file, MapElements[MinElementID][eElementSource]); //MapElements[MinElementID][eElementSource] = file; n++; //printf(\"Vehicle %d loaded into slot %d\", vehicleid, MinElementID); if (!NextElementID()) { fclose(MapFile); return n; } } }}fclose(MapFile);printf(\"%d items loaded from \'%s\' in %dms\", n, file, GetTickCount()-t);return n;}stock strcp(from[], to[]){new i;for (i = 0; from; i++) to = from;to = \'\\0\';}/*Copyright 2010 Michael Dabski (mick88)This script is my intelectual property. Please respect that and keep my credits where they are.You are free to modify this script or use parts of the code as long as you give me credit for my work.*/
Ücs haverna nekem is volt ez a hibám.megoldottam és hibátlanul mükszik:itt az inc: /*Copyright 2010 Michael Dabski (mick88)This script is my intelectual property. Please respect that and keep my credits where they are.You are free to modify this script or use parts of the code as long as you give me credit for my work.*//*MTA .map loader by mick88 Release 0.212th December 2010 Requirements: SSCANF2 plugin by Y_Less Stock functions: LoadMtaMap(file[], convert03c) - loads .map file UnloadMtaMap(file[]) - unloads previously loaded .map file UnloadAll() - unloads all .map files IsMapLoaded(file[]) - returns true if map has been loaded (even if loaded partially) Supported map elements: objects, vehicles Supported object data: model, posX, posY, posZ, rotX, rotY, rotZ + SAMP 0.3c objects Supported vehicle data: model, paintjob, mods (upgrades), colors (2 colors), posX, posY, posZ, rotZ, interior, world (dimension), numberplate (0.3c only)Changelog:* 13th September 2010 ver 0.1:- first release* 12th December 2010 ver 0.2-Added support for SA-MP 0.3c objects-Added storing object/vehicle IDs-Added function to unload single map-This script is now an include-Added support for custom vehicle numberplates (SA-MP 0.3c only)-Added function to unload all current map files-Added function checking if map is loaded-Support for Incognito\'s streamer native UnloadMtaMap(file[MAX_MAP_FILE_PATH]); native LoadMtaMap(file[MAX_MAP_FILE_PATH], convert03c=false); native UnloadAll(); native IsMapLoaded(file[MAX_MAP_FILE_PATH]); */#include <sscanf2>#define MAX_LOADED_ELEMENTS 5000 //Max number of vehicles + objects#define MAX_MAP_FILE_PATH 80#define VEHICLE_RESPAWN_DELAY 300#define MAP_STREAM_DISTANCE 300.0#if defined _streamer_included #define ADD_OBJECT(%1) CreateDynamicObject(%1, interior, world, -1, MAP_STREAM_DISTANCE) #define DELETE_OBJECT(%1) DestroyDynamicObject(%1)#else //Modify these if you use different streamer: #define ADD_OBJECT(%1) CreateObject(%1, MAP_STREAM_DISTANCE)#define DELETE_OBJECT(%1) DestroyObject(%1)#endif#define MAX_MODS 14#define MAX_NUMBERPLATE 9#define ELEMENT_TYPE_NONE 0#define ELEMENT_TYPE_OBJECT 1#define ELEMENT_TYPE_VEHICLE 2enum MapElement{eElementID,eElementType,eElementSource[MAX_MAP_FILE_PATH]}newFloat: MapElements[MAX_LOADED_ELEMENTS][MapElement],MinElementID = 0;stock NextElementID(){Increment:MinElementID++;if (MinElementID == MAX_LOADED_ELEMENTS){ print(\"ERROR: Cannot load any more map elements. Current maximum \"#MAX_LOADED_ELEMENTS\" has been reached!\");return false;}if (MapElements[MinElementID][eElementType]) goto Increment;return true;}// :::::::::::::::::::::::::: STOCK FUNCTIONS :::::::::::::::::::::::::::stock UnloadMtaMap(file[]){new n;for (new id=MAX_LOADED_ELEMENTS-1; id >= 0; id--) if (MapElements[id][eElementType] && strcmp(file, MapElements[id][eElementSource], false, MAX_MAP_FILE_PATH) == 0){ switch (MapElements[id][eElementType]) { case ELEMENT_TYPE_OBJECT: DELETE_OBJECT(MapElements[id][eElementID]); case ELEMENT_TYPE_VEHICLE: DestroyVehicle(MapElements[id][eElementID]); } MapElements[id][eElementID] = 0; MapElements[id][eElementType] = ELEMENT_TYPE_NONE; MapElements[id][eElementSource][0] = \'\\0\'; MinElementID = id;}return n;}stock IsMapLoaded(file[]){for (new id=MAX_LOADED_ELEMENTS-1; id >= 0; id--) if (MapElements[id][eElementType] && strcmp(file, MapElements[id][eElementSource], false, MAX_MAP_FILE_PATH) == 0) return true;return false;}stock UnloadAll(){new n;for (new id=MAX_LOADED_ELEMENTS-1; id >= 0; id--) if (MapElements[id][eElementType]){ switch (MapElements[id][eElementType]) { case ELEMENT_TYPE_OBJECT: DELETE_OBJECT(MapElements[id][eElementID]); case ELEMENT_TYPE_VEHICLE: DestroyVehicle(MapElements[id][eElementID]); } MapElements[id][eElementID] = 0; MapElements[id][eElementType] = ELEMENT_TYPE_NONE; MapElements[id][eElementSource][0] = \'\\0\'; MinElementID = id;}return n;}stock LoadMtaMap(file[], convert03c=false){if (!fexist(file) || MinElementID == MAX_LOADED_ELEMENTS){ printf(\"Map %s cannot be loaded\", file);return 0;}new File:MapFile=fopen(file),n, string[400], numberplate[MAX_NUMBERPLATE],Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz,modelid, paintjob, interior, world,t = GetTickCount();while(fread(MapFile, string)){ if (!sscanf(string, \"p<\\\">\'object\'\'model=\'d\'interior=\'d\'dimension=\'d\'posX=\'f\'posY=\'f\'posZ=\'f\'rotX=\'f\'rotY=\'f\'rotZ=\'f\", modelid, interior, world, x, y, z, rx, ry, rz)){ if (convert03c) { switch(modelid) { case 14383..14483: modelid += 4248; case 14770..14856: modelid += 4063; case 14858..14871: modelid += 4062; case 18000..18036: modelid += 934; case 18038..18101: modelid += 933; case 14872..14883: modelid += 4163; case 14885..14891: modelid += 4162; case 13590..13667: modelid += 5142; case 14500..14522: modelid += 4310; case 12835..12944: modelid -= 6219; case 14892: modelid += 5009; } } //modelid x y z rx ry rz interior world new objectid = ADD_OBJECT(modelid, x, y, z, rx, ry, rz); if (objectid == INVALID_OBJECT_ID) printf(\"Error, object could not be created. Make sure you don\'t exceed max number of objects. Use stramer if you need to create more than %d objects!\", MAX_OBJECTS); else { #if defined _streamer_included Streamer_SetFloatData(STREAMER_TYPE_OBJECT, objectid, E_STREAMER_DRAW_DISTANCE, MAP_STREAM_DISTANCE); #endif MapElements[MinElementID][eElementType] = ELEMENT_TYPE_OBJECT; MapElements[MinElementID][eElementID] = objectid; strcp(file, MapElements[MinElementID][eElementSource]); //MapElements[MinElementID][eElementSource] = file; n++; //printf(\"Object %d loaded into slot %d\", objectid, MinElementID); if (!NextElementID()) { fclose(MapFile); return n; } } } else if (!sscanf(string, \"p<\\\">\'vehicle\'\'paintjob=\'d\'model=\'d\'plate=\'s[\"#MAX_NUMBERPLATE\"]\'interior=\'d\'dimension=\'d\'posX=\'f\'posY=\'f\'posZ=\'f\'rotZ=\'f\", paintjob, modelid, numberplate, interior, world, x, y, z, rz)) { new col1, col2, colors[20], mods[80], modd[MAX_MODS]; sscanf(string, \"p<\\\">\'color=\'s[20] \", colors); sscanf(string, \"p<\\\">\'upgrades=\'s[80] \", mods); sscanf(colors, \"p<,>dd\", col1, col2); sscanf(mods, \"p<,>A<d>(0)[\"#MAX_MODS\"]\", modd); //modelid x y z rz col1 col2 paintjob interior world new vehicleid = CreateVehicle(modelid, x, y, z, rz, col1, col2, VEHICLE_RESPAWN_DELAY); if (vehicleid == INVALID_VEHICLE_ID) print(\"Vehicle failed to load! Check if you exceeded maximum of 2000 vehicles\"); else { SetVehicleNumberPlate(vehicleid, numberplate); SetVehicleToRespawn(vehicleid); for (new i; i < MAX_MODS; i++) if (modd) AddVehicleComponent(vehicleid, modd); ChangeVehiclePaintjob(vehicleid, paintjob); LinkVehicleToInterior(vehicleid, interior); SetVehicleVirtualWorld(vehicleid, world); MapElements[MinElementID][eElementType] = ELEMENT_TYPE_VEHICLE; MapElements[MinElementID][eElementID] = vehicleid; strcp(file, MapElements[MinElementID][eElementSource]); //MapElements[MinElementID][eElementSource] = file; n++; //printf(\"Vehicle %d loaded into slot %d\", vehicleid, MinElementID); if (!NextElementID()) { fclose(MapFile); return n; } } }}fclose(MapFile);printf(\"%d items loaded from \'%s\' in %dms\", n, file, GetTickCount()-t);return n;}stock strcp(from[], to[]){new i;for (i = 0; from; i++) to = from;to = \'\\0\';}/*Copyright 2010 Michael Dabski (mick88)This script is my intelectual property. Please respect that and keep my credits where they are.You are free to modify this script or use parts of the code as long as you give me credit for my work.*/
Mûxik tökéletesen csak nekem is írta a warningot