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



Не найдено.

26 posts in this topic

Добавил систему бизнесов, но когда я нажимаю "Купить" ничего не происходит, мод проверял на такой-же диалог, не нашел ничего похожего!

Share this post


Link to post
Share on other sites

@Timur_Top 

1 час назад, Timur_Top сказал:

мод проверял на такой-же диалог, не нашел ничего похожего!

Диалога в моде нет? 

Share this post


Link to post
Share on other sites

@Timur_Top так значит функционал нужно писать для системы, чтобы диалог работал. Поищите еще раз, должен быть скорей всего. 

Share this post


Link to post
Share on other sites

@DEST Он у меня FS, возможно из-за этого? Просто я пробывал его в мод закинуть, ошибки, ну и я решил обратно в FS

 

Share this post


Link to post
Share on other sites

@Timur_Top в FS диалог есть? 

Share this post


Link to post
Share on other sites

@Timur_Top проверьте, может быть ID диалогов совпадает, т.е. есть такой ID и в моде и в FS

Share this post


Link to post
Share on other sites

@DEST Нету, проверил только что, ничего похожего.

 

Share this post


Link to post
Share on other sites

@Timur_Top логи

Share this post


Link to post
Share on other sites

@DEST с сервер лога?

Спойлер

[15:40:29]   Loading filterscript 'BusSystem.amx'...
[15:40:29] *** Streamer Plugin: Include file version (0x26105) does not match plugin version (0x291) (script might need to be recompiled with the correct include file).
[15:40:29]  
[15:40:29]  9 бизнесов загружено.
[15:40:29] *** Streamer Plugin: CreateDynamicPickup: Expecting 11 parameter(s), but found 9.
[15:40:29] *** Streamer Plugin: CreateDynamicMapIcon: Expecting 12 parameter(s), but found 9.
[15:40:29] *** Streamer Plugin: CreateDynamic3DTextLabel: Expecting 15 parameter(s), but found 13.
[15:40:29] *** Streamer Plugin: CreateDynamicPickup: Expecting 11 parameter(s), but found 9.
[15:40:29] *** Streamer Plugin: CreateDynamicMapIcon: Expecting 12 parameter(s), but found 9.
[15:40:29] *** Streamer Plugin: CreateDynamic3DTextLabel: Expecting 15 parameter(s), but found 13.
[15:40:29] *** Streamer Plugin: CreateDynamicPickup: Expecting 11 parameter(s), but found 9.
[15:40:29] *** Streamer Plugin: CreateDynamicMapIcon: Expecting 12 parameter(s), but found 9.
[15:40:29] *** Streamer Plugin: CreateDynamic3DTextLabel: Expecting 15 parameter(s), but found 13.
[15:40:29] *** Streamer Plugin: CreateDynamicPickup: Expecting 11 parameter(s), but found 9.
[15:40:29] *** Streamer Plugin: CreateDynamicMapIcon: Expecting 12 parameter(s), but found 9.
[15:40:29] *** Streamer Plugin: CreateDynamic3DTextLabel: Expecting 15 parameter(s), but found 13.
[15:40:29] *** Streamer Plugin: CreateDynamicPickup: Expecting 11 parameter(s), but found 9.
[15:40:29] *** Streamer Plugin: CreateDynamicMapIcon: Expecting 12 parameter(s), but found 9.
[15:40:29] *** Streamer Plugin: CreateDynamic3DTextLabel: Expecting 15 parameter(s), but found 13.
[15:40:29] *** Streamer Plugin: CreateDynamicPickup: Expecting 11 parameter(s), but found 9.
[15:40:29] *** Streamer Plugin: CreateDynamicMapIcon: Expecting 12 parameter(s), but found 9.
[15:40:29] *** Streamer Plugin: CreateDynamic3DTextLabel: Expecting 15 parameter(s), but found 13.
[15:40:29] *** Streamer Plugin: CreateDynamicPickup: Expecting 11 parameter(s), but found 9.
[15:40:29] *** Streamer Plugin: CreateDynamicMapIcon: Expecting 12 parameter(s), but found 9.
[15:40:29] *** Streamer Plugin: CreateDynamic3DTextLabel: Expecting 15 parameter(s), but found 13.
[15:40:29] *** Streamer Plugin: CreateDynamicPickup: Expecting 11 parameter(s), but found 9.
[15:40:29] *** Streamer Plugin: CreateDynamicMapIcon: Expecting 12 parameter(s), but found 9.
[15:40:29] *** Streamer Plugin: CreateDynamic3DTextLabel: Expecting 15 parameter(s), but found 13.
[15:40:29] *** Streamer Plugin: CreateDynamicPickup: Expecting 11 parameter(s), but found 9.
[15:40:29] *** Streamer Plugin: CreateDynamicMapIcon: Expecting 12 parameter(s), but found 9.
[15:40:29] *** Streamer Plugin: CreateDynamic3DTextLabel: Expecting 15 parameter(s), but found 13.
[15:40:29]  
[15:40:29] --------------------------------------
[15:40:29]      BusSystem успешно загружена! 
[15:40:29] --------------------------------------

[15:40:29]   Loaded 10 filterscripts.

[15:40:29]  
[15:40:29] ++++++++++++++++++++++++++++++++++++++
[15:40:29]  
[15:40:29] Server Start: 15:40 06/05/2018
[15:40:29]  
[15:40:29] ++++++++++++++++++++++++++++++++++++++
[15:40:29]  
[15:40:29]  
[15:40:29] --------------------------------------------
[15:40:29]        GangSystem успешно загружена !        
[15:40:29] --------------------------------------------
 

 

 

Ошибку Стримера исправил, в логах после нажатия "Купить" ничего не происходит.

Заметка от odosenok , создано

Объединил сообщения.

Share this post


Link to post
Share on other sites

@Timur_Top значит все равно версии инклудов разные, FS кстати тоже нужно компилить с новым инклудом

Share this post


Link to post
Share on other sites

@DEST Да я их тоже откомпилировал, после нажатия "Купить" ничего не происходит

 

Share this post


Link to post
Share on other sites

@Timur_Top значит проблема в систему, кидай код или фс

Share this post


Link to post
Share on other sites

@Timur_Top, ну, у меня по данному поводу есть два варианта:

  1. Внутри самого мода перекрыта возможность вызова диалогов из FilterScripts. Чтобы это проверить, покажите чистую функцию OnDialogResponse из своего мода ("чистая функция" - функция без команд внутри).
  2. Какая-либо проверка внутри кода диалога мешает ему выполнять предназначенную роль. Для проверки этого найдите в моде такой код:
  3. 	if(dialogid == 8001)
        {
    		if(dialogid != dlgcont[playerid])
    		{
    			dlgcont[playerid] = -600;//не существующий ИД диалога
    			return 1;
    		}
    		dlgcont[playerid] = -600;//не существующий ИД диалога
            if(response)
    		{
    			new string[256];
    #if (FS11INS == 0)
    			if(GetPlayerMoney(playerid) < buscost[playIDbus[playerid]])//если у игрока недостаточно денег, то:
    			{
    				ShowPlayerDialog(playerid, 8000, 0, "Информация.", "{ADFF2F}У Вас недостаточно денег для покупки этого бизнеса !", "OK", "");
    				dlgcont[playerid] = 8000;
    				return 1;
    			}
    #endif
    #if (FS11INS == 1)
    			if(GetPVarInt(playerid, "PlMon") < buscost[playIDbus[playerid]])//если у игрока недостаточно денег, то:
    			{
    				ShowPlayerDialog(playerid, 8000, 0, "Информация.", "{ADFF2F}У Вас недостаточно денег для покупки этого бизнеса !", "OK", "");
    				dlgcont[playerid] = 8000;
    				return 1;
    			}
    #endif
    			new para1 = 0;
    			for(new i; i < BUS_MAX; i++)//подсчёт числа уже купленных бизнесов
    			{
    				if(buscount[i] == 1 && strcmp(RealName[playerid], busplayname[i], false) == 0) { para1++; }
    			}
    			if(para1 >= BUS_PLAY)
    			{
    				format(string, sizeof(string), "{ADFF2F вас уже есть %d бизнеса !   Что бы купить этот бизнес -\
    				\nпродайте хотя бы один из своих существующих бизнесов !", para1);
    				ShowPlayerDialog(playerid, 8000, 0, "Информация.", string, "OK", "");
    				dlgcont[playerid] = 8000;
    				return 1;
    			}
    			if(strcmp(busplayname[playIDbus[playerid]], "*** INV_PL_ID", false) != 0 && busday[playIDbus[playerid]] != 0)
    			{//если в момент покупки, покупаемый бизнес успел купить другой игрок, то:
    				SendClientMessage(playerid, 0xFF0000FF, " Этот бизнес уже принадлежит другому игроку !");
    				format(string, sizeof(string), "{ADFF2F}Название бизнеса: %s\nВладелец бизнеса: %s\nСтоимость бизнеса: %d $", busname[playIDbus[playerid]],
    				busplayname[playIDbus[playerid]], buscost[playIDbus[playerid]]);
    				ShowPlayerDialog(playerid, 8000, 0, "Информация.", string, "OK", "");
    				dlgcont[playerid] = 8000;
    				return 1;
    			}
    			strdel(busplayname[playIDbus[playerid]], 0, MAX_PLAYER_NAME);//изменение имени владельца бизнеса
    			strcat(busplayname[playIDbus[playerid]], RealName[playerid]);
    			busday[playIDbus[playerid]] = 99;//временная блокировка возможности перекупки бизнеса
    			new para2;
    #if (FS11INS == 0)
    			para2 = GetPlayerMoney(playerid);
    			GivePlayerMoney(playerid, - buscost[playIDbus[playerid]]);//списывание денег со счёта игрока
    #endif
    #if (FS11INS == 1)
    			para2 = GetPVarInt(playerid, "PlMon");
    			SetPVarInt(playerid, "PlMon", GetPVarInt(playerid, "PlMon") - buscost[playIDbus[playerid]]);//списывание денег со счёта игрока
    #endif
    			gettime(timecor[0], timecor[1]);
    			getdate(timecor[2], timecor[3], timecor[4]);
    			TimCor();//коррекция времени
    			DatCor();//коррекция даты
    			new per22;//вычисление даты окончания срока без права перекупки
    			per22 = BUS_DAY + timecor[4];
    			if(per22 > 28 && timecor[7] == 0 && timecor[3] == 2)
    			{
    				per22 = per22 - 28;
    			}
    			if(per22 > 29 && timecor[7] == 1 && timecor[3] == 2)
    			{
    				per22 = per22 - 29;
    			}
    			if(per22 > 30 && (timecor[3] == 4 || timecor[3] == 6 || timecor[3] == 9 || timecor[3] == 11))
    			{
    				per22 = per22 - 30;
    			}
    			if(per22 > 31 && (timecor[3] == 1 || timecor[3] == 3 || timecor[3] == 5 || timecor[3] == 7 || timecor[3] == 8 || timecor[3] == 10 || timecor[3] == 12))
    			{
    				per22 = per22 - 31;
    			}
    			busidplay[playIDbus[playerid]] = playerid;//даём бизнесу ИД он-лайн игрока - владельца бизнеса
    			busmoney[playIDbus[playerid]] = 0;//обнуляем счётчик минут бизнеса
    			busday[playIDbus[playerid]] = per22;//изменение даты окончания срока без права перекупки
    			new file, f[256];//записываем изменения в файл
    			format(f, 256, "bussystem/%i.ini", playIDbus[playerid]);
    			file = ini_openFile(f);
    			if(file >= 0)
    			{
    		    	ini_setString(file, "PlayName", busplayname[playIDbus[playerid]]);
    		    	ini_setInteger(file, "Day", busday[playIDbus[playerid]]);
    				ini_closeFile(file);
    			}
    			DestroyDynamicMapIcon(MapIconID[playIDbus[playerid]]);//удаляем мап-иконку бизнеса
    			printf("[BusSystem] Игрок %s [%d] купил бизнес %s [ID: %d] за %d $ .", RealName[playerid], playerid, busname[playIDbus[playerid]], playIDbus[playerid], buscost[playIDbus[playerid]]);
    			format(string, sizeof(string), " Игрок %s [%d] купил бизнес %s .", RealName[playerid], playerid, busname[playIDbus[playerid]]);
    			SendClientMessageToAll(0x00FFFFFF, string);
    			printf("[moneysys] Предыдущая сумма игрока %s [%d] : %d $", RealName[playerid], playerid, para2);
    		}
    		playIDbus[playerid] = -600;//не существующий ИД бизнеса для игрока
    		return 1;
    	} 
  4. Затем замените этот участок следующим:
  5.  	if(dialogid == 8001)
        {
    		printf("[DEBUG FS] Test1");
    		if(dialogid != dlgcont[playerid])
    		{
    			dlgcont[playerid] = -600;//не существующий ИД диалога
    			return 1;
    		}
    		printf("[DEBUG FS] Test2");
    		dlgcont[playerid] = -600;//не существующий ИД диалога
            if(response)
    		{
    			printf("[DEBUG FS] Test3");
    			new string[256];
    			#if (FS11INS == 0)
    			if(GetPlayerMoney(playerid) < buscost[playIDbus[playerid]])//если у игрока недостаточно денег, то:
    			{
    				ShowPlayerDialog(playerid, 8000, 0, "Информация.", "{ADFF2F}У Вас недостаточно денег для покупки этого бизнеса !", "OK", "");
    				dlgcont[playerid] = 8000;
    				return 1;
    			}
    			printf("[DEBUG FS] Test4.1");
    			#endif
    			printf("[DEBUG FS] Test5");
    			#if (FS11INS == 1)
    			if(GetPVarInt(playerid, "PlMon") < buscost[playIDbus[playerid]])//если у игрока недостаточно денег, то:
    			{
    				ShowPlayerDialog(playerid, 8000, 0, "Информация.", "{ADFF2F}У Вас недостаточно денег для покупки этого бизнеса !", "OK", "");
    				dlgcont[playerid] = 8000;
    				return 1;
    			}
    			printf("[DEBUG FS] Test6.1");
    			#endif
    			new para1 = 0;
    			for(new i; i < BUS_MAX; i++)//подсчёт числа уже купленных бизнесов
    			{
    				if(buscount[i] == 1 && strcmp(RealName[playerid], busplayname[i], false) == 0) { para1++; }
    			}
    			printf("[DEBUG FS] Test7");
    			if(para1 >= BUS_PLAY)
    			{
    				format(string, sizeof(string), "{ADFF2F вас уже есть %d бизнеса !   Что бы купить этот бизнес -\
    				\nпродайте хотя бы один из своих существующих бизнесов !", para1);
    				ShowPlayerDialog(playerid, 8000, 0, "Информация.", string, "OK", "");
    				dlgcont[playerid] = 8000;
    				return 1;
    			}
    			printf("[DEBUG FS] Test8");
    			if(strcmp(busplayname[playIDbus[playerid]], "*** INV_PL_ID", false) != 0 && busday[playIDbus[playerid]] != 0)
    			{//если в момент покупки, покупаемый бизнес успел купить другой игрок, то:
    				SendClientMessage(playerid, 0xFF0000FF, " Этот бизнес уже принадлежит другому игроку !");
    				format(string, sizeof(string), "{ADFF2F}Название бизнеса: %s\nВладелец бизнеса: %s\nСтоимость бизнеса: %d $", busname[playIDbus[playerid]],
    				busplayname[playIDbus[playerid]], buscost[playIDbus[playerid]]);
    				ShowPlayerDialog(playerid, 8000, 0, "Информация.", string, "OK", "");
    				dlgcont[playerid] = 8000;
    				return 1;
    			}
    			printf("[DEBUG FS] Test9");
    			strdel(busplayname[playIDbus[playerid]], 0, MAX_PLAYER_NAME);//изменение имени владельца бизнеса
    			strcat(busplayname[playIDbus[playerid]], RealName[playerid]);
    			busday[playIDbus[playerid]] = 99;//временная блокировка возможности перекупки бизнеса
    			new para2;
    			#if (FS11INS == 0)
    			para2 = GetPlayerMoney(playerid);
    			GivePlayerMoney(playerid, - buscost[playIDbus[playerid]]);//списывание денег со счёта игрока
    			#endif
    			#if (FS11INS == 1)
    			para2 = GetPVarInt(playerid, "PlMon");
    			SetPVarInt(playerid, "PlMon", GetPVarInt(playerid, "PlMon") - buscost[playIDbus[playerid]]);//списывание денег со счёта игрока
    			#endif
    			gettime(timecor[0], timecor[1]);
    			getdate(timecor[2], timecor[3], timecor[4]);
    			TimCor();//коррекция времени
    			DatCor();//коррекция даты
    			new per22;//вычисление даты окончания срока без права перекупки
    			per22 = BUS_DAY + timecor[4];
    			if(per22 > 28 && timecor[7] == 0 && timecor[3] == 2)
    			{
    				per22 = per22 - 28;
    			}
    			if(per22 > 29 && timecor[7] == 1 && timecor[3] == 2)
    			{
    				per22 = per22 - 29;
    			}
    			if(per22 > 30 && (timecor[3] == 4 || timecor[3] == 6 || timecor[3] == 9 || timecor[3] == 11))
    			{
    				per22 = per22 - 30;
    			}
    			if(per22 > 31 && (timecor[3] == 1 || timecor[3] == 3 || timecor[3] == 5 || timecor[3] == 7 || timecor[3] == 8 || timecor[3] == 10 || timecor[3] == 12))
    			{
    				per22 = per22 - 31;
    			}
    			printf("[DEBUG FS] Test10");
    			busidplay[playIDbus[playerid]] = playerid;//даём бизнесу ИД он-лайн игрока - владельца бизнеса
    			busmoney[playIDbus[playerid]] = 0;//обнуляем счётчик минут бизнеса
    			busday[playIDbus[playerid]] = per22;//изменение даты окончания срока без права перекупки
    			new file, f[256];//записываем изменения в файл
    			format(f, 256, "bussystem/%i.ini", playIDbus[playerid]);
    			file = ini_openFile(f);
    			if(file >= 0)
    			{
    		    	ini_setString(file, "PlayName", busplayname[playIDbus[playerid]]);
    		    	ini_setInteger(file, "Day", busday[playIDbus[playerid]]);
    				ini_closeFile(file);
    			}
    			printf("[DEBUG FS] Test11");
    			DestroyDynamicMapIcon(MapIconID[playIDbus[playerid]]);//удаляем мап-иконку бизнеса
    			printf("[BusSystem] Игрок %s [%d] купил бизнес %s [ID: %d] за %d $ .", RealName[playerid], playerid, busname[playIDbus[playerid]], playIDbus[playerid], buscost[playIDbus[playerid]]);
    			format(string, sizeof(string), " Игрок %s [%d] купил бизнес %s .", RealName[playerid], playerid, busname[playIDbus[playerid]]);
    			SendClientMessageToAll(0x00FFFFFF, string);
    			printf("[moneysys] Предыдущая сумма игрока %s [%d] : %d $", RealName[playerid], playerid, para2);
    			printf("[DEBUG FS] Test12");
    		}
    		playIDbus[playerid] = -600;//не существующий ИД бизнеса для игрока
    		printf("[DEBUG FS] Test13");
    		return 1;
    	}
  6. Не забудьте скомпилировать этот FS. После этого приобретайте бизнес, как это начинали делать ранее, пока не нажмете на кнопку "Купить". После нажатия показывайте здесь логи сервера.

Share this post


Link to post
Share on other sites

@odosenok То есть, мне скинуть OnDialogResponse? И да, у меня не один FS не работает, где употребляется диалоги..

 

Share this post


Link to post
Share on other sites

@Timur_Top да, чистый OnDialogResponse из мода (без диалогов).

Share this post


Link to post
Share on other sites

@odosenok 

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	dialogcon[playerid]++;//прибавляем 1 к контрольной переменной диалогов
	new string[256], strdln[5000];
  	}
	return 0;
}

p.s. Ретурн был 1, поменял на 0, ничего не сменилось

Share this post


Link to post
Share on other sites

@Timur_Top, да, здесь должен быть 0, потому что он позволяет передавать в дальнейшем управление в FS (если диалог не был найден в моде). Еще как вариант, вот у тебя там dialogcon[playerid]++, это должно быть проверка своеобразная на перехват диалогов. Попробуйте ее временно убрать из работы.

Share this post


Link to post
Share on other sites

@Timur_Top, в смысле закомментировать эту мини-систему.

Share this post


Link to post
Share on other sites

@odosenok Скомпилировал, ничего, всё так же, в консоли ошибок нет 

Share this post


Link to post
Share on other sites

@Timur_Top на другом моде проверяли этот FS? Лучше на чистом.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • glvde.
      By glvde.
      Хранение данных (версия MySQL): R41-4.
      Командный процессор: Pawn.CMD.
      Количество строк в моде (без маппинга): 44006.
      Анти-чит: Nexius-AC.
      Автор данного мода: -.

      Скриншоты: 
       
       
       
       
       

      На данный момент, мод продаётся за 3699₽ на соседнем борде Pawno-Info (не реклама, скрины взял из темы с продажей).

      Не исключаю того, что в моде имеются баги.
      По поводу дальнейшей доработки узнать можно будет в моей группе - vk.com/way_dev
      Так же есть доработанная версия данного мода, за покупкой обращаться в ВК - vk.com/way.developer
    • glvde.
      By glvde.
      Smart RolePlay | Новый слив с продажи
      Просмотр файла Хранение данных (версия MySQL): R41-4.
      Командный процессор: Pawn.CMD.
      Количество строк в моде (без маппинга): 44006.
      Анти-чит: Nexius-AC.
      Автор данного мода: -.

      Скриншоты: 
       
       
       
       
       

      На данный момент, мод продаётся за 3699₽ на соседнем борде Pawno-Info (не реклама, скрины взял из темы с продажей).

      Не исключаю того, что в моде имеются баги.
      По поводу дальнейшей доработки узнать можно будет в моей группе - vk.com/way_dev
      Так же есть доработанная версия данного мода, за покупкой обращаться в ВК - vk.com/way.developer
      Добавил glvde. Добавлено 21.01.2021 Категория Моды Автор -  
    • Radmiz
      By Radmiz
          if(pickupid == sadpick){         if(GetPVarInt(playerid,"Sadov") == 0) {             SetPVarInt(playerid,"Sadov", 1);             SetPlayerSkin(playerid, 73);             SetPlayerCheckpoint(playerid,2157.0464,-1707.6362,15.0859,3.0);               SendClientMessage(playerid,0x00ff39,"Âû óñòðîèëèñü íà ðàáîòó ñàäîâíèêà");               SendClientMessage(playerid,0xfeff00,"Çà 1 ïîñàæàíûé êóñò âàì áóäóò ïëàòèòü ïî 345$");         }         else {             PI[playerid][pCash] += GetPVarInt(playerid,"SadovM")*345;             SetPlayerSkin(playerid,PI[playerid][pSkin]);             ClearAnimations(playerid);             DeletePVar(playerid,"Sadov");             DeletePVar(playerid,"SadovM");             DeletePVar(playerid,"SadovW");             SendClientMessage(playerid,0xff0000,"Âû óâîëèëèñü ñ ðàáîòû ñàäîâíèêà");             DisablePlayerCheckpoint(playerid);  
      я хз что за иероглифы