Вопросы

Дарвин
Свой человек

Здравствуйте Ув.Скриптеры. Столкнулся с багом при создании счёта на моём проекте. То-есть при создании счёта пишет что счёт успешно создан а при использовании пишет у вас нет счетов.

Помогите пожалуйста. Заранее спасибо!

case D_BANK_MENU + 1:
		{
			if(!response) return 1;

			if(GetMoney(playerid) < 5000)
			return SendClientMessage(playerid, -1, ""cER"У Вас недостаточно средств на счете, для открытия нового счета в банке");

			PI[playerid][pBankCount] ++ ;
			MysqlUpdatePlayerInt(playerid, "bankcount", PI[playerid][pBankCount]);
			
			new player_ip[16];
			GetPlayerIp(playerid, player_ip, sizeof player_ip);

			global_string = "";

			mysql_format(dbHandle, global_string, 128, "INSERT INTO bank (id, name, data, cash) values ('%s', '%s', NOW(), '250')", GetName(playerid), player_ip);
			mysql_tquery(dbHandle, global_string, "", "");

			SendMes(playerid, 0x76CD5EFF, "[Банк]: {FFFFFF}новый счет на имя {F3F142}%s {FFFFFF}успешно открыт в нашем банке", GetName(playerid));
		}
	case D_BANK_MENU + 2:
		{
			if(!response) return 1;

			switch(listitem)
			{
			case 0:
				{

					SetPVarInt(playerid, "bank_type", 1);

					global_string = "";

					mysql_format(dbHandle, global_string, 128, "SELECT * FROM `bank` WHERE `name` = '%s'", GetName(playerid));
					mysql_tquery(dbHandle, global_string, "ShowBankMoney", "i", playerid);

				}

 

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


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

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

  • 0
Talex
Постоянный

@Дарвин, а если так

 

case D_BANK_MENU + 1:
{
	if(!response) return 1;

	if(GetMoney(playerid) < 5000)
	return SendClientMessage(playerid, -1, ""cER"У Вас недостаточно средств на счете, для открытия нового счета в банке");

	PI[playerid][pBankCount] ++ ;
	MysqlUpdatePlayerInt(playerid, "bankcount", PI[playerid][pBankCount]);
	
	new sendername[MAX_PLAYER_NAME+1];
	GetPlayerName(playerid, sendername, sizeof sendername);

	global_string = "";

	mysql_format(dbHandle, global_string, 128, "INSERT INTO bank (id, name, data, cash) values ('%s', '%s', NOW(), '250')", GetName(playerid), sendername);
	mysql_tquery(dbHandle, global_string, "", "");

	SendMes(playerid, 0x76CD5EFF, "[Банк]: {FFFFFF}новый счет на имя {F3F142}%s {FFFFFF}успешно открыт в нашем банке", GetName(playerid));
}

 

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


Ссылка на сообщение
  • 0
Andrei_Morozov
Старожил
1 час назад, Дарвин сказал:

Здравствуйте Ув.Скриптеры. Столкнулся с багом при создании счёта на моём проекте. То-есть при создании счёта пишет что счёт успешно создан а при использовании пишет у вас нет счетов.

Помогите пожалуйста. Заранее спасибо!


case D_BANK_MENU + 1:
		{
			if(!response) return 1;

			if(GetMoney(playerid) < 5000)
			return SendClientMessage(playerid, -1, ""cER"У Вас недостаточно средств на счете, для открытия нового счета в банке");

			PI[playerid][pBankCount] ++ ;
			MysqlUpdatePlayerInt(playerid, "bankcount", PI[playerid][pBankCount]);
			
			new player_ip[16];
			GetPlayerIp(playerid, player_ip, sizeof player_ip);

			global_string = "";

			mysql_format(dbHandle, global_string, 128, "INSERT INTO bank (id, name, data, cash) values ('%s', '%s', NOW(), '250')", GetName(playerid), player_ip);
			mysql_tquery(dbHandle, global_string, "", "");

			SendMes(playerid, 0x76CD5EFF, "[Банк]: {FFFFFF}новый счет на имя {F3F142}%s {FFFFFF}успешно открыт в нашем банке", GetName(playerid));
		}
	case D_BANK_MENU + 2:
		{
			if(!response) return 1;

			switch(listitem)
			{
			case 0:
				{

					SetPVarInt(playerid, "bank_type", 1);

					global_string = "";

					mysql_format(dbHandle, global_string, 128, "SELECT * FROM `bank` WHERE `name` = '%s'", GetName(playerid));
					mysql_tquery(dbHandle, global_string, "ShowBankMoney", "i", playerid);

				}

 

 

Значит у Вас не совпадают аргументы запроса сохранения с таблиц ой, покажите код сохранения самой таблицы! 

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


Ссылка на сообщение
  • 0
Дарвин
Свой человек

@Andrei_Morozov, а собственно где это искать?)

 

@Andrei_Morozov

Спойлер

publics: ShowBankMoney(playerid)
{
	new r, f;
	cache_get_data(r, f);
	if(!r)
	return SendClientMessage(playerid, -1, ""cER"У Вас не имеется счетов в банке"), DeletePVar(playerid, "bank_type");

	new fmt_str[128], b_id, b_money, b_block;
	global_string = "";

	for(new idx; idx < r; idx++)
	{
		b_id = cache_get_field_content_int(idx, "id");
		b_money = cache_get_field_content_int(idx, "cash");
		b_block = cache_get_field_content_int(idx, "block");
		format(fmt_str, sizeof fmt_str, "{FFFFFF}Счёт №%d - Баланс: {9C9E9B}%d руб. {FFFFFF}- %s\n", b_id, b_money, !b_block ? ("{8DC65B}Активен") : ("{F77625}Заблокирован"));
		strcat(global_string, fmt_str);
		SetPlayerListitemValue(playerid, idx, b_id);
	}
	ShowPlayerDialog(playerid, D_BANK_MONEY, DIALOG_STYLE_LIST, "{"#cSV"}Ваши банковские счета:", global_string, "Выбрать", "Выход");
	return 1;
}

 

 

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


Ссылка на сообщение
  • 0
Дарвин
Свой человек

@DEST, счёт создаётся в банке.

Спойлер

case D_BANK_MENU:
		{
			if(!response) return 1;

			global_string = "";

			switch(listitem)
			{
			case 3, 4:
				{

					format(global_string, 300, "{"#cSV"}1. {FFFFFF}Открыть новый банковский счет\n\
											{"#cSV"}2. {FFFFFF}Управление счетами\n\
											{"#cSV"}3. {FFFFFF}Оформить кредит\n\
											{"#cSV"} \n\
											{9C9B9D Вас в банке {FFFFFF}%d {9C9B9D}открыт%s", PI[playerid][pBankCount], PI[playerid][pBankCount] <= 1 ? ("ый счет") : PI[playerid][pBankCount] <= 4 ? ("ых счета") : ("ых счетов"));

					ShowPlayerDialog(playerid, D_BANK_MENU, DIALOG_STYLE_LIST, "{"#cSV"}Меню банка", global_string, "Далее", "Выход");

					return 1;
				}

			case 0:
				{

					format(global_string, 300, "{FFFFFF}Уважаемый клиент!\n\n\
											В данном меню Вы можете открыть новый счет в нашем банке\n\
											На данный момент у Вас имеется {E4CD20}%d {FFFFFF}открытых счетов\n\
											Стоимость открытия нового счета составит: {76CD5E}5000 рублей\n\n\
											{FFFFFF}Вы согласны открыть новый счет в нашем банке?", PI[playerid][pBankCount]);

					ShowPlayerDialog(playerid, D_BANK_MENU + 1, DIALOG_STYLE_MSGBOX, "{"#cSV"}Открытие счета в банке", global_string, "Да", "Нет");

				}

			case 1:
				{
					ShowPlayerDialog(playerid, D_BANK_MENU + 2, DIALOG_STYLE_LIST, "{"#cSV"}Управление счетами", "{"#cSV"}1. {FFFFFF}Список счетов и действия над ними\n{"#cSV"}2. {FFFFFF}Заблокировать счет\n{"#cSV"}3. {FFFFFF}Разблокировать счет\n{"#cSV"}4. {FFFFFF}Закрыть счет", "Выбрать", "Выход");
				}

			}
		}
	case D_BANK_MENU + 1:
		{
			if(!response) return 1;

			if(GetMoney(playerid) < 5000)
			return SendClientMessage(playerid, -1, ""cER"У Вас недостаточно средств на счете, для открытия нового счета в банке");

			PI[playerid][pBankCount] ++ ;
			MysqlUpdatePlayerInt(playerid, "bankcount", PI[playerid][pBankCount]);
			
			new player_ip[16];
			GetPlayerIp(playerid, player_ip, sizeof player_ip);

			global_string = "";

			mysql_format(dbHandle, global_string, 128, "INSERT INTO bank (name, ip, data, cash) values ('%s', '%e', NOW(), '250')", GetName(playerid), player_ip);
			mysql_tquery(dbHandle, global_string, "", "");

			SendMes(playerid, 0x76CD5EFF, "[Банк]: {FFFFFF}новый счет на имя {F3F142}%s {FFFFFF}успешно открыт в нашем банке", GetName(playerid));
		}
	case D_BANK_MENU + 2:
		{
			if(!response) return 1;

			switch(listitem)
			{
			case 0:
				{

					SetPVarInt(playerid, "bank_type", 1);

					global_string = "";

					mysql_format(dbHandle, global_string, 128, "SELECT * FROM `bank` WHERE `name` = '%s'", GetName(playerid));
					mysql_tquery(dbHandle, global_string, "ShowBankMoney", "i", playerid);

				}
			case 1:
				{
					ShowPlayerDialog(playerid, D_BANK_MENU + 3, DIALOG_STYLE_INPUT, "{"#cSV"}Заблокировать банковский счет", "{FFFFFF}В данном окне Вы можете заблокировать Ваш банковский счет\nПосле блокировки счета, Вы, и никто другой, не сможет совершать платежи и переводы на Ваш счет\nСчет всегда можно разблокировать в меню банка\n\nУкажите номер счета, который необходимо заблокировать:", "Далее", "Назад");
				}

			case 2:
				{
					ShowPlayerDialog(playerid, D_BANK_MENU + 4, DIALOG_STYLE_INPUT, "{"#cSV"}Разблокировать банковский счет", "{FFFFFF}В данном окне Вы можете разблокировать Ваш банковский счет\n\nУкажите номер счета, который необходимо разблокировать:", "Далее", "Назад");
				}

			case 3:
				{
					ShowPlayerDialog(playerid, D_BANK_MENU + 5, DIALOG_STYLE_INPUT, "{"#cSV"}Закрыть банковский счет", "{FFFFFF}В данном окне Вы можете закрыть счет в нашем банке\nСчет закрывается навсегда и больше не сможет использоваться\nВсе деньги, которые остались на этом счете, будут утеряны\n\nУкажите номер счета, который необходимо закрыть:", "Далее", "Назад");
				}

			}
		}
	case D_BANK_MENU + 3:
		{
			if(!response) return 1;


			if(!(1 <= strlen(inputtext) <= 7))
			return ShowPlayerDialog(playerid, D_BANK_MENU + 3, DIALOG_STYLE_INPUT, "{"#cSV"}Заблокировать банковский счет", "{FFFFFF}В данном окне Вы можете заблокировать Ваш банковский счет\nПосле блокировки счета, Вы, и никто другой, не сможет совершать платежи и переводы на Ваш счет\nСчет всегда можно разблокировать в меню банка\n\nУкажите номер счета, который необходимо заблокировать:", "Далее", "Назад"), SendClientMessage(playerid, -1, ""cER"Номер счета от 1 до 7 цифр и без запрещенных символов") & 1;

			for(new i = strlen(inputtext)-1; i != -1; i--)
			switch(inputtext[i])
			{
			case '0'..'9': continue;
			default: return ShowPlayerDialog(playerid, D_BANK_MENU + 3, DIALOG_STYLE_INPUT, "{"#cSV"}Заблокировать банковский счет", "{FFFFFF}В данном окне Вы можете заблокировать Ваш банковский счет\nПосле блокировки счета, Вы, и никто другой, не сможет совершать платежи и переводы на Ваш счет\nСчет всегда можно разблокировать в меню банка\n\nУкажите номер счета, который необходимо заблокировать:", "Далее", "Назад"), SendClientMessage(playerid, -1, ""cER"Номер счета от 1 до 7 цифр и без запрещенных символов") & 1;
			}

			global_string = "";

			mysql_format(dbHandle, global_string, 128, "SELECT * FROM bank WHERE id = '%i' and block = '0'", strval(inputtext));
			mysql_tquery(dbHandle, global_string, "BlockBankMoney", "is", playerid, GetName(playerid));

		}
	case D_BANK_MENU + 4:
		{
			if(!response) return 1;


			if(!(1 <= strlen(inputtext) <= 7))
			return ShowPlayerDialog(playerid, D_BANK_MENU + 4, DIALOG_STYLE_INPUT, "{"#cSV"}Разблокировать банковский счет", "{FFFFFF}В данном окне Вы можете разблокировать Ваш банковский счет\n\nУкажите номер счета, который необходимо разблокировать:", "Далее", "Назад"), SendClientMessage(playerid, -1, ""cER"Номер счета от 1 до 7 цифр и без запрещенных символов") & 1;

			for(new i = strlen(inputtext)-1; i != -1; i--)
			switch(inputtext[i])
			{
			case '0'..'9': continue;
			default: return ShowPlayerDialog(playerid, D_BANK_MENU + 4, DIALOG_STYLE_INPUT, "{"#cSV"}Разблокировать банковский счет", "{FFFFFF}В данном окне Вы можете разблокировать Ваш банковский счет\n\nУкажите номер счета, который необходимо разблокировать:", "Далее", "Назад"), SendClientMessage(playerid, -1, ""cER"Номер счета от 1 до 7 цифр и без запрещенных символов") & 1;
			}

			global_string = "";

			mysql_format(dbHandle, global_string, 128, "SELECT * FROM bank WHERE id = '%i' and block = '1'", strval(inputtext));
			mysql_tquery(dbHandle, global_string, "UnBlockBankMoney", "is", playerid, GetName(playerid));

		}
	case D_BANK_MENU + 5:
		{
			if(!response) return 1;


			if(!(1 <= strlen(inputtext) <= 7))
			return ShowPlayerDialog(playerid, D_BANK_MENU + 5, DIALOG_STYLE_INPUT, "{"#cSV"}Закрыть банковский счет", "{FFFFFF}В данном окне Вы можете закрыть счет в нашем банке\nСчет закрывается навсегда и больше не сможет использоваться\nВсе деньги, которые остались на этом счете, будут утеряны\n\nУкажите номер счета, который необходимо закрыть:", "Далее", "Назад"), SendClientMessage(playerid, -1, ""cER"Номер счета от 1 до 7 цифр и без запрещенных символов") & 1;

			for(new i = strlen(inputtext)-1; i != -1; i--)
			switch(inputtext[i])
			{
			case '0'..'9': continue;
			default: return ShowPlayerDialog(playerid, D_BANK_MENU + 5, DIALOG_STYLE_INPUT, "{"#cSV"}Закрыть банковский счет", "{FFFFFF}В данном окне Вы можете закрыть счет в нашем банке\nСчет закрывается навсегда и больше не сможет использоваться\nВсе деньги, которые остались на этом счете, будут утеряны\n\nУкажите номер счета, который необходимо закрыть:", "Далее", "Назад"), SendClientMessage(playerid, -1, ""cER"Номер счета от 1 до 7 цифр и без запрещенных символов") & 1;
			}

			global_string = "";

			mysql_format(dbHandle, global_string, 128, "SELECT * FROM bank WHERE id = '%i'", strval(inputtext));
			mysql_tquery(dbHandle, global_string, "DeleteBankMoney", "is", playerid, GetName(playerid));

		}
	case D_BANK_MONEY + 6:
		{
			if(!response) return 1;

			new bank_id = GetPVarInt(playerid, "bank_id");

			mysql_format(dbHandle, global_string, 128, "UPDATE bank SET block = '1' WHERE id = '%d' and name = '%s'", bank_id, GetName(playerid));
			mysql_tquery(dbHandle, global_string, "", "");

			SendMes(playerid, 0x68CD78FF, "[Банк]: {FFFFFF}счет {F6F34D}№%d {FFFFFF}успешно заблокирован", bank_id);
			SendClientMessage(playerid, 0x68CD78FF, "[Банк]: {FFFFFF}на данный счет больше не могут совершаться платежи и переводы");

			DeletePVar(playerid, "bank_id");
		}
	case D_BANK_MONEY + 7:
		{
			if(!response) return 1;

			new bank_id = GetPVarInt(playerid, "bank_id");

			mysql_format(dbHandle, global_string, 128, "UPDATE bank SET block = '0' WHERE id = '%d' and name = '%s'", bank_id, GetName(playerid));
			mysql_tquery(dbHandle, global_string, "", "");

			SendMes(playerid, 0x68CD78FF, "[Банк]: {FFFFFF}счет {F6F34D}№%d {FFFFFF}успешно разблокирован", bank_id);
			SendClientMessage(playerid, 0x68CD78FF, "[Банк]: {FFFFFF}теперь на данный счет можно совершать платежи и переводы");

			DeletePVar(playerid, "bank_id");
		}

	case D_BANK_MONEY + 8:
		{
			if(!response) return 1;

			new bank_id = GetPVarInt(playerid, "bank_id");

			mysql_format(dbHandle, global_string, 128, "DELETE FROM bank WHERE id = '%d' and name = '%s'", bank_id, GetName(playerid));
			mysql_tquery(dbHandle, global_string, "", "");
			
			PI[playerid][pBankCount] --;

			MysqlUpdatePlayerInt(playerid, "bankcount", PI[playerid][pBankCount]);

			SendMes(playerid, 0x68CD78FF, "[Банк]: {FFFFFF}счет {F6F34D}№%d {FFFFFF}успешно закрыт", bank_id);
			SendClientMessage(playerid, 0x68CD78FF, "[Банк]: {FFFFFF}данный счет больше нельзя использовать");

			DeletePVar(playerid, "bank_id");
		}

	case D_BANK_MONEY:
		{
			if(!response) return DeletePVar(playerid, "bank_type") & 1;

			new b_id = GetPlayerListitemValue(playerid, listitem);

			SetPVarInt(playerid, "bank_id", b_id);

			new fmt_str[60];
			global_string = "";

			format(fmt_str, 128, "{"#cSV"}Управление банковским счетом №%d", b_id);

			switch(GetPVarInt(playerid, "bank_type"))
			{
			case 1:
				{
					if(Setting[playerid][3] != 1)
					{
						SendMes(playerid, 0xF2F530FF, "[Банк]: Управление банковским счетом {79CB64}№%d", b_id);
						for(new i; i < 24; i++) TextDrawShowForPlayer(playerid, TD_Bank[i]);
						TextDrawShowForPlayer(playerid, TD_BankExit[2]);
						TextDrawShowForPlayer(playerid, TD_BankExit[3]);
						PlayerTextDrawShow(playerid, TDP_Bank[playerid]);
						PlayerTextDrawSetString(playerid, TDP_Bank[playerid], "Меню банка");
						SelectTextDrawEx(playerid, 0xC45C0BAA);
					}
					else
					{
						ShowPlayerDialog(playerid, D_BANK, DIALOG_STYLE_LIST, fmt_str, "\
					{"#cSV"}1. {FFFFFF}Операции со счетом\n\
					{"#cSV"}2. {FFFFFF}Пополнить баланс\n\
					{"#cSV"}3. {FFFFFF}Снять деньги со счета\n\
					{"#cSV"}4. {FFFFFF}Оплата недвижимости\n\
					{"#cSV"}5. {FFFFFF}Пополнить мобильный счет\n\
					{"#cSV"}6. {FFFFFF}Благотворительность\n\
					{"#cSV"}7. {FFFFFF}Перевод на другой счет\n\
					{"#cSV"}8. {FFFFFF}Биз-бюджет", "Выбрать", "Отмена");

					}
				}
			case 2:
				{
					if(Setting[playerid][3] != 1)
					{
						SendMes(playerid, 0xF2F530FF, "[Банк]: Управление банковским счетом {79CB64}№%d", b_id);
						for(new i; i < 19; i++) TextDrawShowForPlayer(playerid, TD_Bank[i]);
						TextDrawShowForPlayer(playerid, TD_BankExit[0]);
						TextDrawShowForPlayer(playerid, TD_BankExit[1]);
						PlayerTextDrawShow(playerid, TDP_Bank[playerid]);
						PlayerTextDrawSetString(playerid, TDP_Bank[playerid], "Банкомат");
						SelectTextDrawEx(playerid, 0xC45C0BAA);
					}
					else
					{
						ShowPlayerDialog(playerid, D_BANK, DIALOG_STYLE_LIST, fmt_str, "\
					{"#cSV"}1. {FFFFFF}Операции со счетом\n\
					{"#cSV"}2. {FFFFFF}Пополнить баланс\n\
					{"#cSV"}3. {FFFFFF}Снять деньги со счета\n\
					{"#cSV"}4. {FFFFFF}Оплата недвижимости\n\
					{"#cSV"}5. {FFFFFF}Пополнить мобильный счет\n\
					{"#cSV"}6. {FFFFFF}Благотворительность", "Выбрать", "Отмена");
					}
				}
			}

			DeletePVar(playerid, "bank_type");
		}

 

 

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


Ссылка на сообщение
  • 0
Дарвин
Свой человек

@DEST, Если это чем то может помочь то в БД пишется место имени IP игрока. то-есть счёт создался ip, data, cash создаётся правильно а имя нет

@DEST, Держите -

mysql_log.txt

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


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

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

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

    • KodBi
      От KodBi
      шапка
      по одиночке работают
      нужны оба
    • Vova_Zenko
      От Vova_Zenko
      Приветствую всех. Подскажите пожалуйста, как реализовать систему как на Грине или мотион(не реклама). 
       
      Готов оплатить, если найдется человек, который поможет реализовать.
    • Refresher
      От Refresher
      Всем привет, недавно я решил освоить навык моделирования транспорта для GTA SanAndreas. Делаю я в программе Blender 5.0.1. Как первый транспорт я решил сделать замену квадроцикла Quad(который спавниться читом AKJJYGLC) на его замену я решил сделать модельку стейка или мяса сырого, смоделировал простое low-poly мясо поработал с сеткой сделал UV развертку запек Diffuse он же color. И начал делать иерархию, так же не забыл про all transform для мяса и все сделал по осям и размерам правильно перед смотрит по Y а зад -Y ну а верх Z. Плагин DragonFF я установил разобрался и сделал DFF а помощью MagixTXD сделал txd архив текстуры. Имена дал правильные quad.dff и quad.txd. Закинул в папку в папке modloader запустил. Проблема была в том что при спавне все ок но у мяса текстуры нет и я не могу сесть. Потом вспомнил про посадочное место, добавил его в иерархию перезаписал старый файл dff на новый и исправил регистр букв текстуры на правильный но все равно сесть не могу и текстуры нет. Коллизия работает его можно толкать но я уже не знаю как исправить текстуру и сделать посадку CJ, вообщем кто шарит в этой теме можете помочь пожалуйста или отпишите в вк(кликабельно)

    • future
      От future
      Привет всем людям помогающие таким же нулям как и я в возможном начале своего пути, расскажу о себе, мне 18 лет, зовут Сергей, собираюсь создать свой сервер в crmp либо же в samp с полного нуля, не буду тут говорить про какие то влажные фантазии по поводу кучи денег и прочего, все что я хочу это учится новому и развивать хоть где то пока у меня есть куча свободного времени.
       
      В программирование я полный ноль, вот вообще ноль, даже банально листая данный форум я уже теряюсь и не понимаю совершенного ничего, просто не знаю за что и хвататься, единственный мой скромный навык это заниматься дизайном, скромный он потому что я имею только лишь базовые знания по дизайну. Отошел немножко от темы что-то, так вот цель как вы уже поняли у меня создать свой проект и я хочу попросить вас о помощи.
       
      С чего начать мне начать? думаю самый популярный вопрос у вас здесь, что мне нужно прямо сейчас скачать, что посмотреть, и как я смогу получить хоть какой то первый результат, я никуда не тороплюсь и готов изучать и создавать, но проблема в том что я знаю что если я не увижу хотябы маленький прогресс, вся моя мотивация умрет так же быстро как и появилась.
       
      И да, можно максимально простыми словами чтобы я тут не потерялся)
    • Dofarst
      От Dofarst
      Народ, расскажите, сколько времени вы учили Pawn? И сколько мне понадобиться времени на изучение языка, чтобы нормально понимать код и свои системы писать? И правда, что язык простой — без классов, памяти и прочего?
      @Dofarst  Дополняю: Я уже имел опыт с Python и C# на юнити