Текущая версия SA-MP: 0.3.7


IP: 77.220.180.96:7777
  Новые сообщения · Поиск
  • Страница 1 из 1
  • 1
Модератор форума: KaTacTpOqpa  
большой вопрос
=TRAUSER= Сообщение # 1  | 11:32:37
Пользователи
Сообщений: 132
Репутация: 2
Всем доброго времени суток, у меня есть очень большой вопрос как сделать к примеру я делаю объект ворота и чтоб я зашол на пикап и там писало открыть и чтоб они автоматом через 10сек закрывались кто поможет + и + награда, зарание спасибо! smile
BJIADOKC Сообщение # 2  | 12:31:41
Скриптеры
Сообщений: 601
Репутация: 161
такс, ну это не так сложно...
приду домой, отпишусь


тут больше не сижу... открыл свой проект
=TRAUSER= Сообщение # 3  | 15:59:15
Пользователи
Сообщений: 132
Репутация: 2
жду smile
P.S ты до завтра смош написать?

Добавлено (27.05.2011, 15:59)
---------------------------------------------
ну что?

BJIADOKC Сообщение # 4  | 20:41:26
Скриптеры
Сообщений: 601
Репутация: 161
в начало:
Code

#define DIALOG_OPEN 3445

new Float:OpenPickupPos[3]; //это позиция пикапа
new Float:VorotaPos[3]; //это изначальная позиция ворот
new Float:VorotaMoveTo[3]; //это позиция ворот, куда их нужно двигать
new OpenPickup; //сам пикап
new GateID = 0; //заместо 0 напиши ид модели ворот (я не помню)
new PickupID = 0; //заместо 0 напиши ид модели нужного пикапа
new vorota; //сами ворота
new bool:vorotaOpened = false;

в OnGameModeInit (если фильтрскрипт то в OnFilterScriptInit)
Code

OpenPickupPos[0] = 0.0; //тут заместо 0.0 напиши X позицию пикапа
OpenPickupPos[1] = 0.0; //тут заместо 0.0 напиши Y позицию пикапа
OpenPickupPos[2] = 0.0; //тут заместо 0.0 напиши Z позицию пикапа

VorotaPos[0] = 0.0; //тут заместо 0.0 напиши изначальную позицию ворот (X)
VorotaPos[1] = 0.0; //тут заместо 0.0 напиши изначальную позицию ворот (Y)
VorotaPos[2] = 0.0; //тут заместо 0.0 напиши изначальную позицию ворот (Z)

VorotaMoveTo[0] = 0.0; //тут заместо 0.0 напиши позицию X кцда надо двигать ворота
VorotaMoveTo[1] = 0.0; //тут заместо 0.0 напиши позицию Y кцда надо двигать ворота
VorotaMoveTo[2] = 0.0; //тут заместо 0.0 напиши позицию Z кцда надо двигать ворота

vorotaOpened = false;

vorota = CreateObject(GateID,VorotaPos[0],VorotaPos[1],VorotaPos[2]);

OpenPickup = CreatePickup(PickupID,23,OpenPickupPos[0],OpenPickupPos[1],OpenPickupPos[2]);

в OnPlayerPickUpPickup
Code

if(pickupid == OpenPickup && IsPlayerInRangeOfPoint(playerid,15.0,OpenPickupPos[0],OpenPickupPos[1],OpenPickupPos[2])) return ShowPlayerDialog(playerid,DIALOG_OPEN,DIALOG_STYLE_MSGBOX,"Открыть ворота","Открыть ворота?","Да","Нет");

в OnDialogResponse
Code

switch(dialogid)
{
case DIALOG_OPEN:
{
switch(response)
{
case 0: return 1;
case 1:      
{
if(vorotaOpened) return SendClientMessage(playerid,0xAFAFAFAA,"Ворота уже открыты!");
vorotaOpened = true;
MoveObject(vorota,VorotaMoveTo[0],VorotaMoveTo[1],VorotaMoveTo[2],2.0);
SetTimer("CloseVorota",1000*10,false);
return SendClientMessage(playerid,0xAFAFAFAA,"Вы открыли ворота");
}
}
}
}

и в самый конец
Code

forward CloseVorota();
public CloseVorota()
{
vorotaOpened = false;
return MoveObject(vorota,VorotaPos[0],VorotaPos[1],VorotaPos[2],2.0);
}

by BJIADOKC


тут больше не сижу... открыл свой проект
=TRAUSER= Сообщение # 5  | 14:37:37
Пользователи
Сообщений: 132
Репутация: 2
Code
#define DIALOG_OPEN 3445  

new Float:OpenPickupPos[3]; //это позиция пикапа  
new Float:VorotaPos[3]; //это изначальная позиция ворот  
new Float:VorotaMoveTo[3]; //это позиция ворот, куда их нужно двигать  
new OpenPickup; //сам пикап  
new GateID = 0; //заместо 0 напиши ид модели ворот (я не помню)  
new PickupID = 0; //заместо 0 напиши ид модели нужного пикапа  
new vorota; //сами ворота  
new bool:vorotaOpened = false;

а тут надо что то писать?
Code
OpenPickupPos[0] = 0.0; //тут заместо 0.0 напиши X позицию пикапа  
OpenPickupPos[1] = 0.0; //тут заместо 0.0 напиши Y позицию пикапа  
OpenPickupPos[2] = 0.0; //тут заместо 0.0 напиши Z позицию пикапа  

VorotaPos[0] = 0.0; //тут заместо 0.0 напиши изначальную позицию ворот (X)  
VorotaPos[1] = 0.0; //тут заместо 0.0 напиши изначальную позицию ворот (Y)  
VorotaPos[2] = 0.0; //тут заместо 0.0 напиши изначальную позицию ворот (Z)  

VorotaMoveTo[0] = 0.0; //тут заместо 0.0 напиши позицию X кцда надо двигать ворота  
VorotaMoveTo[1] = 0.0; //тут заместо 0.0 напиши позицию Y кцда надо двигать ворота  
VorotaMoveTo[2] = 0.0; //тут заместо 0.0 напиши позицию Z кцда надо двигать ворота  

vorotaOpened = false;  

vorota = CreateObject(GateID,VorotaPos[0],VorotaPos[1],VorotaPos[2]);  

OpenPickup = CreatePickup(PickupID,23,OpenPickupPos[0],OpenPickupPos[1],OpenPickupPos[2]);

где ворота там писать объект, координаты
Code
VorotaMoveTo
тут я не совсем понял что это?

остальное вроде понял!
Demetrius Сообщение # 6  | 20:41:39
VIP-пользователи
Сообщений: 1192
Репутация: 158
Quote (=TRAUSER=)
а тут надо что то писать?

ща напишу
Quote (=TRAUSER=)
#define DIALOG_OPEN 3445

ниче не изменяй
Quote (=TRAUSER=)
new Float:OpenPickupPos[3]; //это позиция пикапа

тож ниче не пиши
Quote (=TRAUSER=)
new Float:VorotaPos[3]; //это изначальная позиция ворот

тож ниче не пиши
Quote (=TRAUSER=)
new Float:VorotaMoveTo[3]; //это позиция ворот, куда их нужно двигать

тоже ниче не пиши
Quote (=TRAUSER=)
new OpenPickup; //сам пикап

тоже все как есть оставляй
Quote (=TRAUSER=)
new GateID = 0; //заместо 0 напиши ид модели ворот (я не помню)

вместо 0 напиши ид модели ворот
Quote (=TRAUSER=)
new PickupID = 0; //заместо 0 напиши ид модели нужного пикапа

вместо 0 напиши ид модели нужного пикапа
Quote (=TRAUSER=)
new vorota; //сами ворота
new bool:vorotaOpened = false;

оставь как есть
Quote (=TRAUSER=)
где ворота там писать объект, координаты

не ту во как
не GrateObject, а каждая координата пишется отдельно
Quote (=TRAUSER=)
OpenPickupPos[0] = 0.0; //тут заместо 0.0 напиши X позицию пикапа

здесь координата X пикапа
Quote (=TRAUSER=)
OpenPickupPos[1] = 0.0; //тут заместо 0.0 напиши Y позицию пикапа

здесь координата Y пикапа
Quote (=TRAUSER=)
OpenPickupPos[2] = 0.0; //тут заместо 0.0 напиши Z позицию пикапа

здесь координата Z пикапа
Quote (=TRAUSER=)
VorotaPos[0] = 0.0; //тут заместо 0.0 напиши изначальную позицию ворот (X)

здесь координата X ворот
Quote (=TRAUSER=)
VorotaPos[1] = 0.0; //тут заместо 0.0 напиши изначальную позицию ворот (Y)

здесь координата Y ворот
Quote (=TRAUSER=)
VorotaPos[2] = 0.0; //тут заместо 0.0 напиши изначальную позицию ворот (Z)

здесь координата Z ворот
Quote (=TRAUSER=)
VorotaMoveTo[0] = 0.0; //тут заместо 0.0 напиши позицию X куда надо двигать ворота

здесь координата X открытых ворот
Quote (=TRAUSER=)
VorotaMoveTo[1] = 0.0; //тут заместо 0.0 напиши позицию Y кцда надо двигать ворота

здесь координата Y открытых ворот
Quote (=TRAUSER=)
VorotaMoveTo[2] = 0.0; //тут заместо 0.0 напиши позицию Z кцда надо двигать ворота

здесь координата Z открытых ворот


Sweet >>> Armin >>> Demetrius

SA:MP >> MTA:SA >> IRL
  • Страница 1 из 1
  • 1
Поиск: