21:16
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 1 из 1
  • 1
Модератор форума: Dima-kun  
[Tutorial] перевод 0.3с обьектов с мта в sa-mp
Dav1dBlaneДата: Воскресенье, 24.04.2011, 15:18 | Сообщение # 1
Уверенный в себе
Группа: I'm V.I.P.
Сообщений: 154
Награды: 3
Город: Los Santos
Репутация: 65
Замечания: 20%
Статус:
как известно люди нашли способ как засунуть обьекты 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 тут и ждут нас готовые обьекты =)
в таком виде

Code
CreateObject(18822, -1183.492797, -76.349029, 21.823654, 358.380767, 252.070526, 43.744567, 300);
CreateObject(18809, -1152.237304, -48.015625, 47.148437, 0.000000, 51.998291, 39.995727, 300);
CreateObject(18822, -1120.811523, -19.313476, 72.533973, 0.000000, 71.998901, 43.994750, 300);
CreateObject(18827, -1070.394531, 33.611881, 78.433334, 0.747680, 4.500396, 317.441131, 300);
CreateObject(18809, -1019.254699, 87.501602, 77.144729, 0.000000, 94.250000, 44.500000, 300);
...

всё обьекты готовы к использованию

Автор Статьи: Nameless
Автор Скрипта: leong124

P.S Nameless это мой сосед он не зарегистрирован на этом форуме поэтому попросил выложить меня



Мои поделки:
[FS] Snow (SA-MP 0.3c)
[FS] Fireworks v0.3
[FS/NPC] StripClubs
[FS] Speedometer

Мои Разработки:
[GM] SDU v0.1 beta [1%] (Не РП/РПГ мод)


Сообщение отредактировал Dav1dBlane - Воскресенье, 24.04.2011, 15:21
kamilot73Дата: Четверг, 28.04.2011, 16:36 | Сообщение # 2
Новенький
Группа: Пользователи
Сообщений: 14
Награды: 0
Город: Ekm
Репутация: -2
Замечания: 0%
Статус:
Спасибо,нужная вещь:)
NamelessДата: Среда, 11.05.2011, 10:51 | Сообщение # 3
Новенький
Группа: Продвинутые
Сообщений: 72
Награды: 0
Город: Москва
Репутация: 34
Замечания: 0%
Статус:
скрипт не очень удобен так как используется много плагинов
да и вобще переводить обьекты спсобами PAWNO имхо
статью эту написал всётаки так как думал кому пригодится crazy

  • Страница 1 из 1
  • 1
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua