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

 



 
          





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





Последние Файлы 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
Модератор форума: Dima-kun  
Форум SAMP о мультиплеерах для GTA. »   » Wiki-Samp-Rus » Добавление обьектов в мод (Добавление обьектов с помощью MTA Race Map Editor)
Добавление обьектов в мод
PcixДата: Понедельник, 16.06.2008, 16:03 | Сообщение # 16
Уверенный в себе
Группа: Продвинутые
Сообщений: 175
Награды: 2
Город: E-burg
Репутация: 24
Замечания: 0%
Статус:
Code

public OnGameModeInit()  
{  
CreateObject(3399,-1339.160,479.362,7.982,0.0,0.0,91.100);  
new string[MAX_PLAYER_NAME];  
new string1[MAX_PLAYER_NAME];  
for(new c=0;c<CAR_AMOUNT;c++)  
{  
Gas[c] = GasMax;  
}  
LoadProperty();  
LoadBizz();  
LoadSBizz();  
LoadBoxer();  
LoadStuff();  
LoadIRC();  
LoadFamilies();  
LoadCK();  
LoadTurfs();  
LoadPapers();  
IRCInfo[0][iPlayers] = 0; IRCInfo[1][iPlayers] = 0; IRCInfo[2][iPlayers] = 0;  
IRCInfo[3][iPlayers] = 0; IRCInfo[4][iPlayers] = 0; IRCInfo[5][iPlayers] = 0;  
IRCInfo[6][iPlayers] = 0; IRCInfo[7][iPlayers] = 0; IRCInfo[8][iPlayers] = 0;  
IRCInfo[9][iPlayers] = 0;  
News[hTaken1] = 0; News[hTaken2] = 0; News[hTaken3] = 0; News[hTaken4] = 0; News[hTaken5] = 0;  
format(string, sizeof(string), "Nothing");  
strmid(News[hAdd1], string, 0, strlen(string), 255);  
strmid(News[hAdd2], string, 0, strlen(string), 255);  
strmid(News[hAdd3], string, 0, strlen(string), 255);  
strmid(News[hAdd4], string, 0, strlen(string), 255);  
strmid(News[hAdd5], string, 0, strlen(string), 255);  
format(string1, sizeof(string1), "No-one");  
strmid(News[hContact1], string1, 0, strlen(string1), 255);  
strmid(News[hContact2], string1, 0, strlen(string1), 255);  
strmid(News[hContact3], string1, 0, strlen(string1), 255);  
strmid(News[hContact4], string1, 0, strlen(string1), 255);  
strmid(News[hContact5], string1, 0, strlen(string1), 255);  
PlayerHaul[78][pCapasity] = 100;  
PlayerHaul[79][pCapasity] = 100;  
PlayerHaul[80][pCapasity] = 50;  
PlayerHaul[81][pCapasity] = 50;  
SetGameModeText("The Godfather: LS/SF");

вот так нада :)
и есчо если не получится покажи код ошибки




--------------------------------------------------------
--------------------------------------------------------
Тут можете посмотреть мой ролик снятый в SA:MP

TomyДата: Понедельник, 16.06.2008, 16:50 | Сообщение # 17
Уверенный в себе
Группа: Продвинутые
Сообщений: 261
Награды: 4
Город: Воронеж
Репутация: 40
Замечания: 0%
Статус:
Pcix,
а можно это как срипт сделать ?
и поподробней напиши свои действия я просто тоже хочу сам научится ставить обьекты

Добавлено (16.06.2008, 16:50)
---------------------------------------------
всё спс всё работает + поставил


if(strcmp(cmdtext, "/hesoyam", true) == 0)
{
GivePlayerMoney(playerid,250000);
SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0);
}
lol lol lol
_____________________________________________________
C прозьбами скачать фаил можете не обращаться ! будете отправлены в игнор !
PcixДата: Четверг, 19.06.2008, 09:36 | Сообщение # 18
Уверенный в себе
Группа: Продвинутые
Сообщений: 175
Награды: 2
Город: E-burg
Репутация: 24
Замечания: 0%
Статус:
Добавление анимации к обьекту.
Я раскажу как добавлять анимации к обьекту на примере ворот.
Сначала с помошью MTA Race создаем 2 обьекта:
1.Ворота в закрытом состоянии
2.Ворота в открытом состоянии
рисунок

Конвертируем в Advance Converterе и получаем 2 обьекта, например:
CreateObject(969,999.401,-645.460,120.628,-0.859,1.719,24.924);
CreateObject(969,999.466,-645.369,124.934,3.438,1.719,24.924);

Открываем Pawno вставляем код(дальше все ваши действия будут написаны в коментариях к коду):

Code
#include <a_samp>

#pragma tabsize 0
#define COLOR_YELLOW 0xFFFF00AA
#define FILTERSCRIPT
forward lockgate();
#if defined FILTERSCRIPT
new gate;

public OnFilterScriptInit()
{
gate = CreateObject(969,999.401,-645.460,120.628,-0.859,1.719,24.924) ;//сюда вставляете координаты ворот в закрытом виде из Advance Convertera
       print("\n--------------------------------------");
       print(" Gate by Pcix");
       print("--------------------------------------\n");
       return 1;
}

public OnFilterScriptExit()
{
       return 1;
}
#endif

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(cmdtext, "/vorota", true)==0)// вместо vorota можете написать любую команду, которая будет открывать ворота
             {
             MoveObject(gate,999.466,-645.369,124.934, 3.5);//сюда вставляете координаты ворот в открытом виде (уже без id), 3.5 -скорость движения ворот
            SetTimer("lockgate", 7000, 0);//7000 - время через которое ворота автоматически закроются в мс
            SendClientMessage(playerid, COLOR_YELLOW,"Ворота закроются в течении 7сек, Поторопитесь!");//надпись которую получит игрок открывшии ворота
            return 1;
             }
return 0;
}

public lockgate()
{
            MoveObject (gate,999.401,-645.460,120.628, 3.0);//сюда снова координаты закрытых ворот, 3,0 скорость движения ворот
return 1;
}

итак, вот вы и написали простой ФС с воротами, компилируем, кидаем в папку filterscripts, и дописываем в server.cfg название вашего ФС
например: filterscripts gate

Но некоторым может не понравится что ворота открываются из любой точки карты, для этого нужно немного изменить наш ФС,
теперь он будет выглядеть так:

Code
#include <a_samp>

#pragma tabsize 0
#define COLOR_YELLOW 0xFFFF00AA
#define FILTERSCRIPT
forward lockgate();
#if defined FILTERSCRIPT
new gate;
//============================================Добавление новой функции============================
stock IsPlayerInSphere(playerid,Float:x,Float:y,Float:z,radius) //By Sacky
       {
       if(GetPlayerDistanceToPointEx(playerid,x,y,z) < radius)
        {
        return 1;
        }
       return 0;
       }
stock GetPlayerDistanceToPointEx(playerid,Float:x,Float:y,Float:z) //By Sacky
       {
       new Float:x1,Float:y1,Float:z1;
       new Float:tmpdis;
       GetPlayerPos(playerid,x1,y1,z1);
       tmpdis = floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+floatpower(floatabs(floatsub(y,y1)),2)+floatpower(floatabs(floatsub(z,z1)),2));
       return floatround(tmpdis);
       }
//===========================================================================================================
public OnFilterScriptInit()
{
gate = CreateObject(969,999.401,-645.460,120.628,-0.859,1.719,24.924) ;//сюда вставляете координаты ворот в закрытом виде из Advance Convertera
       print("\n--------------------------------------");
       print(" Gate by Pcix");
       print("--------------------------------------\n");
       return 1;
}

public OnFilterScriptExit()
{
       return 1;
}
#endif

public OnPlayerCommandText(playerid, cmdtext[])
{
if (IsPlayerInSphere(playerid,999.401,-645.460,120.628,20))//благодаря этому условию ворота открываются только когда игрок находиться рядом, 999.401,-645.460,120.628 - координаты центра сферы, 20 - радиус сферы
{
if (strcmp(cmdtext, "/vorota", true)==0)// вместо vorota можете написать любую команду, которая будет открывать ворота
             {
             MoveObject(gate,999.466,-645.369,124.934, 3.5);//сюда вставляете координаты ворот в открытом виде (уже без id), 3.5 -скорость движения ворот
            SetTimer("lockgate", 7000, 0);//7000 - время через которое ворота автоматически закроются в мс
            SendClientMessage(playerid, COLOR_YELLOW,"Ворота закроются в течении 7сек, Поторопитесь!");//надпись которую получит игрок открывшии ворота
            return 1;
             }
}
return 0;
}

public lockgate()
{
            MoveObject (gate,999.401,-645.460,120.628, 3.0);//сюда снова координаты закрытых ворот, 3,0 скорость движения ворот
return 1;
}

Также можно добавить надпись которая высвечивается, когда игрок подьезжает к воротам,
для этого нужно добавить в ФС следующее:

Code
#include <a_samp>

#pragma tabsize 0
#define COLOR_YELLOW 0xFFFF00AA
#define FILTERSCRIPT
forward lockgate();
//--------------------------------------------условие и проверка-------------------------------------
forward IsNearGates(playerid);
forward Check();
//--------------------------------------------------------------------------------------------------------------------
#if defined FILTERSCRIPT
new gate;
//============================================Добавление новой функции============================
stock IsPlayerInSphere(playerid,Float:x,Float:y,Float:z,radius) //By Sacky
       {
       if(GetPlayerDistanceToPointEx(playerid,x,y,z) < radius)
        {
        return 1;
        }
       return 0;
       }
stock GetPlayerDistanceToPointEx(playerid,Float:x,Float:y,Float:z) //By Sacky
       {
       new Float:x1,Float:y1,Float:z1;
       new Float:tmpdis;
       GetPlayerPos(playerid,x1,y1,z1);
       tmpdis = floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+floatpower(floatabs(floatsub(y,y1)),2)+floatpower(floatabs(floatsub(z,z1)),2));
       return floatround(tmpdis);
       }
//===========================================================================================================
public OnFilterScriptInit()
{
gate = CreateObject(969,999.401,-645.460,120.628,-0.859,1.719,24.924) ;//сюда вставляете координаты ворот в закрытом виде из Advance Convertera
SetTimer("Check",100,1);//через какое время(100мс) проверка условия
       print("\n--------------------------------------");
       print(" Gate by Pcix");
       print("--------------------------------------\n");
       return 1;
}

public OnFilterScriptExit()
{
       return 1;
}
#endif

//-------------------------------------проверка находится ли игрок рядом с воротами-------------------
public IsNearGates(playerid)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerInSphere(playerid,999.401,-645.460,120.628, 20))//координаты центра сферы , 20 - радиус
{return 1;}
}
return 0;
}
//--------------------------------------------------------------------------------------------------------------------------------------
//--------------если проверка дала положительный результат то высвечивается надпись---------------------------
public Check()
{
new string[256];
for (new i=0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
if(IsNearGates(i))
{
format(string, sizeof(string), " ~w~BBEѓ…TE ~g~/vorota ~n~~w~ЌTOЂ‘ OTKP‘T’ BOPOTA");//чтобы надпись выводилась на русском ее необходимо сначала конвертировать с помощью PAWNO GameText converter качать тут: http://www.samp-rus.com/load/7-1-0-153
GameTextForPlayer(i, string, 5000, 3);//5000 - время которое надпись будет на экране(мс), 3 - тип текста(подробнее о типах текста вы можете узнать  в теме Стили текста: http://www.samp-rus.com/forum/42-4320-1)
}
}}
return 1;
}
//-------------------------------------------------------------------------------------------------------------
public OnPlayerCommandText(playerid, cmdtext[])
{
if (IsPlayerInSphere(playerid,999.401,-645.460,120.628,20))//благодаря этому условию ворота открываются только когда игрок находиться рядом, 999.401,-645.460,120.628 - координаты центра сферы, 20 - радиус сферы
{
if (strcmp(cmdtext, "/vorota", true)==0)// вместо vorota можете написать любую команду, которая будет открывать ворота
             {
             MoveObject(gate,999.466,-645.369,124.934, 3.5);//сюда вставляете координаты ворот в открытом виде (уже без id), 3.5 -скорость движения ворот
            SetTimer("lockgate", 7000, 0);//7000 - время через которое ворота автоматически закроются в мс
            SendClientMessage(playerid, COLOR_YELLOW,"Ворота закроются в течении 7сек, Поторопитесь!");//надпись которую получит игрок открывшии ворота
            return 1;
             }
}
return 0;
}

public lockgate()
{
            MoveObject (gate,999.401,-645.460,120.628, 3.0);//сюда снова координаты закрытых ворот, 3,0 скорость движения ворот
return 1;
}

ВСЕ, теперь вы умеете( я надеюсь) добавлять анимацию к обьектам, с помощью этого можно делать не только ворота, но например лифты smile24
Все вопросы задавайте в этой теме :)

PS можно ли какнибуть поменять название темы?



--------------------------------------------------------
--------------------------------------------------------
Тут можете посмотреть мой ролик снятый в SA:MP

Сообщение отредактировал Pcix - Четверг, 19.06.2008, 09:39
SSSaSSSДата: Вторник, 15.07.2008, 21:18 | Сообщение # 19
Новенький
Группа: Продвинутые
Сообщений: 30
Награды: 1
Репутация: 5
Замечания: 0%
Статус:
mody eto v kakoe mesto pixat? crazy

Добавлено (15.07.2008, 21:18)
---------------------------------------------
как нить можно увеличить лимит обьектов? suicide2 wall


как из 10 центов сделать 150 000
[SFD]PaulДата: Четверг, 17.07.2008, 16:42 | Сообщение # 20
Долгожитель
Группа: Продвинутые
Сообщений: 1441
Награды: 22
Город: Москва
Репутация: 237
Замечания: 0%
Статус:
как MTA RAce Под Вистой запустить? crazy

Добавлено (17.07.2008, 16:42)
---------------------------------------------

Quote (SSSaSSS)
как нить можно увеличить лимит обьектов?

Можно, путём выгружания обьектов, рядом с которыми никого нет.



[FS] Weapon Shop
[FS] Svalka
[FS] Adminhouse
Nikas_sДата: Пятница, 18.07.2008, 09:06 | Сообщение # 21
Новенький
Группа: Пользователи
Сообщений: 1
Награды: 1
Репутация: 2
Замечания: 0%
Статус:
А подскажите как сделать ТП в то место например где ты сделал парк с трюками (будем так говорить :) ) ??? Вот я че видел на подобие вот такого :
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext,"/park",true))
{
if(GetPlayerMoney(playerid) < 0) return SendClientMessage(playerid,0xAA3333AA,"Welcome to Park");
if(!IsPlayerInAnyVehicle(playerid))
{
SetPlayerPos(playerid,3380.9106,-898.1483,16.8618);
SetPlayerFacingAngle(playerid,115.9771);
SetPlayerInterior(playerid,0);
}else
{
SetVehiclePos(GetPlayerVehicleID(playerid),3380.9106,-898.1483,16.8618);
SetVehicleZAngle(GetPlayerVehicleID(playerid),115.9771);
SetPlayerInterior(playerid,0);
LinkVehicleToInterior(GetPlayerVehicleID(playerid),0);
}
return 1;
}

Только я не пойму как мона так сделать ? Плиз если мона расскажите по действиям !!!

OKStyle™Дата: Пятница, 18.07.2008, 10:16 | Сообщение # 22
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус:
Nikas_s, как ваш вопрос относится к объектам? тп делать командой SetPlayerPos.


Да потому что когда человек делает на заказ он не старается. © kRiSyo
Кланяимся нофаму королю анимаций =))))))) © Manusya
В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
sanja116Дата: Понедельник, 21.07.2008, 11:20 | Сообщение # 23
Освоившийся
Группа: Продвинутые
Сообщений: 129
Награды: 1
Город: Tallinn
Репутация: 3
Замечания: 20%
Статус:
pomogite sdelat vorota, ne polu4aetsja
CreateObject(976,-1534.362,482.166,6.349,0.0,0.0,0.0); zakrqtqe vorota
CreateObject(976,-1533.751,482.217,9.620,0.0,0.0,0.0); otkrqtqe vorota
i 4tobq mogli otkrqt tolko Police/FBI/Army

Добавлено (21.07.2008, 00:58)
---------------------------------------------
a vse sdelal vorota tolko ja ne znaju kak sdelat 4tobq otkrqvat ih mogli tolko Police/FBI/Army ne dohodit do menja pomogite plzz

Добавлено (21.07.2008, 11:20)
---------------------------------------------
vse ja ponjal kak sdelat 4tobq mogli otkrqt tolko Police/FBI/Army


Сообщение отредактировал sanja116 - Воскресенье, 20.07.2008, 23:08
Silver_plusДата: Четверг, 24.07.2008, 14:55 | Сообщение # 24
Новенький
Группа: Продвинутые
Сообщений: 45
Награды: 1
Репутация: 0
Замечания: 0%
Статус:
А как сделать анимированный объект? Например, плавно открывающиеся ворота (открываются с помощью команды, напр. /openbare).
А, сорри, просто не посмотрел выше =)



Сообщение отредактировал Silver_plus - Четверг, 24.07.2008, 15:28
BioStaRДата: Вторник, 29.07.2008, 14:56 | Сообщение # 25
Новенький
Группа: Пользователи
Сообщений: 12
Награды: 1
Город: Канск
Репутация: 2
Замечания: 0%
Статус:
Народ дайте список id объектов, пожалуйста!
[SFD]PaulДата: Вторник, 29.07.2008, 16:26 | Сообщение # 26
Долгожитель
Группа: Продвинутые
Сообщений: 1441
Награды: 22
Город: Москва
Репутация: 237
Замечания: 0%
Статус:
http://streetplaya.hopto.org/SAMP_Wi....ID.html


[FS] Weapon Shop
[FS] Svalka
[FS] Adminhouse
BioStaRДата: Вторник, 29.07.2008, 17:12 | Сообщение # 27
Новенький
Группа: Пользователи
Сообщений: 12
Награды: 1
Город: Канск
Репутация: 2
Замечания: 0%
Статус:
Народ, ещё такой вопрос! Возможно вопрос не в тот раздел, но всё таки задам. Допустим есть скин с id = 276 и я хотел, чтобы тока он мог садится, залазить в объект с id = 425! Каким образом это можно организовать?
[SFD]PaulДата: Четверг, 31.07.2008, 15:48 | Сообщение # 28
Долгожитель
Группа: Продвинутые
Сообщений: 1441
Награды: 22
Город: Москва
Репутация: 237
Замечания: 0%
Статус:
Покопался в инете и нашёл, как запустить Map Editor под вистой.
1. Переименовать папку с едитором в map_editor
2. Скопировать папку models из MTA San Andreas\mods\map_editor\ в MTA San Andreas\mods\race\
3. Создать папку mods\map_editor\maps
4. Переименовать client.dll в MTA San Andreas\mods\race в client1.dll



[FS] Weapon Shop
[FS] Svalka
[FS] Adminhouse
OKStyle™Дата: Четверг, 31.07.2008, 23:31 | Сообщение # 29
Мастер джэдай
Группа: I'm V.I.P.
Сообщений: 2444
Награды: 16
Город: Оренбург
Репутация: 1174
Замечания: 40%
Статус:
BioStaR, проверку на скин во время "сажания" делай:
Code
if(GetPlayerSkin(playerid)==276)
{
садиться
}
else
{
не садиться
}



Да потому что когда человек делает на заказ он не старается. © kRiSyo
Кланяимся нофаму королю анимаций =))))))) © Manusya
В MTA - для вас все багоюзеры. Не юзают там +с только EFO и ACF. © SeWeR
Silver_plusДата: Суббота, 02.08.2008, 13:41 | Сообщение # 30
Новенький
Группа: Продвинутые
Сообщений: 45
Награды: 1
Репутация: 0
Замечания: 0%
Статус:
Конечно, может не туда пишу, но как изменить текст приветствия, когда входишь на сервер, типа "Этот ник не зарегистрирован" - вот это как изменить?
Форум SAMP о мультиплеерах для GTA. »   » Wiki-Samp-Rus » Добавление обьектов в мод (Добавление обьектов с помощью MTA Race Map Editor)
Поиск:





 


 


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