| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654 |
- #define MAX_MAPLOAD_VARNAME 30
- enum MAPLOAD_TYPE_DATA {
- MAPLOAD_TYPE_ID,
- MAPLOAD_TYPE_VARNAME[MAX_MAPLOAD_VARNAME+1 char]
- }
- static
- l_ObjectData [MAX_OBJECTS][MAPLOAD_TYPE_DATA],
- l_VehicleData [MAX_VEHICLES][MAPLOAD_TYPE_DATA],
- l_ActorData [MAX_ACTORS][MAPLOAD_TYPE_DATA],
- l_ObjectsAdded,
- l_VehiclesAdded,
- l_ActorsAdded
- ;
- ShowMapLoadDialog(playerid, dialogid) {
- switch( dialogid ) {
- case DIALOGID_MAP_LOAD: {
- ShowPlayerDialog(playerid, dialogid, DIALOG_STYLE_INPUT, "Load Map", "Enter the name of the map you would like to load:", "Load", "Cancel");
- }
- default: {
- return 0;
- }
- }
- return 1;
- }
- mapload_CreateVarname(id, idtype, varname[]) {
- switch(idtype) {
- case ID_TYPE_OBJECT: {
- if(l_ObjectsAdded >= MAX_OBJECTS) {
- return 0;
- }
- l_ObjectData[l_ObjectsAdded][MAPLOAD_TYPE_ID] = id;
- strpack(l_ObjectData[l_ObjectsAdded][MAPLOAD_TYPE_VARNAME], varname, MAX_MAPLOAD_VARNAME+1);
- l_ObjectsAdded ++;
- }
- case ID_TYPE_VEHICLE: {
- if(l_VehiclesAdded >= MAX_VEHICLES) {
- return 0;
- }
- l_VehicleData[l_VehiclesAdded][MAPLOAD_TYPE_ID] = id;
- strpack(l_VehicleData[l_VehiclesAdded][MAPLOAD_TYPE_VARNAME], varname, MAX_MAPLOAD_VARNAME+1);
- l_VehiclesAdded ++;
- }
- case ID_TYPE_ACTOR: {
- if(l_ActorsAdded >= MAX_ACTORS) {
- return 0;
- }
- l_ActorData[l_ActorsAdded][MAPLOAD_TYPE_ID] = id;
- strpack(l_ActorData[l_ActorsAdded][MAPLOAD_TYPE_VARNAME], varname, MAX_MAPLOAD_VARNAME+1);
- l_ActorsAdded ++;
- }
- default: {
- return 0;
- }
- }
- return 1;
- }
- mapload_GetVarname(idtype, varname[]) {
- new packed_varname[MAX_MAPLOAD_VARNAME+1];
- strpack(packed_varname, varname, sizeof packed_varname);
- switch(idtype) {
- case ID_TYPE_OBJECT: {
- if(l_ObjectsAdded == 0) {
- return INVALID_OBJECT_ID;
- }
- for(new i = l_ObjectsAdded - 1; i >= 0; i --) {
- if(!strcmp(packed_varname, l_ObjectData[i][MAPLOAD_TYPE_VARNAME])) {
- return l_ObjectData[i][MAPLOAD_TYPE_ID];
- }
- }
- return INVALID_OBJECT_ID;
- }
- case ID_TYPE_VEHICLE: {
- if(l_VehiclesAdded == 0) {
- return INVALID_VEHICLE_ID;
- }
- for(new i = l_VehiclesAdded - 1; i >= 0; i --) {
- if(!strcmp(packed_varname, l_VehicleData[i][MAPLOAD_TYPE_VARNAME])) {
- return l_VehicleData[i][MAPLOAD_TYPE_ID];
- }
- }
- return INVALID_VEHICLE_ID;
- }
- case ID_TYPE_ACTOR: {
- if(l_ActorsAdded == 0) {
- return INVALID_ACTOR_ID;
- }
- for(new i = l_ActorsAdded - 1; i >= 0; i --) {
- if(!strcmp(packed_varname, l_ActorData[i][MAPLOAD_TYPE_VARNAME])) {
- return l_ActorData[i][MAPLOAD_TYPE_ID];
- }
- }
- return INVALID_ACTOR_ID;
- }
- }
- return 0;
- }
- mapload_ResetVariables() {
- while(l_ObjectsAdded > 0) {
- l_ObjectsAdded --;
- l_ObjectData[l_ObjectsAdded][MAPLOAD_TYPE_ID] = INVALID_OBJECT_ID;
- strpack(l_ObjectData[l_ObjectsAdded][MAPLOAD_TYPE_VARNAME], "", MAX_MAPLOAD_VARNAME+1);
- }
- while(l_VehiclesAdded > 0) {
- l_VehiclesAdded --;
- l_VehicleData[l_VehiclesAdded][MAPLOAD_TYPE_ID] = INVALID_VEHICLE_ID;
- strpack(l_VehicleData[l_VehiclesAdded][MAPLOAD_TYPE_VARNAME], "", MAX_MAPLOAD_VARNAME+1);
- }
- while(l_ActorsAdded > 0) {
- l_ActorsAdded --;
- l_ActorData[l_ActorsAdded][MAPLOAD_TYPE_ID] = INVALID_ACTOR_ID;
- strpack(l_ActorData[l_ActorsAdded][MAPLOAD_TYPE_VARNAME], "", MAX_MAPLOAD_VARNAME+1);
- }
- }
- MapLoad(
- mapname[],
- &objects_loaded,
- &vehicles_loaded,
- &pickups_loaded,
- &actors_loaded,
- &attachments_loaded,
- &buildings_loaded,
- playerid = INVALID_PLAYER_ID
- ) {
- GetMapFilePath(mapname, g_FilePathString, sizeof g_FilePathString);
- if( !fexist(g_FilePathString) ) {
- return 0;
- }
- new File:file_handle = fopen(g_FilePathString, io_read);
- if( !file_handle ) {
- return 0;
- }
- mapload_ResetVariables();
- static
- buffer[500],
- func[100],
- params[300],
- comment[100]
- ;
- while( fread(file_handle, buffer) ) {
- strtrim(buffer);
- if( sscanf(buffer, "p<(>s[100]p<;>s[300]S(no comment)[100]", func, params, comment) ) {
- continue;
- }
- strtrim(params, " )");
- strtrim(comment, " /");
- if( isempty(comment) ) {
- format(comment, sizeof comment, "no comment");
- }
- if( strfind(func, "CreateObject") != -1 ) {
- static
- modelid,
- Float:x,
- Float:y,
- Float:z,
- Float:rx,
- Float:ry,
- Float:rz,
- Float:drawdistance,
- objectid,
- varname[MAX_MAPLOAD_VARNAME+1]
- ;
- if( sscanf(params, "p<,>iffffffF(0)", modelid, x, y, z, rx, ry, rz, drawdistance) ) {
- continue;
- }
- objectid = CreateObject(modelid, x, y, z, rx, ry, rz, drawdistance);
- if( objectid == INVALID_OBJECT_ID ) {
- continue;
- }
- strpack(g_ObjectData[objectid-1][OBJECT_DATA_COMMENT], comment, MAX_COMMENT_LEN+1);
- if( !sscanf(func, "p<=>s[31]{s[100]}", varname) ) {
- strtrim(varname, " ");
- mapload_CreateVarname(objectid, ID_TYPE_OBJECT, varname);
- }
-
- objects_loaded ++;
- }
- else if(
- strfind(func, "AddStaticVehicleEx") != -1 ||
- strfind(func, "AddStaticVehicle") != -1 ||
- strfind(func, "CreateVehicle") != -1
- ) {
- static
- modelid,
- Float:x,
- Float:y,
- Float:z,
- Float:r,
- color1,
- color2,
- vehicleid,
- varname[MAX_MAPLOAD_VARNAME+1]
- ;
- if( sscanf(params, "p<,>iffffii{s[100]}", modelid, x, y, z, r, color1, color2) ) {
- continue;
- }
- vehicleid = CreateVehicle(modelid, x, y, z, r, color1, color2, -1);
- if( vehicleid == INVALID_VEHICLE_ID ) {
- continue;
- }
- strpack(g_VehicleData[vehicleid-1][VEHICLE_DATA_COMMENT], comment, MAX_COMMENT_LEN+1); // Set Vehicle Comment
- if( !sscanf(func, "p<=>s[31]{s[100]}", varname) ) {
- strtrim(varname, " ");
- mapload_CreateVarname(vehicleid, ID_TYPE_VEHICLE, varname);
- }
-
- vehicles_loaded ++;
- }
- else if(
- strfind(func, "AddStaticPickup") != -1 ||
- strfind(func, "CreatePickup") != -1
- ) {
- static
- modelid,
- Float:x,
- Float:y,
- Float:z,
- pickupid
- ;
- if( sscanf(params, "p<,>i{s[100]}fff{s[100]}", modelid, x, y, z) ) {
- continue;
- }
- pickupid = CreatePickup(modelid, 1, x, y, z);
- if( pickupid != INVALID_PICKUP_ID ) {
- strpack(g_PickupData[pickupid][PICKUP_DATA_COMMENT], comment, MAX_COMMENT_LEN+1); // Set Comment
- }
-
- pickups_loaded ++;
- }
- else if( strfind(func, "CreateActor") != -1 ) {
- static
- modelid,
- Float:x,
- Float:y,
- Float:z,
- Float:r,
- actorid,
- varname[MAX_MAPLOAD_VARNAME+1]
- ;
- if( sscanf(params, "p<,>iffff", modelid, x, y, z, r) ) {
- continue;
- }
- actorid = CreateActor(modelid, x, y, z, r);
- if( actorid == INVALID_ACTOR_ID ) {
- continue;
- }
- strpack(g_ActorData[actorid][ACTOR_DATA_COMMENT], comment, MAX_COMMENT_LEN+1); // Set Comment
- if( !sscanf(func, "p<=>s[31]{s[100]}", varname) ) {
- strtrim(varname, " ");
- mapload_CreateVarname(actorid, ID_TYPE_ACTOR, varname);
- }
-
- actors_loaded ++;
- }
- else if( strfind(func, "SetObjectMaterialText") != -1 ) {
- static
- varname[MAX_MAPLOAD_VARNAME+1],
- text[100],
- matindex,
- matsize_name[100],
- matsize_int,
- font[100],
- fontsize,
- isbold,
- fontcolor,
- backcolor,
- alignment,
- objectid
- ;
- if(
- sscanf(params, "p<,>s[31]s[100]I(0)S(90)[100]S(Arial)[100]I(24)I(1)H(0xFFFFFFFF)H(0x0)I(0)", varname, text, matindex, matsize_name, font, fontsize, isbold, fontcolor, backcolor, alignment) &&
- sscanf(params, "p<,>s[31]s[100]I(0)S(90)[100]S(Arial)[100]I(24)I(1)I(-1)I(0)I(0)", varname, text, matindex, matsize_name, font, fontsize, isbold, fontcolor, backcolor, alignment)
- ) {
- continue;
- }
- strtrim(varname, " ");
- strtrim(matsize_name, " ");
- strtrim(text, " \"");
- strtrim(font, " \"");
- objectid = mapload_GetVarname(ID_TYPE_OBJECT, varname);
- if( objectid == INVALID_OBJECT_ID ) {
- continue;
- }
- if( !IsValidMaterialIndex(matindex) ) {
- continue;
- }
- matsize_int = GetMaterialSize(matsize_name);
- if( matsize_int == INVALID_MATERIAL_SIZE ) {
- continue;
- }
- g_ObjectData[objectid-1][OBJECT_DATA_MATINDEX_TYPE][matindex] = MATERIALINDEX_TYPE_TEXT;
- strpack(g_ObjectText[objectid-1][matindex], text, MAX_OBJECT_TEXT+1);
- g_ObjectData[objectid-1][OBJECT_DATA_MATINDEX_SIZE][matindex] = matsize_int;
- strpack(g_ObjectFont[objectid-1][matindex], font, MAX_FONTNAME_LEN+1);
- g_ObjectData[objectid-1][OBJECT_DATA_MATINDEX_FONTSIZE][matindex] = fontsize;
- g_ObjectData[objectid-1][OBJECT_DATA_MATINDEX_ISBOLD][matindex] = isbold ? true : false;
- g_ObjectData[objectid-1][OBJECT_DATA_MATINDEX_FONTCOLOR][matindex] = fontcolor;
- g_ObjectData[objectid-1][OBJECT_DATA_MATINDEX_COLOR][matindex] = backcolor;
- g_ObjectData[objectid-1][OBJECT_DATA_MATINDEX_ALIGNMENT][matindex] = alignment;
- ApplyObjectMaterialIndexData(objectid, matindex);
- }
- else if( strfind(func, "SetObjectMaterial") != -1 ) {
- static
- varname[MAX_MAPLOAD_VARNAME+1],
- matindex,
- texturemodelid,
- texturetxd[100],
- texturename[100],
- matcolor,
- objectid,
- textureid
- ;
- if(
- sscanf(params, "p<,>s[31]iis[100]s[100]H(0x0)", varname, matindex, texturemodelid, texturetxd, texturename, matcolor) &&
- sscanf(params, "p<,>s[31]iis[100]s[100]I(0)", varname, matindex, texturemodelid, texturetxd, texturename, matcolor)
- ){
- continue;
- }
- strtrim(varname, " ");
- strtrim(texturetxd, " \"");
- strtrim(texturename, " \"");
- if( !IsValidMaterialIndex(matindex) ) {
- continue;
- }
- objectid = mapload_GetVarname(ID_TYPE_OBJECT, varname);
- if( objectid == INVALID_OBJECT_ID ) {
- continue;
- }
- textureid = GetTextureID(texturemodelid, texturetxd, texturename);
- g_ObjectData[objectid-1][OBJECT_DATA_MATINDEX_TYPE][matindex] = MATERIALINDEX_TYPE_TEXTURE;
- g_ObjectData[objectid-1][OBJECT_DATA_MATINDEX_TEXTURE][matindex] = textureid;
- g_ObjectData[objectid-1][OBJECT_DATA_MATINDEX_COLOR][matindex] = matcolor;
- ApplyObjectMaterialIndexData(objectid, matindex);
- }
- else if( strfind(func, "AddVehicleComponent") != -1 ) {
- static
- componentid,
- vehicleid,
- varname[MAX_MAPLOAD_VARNAME+1]
- ;
- if( sscanf(params, "p<,>s[31]i", varname, componentid) ) {
- continue;
- }
- strtrim(varname, " ");
- vehicleid = mapload_GetVarname(ID_TYPE_VEHICLE, varname);
- if( vehicleid != INVALID_VEHICLE_ID ) {
- AddVehicleComponent(vehicleid, componentid);
- }
- }
- else if( strfind(func, "ChangeVehiclePaintjob") != -1 ) {
- static
- paintjobid,
- vehicleid,
- varname[MAX_MAPLOAD_VARNAME+1]
- ;
- if( sscanf(params, "p<,>s[31]i", varname, paintjobid) ) {
- continue;
- }
- strtrim(varname, " ");
- vehicleid = mapload_GetVarname(ID_TYPE_VEHICLE, varname);
- if( vehicleid == INVALID_VEHICLE_ID ) {
- continue;
- }
- g_VehicleData[vehicleid-1][VEHICLE_DATA_PAINTJOB] = paintjobid;
- ChangeVehiclePaintjob(vehicleid, paintjobid);
- }
- else if( strfind(func, "AttachObjectToObject") != -1 ) {
- static
- varname[MAX_MAPLOAD_VARNAME+1],
- attachto_varname[MAX_MAPLOAD_VARNAME+1],
- Float:x,
- Float:y,
- Float:z,
- Float:rx,
- Float:ry,
- Float:rz,
- objectid,
- attachtoid
- ;
- if( sscanf(params, "p<,>s[31]s[31]ffffff", varname, attachto_varname, x, y, z, rx, ry, rz) ) {
- continue;
- }
- strtrim(varname, " ");
- strtrim(attachto_varname, " ");
- objectid = mapload_GetVarname(ID_TYPE_OBJECT, varname);
- if( objectid == INVALID_OBJECT_ID ) {
- continue;
- }
- attachtoid = mapload_GetVarname(ID_TYPE_OBJECT, attachto_varname);
- if( attachtoid == INVALID_OBJECT_ID ) {
- continue;
- }
- g_ObjectData[objectid-1][OBJECT_DATA_ATTACH_IDTYPE] = ID_TYPE_OBJECT;
- g_ObjectData[objectid-1][OBJECT_DATA_ATTACH_ID] = attachtoid;
- g_ObjectData[objectid-1][OBJECT_DATA_ATTACH_X] = x;
- g_ObjectData[objectid-1][OBJECT_DATA_ATTACH_Y] = y;
- g_ObjectData[objectid-1][OBJECT_DATA_ATTACH_Z] = z;
- g_ObjectData[objectid-1][OBJECT_DATA_ATTACH_RX] = rx;
- g_ObjectData[objectid-1][OBJECT_DATA_ATTACH_RY] = ry;
- g_ObjectData[objectid-1][OBJECT_DATA_ATTACH_RZ] = rz;
- ApplyObjectAttachData(objectid);
- }
- else if( strfind(func, "AttachObjectToVehicle") != -1 ) {
- static
- varname[MAX_MAPLOAD_VARNAME+1],
- attachto_varname[MAX_MAPLOAD_VARNAME+1],
- Float:x,
- Float:y,
- Float:z,
- Float:rx,
- Float:ry,
- Float:rz,
- objectid,
- attachtoid
- ;
- if( sscanf(params, "p<,>s[31]s[31]ffffff", varname, attachto_varname, x, y, z, rx, ry, rz) ) {
- continue;
- }
- strtrim(varname, " ");
- strtrim(attachto_varname, " ");
- objectid = mapload_GetVarname(ID_TYPE_OBJECT, varname);
- if( objectid == INVALID_OBJECT_ID ) {
- continue;
- }
- attachtoid = mapload_GetVarname(ID_TYPE_VEHICLE, attachto_varname);
- if( attachtoid == INVALID_VEHICLE_ID ) {
- continue;
- }
- g_ObjectData[objectid-1][OBJECT_DATA_ATTACH_IDTYPE] = ID_TYPE_VEHICLE;
- g_ObjectData[objectid-1][OBJECT_DATA_ATTACH_ID] = attachtoid;
- g_ObjectData[objectid-1][OBJECT_DATA_ATTACH_X ] = x;
- g_ObjectData[objectid-1][OBJECT_DATA_ATTACH_Y ] = y;
- g_ObjectData[objectid-1][OBJECT_DATA_ATTACH_Z ] = z;
- g_ObjectData[objectid-1][OBJECT_DATA_ATTACH_RX] = rx;
- g_ObjectData[objectid-1][OBJECT_DATA_ATTACH_RY] = ry;
- g_ObjectData[objectid-1][OBJECT_DATA_ATTACH_RZ] = rz;
- ApplyObjectAttachData(objectid);
- }
- else if( strfind(func, "SetPlayerAttachedObject") != -1 ) {
- static
- index,
- modelid,
- bone,
- Float:x,
- Float:y,
- Float:z,
- Float:rx,
- Float:ry,
- Float:rz,
- Float:sx,
- Float:sy,
- Float:sz,
- color1,
- color2
- ;
- if(
- sscanf(params, "p<,>{s[50]}iiiF(0)F(0)F(0)F(0)F(0)F(0)F(0)F(0)F(0)H(0x0)H(0x0)", index, modelid, bone, x, y, z, rx, ry, rz, sx, sy, sz, color1, color2) &&
- sscanf(params, "p<,>{s[50]}iiiF(0)F(0)F(0)F(0)F(0)F(0)F(0)F(0)F(0)I(0)I(0)", index, modelid, bone, x, y, z, rx, ry, rz, sx, sy, sz, color1, color2)
- ){
- continue;
- }
- if( !IsValidPlayerAttachIndex(index) || !IsValidBone(bone) ) {
- continue;
- }
- g_PlayerAttachData[playerid][index][PLAYERATTACH_DATA_TOGGLE] = true;
- g_PlayerAttachData[playerid][index][PLAYERATTACH_DATA_MODEL] = modelid;
- g_PlayerAttachData[playerid][index][PLAYERATTACH_DATA_BONE] = bone;
- g_PlayerAttachData[playerid][index][PLAYERATTACH_DATA_X ] = x;
- g_PlayerAttachData[playerid][index][PLAYERATTACH_DATA_Y ] = y;
- g_PlayerAttachData[playerid][index][PLAYERATTACH_DATA_Z ] = z;
- g_PlayerAttachData[playerid][index][PLAYERATTACH_DATA_RX] = rx;
- g_PlayerAttachData[playerid][index][PLAYERATTACH_DATA_RY] = ry;
- g_PlayerAttachData[playerid][index][PLAYERATTACH_DATA_RZ] = rz;
- g_PlayerAttachData[playerid][index][PLAYERATTACH_DATA_SX] = sx;
- g_PlayerAttachData[playerid][index][PLAYERATTACH_DATA_SY] = sy;
- g_PlayerAttachData[playerid][index][PLAYERATTACH_DATA_SZ] = sz;
- g_PlayerAttachData[playerid][index][PLAYERATTACH_DATA_COLOR1] = color1;
- g_PlayerAttachData[playerid][index][PLAYERATTACH_DATA_COLOR2] = color2;
- ApplyPlayerAttachData(playerid, index);
-
- attachments_loaded ++;
- }
- else if( strfind(func, "ApplyActorAnimation") != -1 ) {
- static
- varname[MAX_MAPLOAD_VARNAME+1],
- animlib[100],
- animname[100],
- Float:delta,
- loop,
- lockx,
- locky,
- freeze,
- time,
- actorid,
- animindex
- ;
- if( sscanf(params, "p<,>s[31]s[100]s[100]fiiiii", varname, animlib, animname, delta, loop, lockx, locky, freeze, time) ) {
- continue;
- }
- strtrim(varname, " ");
- strtrim(animlib, " \"");
- strtrim(animname, " \"");
- actorid = mapload_GetVarname(ID_TYPE_ACTOR, varname);
- if( actorid == INVALID_ACTOR_ID ) {
- continue;
- }
- animindex = GetAnimationIndex(animlib, animname);
- if( animindex == INVALID_ANIM_INDEX ) {
- continue;
- }
- g_ActorData[actorid][ACTOR_DATA_ANIM_INDEX] = animindex;
- g_ActorData[actorid][ACTOR_DATA_ANIM_DELTA] = delta;
- g_ActorData[actorid][ACTOR_DATA_ANIM_LOOP] = loop ? true : false;
- g_ActorData[actorid][ACTOR_DATA_ANIM_LOCKX] = lockx ? true : false;
- g_ActorData[actorid][ACTOR_DATA_ANIM_LOCKY] = locky ? true : false;
- g_ActorData[actorid][ACTOR_DATA_ANIM_FREEZE] = freeze ? true : false;
- g_ActorData[actorid][ACTOR_DATA_ANIM_TIME] = time;
- ApplyActorAnimationData(actorid);
- }
-
- else if( strfind(func, "RemoveBuildingForPlayer") != -1 ) {
- static
- modelid,
- Float:x,
- Float:y,
- Float:z,
- Float:radius,
- building_array[BUILDING_DATA_SIZE],
- buildings_found
- ;
- if( sscanf(params, "p<,>{s[50]}iffff", modelid, x, y, z, radius) ) {
- continue;
- }
-
- buildings_found = GetBuildingsInRange(
- .result = building_array,
- .result_size = BUILDING_DATA_SIZE,
- .search_modelid = modelid,
- .search_x = x,
- .search_y = y,
- .search_z = z,
- .search_radius = radius
- );
- for(new b, buildingid; b < buildings_found; b ++) {
- buildingid = building_array[b];
- if( g_BuildingData[buildingid][BUILDING_DATA_ISREMOVED] ) {
- continue;
- }
- g_BuildingData[buildingid][BUILDING_DATA_ISREMOVED] = true;
- RemoveBuildingIDForAll(buildingid);
- buildings_loaded ++;
- }
- }
- }
- fclose(file_handle);
- return 1;
- }
|