как известно люди нашли способ как засунуть обьекты 0,3с в МТА ну всем известно что в МТА эти обьекты находятся под другим ИД и так в этой статье я раскажу вам как быстро это исправить и так начнём
1) скачиваем плагин sscanf2 by Y_Less (ссылко (офф форум)) 2) Пихаем sscanf2.inc в папку \pawno\include\ 3) пихаем sscanf.dll и sscanf.so в папку plugins 4) прописываем в server.cfg plugins sscanf 5) берём код
Code
#define FILTERSCRIPT
#include <a_samp> #include <sscanf2>
public OnFilterScriptInit() { print("\n-------------------------------------------------"); print(" MTA:SA map converter for SA:MP 0.3c by leong124"); print("-------------------------------------------------\n"); new File:source = fopen("source.map",io_read); new File:output = fopen("output.txt",io_write); new string[256],tmp[32]; new objid,Float:px,Float:py,Float:pz,Float:rx,Float:ry,Float:rz; new paintjob,i = 0; new modelstr[32],pjstr[32],npstr[2][32],intstr[32],pxstr[32],pystr[32],pzstr[32],rxstr[32],rystr[32],rzstr[32]; while(fread(source,string,sizeof(string))) { sscanf(string,"s[32] ",tmp); if(!strcmp(tmp,"<object",true)) { 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); sscanf(modelstr,"p<\">{s[32]}d",objid); sscanf(pxstr,"p<\">{s[32]}f",px); sscanf(pystr,"p<\">{s[32]}f",py); sscanf(pzstr,"p<\">{s[32]}f",pz); sscanf(rxstr,"p<\">{s[32]}f",rx); sscanf(rystr,"p<\">{s[32]}f",ry); sscanf(rzstr,"p<\">{s[32]}f",rz); switch(objid) { case 14383..14483: objid += 4248; case 14770..14856: objid += 4063; case 14858..14871: objid += 4062; case 18000..18036: objid += 934; case 18038..18101: objid += 933; case 14872..14883: objid += 4163; case 14885..14891: objid += 4162; case 13590..13667: objid += 5142; case 14500..14522: objid += 4310; case 12835..12944: objid += 6219; case 16000..16143: objid += 3164; case 14892: objid += 5009; } format(string,sizeof(string),"CreateObject(%d, %f, %f, %f, %f, %f, %f, 300);\r\n",objid,px,py,pz,rx,ry,rz); fwrite(output,string); } else if(!strcmp(tmp,"<vehicle",true)) { 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); sscanf(pjstr,"p<\">{s[32]}d",paintjob); sscanf(modelstr,"p<\">{s[32]}d",objid); if(strcmp(npstr[1],"interior",true,8)) { sscanf(npstr[0],"p<\">{s[32]}s[32]",npstr[0]); sscanf(npstr[1],"p<\">s[32] ",npstr[1]); strcat(npstr[0],npstr[1]); } else { sscanf(npstr[0],"p<\">{s[32]}s[32] ",npstr[0]); } sscanf(pxstr,"p<\">{s[32]}f",px); sscanf(pystr,"p<\">{s[32]}f",py); sscanf(pzstr,"p<\">{s[32]}f",pz); sscanf(rzstr,"p<\">{s[32]}f",rz); 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)); fwrite(output,string); format(string,sizeof(string),"ChangeVehiclePaintjob(vehicle%d, %d);\r\n",i,paintjob); fwrite(output,string); format(string,sizeof(string),"SetVehicleNumberPlate(vehicle%d, \"%s\");\r\n",i,npstr[0]); fwrite(output,string); i++; } } fwrite(output,"\r\n//Put these on the top of your script:\r\n"); for(new j = 0;j < i;j++) { format(string,sizeof(string),"new vehicle%d;\r\n",j); fwrite(output,string); } fclose(source); fclose(output); print("Objects and vehicles are successfully converted!"); return 1; }
6) пихаем его в new.pwn вместо всего что там есть компилим 7) пихаем ФС в папку filterscripts 8) прописываем в server.cfg filterscripts new 9) переименовываем свою map карту в source.map (Внимание в карте должны быть только 0.3c обьекты) 10) пихаем source.map в папку scriptfiles 11) запускаем сервер 12) выключаем сервер 13) идём в папку scriptfiles и видим там файл output.txt тут и ждут нас готовые обьекты в таком виде
Для тех кто не знает как зделать SA-MP 0.3c обьекты в МТА ссылко(GamerX) статья на Английском надеюсь эта статья поможет людям и в паблике будет больше карт с использованием 0.3c обьектов