Перейти к содержанию
Авторизация  
Denis2131

Выход из дома.

Рекомендуемые сообщения

Denis2131

Знаю я наверно надоел, но благодаря вам изучаю pawn, довольно таки уже хорошо знаю но все же, как узнать где стоит пикап выхода, я вот вход сделал корды поставил, а с выходом проблемы. Вот тут корды входа

stock GetInterPosH(inter,&Float:x,&Float:y,&Float:z,&Float:a)//интерьер дома спавн
{
	switch(inter)
	{
	case 1:x = 2016.6083, y =  -522.8391,z = -11.9528,a = 359.8;
	case 2:x = 328.2852,y = 1669.8943,z = 1001.0428,a = 359.8;
	default: return 0;
	}
	return 1;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Eduard Vestornович

 

 


case 2:x = 328.2852,y = 1669.8943,z = 1001.0428,a = 359.8;

Я думаю эта строка 

А первая - это вход

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
#Pawno

у тебя дом через команду создаются?.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Denis2131

@#Pawno,да. 


@Vestorn,нет, то 2 интерьер дома.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
noname_idk

@Denis2131, тогда саму команду давайте. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Denis2131

,

if(strcmp(cmd, "/addhouse", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] < 10) return SendClientMessage(playerid, -1, "У вас нет прав на использование этой команды!");
if(createdh >= (MAX_HOUSE - 1)) return SendClientMessage(playerid, -1, "Создано максимальное кол-во домов");
SPD(@p,1237,DIALOG_STYLE_LIST,"{ffffff}Создание дома (шаг 1/5)","{ffff00}На данном шаге вам предстоит выбрать тип валюты за которую будет продаватьсь дом\n{ffffff}1. Игровые рубли\n2. Донат очки","Далее","Отмена");
return 1;
}
ase 1237:
{
if(!response) return SCM(@p,-1,#Операция отменена!);
switch(listitem)
{
case 0:return SPD(@p,1237,DIALOG_STYLE_LIST,"{ffffff}Создание дома (шаг 1/5)","{ffff00}На данном шаге вам предстоит выбрать тип валюты за которую будет продаватьсь дом\n{ffffff}1. Игровые рубли\n2. Донат очки","Далее","Отмена");
case 1:SetPVarInt(@p,#A_Ch_V,1);
case 2:SetPVarInt(@p,#A_Ch_V,2);
}
SPD(@p,1238,DIALOG_STYLE_INPUT,"{ffffff}Создание дома (шаг 2/5)","{ffff00}На данном шаге вам предстоит указать минимальный уровень для возможной покупки дома","Далее","Отмена");
}
case 1238:
{
if(!response) return SCM(@p,-1,#Операция отменена!);
if(!strlen(inputtext)) return SPD(@p,1238,DIALOG_STYLE_INPUT,"{ffffff}Создание дома (шаг 2/5)","{ffff00}На данном шаге вам предстоит указать минимальный уровень для возможной покупки дома","Далее","Отмена");
new lvl1 = strval(inputtext);
if(!lvl1) return SPD(@p,1238,DIALOG_STYLE_INPUT,"{ffffff}Создание дома (шаг 2/5)","{ffff00}На данном шаге вам предстоит указать минимальный уровень для возможной покупки дома","Далее","Отмена");
SetPVarInt(@p,#A_Ch_Lvl,lvl1);
SPD(@p,1239,DIALOG_STYLE_INPUT,"{ffffff}Создание дома (шаг 3/5)","{ffff00}На данном шаге вам предстоит указать цену дома","Далее","Отмена");
}
case 1239:
{
if(!response) return SCM(@p,-1,#Операция отменена!);
if(!strlen(inputtext)) return SPD(@p,1239,DIALOG_STYLE_INPUT,"{ffffff}Создание дома (шаг 3/5)","{ffff00}На данном шаге вам предстоит указать цену дома","Далее","Отмена");
new price = strval(inputtext);
switch(GetPVarInt(@p,#A_Ch_V))
{
case 1:
{
if(price <= 0 && price >= 10000000) return SPD(@p,1239,DIALOG_STYLE_INPUT,"{ffffff}Создание дома (шаг 3/5)","{ffff00}На данном шаге вам предстоит указать цену дома\n{ff0000}Стоимость дома не может превышать 10 млн. рублей.","Далее","Отмена");
}
case 2:
{
if(price <= 0 && price >= 10000) return SPD(@p,1239,DIALOG_STYLE_INPUT,"{ffffff}Создание дома (шаг 3/5)","{ffff00}На данном шаге вам предстоит указать цену дома\n{ff0000}Стоимость дома не может превышать 10 000 донат очков.","Далее","Отмена");
}
}
SetPVarInt(@p,#A_Ch_Price,price);
SPD(@p,1240,DIALOG_STYLE_LIST,"{ffffff}Создание дома (шаг 4/5)","{ffff00}На данном шаге вам предстоит выбрать интерьер дома\n1. Тип №1\n2. Тип №2","Далее","Отмена");
}
case 1240:
{
if(!response) return SCM(@p,-1,#Операция отменена!);
switch(listitem)
{
case 0:return SPD(@p,1240,DIALOG_STYLE_LIST,"{ffffff}Создание дома (шаг 4/5)","{ffff00}На данном шаге вам предстоит выбрать интерьер дома\n1. Тип №1\n2. Тип №2","Далее","Отмена");
case 1:SetPVarInt(@p,#A_Ch_Int,1);
case 2:SetPVarInt(@p,#A_Ch_Int,2);
}
static const str0[] = "{ffffff}\t\tВы собираетесь создать новый дом.\n\n\t\tТип валюты:\t|\t{008cf0}%s{ffffff}\n\t\tУровень:\t|\t{008cf0}%d\n{ffffff}\t\tЦена:\t\t|\t{008cf0}%d\n{ffffff}\t\tИнтерьер:\t|\t{008cf0}%d\n\n{ffffff}Вы уверены? Точка входа будет создана на вашей текущей позиции.\n\nПродолжить?";
new str[sizeof(str0)+6+9+2+2];
format(str,sizeof(str),str0,(GetPVarInt(@p,#A_Ch_V) == 1) ? ("Рубли"):("Донат очки"),GetPVarInt(@p,#A_Ch_Lvl),GetPVarInt(@p,#A_Ch_Price),GetPVarInt(@p,#A_Ch_Int));
SPD(@p,1241,DIALOG_STYLE_MSGBOX,"{ffffff}Создание дома (шаг 5/5)",str,"Да","Нет");
}
case 1241:
{
if(!response) return SCM(@p,-1,#Операция отменена!);
GetPlayerPos(playerid, House[createdh][HOx],House[createdh][HOy],House[createdh][HOz]);
GetPlayerPos(playerid, House[createdh][SPx],House[createdh][SPy],House[createdh][SPz]);
GetPlayerFacingAngle(playerid,House[createdh][SPr]);

format(House[createdh][owner],32,"На продаже!");
House[createdh][sale] = 0;
House[createdh][int] = GetPVarInt(@p,#A_Ch_Int);
if(!GetInterPosH(GetPVarInt(@p,#A_Ch_Int),House[createdh][Ex],House[createdh][Ey],House[createdh][Ez],House[createdh][Ea])) return SendClientMessage(playerid,-1,#Указан неверный ид интерьера!);
House[createdh][stoim] = GetPVarInt(@p,#A_Ch_Price);
House[createdh][rentable] = 0; // int
House[createdh][rentsumma] = 50;
House[createdh][lvl] = GetPVarInt(@p,#A_Ch_Lvl);
House[createdh][HBank] = 900;
House[createdh][lock] = 1;
House[createdh][hType] = GetPVarInt(@p,#A_Ch_V);//+++

new strings[512];
mysql_format(MySQLGo,strings,sizeof(strings),"INSERT INTO `houses` (`owner`,`hType`,`sale`,`stoim`,`rentable`,`rentsumma`,`lvl`,`HBank`,`lock`,`x`,`y`,`z`,`INT`,`SPx`,`SPy`,`SPz`,`SPr`,`Ex`,`Ey`,`Ez`,`Ea`) VALUES ('На продаже!','%d','0','%d','0','0','%d','10000','1','%.1f','%.1f','%.1f','%d','%.1f','%.1f','%.1f','%.1f','%.1f','%.1f','%.1f','%.1f')", 
House[createdh][hType],House[createdh][stoim],House[createdh][lvl], House[createdh][HOx], House[createdh][HOy], House[createdh][HOz],House[createdh][int],
House[createdh][SPx],House[createdh][SPy],House[createdh][SPz],House[createdh][SPr],
House[createdh][Ex],House[createdh][Ey],House[createdh][Ez],House[createdh][Ea]);
new Cache:p = mysql_query(MySQLGo,strings);
House[createdh][houseidd] = cache_insert_id();
SendClientMessage(playerid, COLOR_GRAD2, "Дом успешно создан");
cache_delete(p, MySQLGo);

House[createdh][hPick] = CreatePickup(1273, 23, House[createdh][HOx],House[createdh][HOy],House[createdh][HOz],-1);
House[createdh][hZone] = CreateDynamicSphere(House[createdh][HOx],House[createdh][HOy],House[createdh][HOz], 1.0, -1, -1,-1);
printf("house new created zone id: %d house idx: %d",House[createdh][hZone],createdh);
House[createdh][hMIcon1] = CreateDynamicMapIcon(House[createdh][HOx],House[createdh][HOy],House[createdh][HOz],31,0);
createdh++;
format_string = "";
new years, months, days, hours, minutes, seconds, data[128]; getdate(years, months, days); gettime(hours, minutes, seconds);
format(data, 128, "%02d/%02d/%04d %d:%d", days, months, years, hours, minutes);

mysql_format(MySQLGo, format_string, 300, "INSERT INTO `logs` (`NameAdmin`,`LogName`,`LogAmount`,`GivePlayer`,`Date`) VALUES ('%s','AddHouse For Sale','%d','None','%s')", NamePlayer[playerid], GetPVarInt(@p,#A_Ch_Price), data);
mysql_tquery(MySQLGo, format_string);
}
Изменено пользователем Denis2131

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Denis2131

up

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
#Pawno

stock GetInterPosH(inter,&Float:x,&Float:y,&Float:z,&Float:a)//интерьер дома спавн
{
	switch(inter)
	{
	case 1:x = 2016.6083, y =  -522.8391,z = -11.9528,a = 359.8;
	case 2:x = 328.2852,y = 1669.8943,z = 1001.0428,a = 359.8;
	default: return 0;
	}
	return 1;
} 

Смотри , это у тебя идет  сами интерьеры ,  у тебя их 2.

 

Команда /addhouse создает пикап входа и выхода уже в итерьре выход будет браться от спавна в интерьере , в твоем случий  вот 

 

stock GetInterPosH(inter,&Float:x,&Float:y,&Float:z,&Float:a)//интерьер дома спавн

{

switch(inter)

{

case 1:x = 2016.6083, y = -522.8391,z = -11.9528,a = 359.8; // Кординаты появление в доме возле двери должно быть

case 2:x = 328.2852,y = 1669.8943,z = 1001.0428,a = 359.8; // Кординаты появление в доме возле двери должно быть

default: return 0;

}

return 1;

 

А  сам пикап входа создается командой как я ранее и говорил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Denis2131

@#Pawno,все спасибо разобрался.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.