Advertisement
Guest User

leong124

a guest
Dec 17th, 2010
1,768
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.20 KB | None | 0 0
  1. #define FILTERSCRIPT
  2.  
  3. #include <a_samp>
  4. #include <sscanf2>
  5.  
  6. public OnFilterScriptInit()
  7. {
  8.     print("\n-------------------------------------------------");
  9.     print(" MTA:SA map converter for SA:MP 0.3c by leong124");
  10.     print("-------------------------------------------------\n");
  11.     new File:source = fopen("source.map",io_read);
  12.     new File:output = fopen("output.txt",io_write);
  13.     new string[256],tmp[32];
  14.     new objid,Float:px,Float:py,Float:pz,Float:rx,Float:ry,Float:rz;
  15.     new paintjob,i = 0;
  16.     new modelstr[32],pjstr[32],npstr[2][32],intstr[32],pxstr[32],pystr[32],pzstr[32],rxstr[32],rystr[32],rzstr[32];
  17.     while(fread(source,string,sizeof(string)))
  18.     {
  19.         sscanf(string,"s[32] ",tmp);
  20.         if(!strcmp(tmp,"<object",true))
  21.         {
  22.             sscanf(string,"'doublesided=\"false\"'s[32]{s[32]s[32]}s[32]s[32]s[32]s[32]s[32]s[32] ",modelstr,pxstr,pystr,pzstr,rxstr,rystr,rzstr);
  23.             sscanf(modelstr,"p<\">{s[32]}d",objid);
  24.             sscanf(pxstr,"p<\">{s[32]}f",px);
  25.             sscanf(pystr,"p<\">{s[32]}f",py);
  26.             sscanf(pzstr,"p<\">{s[32]}f",pz);
  27.             sscanf(rxstr,"p<\">{s[32]}f",rx);
  28.             sscanf(rystr,"p<\">{s[32]}f",ry);
  29.             sscanf(rzstr,"p<\">{s[32]}f",rz);
  30.             switch(objid)
  31.             {
  32.                 case 14383..14483: objid += 4248;
  33.                 case 14770..14856: objid += 4063;
  34.                 case 14858..14871: objid += 4062;
  35.                 case 18000..18036: objid += 934;
  36.                 case 18038..18101: objid += 933;
  37.                 case 14872..14883: objid += 4163;
  38.                 case 14885..14891: objid += 4162;
  39.                 case 13590..13667: objid += 5142;
  40.                 case 14500..14522: objid += 4310;
  41.                 case 12835..12944: objid += 6219;
  42.                 case 16000..16143: objid += 3164;
  43.                 case 14892: objid += 5009;
  44.             }
  45.             format(string,sizeof(string),"CreateObject(%d, %f, %f, %f, %f, %f, %f, 300);\r\n",objid,px,py,pz,rx,ry,rz);
  46.             fwrite(output,string);
  47.         }
  48.         else if(!strcmp(tmp,"<vehicle",true))
  49.         {
  50.             sscanf(string,"{s[32]s[32]s[32]s[32]}s[32]s[32]s[32]s[32]s[32]{s[32]}s[32]s[32]s[32]{s[32]s[32]}s[32] ",pjstr,modelstr,npstr[0],npstr[1],intstr,pxstr,pystr,pzstr,rzstr);
  51.             sscanf(pjstr,"p<\">{s[32]}d",paintjob);
  52.             sscanf(modelstr,"p<\">{s[32]}d",objid);
  53.             if(strcmp(npstr[1],"interior",true,8))
  54.             {
  55.                 sscanf(npstr[0],"p<\">{s[32]}s[32]",npstr[0]);
  56.                 sscanf(npstr[1],"p<\">s[32] ",npstr[1]);
  57.                 strcat(npstr[0],npstr[1]);
  58.             }
  59.             else
  60.             {
  61.                 sscanf(npstr[0],"p<\">{s[32]}s[32] ",npstr[0]);
  62.             }
  63.             sscanf(pxstr,"p<\">{s[32]}f",px);
  64.             sscanf(pystr,"p<\">{s[32]}f",py);
  65.             sscanf(pzstr,"p<\">{s[32]}f",pz);
  66.             sscanf(rzstr,"p<\">{s[32]}f",rz);
  67.             format(string,sizeof(string),"vehicle%d = AddStaticVehicle(%d, %f, %f, %f, %f, %d, %d);\r\n",i,objid,px,py,pz,rz,random(128),random(128));
  68.             fwrite(output,string);
  69.             format(string,sizeof(string),"ChangeVehiclePaintjob(vehicle%d, %d);\r\n",i,paintjob);
  70.             fwrite(output,string);
  71.             format(string,sizeof(string),"SetVehicleNumberPlate(vehicle%d, \"%s\");\r\n",i,npstr[0]);
  72.             fwrite(output,string);
  73.             i++;
  74.         }
  75.     }
  76.     fwrite(output,"\r\n//Put these on the top of your script:\r\n");
  77.     for(new j = 0;j < i;j++)
  78.     {
  79.         format(string,sizeof(string),"new vehicle%d;\r\n",j);
  80.         fwrite(output,string);
  81.     }
  82.     fclose(source);
  83.     fclose(output);
  84.     print("Objects and vehicles are successfully converted!");
  85.     return 1;
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement