Вопросы

После выбора авто пропадает диалог, после повторного ввода команды ничего не происходит:

Спойлер

CMD:sellcarplayer(playerid,params[])
{
	new string[256];
	for(new c = 0; c < 3; c++)
	{
	    if(PLAYER_DATA[playerid][data_CAR][c] == 0)
	    {
	    	format(string,sizeof(string),"%s{FFFFFF}[%d] cвободно\n",string, c+1);
		}
		else
		{
		    format(string,sizeof(string),"%s{FFFFFF}[%d] модель:%d\n",string, c+1, PLAYER_DATA[playerid][data_CAR][c]);
		}
	}
	ShowPlayerDialogFix(playerid,dialog_SELLCAR_PLAYER, DIALOG_STYLE_LIST, "{FFCC00}Продажа автомобилей", string, "Выбрать", "Отмена");
	return true;
}

 

Спойлер

case dialog_SELLCAR_PLAYER:
	{
		new str[145];
	    if(response)
	    {
			if(PLAYER_DATA[playerid][data_CAR][listitem] == 0) return SendClientMessage(playerid, COLOR_WARNING, "Данный слот пуст!");
	        for(new i = 0; i < sizeof(autosalon_cars); i++)
	        {
		        if(autosalon_cars[i][asModel] == PLAYER_DATA[playerid][data_CAR][listitem])
		        {
					SetPVarInt(playerid,"sell_car",i);
					SetPVarInt(playerid, "sell_slot", listitem);
					ShowPlayerDialogFix(playerid,dialog_SELLCAR_PLAYER_1,DIALOG_STYLE_INPUT,"{FFCC00}Продажа личного транспорта игроку", str, "Продать","Отмена");
					return true;
				}
	        }
	    }
	}

	case dialog_SELLCAR_PLAYER_1:
	{
		if(response)
		{
		    new id;
			new money;
		    new string[256];
		    if(sscanf(inputtext, "p<,>ii", id, money)) return SCM(playerid, COLOR_WARNING, "Вы должны ввести ID игрока и цену.");
      		PLAYER_DATA[id][data_MONEY] = money;
			PLAYER_DATA[id][data_Buy] = playerid;
			PLAYER_DATA[id][data_Buy1] = id;
			format(string, sizeof(string), "Игрок %s хочет продать вам свой транспорт.\n Цена %d",PLAYER_DATA[playerid][data_NAME],money);
			ShowPlayerDialogFix(id,dialog_SELLCAR_PLAYER_2,DIALOG_STYLE_MSGBOX,"{FFCC00}Продажа личного транспорта игроку",string,"Ок","Отмена");
		}
	}

	case dialog_SELLCAR_PLAYER_2:
	{
		if(response)
		{
		    new id;
			GivePlayerMoney(playerid, -PLAYER_DATA[playerid][data_MONEY]);
			GivePlayerMoney(PLAYER_DATA[playerid][data_Buy],PLAYER_DATA[id][data_MONEY]);
		}
	}

 

 

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


Ссылка на сообщение

6 ответов на этот вопрос

  • 0

Лол, ток заметил , что ты str не используешь в 

dialog_SELLCAR_PLAYER

Поэтому диалог показывает пустую строку и не вызывается, меняй.

Отредактируй к примеру через format.

Вот переделал тебе полностью. убирай 

new str[145];

и замени

ShowPlayerDialogFix(playerid,dialog_SELLCAR_PLAYER_1,DIALOG_STYLE_INPUT,"{FFCC00}Продажа личного транспорта игроку", str, "Продать","Отмена");
					
на 

ShowPlayerDialogFix(playerid,dialog_SELLCAR_PLAYER_1,DIALOG_STYLE_INPUT,"{FFCC00}Продажа личного транспорта игроку", "Введите ИД игрока и цену через запятую\nПример: 1,1000", "Продать","Отмена");
					

Отредактировано пользователем HAZZY

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


Ссылка на сообщение
  • 0

return 1 попробуй

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


Ссылка на сообщение
  • 0

@Remmi_Feed логи сервера скидывай в тот момент, когда воспроизвел указанные в первом сообщении действия (запуск диалога, ввод команды). 

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


Ссылка на сообщение
  • 0

@DEST 

Спойлер


----------
Loaded log file: "server_log.txt".
----------

SA-MP Dedicated Server
----------------------
v0.3e, (C)2005-2012 SA-MP Team

[13:00:28] 
[13:00:28] Server Plugins
[13:00:28] --------------
[13:00:28]  Loading plugin: crashdetect.so
[13:00:28]   CrashDetect v4.15.1 is OK.
[13:00:28]   Loaded.
[13:00:28]  Loading plugin: CRP.so
[13:00:28] 

[13:00:28] ______________________________________

[13:00:28]  Convert Rus To Pwn v0.1.1 loaded
[13:00:28] ______________________________________

[13:00:28]  By: Fro (c) Copyright <TBG> 2009-2011
[13:00:28] ______________________________________

[13:00:28]   Loaded.
[13:00:28]  Loading plugin: mysql_static.so
[13:00:28]  >> plugin.mysql: R39-3 successfully loaded.
[13:00:28]   Loaded.
[13:00:28]  Loading plugin: sscanf.so
[13:00:28] 

[13:00:28]  ===============================

[13:00:28]       sscanf plugin loaded.     

[13:00:28]          Version:  2.8.1        

[13:00:28]    (c) 2012 Alex "Y_Less" Cole  

[13:00:28]  ===============================

[13:00:28]   Loaded.
[13:00:28]  Loading plugin: streamer.so
[13:00:28] 

*** Streamer Plugin v2.7.8 by Incognito loaded ***

[13:00:28]   Loaded.
[13:00:28]  Loaded 5 plugins.

[13:00:28] 
[13:00:28] Ban list
[13:00:28] --------
[13:00:28]  Loaded: samp.ban
[13:00:28] 
[13:00:28] 
[13:00:28] Filterscripts
[13:00:28] ---------------
[13:00:28]   Loading filterscript 'par.amx'...
[13:00:28]   Loaded 1 filterscripts.

[13:00:28] OnGameo
[13:00:28] Server password has been removed.
[13:00:28] Setting server password to: "2015"
[13:00:28] MySQL connection: OK
[13:00:28] 
------------------------------
[13:00:28]  Start date: 24.06.2016
[13:00:28] ------------------------------
[13:00:28] Number of vehicle models: 25
[13:00:28] [serv_log]  Load warehouse. Time: 0 ms.
[13:00:28] [serv_log]  Load job business. Load: 4 b. Time: 0 ms.
[13:00:28] [serv_log]  Load auto business. Load: 2 b. Time: 0 ms.
[13:00:28] [serv_log]  Load kvartiry. Load: 462 b. Time: 76 ms.
[13:00:28] [serv_log]  Load houses. Load: 115 h. Time: 2 ms.
[13:00:28] [serv_log]  Load business. Load: 42 b. Time: 1 ms.
[13:01:02] Incoming connection: 128.74.220.108:57938
[13:01:03] [join] Remmi_Johnson has joined the server (0:128.74.220.108)
[13:02:32] [part] Remmi_Johnson has left the server (0:1)

 

 

Вообще пусто

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


Ссылка на сообщение
  • 0

Up!

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


Ссылка на сообщение
  • 0

советую в case dialog_SELLCAR_PLAYER:
расставить print для логирования действий. когда определенный print не сработает к примеру, укажет тебе на ошибку.

 

case dialog_SELLCAR_PLAYER:
	{
		new str[145];
	    if(response)
	    {
		
			if(PLAYER_DATA[playerid][data_CAR][listitem] == 0) return SendClientMessage(playerid, COLOR_WARNING, "Данный слот пуст!");
	        print("1");
		for(new i = 0; i < sizeof(autosalon_cars); i++)
	        {
			print("2");	
		        if(autosalon_cars[i][asModel] == PLAYER_DATA[playerid][data_CAR][listitem])
		        {
					print("3");
					SetPVarInt(playerid,"sell_car",i);
					SetPVarInt(playerid, "sell_slot", listitem);
					ShowPlayerDialogFix(playerid,dialog_SELLCAR_PLAYER_1,DIALOG_STYLE_INPUT,"{FFCC00}Продажа личного транспорта игроку", str, "Продать","Отмена");
					break;
				}
			print("4");
	        }
	    }
	}

 

Отредактировано пользователем HAZZY

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


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

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

  • Похожий контент

    • Узбек
      От Узбек
      Всем добрый вечер ребят! 
      Я начинающий, сегодня я вам сливаю команду 2(шт) на технические работы
      Ловите 
       
    • nazpol9
      От nazpol9
      Привет всем.

      У меня имеется мод для самп сервера и VPS с Ubuntu, на котором я пытаюсь его запустить.

      В чем суть проблемы: при запуске samp03svr, сервер запускается, но на версии 0.3.DL R-1. Когда я пытаюсь запустить этот же мод локально на Windows, сервер работает на версии 0.3.7 и я могу зайти на него без клиента 0.3.DL.

      Для решения этой проблемы я уже пробовал заменять инклуды и исполнительные файлы теми, что есть в архивах на официальном сайте сампа, перекомпилировал мод, и ничего не изменилось.
       
      #include <a_samp> #include <a_mysql> #include <foreach> #include <Pawn.RakNet> #include <streamer> #include <sscanf2> #include <float2> #include <crashdetect> #include <fmt> #include <a_http> #include <Pawn.CMD> #include <Pawn.Regex> #include <requests> #include <callbacks> #include <MD5> #include <mxdate> #include <TOTP> #include <gvar> #include <md-sort> #include <nex-ac> #include <weapon-config> #include <discord-connector> #include <3DTryg> #include <textdraw-streamer>  
      plugins crashdetect.so streamer.so textdraw-streamer.so sscanf.so pawnraknet.so pawncmd.so mysql.so requests.so profiler.so pawnregex.so TOTP.so gvar.so discord-connector.so

      Если у кого-то будут какие-либо догадки, прошу ими поделиться, если понадобится больше информации - я постараюсь её предоставить.