Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Easy Mapincluding
- * (c) Copyright 2015 by FoxHound
- *
- * @author : FoxHound
- * @date : 20 June 2015
- * @version : v4.0
- *
- * @specialthx : • 'Meta' for the Idea to convert the Maps.
- * • For the Users who use this and support me.
- *
- * ___ ___
- * /\__\ /| |
- * /:/ _/_ |:| |
- * /:/ /\__\ |:| |
- * /:/ /:/ / __|:|__|
- * /:/_/:/ / /::::\__\_____
- * \:\/:/ / ~~~~\::::/___/
- * \::/__/ |:|~~|
- * \:\ \ |:| |
- * \:\__\ |:|__|
- * \/__/ |/__/
- * +--+-+-+-+-+-+-+-+-+-+--+
- * | p r o d u c t i o n s |
- * +--+-+-+-+-+-+-+-+-+-+--+
- *
- */
- #if !defined MAX_MAPS
- #define MAX_MAPS 80 //Maximal maps you can load. Increase it, if you want to load more than 80 maps
- #endif
- #if !defined MAX_OBJECT_PER_MAP
- #define MAX_OBJECT_PER_MAP 800 //Mapcount + Vehiclecount + pickupcount.
- #endif
- #if !defined MAX_OBJECTS_REMOVED
- #define MAX_OBJECTS_REMOVED 500 //max WORLD objects you removed on the map
- #endif
- forward OnObjectDataLoad(modelid,Float:posX,Float:posY,Float:posZ,Float:rotX,Float:rotY,Float:rotZ,Float:drawdistance);
- forward OnVehicleDataLoad(vehicletype,Float:x,Float:y,Float:z,Float:rotation,interior,color1,color2,respawn_delay,paintjob,numberplate[],vcomp1,vcomp2,vcomp3,vcomp4,vcomp5,vcomp6,vcomp7,vcomp8,vcomp9,vcomp10,vcomp11,vcomp12,vcomp13,vcomp14);
- forward OnPickupDataLoad(modelid,Float:posX,Float:posY,Float:posZ,virtualworld);
- forward OnActorDataLoad(actorid,modelid,Float:posX,Float:posY,Float:posZ,Float:angle);
- new mID[MAX_MAPS][MAX_OBJECT_PER_MAP];
- new ObjectCount[MAX_MAPS]={0,...};
- new VehicleCount[MAX_MAPS]={0,...};
- new PickupCount[MAX_MAPS]={0,...};
- new PedCount[MAX_MAPS]={0,...};
- new mapIdCount,mifx_str[256],firstload=1,mname[MAX_MAPS][36],idofmap[MAX_MAPS]={-1,...};
- enum e_wO2d { wo2dmodel, wo2did[32], Float:wo2dpos[4] }
- new wO2d[MAX_OBJECTS_REMOVED][e_wO2d],wO2dcount=0;
- stock RGBAToHex(r, g, b, a) { return (r<<24 | g<<16 | b<<8 | a); } //By Betamaster
- stock LoadMap(mapfile[],cnvrt=0) { //bY FoxHound
- if(mapIdCount>=MAX_MAPS) { return printf("[MAP] * ERROR: Couldn't load Map: '%s.map'\n[MAP] * INFO: Please increase the Amount of 'MAX_MAPS' in 'mapincluding.inc'...\n[MAP] * INFO: ...to load more maps.",mifx_str); }
- new flnm[48],funcFound=0,mapmode=0,File:nMapFile,mifxstrfnd=strfind(mapfile,".map",true),loadingMapID=mapIdCount,
- Float:veh_coords[4],lmf_model,lmf_id[32],veh_id[32],veh_data[3]={0,...},fxstr[64],veh_color[2]={-1,-1},veh_plate[16],Float:lmf_coords[7],i[5]={0,...};
- if(mifxstrfnd>-1) { strdel(mapfile,mifxstrfnd,mifxstrfnd+4); }
- if(firstload && fexist(" ")) {
- fremove(" ");
- firstload=0; }
- for(new gg=0;gg<MAX_MAPS;gg++) {
- if(ObjectCount[gg]==-1) { loadingMapID=gg; ObjectCount[gg]=0; break; } }
- format(mname[loadingMapID],64,"%s",mapfile);
- idofmap[loadingMapID]=loadingMapID;
- format(mifx_str,sizeof(mifx_str),"maps/%s.map",mname[loadingMapID]);
- if(!fexist(mifx_str)) { return printf("[MAP] * ERROR: Couldn't load Map: '%s' <File Not Found>",mifx_str); }
- if(!cnvrt) {
- new mi_fx_mpnmfnd=-1,File:tmpfile, mi_fx_lolstr[64];
- format(mi_fx_lolstr,sizeof(mi_fx_lolstr),"(%s-",mapfile);
- tmpfile=fopen(" ",io_readwrite);
- do {
- mi_fx_mpnmfnd=strfind(mifx_str,mi_fx_lolstr,true);
- if(mi_fx_mpnmfnd>-1) { break; } }
- while(fread(tmpfile,mifx_str));
- if(mi_fx_mpnmfnd==-1) { format(mifx_str,sizeof(mifx_str),"(%s-%d)\r\n",mapfile,loadingMapID),fwrite(tmpfile,mifx_str); }
- else { return printf("[MAP] * ERROR: Couldn't load Map: '%s.map' <Already Loaded>",mname[loadingMapID]),fclose(tmpfile); }
- fclose(tmpfile); }
- format(flnm,sizeof(flnm),"maps/OUT_%s.map",mname[loadingMapID]);
- format(mifx_str,sizeof(mifx_str),"maps/%s.map",mname[loadingMapID]);
- new File:map = fopen(mifx_str,io_readwrite);
- while(fread(map,mifx_str)) {
- if(strfind(mifx_str,");",true)!=-1) {
- if(cnvrt) {
- return printf("[MAP] * ERROR: The Map \"%s\" is already a SA-MP Map.\n[MAP] * INFO: Convertion aborted.",mapfile),0; }
- break; }
- else if(strfind(mifx_str,"\"race\"",true)!=-1) { mapmode=1; break; }
- else if(strfind(mifx_str,"\"editor_main\"",true)!=-1) { mapmode=2; break; } }
- if(cnvrt) { nMapFile=fopen(flnm,io_write); }
- if(!mapmode) {
- do {
- if(((strfind(mifx_str,"Object",true)==-1) && (strfind(mifx_str,"Vehicle",true)==-1)) || (strfind(mifx_str,"//")==0)) { print("hähä"); i[0]--; continue; }
- if(i[3]) { i[0]--; continue; }
- // OBJECTLOADER
- if(strfind(mifx_str,"Object",true)!=-1) {
- lmf_model=strval(mi_fx_getPartOfString(mifx_str,1,'(',','));
- lmf_coords[0]=floatstr(mi_fx_getPartOfString(mifx_str,1,','));
- lmf_coords[1]=floatstr(mi_fx_getPartOfString(mifx_str,2,','));
- lmf_coords[2]=floatstr(mi_fx_getPartOfString(mifx_str,3,','));
- lmf_coords[3]=floatstr(mi_fx_getPartOfString(mifx_str,4,','));
- lmf_coords[4]=floatstr(mi_fx_getPartOfString(mifx_str,5,','));
- lmf_coords[5]=floatstr(mi_fx_getPartOfString(mifx_str,6,','));
- lmf_coords[6]=floatstr(mi_fx_getPartOfString(mifx_str,7,',',')'));
- lmf_coords[6] = (lmf_coords[6]) ? lmf_coords[6] : 150.0;
- funcFound=CallRemoteFunction("OnObjectDataLoad","dfffffff",lmf_model,lmf_coords[0],lmf_coords[1],lmf_coords[2],lmf_coords[3],lmf_coords[4],lmf_coords[5],lmf_coords[6]);
- if(!funcFound) { mID[loadingMapID][ObjectCount[loadingMapID]+(VehicleCount[loadingMapID])]=CreateObject(lmf_model,lmf_coords[0],lmf_coords[1],lmf_coords[2],lmf_coords[3],lmf_coords[4],lmf_coords[5],lmf_coords[6]); ObjectCount[loadingMapID]++; }
- }
- if(strfind(mifx_str,"Vehicle",true)!=-1) {
- // VEHICLELOEADER
- veh_data[0]=strval(mi_fx_getPartOfString(mifx_str,1,'(',','));
- veh_coords[0]=floatstr(mi_fx_getPartOfString(mifx_str,1,','));
- veh_coords[1]=floatstr(mi_fx_getPartOfString(mifx_str,2,','));
- veh_coords[2]=floatstr(mi_fx_getPartOfString(mifx_str,3,','));
- veh_coords[3]=floatstr(mi_fx_getPartOfString(mifx_str,4,','));
- veh_color[0]=strval(mi_fx_getPartOfString(mifx_str,5,','));
- veh_color[1]=strval(mi_fx_getPartOfString(mifx_str,6,','));
- veh_data[1]=strval(mi_fx_getPartOfString(mifx_str,7,',',')'));
- veh_data[1] = (!veh_data[1]) ? -1 : veh_data[1];
- funcFound=CallRemoteFunction("OnVehicleDataLoad","dffffddddds",veh_data[0],veh_coords[0],veh_coords[1],veh_coords[2],veh_coords[3],0,veh_color[0],veh_color[1],veh_data[1],3,"FX-GA 21");
- if(!funcFound) { mID[loadingMapID][VehicleCount[loadingMapID]+(ObjectCount[loadingMapID+1])]=CreateVehicle(veh_data[0],veh_coords[0],veh_coords[1],veh_coords[2],veh_coords[3],veh_color[0],veh_color[1],veh_data[1]); VehicleCount[loadingMapID]++; }
- } } while(fread(map,mifx_str)); }
- else if(mapmode==1) {
- for(; fread(map,mifx_str); i[0]++) {
- if(strfind(mifx_str,"//")==0) { i[0]--; continue; }
- if(i[4]) { i[0]--; continue; }
- if(strfind(mifx_str,"spawnpoint",true)!=-1)
- {
- i[1]=strfind(mifx_str,"<vehicle>"), i[2]=strfind(mifx_str,"</vehicle>");
- strmid(fxstr,mifx_str,(i[1]+9),i[2]);
- veh_data[0]=strval(fxstr);
- i[1]=strfind(mifx_str,"<position>"), i[2]=strfind(mifx_str,"</position>");
- strmid(fxstr,mifx_str,(i[1]+10),i[2]);
- veh_coords[0]=floatstr(mi_fx_getPartOfString(fxstr)), veh_coords[1]=floatstr(mi_fx_getPartOfString(fxstr,1)), veh_coords[2]=floatstr(mi_fx_getPartOfString(fxstr,2));
- i[1]=strfind(mifx_str,"<rotation>"), i[2]=strfind(mifx_str,"</rot");
- strmid(fxstr,mifx_str,(i[1]+10),i[2]);
- veh_coords[3]=floatstr(mi_fx_getPartOfString(fxstr));
- if(!cnvrt) {
- funcFound=CallRemoteFunction("OnVehicleDataLoad","dffffddddds",veh_data[0],veh_coords[0],veh_coords[1],veh_coords[2],veh_coords[3],0,-1,-1,-1,3,"FOXHOUND");
- if(!funcFound) { mID[loadingMapID][VehicleCount[loadingMapID]+(ObjectCount[loadingMapID+1])]=CreateVehicle(veh_data[0],veh_coords[0],veh_coords[1],veh_coords[2],veh_coords[3],-1,-1,-1); VehicleCount[loadingMapID]++; } }
- else {
- format(mifx_str,sizeof(mifx_str),"CreateVehicle(%d,%f,%f,%f,%f,-1,-1,-1);\r\n",veh_data[0],veh_coords[0],veh_coords[1],veh_coords[2],veh_coords[3]); fwrite(nMapFile,mifx_str); }
- }
- if(!i[3]) {
- i[1]=strfind(mifx_str,"<position>"), i[2]=strfind(mifx_str,"</position>");
- if((i[1]==-1) || (i[2]==-1)) { continue; }
- strmid(mifx_str,mifx_str,(i[1]+10),i[2]);
- lmf_coords[0]=floatstr(mi_fx_getPartOfString(mifx_str)), lmf_coords[1]=floatstr(mi_fx_getPartOfString(mifx_str,1)), lmf_coords[2]=floatstr(mi_fx_getPartOfString(mifx_str,2));
- i[3]=1; }
- else if(i[3]==1) {
- i[1]=strfind(mifx_str,"<rotation>"), i[2]=strfind(mifx_str,"</rotation>");
- if((i[1]==-1) || (i[2]==-1)) { continue; }
- strmid(mifx_str,mifx_str,(i[1]+10),i[2]);
- lmf_coords[3]=(floatstr(mi_fx_getPartOfString(mifx_str,2))*57.2958), lmf_coords[4]=(floatstr(mi_fx_getPartOfString(mifx_str,1))*57.2958), lmf_coords[5]=(floatstr(mi_fx_getPartOfString(mifx_str))*57.2958);
- i[3]=2; }
- else if(i[3]==2) {
- i[1]=strfind(mifx_str,"<model>"), i[2]=strfind(mifx_str,"</model>");
- if((i[1]==-1) || (i[2]==-1)) { continue; }
- strmid(mifx_str,mifx_str,(i[1]+7),i[2]);
- lmf_model=strval(mifx_str);
- if(!cnvrt) {
- funcFound=CallRemoteFunction("OnObjectDataLoad","dfffffff",lmf_model,lmf_coords[0],lmf_coords[1],lmf_coords[2],lmf_coords[3],lmf_coords[4],lmf_coords[5],150.0);
- if(!funcFound) { mID[loadingMapID][ObjectCount[loadingMapID]+(VehicleCount[loadingMapID])]=CreateObject(lmf_model,lmf_coords[0],lmf_coords[1],lmf_coords[2],lmf_coords[3],lmf_coords[4],lmf_coords[5],150.0); ObjectCount[loadingMapID]++; } }
- else {
- format(mifx_str,sizeof(mifx_str),"CreateObject(%d,%f,%f,%f,%f,%f,%f,150.0);\r\n",lmf_model,lmf_coords[0],lmf_coords[1],lmf_coords[2],lmf_coords[3],lmf_coords[4],lmf_coords[5]); fwrite(nMapFile,mifx_str); }
- i[3]=0; } } }
- else if(mapmode==2) {
- for(; fread(map,mifx_str); i[0]++) {
- if(((strfind(mifx_str,"<object id=",true)==-1) && (strfind(mifx_str,"<object name=",true)==-1) && (strfind(mifx_str,"<vehicle id=",true)==-1) && (strfind(mifx_str,"<removeWorldObject id=",true)==-1) && (strfind(mifx_str,"<pickup id=",true)==-1)) || (strfind(mifx_str,"//")!=-1)) { i[0]--; continue; }
- if(i[3]) { i[0]--; continue; }
- if((strfind(mifx_str,"<object id=",true)!=-1) || (strfind(mifx_str,"<object name=",true)!=-1)) {
- if(strfind(mifx_str,"<object id=",true)!=-1) {
- i[1]=strfind(mifx_str,"object id="), i[2]=strfind(mifx_str," breakable=");
- strmid(lmf_id,mifx_str,(i[1]+11),(i[2]-1));
- i[1]=strfind(mifx_str,"model="), i[2]=strfind(mifx_str," doublesided=");
- strmid(fxstr,mifx_str,(i[1]+7),(i[2]-1));
- lmf_model=strval(fxstr);
- i[1]=strfind(mifx_str,"rotZ="), i[2]=strfind(mifx_str,"></object>");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- lmf_coords[5]=floatstr(fxstr); }
- else if(strfind(mifx_str,"<object name=",true)!=-1) { // Added for Delux Map Converter...
- i[1]=strfind(mifx_str,"object name="), i[2]=strfind(mifx_str," breakable=");
- strmid(lmf_id,mifx_str,(i[1]+13),(i[2]-1));
- i[1]=strfind(mifx_str,"rotZ="), i[2]=strfind(mifx_str," model=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- lmf_coords[5]=floatstr(fxstr);
- i[1]=strfind(mifx_str,"model="), i[2]=strfind(mifx_str," />");
- strmid(fxstr,mifx_str,(i[1]+7),(i[2]-1));
- lmf_model=strval(fxstr); }
- i[1]=strfind(mifx_str,"posX="), i[2]=strfind(mifx_str," posY=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- lmf_coords[0]=floatstr(fxstr);
- i[1]=strfind(mifx_str,"posY="), i[2]=strfind(mifx_str," posZ=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- lmf_coords[1]=floatstr(fxstr);
- i[1]=strfind(mifx_str,"posZ="), i[2]=strfind(mifx_str,"rotX=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-2));
- lmf_coords[2]=floatstr(fxstr);
- i[1]=strfind(mifx_str,"rotX="), i[2]=strfind(mifx_str,"rotY=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-2));
- lmf_coords[3]=floatstr(fxstr);
- i[1]=strfind(mifx_str,"rotY="), i[2]=strfind(mifx_str,"rotZ=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-2));
- lmf_coords[4]=floatstr(fxstr);
- if(!cnvrt) {
- funcFound=CallRemoteFunction("OnObjectDataLoad","dfffffff",lmf_model,lmf_coords[0],lmf_coords[1],lmf_coords[2],lmf_coords[3],lmf_coords[4],lmf_coords[5],150.0);
- if(!funcFound) { mID[loadingMapID][ObjectCount[loadingMapID]+(VehicleCount[loadingMapID])]=CreateObject(lmf_model,lmf_coords[0],lmf_coords[1],lmf_coords[2],lmf_coords[3],lmf_coords[4],lmf_coords[5],150.0); ObjectCount[loadingMapID]++; } }
- else {
- format(mifx_str,sizeof(mifx_str),"CreateObject(%d,%f,%f,%f,%f,%f,%f,150.0); //%s\r\n",lmf_model,lmf_coords[0],lmf_coords[1],lmf_coords[2],lmf_coords[3],lmf_coords[4],lmf_coords[5],lmf_id); fwrite(nMapFile,mifx_str); } }
- else if(strfind(mifx_str,"<vehicle ",true)!=-1) {
- new vc[14];
- i[1]=strfind(mifx_str,"vehicle id="), i[2]=strfind(mifx_str," paintjob=");
- strmid(veh_id,mifx_str,(i[1]+12),(i[2]-1));
- i[1]=strfind(mifx_str,"paintjob="), i[2]=strfind(mifx_str," model=");
- strmid(fxstr,mifx_str,(i[1]+10),(i[2]-1));
- veh_data[0]=strval(fxstr);
- i[1]=strfind(mifx_str,"model="), i[2]=strfind(mifx_str," plate=");
- strmid(fxstr,mifx_str,(i[1]+7),(i[2]-1));
- veh_data[1]=strval(fxstr);
- i[1]=strfind(mifx_str,"plate="), i[2]=strfind(mifx_str," interior=");
- strmid(veh_plate,mifx_str,(i[1]+7),(i[2]-1));
- i[1]=strfind(mifx_str,"interior="), i[2]=strfind(mifx_str," dimension=");
- strmid(fxstr,mifx_str,(i[1]+10),(i[2]-1));
- veh_data[2]=strval(fxstr);
- i[1]=strfind(mifx_str,"posX="), i[2]=strfind(mifx_str," posY=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- veh_coords[0]=floatstr(fxstr);
- i[1]=strfind(mifx_str,"posY="), i[2]=strfind(mifx_str," posZ=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- veh_coords[1]=floatstr(fxstr);
- i[1]=strfind(mifx_str,"posZ="), i[2]=strfind(mifx_str," rotX=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- veh_coords[2]=floatstr(fxstr);
- i[1]=strfind(mifx_str,"rotZ="), i[2]=strfind(mifx_str," upgrades=");
- if(i[2]>-1)
- {
- new var[2];
- var[0]=i[2];
- var[1]=strfind(mifx_str," color=");
- if(var[1]==-1) var[1]=strfind(mifx_str,"></vehicle>");
- strmid(fxstr,mifx_str,(var[0]+11),(var[1]-1));
- for(new d=0;d<sizeof(vc);d++) {
- vc[d]=strval(mi_fx_getPartOfString(fxstr,d,','));
- if((vc[d] < 1000) || (vc[d]>1193)) {
- vc[d]=0; } } }
- else { i[2]=strfind(mifx_str," color="); }
- if(i[2]==-1) { i[2]=strfind(mifx_str,"></vehicle>"); }
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- veh_coords[3]=floatstr(fxstr);
- if(!cnvrt) {
- funcFound=CallRemoteFunction("OnVehicleDataLoad","dffffdddddsdddddddddddddd",veh_data[1],veh_coords[0],veh_coords[1],veh_coords[2],veh_coords[3],veh_data[2],veh_color[0],veh_color[1],-1,veh_data[0],veh_plate,vc[0],vc[1],vc[2],vc[3],vc[4],vc[5],vc[6],vc[7],vc[8],vc[9],vc[10],vc[11],vc[12],vc[13]);
- if(!funcFound) {//[FX]
- mID[loadingMapID][VehicleCount[loadingMapID]+(ObjectCount[loadingMapID+1])]=CreateVehicle(veh_data[1],veh_coords[0],veh_coords[1],veh_coords[2],veh_coords[3],veh_color[0],veh_color[1],3600);
- ChangeVehiclePaintjob(mID[loadingMapID][VehicleCount[loadingMapID]+(ObjectCount[loadingMapID+1])],veh_data[0]);
- mi_fx_quicksetvehiclenumplate(mID[loadingMapID][VehicleCount[loadingMapID]+(ObjectCount[loadingMapID+1])],veh_plate);
- for(new d=0;d<sizeof(vc);d++) {
- if(!vc[d]) continue;
- AddVehicleComponent(mID[loadingMapID][VehicleCount[loadingMapID]+(ObjectCount[loadingMapID+1])],vc[d]); }
- LinkVehicleToInterior(mID[loadingMapID][VehicleCount[loadingMapID]+(ObjectCount[loadingMapID+1])],veh_data[2]);
- VehicleCount[loadingMapID]++; } }
- else {
- format(mifx_str,sizeof(mifx_str),"CreateVehicle(%d,%f,%f,%f,%f,%d,%d,%d); //%s\r\n",veh_data[1],veh_coords[0],veh_coords[1],veh_coords[2],veh_coords[3],veh_color[0],veh_color[1],veh_data[1],veh_id); fwrite(nMapFile,mifx_str); } }
- else if(strfind(mifx_str,"<pickup ",true)!=-1) {
- enum e_pudata { pumodel, puid[32], Float:pupos[3] }
- new pudata[e_pudata];
- i[1]=strfind(mifx_str,"pickup id="), i[2]=strfind(mifx_str," type=");
- strmid(pudata[puid],mifx_str,(i[1]+11),(i[2]-1));
- i[1]=strfind(mifx_str,"type="), i[2]=strfind(mifx_str," interior=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- pudata[pumodel]=strval(fxstr);
- if(!strcmp(fxstr,"health",true)) pudata[pumodel]=1240;
- else if (!strcmp(fxstr,"armor",true)) pudata[pumodel]=1242;
- else {
- switch (pudata[pumodel]) {
- case 1: pudata[pumodel]=331;
- case 2: pudata[pumodel]=333;
- case 3: pudata[pumodel]=334;
- case 4: pudata[pumodel]=335;
- case 5: pudata[pumodel]=336;
- case 6: pudata[pumodel]=337;
- case 7: pudata[pumodel]=338;
- case 8: pudata[pumodel]=339;
- case 9: pudata[pumodel]=341;
- case 10: pudata[pumodel]=321;
- case 11: pudata[pumodel]=322;
- case 12: pudata[pumodel]=323;
- case 13: pudata[pumodel]=324;
- case 14: pudata[pumodel]=325;
- case 15: pudata[pumodel]=326;
- case 16: pudata[pumodel]=342;
- case 17: pudata[pumodel]=343;
- case 18: pudata[pumodel]=344;
- case 22: pudata[pumodel]=346;
- case 23: pudata[pumodel]=347;
- case 24: pudata[pumodel]=348;
- case 25: pudata[pumodel]=349;
- case 26: pudata[pumodel]=350;
- case 27: pudata[pumodel]=351;
- case 28: pudata[pumodel]=352;
- case 29: pudata[pumodel]=353;
- case 30: pudata[pumodel]=355;
- case 31: pudata[pumodel]=356;
- case 32: pudata[pumodel]=372;
- case 33: pudata[pumodel]=357;
- case 34: pudata[pumodel]=358;
- case 35: pudata[pumodel]=359;
- case 36: pudata[pumodel]=360;
- case 37: pudata[pumodel]=361;
- case 38: pudata[pumodel]=362;
- case 39: pudata[pumodel]=363;
- case 40: pudata[pumodel]=364;
- case 41: pudata[pumodel]=365;
- case 42: pudata[pumodel]=366;
- case 43: pudata[pumodel]=367;
- case 44: pudata[pumodel]=368;
- case 45: pudata[pumodel]=369;
- case 46: pudata[pumodel]=371; } }
- i[1]=strfind(mifx_str,"posX="), i[2]=strfind(mifx_str," posY=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- pudata[pupos][0]=floatstr(fxstr);
- i[1]=strfind(mifx_str,"posY="), i[2]=strfind(mifx_str," posZ=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- pudata[pupos][1]=floatstr(fxstr);
- i[1]=strfind(mifx_str,"posZ="), i[2]=strfind(mifx_str," rotX=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- pudata[pupos][2]=floatstr(fxstr);
- if(!cnvrt) {
- funcFound=CallRemoteFunction("OnPickupDataLoad","dfff",pudata[pumodel],pudata[pupos][0],pudata[pupos][1],pudata[pupos][2]);
- if(!funcFound) {//[FX]
- mID[loadingMapID][PickupCount[loadingMapID]+(PickupCount[loadingMapID+1])]=CreatePickup(pudata[pumodel],2,pudata[pupos][0],pudata[pupos][1],pudata[pupos][2],-1);
- PickupCount[loadingMapID]++; } }
- else {
- format(mifx_str,sizeof(mifx_str),"CreatePickup(%d,2,%f,%f,%f,-1); //%s\r\n",pudata[pumodel],pudata[pupos][0],pudata[pupos][1],pudata[pupos][2],pudata[puid]); fwrite(nMapFile,mifx_str); } }
- else if(strfind(mifx_str,"<ped id=",true)!=-1) {
- enum e_peddata { pedmodel, pedidname[32], Float:pedpos[4] }
- new peddata[e_peddata];
- i[1]=strfind(mifx_str,"ped id="), i[2]=strfind(mifx_str," dimension=");
- strmid(peddata[pedidname],mifx_str,(i[1]+8),(i[2]-1));
- i[1]=strfind(mifx_str,"model="), i[2]=strfind(mifx_str," interior=");
- strmid(fxstr,mifx_str,(i[1]+7),(i[2]-1));
- peddata[pedmodel]=strval(fxstr);
- i[1]=strfind(mifx_str,"rotZ="), i[2]=strfind(mifx_str," frozen=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- peddata[pedpos][3]=floatstr(fxstr);
- i[1]=strfind(mifx_str,"posX="), i[2]=strfind(mifx_str," posY=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- peddata[pedpos][0]=floatstr(fxstr);
- i[1]=strfind(mifx_str,"posY="), i[2]=strfind(mifx_str," posZ=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- peddata[pedpos][1]=floatstr(fxstr);
- i[1]=strfind(mifx_str,"posZ="), i[2]=strfind(mifx_str," rotX=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- peddata[pedpos][2]=floatstr(fxstr);
- mID[loadingMapID][PedCount[loadingMapID]+(PedCount[loadingMapID+1])]=CreateActor(peddata[pedmodel],peddata[pedpos][0],peddata[pedpos][1],peddata[pedpos][2],peddata[pedpos][3]);
- PedCount[loadingMapID]++;
- if(!cnvrt) {
- funcFound=CallRemoteFunction("OnActorDataLoad","idffff",mID[loadingMapID][PedCount[loadingMapID]+(PedCount[loadingMapID+1])],peddata[pedmodel],peddata[pedpos][0],peddata[pedpos][1],peddata[pedpos][2],peddata[pedpos][3]); }
- else {
- format(mifx_str,sizeof(mifx_str),"CreateActor(%d,%f,%f,%f,%f); //%s\r\n",peddata[pedmodel],peddata[pedpos][0],peddata[pedpos][1],peddata[pedpos][2],peddata[pedpos][3], peddata[pedidname]); fwrite(nMapFile,mifx_str); } }
- else if(strfind(mifx_str,"<removeWorldObject id",true)!=-1) {
- i[1]=strfind(mifx_str,"WorldObject id="), i[2]=strfind(mifx_str," radius=");
- strmid(wO2d[wO2dcount][wo2did],mifx_str,(i[1]+16),(i[2]-1));
- i[1]=strfind(mifx_str,"radius="), i[2]=strfind(mifx_str," interior=");
- strmid(fxstr,mifx_str,(i[1]+8),(i[2]-1));
- wO2d[wO2dcount][wo2dpos][3]=floatstr(fxstr);
- i[1]=strfind(mifx_str,"model="), i[2]=strfind(mifx_str," lodModel=");
- strmid(fxstr,mifx_str,(i[1]+7),(i[2]-1));
- wO2d[wO2dcount][wo2dmodel]=strval(fxstr);
- i[1]=strfind(mifx_str,"posX="), i[2]=strfind(mifx_str," posY=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- wO2d[wO2dcount][wo2dpos][0]=floatstr(fxstr);
- i[1]=strfind(mifx_str,"posY="), i[2]=strfind(mifx_str," posZ=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- wO2d[wO2dcount][wo2dpos][1]=floatstr(fxstr);
- i[1]=strfind(mifx_str,"posZ="), i[2]=strfind(mifx_str," rotX=");
- strmid(fxstr,mifx_str,(i[1]+6),(i[2]-1));
- wO2d[wO2dcount][wo2dpos][2]=floatstr(fxstr);
- if(!cnvrt) { wO2dcount++; }
- else { format(mifx_str,sizeof(mifx_str),"RemoveBuildingForPlayer(playerid,%d,%f,%f,%f,%f); //\r\n",wO2d[wO2dcount][wo2dmodel],wO2d[wO2dcount][wo2dpos][0],wO2d[wO2dcount][wo2dpos][1],wO2d[wO2dcount][wo2dpos][2],wO2d[wO2dcount][wo2dpos][3],wO2d[wO2dcount][wo2did]); fwrite(nMapFile,mifx_str); }
- } } }
- if(cnvrt) { fclose(nMapFile), printf("[MAP] Mapfile converted: '%s'",mapfile); }
- else { printf("[MAP] Mapfile loaded: '%s'",mapfile); if(loadingMapID==mapIdCount) { mapIdCount++; } }
- return fclose(map),loadingMapID; }
- #define RemoveWorldObjects(%0); for(new i;i<wO2dcount;i++) { RemoveBuildingForPlayer(%0,wO2d[i][wo2dmodel],wO2d[i][wo2dpos][0],wO2d[i][wo2dpos][1],wO2d[i][wo2dpos][2],wO2d[i][wo2dpos][3]+0.01); }
- #define ConvertMap(%0) LoadMap(%0,1)
- stock mi_fx_getPartOfString(const string[], strpos=0, sep=' ',secondsep=256) { //by FoxHound
- new delstr[256],i[4]={0,...}; secondsep = (secondsep!=256) ? secondsep : sep;
- format(delstr,256,"%s",string);
- for(; i[0]<strlen(delstr); i[0]++) {
- if(delstr[i[0]]==sep) {
- i[3]++;
- if(((i[2]+1)==strpos) && !i[1]) { strdel(delstr,0,i[0]+1),i[0]=0,i[1]=1,sep=secondsep; continue; }
- else if(i[1]) { strdel(delstr,i[0],strlen(delstr)); }
- else { i[2]++; continue; } } }
- if(i[3]<strpos) { delstr="\0"; }
- return delstr; }
- stock mi_fx_quicksetvehiclenumplate(veh, string[]) { //bY FoxHound
- new i=0,Float:vPos[4],vDmg[4],carMod[16],seat[MAX_PLAYERS]={-1,...};
- GetVehiclePos(veh,vPos[0],vPos[1],vPos[2]); GetVehicleZAngle(veh,vPos[3]); GetVehicleDamageStatus(veh,vDmg[0],vDmg[1],vDmg[2],vDmg[3]);
- for(i=0; i<GetMaxPlayers(); i++) {
- if(IsPlayerConnected(i) && IsPlayerInVehicle(i, veh)) {
- seat[i]=GetPlayerVehicleSeat(i); RemovePlayerFromVehicle(i); } }
- for(i=0; i<=13; i++) { carMod[i]=GetVehicleComponentInSlot(veh,i); }
- SetVehicleNumberPlate(veh,string);
- SetVehicleToRespawn(veh); SetVehiclePos(veh,vPos[0],vPos[1],vPos[2]); SetVehicleZAngle(veh,vPos[3]);
- for(i=0; i<=13; i++) { AddVehicleComponent(veh,carMod[i]); }
- UpdateVehicleDamageStatus(veh,vDmg[0],vDmg[1],vDmg[2],vDmg[3]);
- for(i=0; i<GetMaxPlayers(); i++) {
- if(IsPlayerConnected(i) && seat[i]!=-1) {
- PutPlayerInVehicle(i,veh,seat[i]); } } }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement