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

Система сигнализации (дистанционное управление)

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

Dexter

Вообщем пишу систему при которой игрок может закрыть - открыть авто и.т.д на большом расстоянии через диалог

 

Но проблема при вводе команды диалог не открывается ужё все перепробывал help с меня +

CMD:apanel(playerid)
{
    if(antiflood[playerid] > 0) return SendClientMessage(playerid, COLOR_WARNING,"Не флуди!");
    antiflood[playerid]++;
	if(PLAYER_DATA[playerid][data_LOGGED] == false) return SendClientMessage(playerid,COLOR_WARNING,"Вы не авторизованы на сервере!");
	for(new c = 0; c < MAX_VEHICLES; c++)
	{
		if(c == PLAYER_DATA[playerid][data_VEH])
		{
			new Float:x,Float:y,Float:z;
		    GetVehiclePos(c,x,y,z);
			if(!PlayerToPoint(10.0, playerid, x,y,z)) return SendClientMessage(playerid,COLOR_WARNING,"Вы находитесь далеко от личного транспорта!");
		}
	}
	ShowPlayerDialogFix(playerid, dialog_APANEL, DIALOG_STYLE_LIST, "{F4ED0D}Дистанционное управление", "Завести двигатель\nЗаглушить двигатель\nВключить фары\nВыключить фары", "Выбрать", "Выйти");
	return true;
}

Диалог

		case dialog_APANEL:
		{
		    if(!response) return true;
		    if(response)
	  		{
				switch(listitem)
				{
					case 0: SetVehicleParamsEx(VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
					case 1: SetVehicleParamsEx(VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
					case 2: SetVehicleParamsEx(engine,true,alarm,doors,bonnet,boot,objective);
					case 3: SetVehicleParamsEx(engine,false,alarm,doors,bonnet,boot,objective);
				}
		    }
		}

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


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

@Dexter,А тут разве так должно?

ShowPlayerDialogFix(playerid, dialog_APANEL, DIALOG_STYLE_LIST, "{F4ED0D}Дистанционное управление", "Завести двигатель\nЗаглушить двигатель\nВключить фары\nВыключить фары", "Выбрать", "Выйти"); 

Точнее

ShowPlayerDList
или
ShowPlayerDialogList 

Просто была такая проблема, в этом слове list забыл изменить,потом заработало!

 

Сорри если не правильно сказал,просто я так решил проблему,тоже хотел сначала писать на форум!

  • Like 1

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


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

ShowPlayerDialogFix

Я везде использую ShowPlayerDialogFix либо ShowPlayerDialog

 

И то что ты написал это бред )

 

Но спасибо что попытался помочь )

Изменено пользователем Dexter

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


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

SetVehicleParamsEx(VEHICLEID, а потом уже данные.

  • Like 1

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


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

VEHICLEID,

error 017: undefined symbol "VEHICLEID"
error 017: undefined symbol "VEHICLEID"
error 017: undefined symbol "VEHICLEID"
error 017: undefined symbol "VEHICLEID"
		case dialog_APANEL:
		{
		    if(!response) return true;
		    if(response)
	  		{
				switch(listitem)
				{
					case 0: SetVehicleParamsEx(VEHICLEID,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
					case 1: SetVehicleParamsEx(VEHICLEID,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
					case 2: SetVehicleParamsEx(VEHICLEID,engine,true,alarm,doors,bonnet,boot,objective);
					case 3: SetVehicleParamsEx(VEHICLEID,engine,false,alarm,doors,bonnet,boot,objective);
				}
		    }
		}
Изменено пользователем Dexter

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


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

В таком виде попробуйте.

SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);

Или замени.

ShowPlayerDialogFix(playerid, dialog_APANEL, DIALOG_STYLE_LIST, "{F4ED0D}Дистанционное управление", "Завести двигатель\nЗаглушить двигатель\nВключить фары\nВыключить фары", "Выбрать", "Выйти");

на

ShowPlayerDialog(playerid, dialog_APANEL, DIALOG_STYLE_LIST, "{F4ED0D}Дистанционное управление Т/С", "{FA0B0B}1. {FFFFFF}Завести двигатель\n{FA0B0B}2. {FFFFFF}Заглушить двигатель\n{FA0B0B}3. {FFFFFF}Включить фары\n{FA0B0B}4. {FFFFFF}Выключить фары", "Выбрать", "");

Вообще вот тема, полностью рабочая.

[spoiler=-'']http://cr-mp.ru/forum/topic/17348-distantcionnoe-upravlenie-avtomobilem/

 

  • Like 1

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


Ссылка на сообщение
Поделиться на другие сайты
Alonso
CMD:apanel(playerid)
{
    if(antiflood[playerid] > 0) return SendClientMessage(playerid, COLOR_WARNING,"Не флуди!");
    antiflood[playerid]++;
	if(PLAYER_DATA[playerid][data_LOGGED] == false) return SendClientMessage(playerid,COLOR_WARNING,"Вы не авторизованы на сервере!");
	for(new c = 0; c < MAX_VEHICLES; c++)
	{
		if(c == PLAYER_DATA[playerid][data_VEH])
		{
			new Float:x,Float:y,Float:z;
		    GetVehiclePos(c,x,y,z);
			if(!PlayerToPoint(10.0, playerid, x,y,z)) return SendClientMessage(playerid,COLOR_WARNING,"Вы находитесь далеко от личного транспорта!");
		}
	}
SetPVarInt(playerid, "Alonso",  PLAYER_DATA[playerid][data_VEH]);
	ShowPlayerDialogFix(playerid, dialog_APANEL, DIALOG_STYLE_LIST, "{F4ED0D}Дистанционное управление", "Завести двигатель\nЗаглушить двигатель\nВключить фары\nВыключить фары", "Выбрать", "Выйти");
	return true;
}
Диалог
		case dialog_APANEL:
		{
new alonsocool = GetPVarInt(playerid, "Alonso"); 
		    if(!response) return true;
		    if(response)
	  		{
				switch(listitem)
				{
					case 0: SetVehicleParamsEx(alonsocool, VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
					case 1: SetVehicleParamsEx(alonsocool,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
					case 2: SetVehicleParamsEx(alonsocool,engine,true,alarm,doors,bonnet,boot,objective);
					case 3: SetVehicleParamsEx(alonsocool,engine,false,alarm,doors,bonnet,boot,objective);
				}
		    }
		}

проверяй

  • Like 1

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


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

 

 


alonsocool
Ошибок нету, но диалог так и не открывается

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


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

, Не помогло

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


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

Как делаю я если какой то код не работает.

Вставляю принты (1, 2, 3, 4) - (print("1"); print("2"); print("3"); )

после каждой {

и смотрю где остановилось (в логах)

  • Like 1

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


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


case dialog_APANEL:
{
if(!response) return false;
{
switch(listitem)
{
case 0: SetVehicleParamsEx(VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
case 1: SetVehicleParamsEx(VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
case 2: SetVehicleParamsEx(engine,true,alarm,doors,bonnet,boot,objective);
case 3: SetVehicleParamsEx(engine,false,alarm,doors,bonnet,boot,objective);
}
}
}

 

  • Like 1

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


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

, Так опять 1 аргумента хватать не будет в начале

 

Само меню диалога даже не открывается причём здесь сами команды?

 

Просто ввожу /apanel и ничего не происходит

 

Кто может напишите с 0 под мой код

Изменено пользователем Dexter

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


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


case dialog_APANEL:
{
new veh = GetPVarInt(playerid, "AVTOS");
if(!response) return false;
switch(listitem)
{
case 0: GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(veh,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
case 1: GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(veh,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
case 2: GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(veh,engine,true,alarm,doors,bonnet,boot,objective);
case 3: GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective); SetVehicleParamsEx(veh,engine,false,alarm,doors,bonnet,boot,objective);
}
}


CMD:apanel(playerid)
{
new Float: pos[3], Float: radius = 5.0;
for(new v = 0; v < MAX_VEHICLES; v++)
{
GetVehiclePos(v, pos[0], pos[1], pos[2]);
if(IsPlayerInRangeOfPoint(playerid, radius, pos[0], pos[1], pos[2]))
{
SetPVarInt(playerid, "AVTOS", v);
ShowPlayerDialog(playerid, dialog_APANEL, DIALOG_STYLE_LIST, "{F4ED0D}Дистанционное управление Т/С", "{FA0B0B}1. {FFFFFF}Завести двигатель\n{FA0B0B}2. {FFFFFF}Заглушить двигатель\n{FA0B0B}3. {FFFFFF}Включить фары\n{FA0B0B}4. {FFFFFF}Выключить фары", "Выбрать", "");
break;
}
}
return true;
}
  • Like 1

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


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

, Боже Explay, я взял это под основу не поверишь но то что там написано мне роли не играет мне нужно что бы выполнялась проверка на то что это авто игрока и.т.д то что сделал я

 

Читай внимательнее я попросил сделать под мой код а не просто скопипастить чужую тему

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


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

@Dexter, возможно, Ваш "фиксер" корявый. Замените ShowPlayerDialogFix на ShowPlayerDialog. 


Если не поможет, замените команду этим:

CMD:apanel(playerid)
{
	printf("1_а");
	if(antiflood[playerid] > 0) return SendClientMessage(playerid, COLOR_WARNING,"Не флуди!");
	antiflood[playerid]++;
	if(PLAYER_DATA[playerid][data_LOGGED] == false) return SendClientMessage(playerid,COLOR_WARNING,"Вы не авторизованы на сервере!");
	printf("2_а");
	for(new c = 0; c < MAX_VEHICLES; c++)
	{
		if(c == PLAYER_DATA[playerid][data_VEH])
		{
			new Float:x,Float:y,Float:z;
			GetVehiclePos(c,x,y,z);
			if(!PlayerToPoint(10.0, playerid, x,y,z)) return SendClientMessage(playerid,COLOR_WARNING,"Вы находитесь далеко от личного транспорта!");
		}
	}
	printf("3_а");
	ShowPlayerDialogFix(playerid, dialog_APANEL, DIALOG_STYLE_LIST, "{F4ED0D}Дистанционное управление", "Завести двигатель\nЗаглушить двигатель\nВключить фары\nВыключить фары", "Выбрать", "Выйти");
	return true;
}

Диалог этим:

case dialog_APANEL:
{
	printf("аа_1");
	if(!response) return true;
	printf("аа_2, %d", listitem);
	if(response)
	{
		switch(listitem)
		{
			case 0: SetVehicleParamsEx(VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
			case 1: SetVehicleParamsEx(VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
			case 2: SetVehicleParamsEx(engine,true,alarm,doors,bonnet,boot,objective);
			case 3: SetVehicleParamsEx(engine,false,alarm,doors,bonnet,boot,objective);
		}
	}
	printf("аа_3");
}

Вызовите команду в моде и покажите потом логи.


И еще такой вопрос, у Вас мод компилируется без ошибок? На порядок аргументов нет предупреждений?

  • Like 2

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


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

Огромное спасибо всем ребятам которые пытались помочь, Marvellous Elrmrnt-Kritik ExPlaY Alonso Вы все помогли мне всем нажал спасибо, проблему удалось решит тогда когда я включил голову и увидел что постоянно в FTP я заливал мод на другой хостинг звучит банально но FTP я не закрывал около недели а на этой недели как раз подключался к другому хостингу и видемо забыл вернуться в старый и постоянно грузил мод рестартил сервер но ничего не происходило )

 

Тупица весь форум поднял на уши но хоть активность поднялась :)

 

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

 

P.S на будущее проверяйте подключение к FTP xD урок на всё жизнь )

Изменено пользователем Dexter
  • Like 1

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


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

Совет на будущее, всегда сперва проверяй мод на самом ПК, а потом уже заливай. И быстрее, и удобнее.

 

 

Тему закрыть ты не можешь?

  • Like 1

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


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

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

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

×

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

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