Вопросы

  открыть спойлер

 

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


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

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

  • 0

@archiboy6 C этим кодом все нормально (Если вырезал систему может где-то не дописал нужных строк (может сам case)) 

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

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


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

@archiboy6 Скорее всего тогда где-то сам case не прописан 

 

По идее что-то по типу такого должно быть прописано чтобы case работал

  Строки кода (возможно кривые) (открыть спойлер)

 

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

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


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

@Nicinen 

  открыть спойлер

 

@Nicinen 

	if(GetPVarInt(playerid, "LoadATM") > 0)
	{
		if(!playerobject)
		{
			if(!IsValidObject(objectid)) return 1;
			MoveObject(objectid, fX, fY, fZ, 10.0, fRotX, fRotY, fRotZ);
		}
		if(response == EDIT_RESPONSE_FINAL)
		{
			TOTALATM++;
			ATMInfo[TOTALATM][aX] = fX;
			ATMInfo[TOTALATM][aY] = fY;
			ATMInfo[TOTALATM][aZ] = fZ;
			ATMInfo[TOTALATM][arX] = fRotX;
			ATMInfo[TOTALATM][arY] = fRotY;
			ATMInfo[TOTALATM][arZ] = fRotZ;
			SendClientMessage(playerid,COLOR_YELLOW,"ИНФО: Вы установили банкомат");
			DestroyObject(GetPVarInt(playerid, "LoadATM")-1);
			ATM[TOTALATM] = CreateObject(2942, fX, fY, fZ, fRotX, fRotY, fRotZ);
			LABELATM[TOTALATM] = CreateDynamic3DTextLabel("Банкомат\n{FFFFFF}Нажмите: {FFCC00}ALT", 0xFFFFFFAA, ATMInfo[TOTALATM][aX],ATMInfo[TOTALATM][aY],ATMInfo[TOTALATM][aZ]+1.1,10.0);
			DeletePVar(playerid, "LoadATM");
			CancelEdit(playerid);

			STRING_GLOBAL[0] = EOS;
			format(STRING_GLOBAL,sizeof(STRING_GLOBAL),"INSERT INTO "T_ATM" (ID, aX, aY, aZ, arX, arY, arZ) VALUES (%i,'%f','%f','%f','%f', '%f', '%f')",
			TOTALATM,ATMInfo[TOTALATM][aX],ATMInfo[TOTALATM][aY],ATMInfo[TOTALATM][aZ], ATMInfo[TOTALATM][arX], ATMInfo[TOTALATM][arY], ATMInfo[TOTALATM][arZ]);
			mysql_tquery(dbHandle, STRING_GLOBAL, "", "");
		}
		if(response == EDIT_RESPONSE_CANCEL)
		{
			DeletePVar(playerid, "LoadATM");
			SendClientMessage(playerid, COLOR_RED, "Установка банкомата отменена");
			DestroyObject(GetPVarInt(playerid, "LoadATM")-1);
			CancelEdit(playerid);
		}
		return 1;
	}

 

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


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

@archiboy6, давайте по порядку. Покажите команду для установки банкомата.

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


Ссылка на сообщение
  • 0
EditObject -> EditDynamicObject Замени

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


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

@odosenok 

case D_ADDNED+5:
		{
			if(PlayerLogged[playerid] == false) return 1;
			if(!IsPlayerDeveloperAdmin(playerid)) return 1;
			if(TOTALATM >= MAX_ATM-2) return SendClientMessage(playerid, COLOR_GREY, "Вы не можете больше устанавливать банкоматы!");
			if(GetPVarInt(playerid, "LoadATM") > 0) return SendClientMessage(playerid, COLOR_GREY, "Вы уже устанавливаете банкомат!");
			ShowPlayerDialog(playerid, D_ATM+9, 0, "Добавить банкомат", "Вы хотите начать установку банкомата?", "Да", "Нет");
			return 1;
		}

 

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


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

@archiboy6, ну, а дальше-то где? Диалог D_ATM+9...

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


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

Меня тоже интересует эта же проблема с банкоматом мод тот-же

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


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

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

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


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

@Talex Такая-же проблема.

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


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

@Nekit_Krut18 читайте тему внимательней, @Talex написал что нужно скинуть. 

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


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

@DEST 

  Цитата

Код D_ATM+9, Я заменил EditObject на EditDynamicObject, теперь появилось редактирование положения. Нажимаю на СОХРАНИТЬ. Пропадает редактирование положения, банкомат остаётся но не функционирует и не появляется тект3д, и на кнопку не робит, и после перезахода на серв объект удаляется. Крч я так понял не доходит до уста текста и установки кнопки и сохранения в бд.

	case D_ATM+9:
		{
			if(!response) return 1;
			new Float:x, Float:y, Float:z, Float:angle;
			GetPlayerPos(playerid, x, y, z);
			GetPlayerFacingAngle(playerid, angle);
			x += floatsin(-angle, degrees);
			y += floatcos(-angle, degrees);
			new atm1;
			SendClientMessage(playerid, COLOR_LIGHTRED, "×òîáû âûéòè, íàæìèòå: ESC è ÷òîáû ñîõðàíèòü, íàæìèòå êóðñîðîì: ÑÎÕÐÀÍÈÒÜ");
			atm1 = CreateDynamicObject(2942, x, y, z-0.35, 0.0, 0.0, 0.0);
			SetPVarInt(playerid, "LoadATM", atm1+1);
			EditDynamicObject(playerid, atm1);
		}

 

Читать далее...  

 

@DEST EDIT_RESPONCE_FINAL И EDIT_RESPONCE_CANCEL  как-то связаны.

  Цитата

Есть ещё такой интересный паблик привязанный к вот другой цитате.

public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
{
	
	if(GetPVarInt(playerid, "slot_object_id") != -1)
	{
		new i = GetPVarInt(playerid, "slot_object_id");

		if(response == EDIT_RESPONSE_FINAL)
		{
			Roadblocks[i][sCreated] = 1;
			Roadblocks[i][sX] = x;
			Roadblocks[i][sY] = y;
			Roadblocks[i][sZ] = z;
			
			DestroyDynamicObject(Roadblocks[i][sObject]);
			Roadblocks[i][sObject] = CreateDynamicObject(GetPVarInt(playerid, "obj_id"), x, y, z, rx, ry, rz);

			SendClientMessage(playerid, COLOR_GREEN, "Объект установлен");
			
			global_string = "";
			
			format(global_string, 200, "CreateDynamicObject(%d, %f, %f, %f, %f, %f, %f)", GetPVarInt(playerid, "obj_id"), x, y, z, rx, ry, rz);
			SendLog("CreateObjects", global_string);
			
			
			SetPVarInt(playerid, "slot_object_id", -1);

		}
		if(response == EDIT_RESPONSE_CANCEL)
		{
			Roadblocks[i][sCreated] = 0;
			Roadblocks[i][sX] = 0.0;
			Roadblocks[i][sY] = 0.0;
			Roadblocks[i][sZ] = 0.0;

			SendClientMessage(playerid, COLOR_RED, "Вы отменили установку объекта");

			DestroyDynamicObject(Roadblocks[i][sObject]);

			SetPVarInt(playerid, "slot_object_id", -1);
		}
	}
	
	return true;
}  

 

Читать далее...  
  Цитата
public OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ)
{
	if(GetPVarInt(playerid, "edit_server_object"))
	{
		if(!playerobject)
		{
			if(!IsValidObject(objectid)) return 1;
			MoveDynamicObject(objectid, fX, fY, fZ, 10.0, fRotX, fRotY, fRotZ);
		}
		if(response == EDIT_RESPONSE_FINAL)
		{
			CancelEdit(playerid);
		}
		if(response == EDIT_RESPONSE_CANCEL)
		{
			CancelEdit(playerid);
		}
		return 1;
	}
	if(GetPVarInt(playerid, "LoadATM") > 0)
	{
		if(!playerobject)
		{
			if(!IsValidObject(objectid)) return 1;
			MoveDynamicObject(objectid, fX, fY, fZ, 10.0, fRotX, fRotY, fRotZ);
		}
		if(response == EDIT_RESPONSE_FINAL)
		{
			TOTALATM++;
			ATMInfo[TOTALATM][aX] = fX;
			ATMInfo[TOTALATM][aY] = fY;
			ATMInfo[TOTALATM][aZ] = fZ;
			ATMInfo[TOTALATM][arX] = fRotX;
			ATMInfo[TOTALATM][arY] = fRotY;
			ATMInfo[TOTALATM][arZ] = fRotZ;
			SendClientMessage(playerid,COLOR_YELLOW,"ИНФО: Вы установили банкомат");
			DestroyObject(GetPVarInt(playerid, "LoadATM")-1);
			ATM[TOTALATM] = CreateDynamicObject(2942, fX, fY, fZ, fRotX, fRotY, fRotZ);
			LABELATM[TOTALATM] = CreateDynamic3DTextLabel("Банкомат\n{FFFFFF}Нажмите: {FFCC00}ALT", 0xFFFFFFAA, ATMInfo[TOTALATM][aX],ATMInfo[TOTALATM][aY],ATMInfo[TOTALATM][aZ]+1.1,10.0);
			DeletePVar(playerid, "LoadATM");
			CancelEdit(playerid);
			new str[512];
			format(str,sizeof(str),"INSERT INTO "T_ATM" (ID, aX, aY, aZ, arX, arY, arZ) VALUES (%i,'%f','%f','%f','%f', '%f', '%f')",
			TOTALATM,ATMInfo[TOTALATM][aX],ATMInfo[TOTALATM][aY],ATMInfo[TOTALATM][aZ], ATMInfo[TOTALATM][arX], ATMInfo[TOTALATM][arY], ATMInfo[TOTALATM][arZ]);
			mysql_tquery(dbHandle, str, "", "");
		}
		if(response == EDIT_RESPONSE_CANCEL)
		{
			DeletePVar(playerid, "LoadATM");
			SendClientMessage(playerid, COLOR_RED, "Установка банкомата отменена");
			DestroyObject(GetPVarInt(playerid, "LoadATM")-1);
			CancelEdit(playerid);
		}
		return 1;
	}

 

Читать далее...  

 

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


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

Так ещё добавил (в консоль вывод:), и ничего из этого не пишет когда нажимаю сохранить-выйти. Хотя responce правильно сделан.

  Цитата
if(GetPVarInt(playerid, "LoadATM") > 0)
			printf("TOP ustanovka3");
			{
			//if(!playerobject)
			{
			if(!IsValidObject(objectid)) return 1;
			printf("TOP ustanovka2");
if(response == EDIT_RESPONSE_FINAL)
			{
			printf("TOP ustanovka3");
if(response == EDIT_RESPONSE_CANCEL)
		{
		    printf("Zavershena ustanovka");

 

Читать далее...  

 

Да, кст у меня же было EditObject. Я его сменил на EditDynamicObject(как советовали в этой теме.). Да, после изменений у меня появилось система редактирования. Но не робит СОХРАНИТЬ и ВЫЙТИ. И функцию которая была от atm1(OnPlayerEditObject), перенёс в (OnPlayerEditDynamicObject).

И всё-равно - нет.

  Цитата
SendClientMessage(playerid, COLOR_LIGHTRED, "×òîáû âûéòè, íàæìèòå: ESC è ÷òîáû ñîõðàíèòü, íàæìèòå êóðñîðîì: ÑÎÕÐÀÍÈÒÜ");
			atm1 = CreateDynamicObject(2942, x, y, z-0.35, 0.0, 0.0, 0.0);
			SetPVarInt(playerid, "LoadATM", atm1+1);
			EditDynamicObject(playerid, atm1);

 

Читать далее...  

 

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


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

UP. Сори за оффтоп. Товарищи помогите прошло 1,7 месяца.

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


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

UP

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


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

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

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

    • RASTAMAN
      От RASTAMAN
      Для того чтобы дать пароль нужно быть администратором 10 lvl после того пишем в чат /passadm
       
      Система казино Система домов Система авто И многие другие системы!

      Особых багов не найдено.

      В моде присутствует 25 фракции.
      Есть Textdraw на спавне!
    • RASTAMAN
      От RASTAMAN
      Plantinum RolePlay
      Скачать файл Для того чтобы дать пароль нужно быть администратором 10 lvl после того пишем в чат /passadm
       
      Система казино Система домов Система авто И многие другие системы!

      Особых багов не найдено.

      В моде присутствует 25 фракции.
      Есть Textdraw на спавне!
      Добавил RASTAMAN Добавлено 10.10.2017 Категория Моды Автор неизвестен  
    • Michov Andr
      От Michov Andr
      Re:samp RP — проект в разработке
      Re:samp RP — это SA-MP в стиле RP-проект, который в данный момент находится в активной разработке. Мы создаём сервер с бонусной системой, где механики будут, и игроки смогут развивать свои персонажи, зарабатывать деньги и взаимодействовать с окружающим миром. Однако, главное — это ролевой процесс. Вы сами выбираете, хотите ли вы заниматься бизнесом и фармом или погружаться в глубокую ролевую игру. Всё зависит от того, какой путь вы хотите пройти.
      Мы стремимся к тому, чтобы на сервере не было скучного фарма и бесконечных рутинных задач. Всё будет сбалансировано так, чтобы каждый игрок мог выбрать свой стиль игры и наслаждаться процессом, будь то отыгрыш роли, развитие персонажа или участие в экономике.
      Что касается доната — на сервере будет доступна возможность покупки привилегий, включая покупку админки. Мы не планируем делать донат обязательным для прогресса, и он не будет влиять на геймплей, но те, кто хотят ускорить процесс или получить дополнительные возможности, смогут воспользоваться такими предложениями. Всё сделано так, чтобы не нарушать баланс и не превращать сервер в платный путь к успеху.
      Re:samp RP — это сервер, где каждый игрок может найти для себя интересное занятие и, главное, где всегда будет место для качественной ролевой игры. Мы не навязываем никаких обязательных механик, и все решения остаются за вами. Стартовый бонус, донат, админки — это всё дополнительные возможности, но не основа игры. 
      Discrod:https://discord.gg/ernRMjyEJy
       
             
      на логотип не смотрим да признаюсь взял с самп рп() но уж больно он норм)
    • djxxx
      От djxxx
      приветствую всех.
       
      Задался таким вопросом при добавлении одной системы на DIALOG_STYLE_TABLIST_HEADERS.
       
      Суть проблемы в том, что диалог не выравнивается под нужные показатели, а просто как будто находиться по середине, в диалоге используется \t, но они особо не помогают в решении, также не ровно.
       
      а если попытаться выравнивать большим количеством \t, оно компилируется но в игре происходят вылеты
       
      Код такой:
      DialogAdmShop ( playerid, DIALOG_EPOINTSHOP, DIALOG_STYLE_TABLIST_HEADERS, fmt_str, ""BR"номер\t"BR"наименование\t"BR"доступное действие\n"\ "{EB4C42}#1\t{FFFFFF}Виртуальная валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#2\t{FFFFFF}Донат валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#3\t{FFFFFF}Вип статусы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#4\t{FFFFFF}Кейсы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#5\t{FFFFFF}Уникальные аксессуары\t{888888}нажмите для взаимодействия", "Выбрать", "Закрыть" ); }  
      сток dialogadmshop:
      stock DialogAdmShop(playerid, dialogid, style, title[], text[], button[], button2[]) {   if(style == 5)   {      ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "...", "...", "...", "");    }   ShowPlayerDialog(playerid, dialogid, style, title, text, button, button2);   return 1; }