Перейти к содержимому


Фотография

fn_numberText


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 10

#1 OFFLINE   dos130

dos130

    Рядовой

  • Пользователи
  • 17 сообщений
  • Откуда:Murmansk

Отправлено 01 November 2015 - 01:34

Помогите пожалуйста переделать его под арму 2. Очень нужно.

Прикрепленные файлы


  • 0

#2 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 01 November 2015 - 03:02

Какие проблемы?


// ******************************************************************************************
// * This project is licensed under the GNU Affero GPL v3. Copyright © 2014 A3Wasteland.com *
// ******************************************************************************************
/*
	File: fn_numbersText.sqf

	Author: Karel Moricky, modified by AgentRev

	Description:
	Convert a number into string (avoiding scientific notation, American format)

	Parameter(s):
	_this: NUMBER

	Returns:
	STRING
*/

private ["_number","_mod","_digots","_digitsCount","_modBase","_numberText"];

_number = _this select 0;
if (!finite _number) exitWith { str _number };

_mod = _this select 1;

_digits = _number call BIS_fnc_numberDigits;
_digitsCount = count _digits - 1;

_modBase = _digitsCount % _mod;
_numberText = "";

{
	_numberText = _numberText + str _x;
	if ((_forEachIndex - _modBase) % _mod == 0 && _forEachIndex != _digitsCount) then { _numberText = _numberText + "," };
} foreach _digits;

_numberText

  • 1

#3 OFFLINE   Dimon UA

Dimon UA

    Ст.сержант

  • Пользователи
  • 304 сообщений
  • Откуда:Севастополь

Отправлено 01 November 2015 - 10:50

BIS_fnc_numberDigits под а2 нужно тоже поправить

и смущает 

_mod = _this select 1; - что за параметр?

fn_numberDigits = {
	/*
		Author: Karel Moricky

		Description:
		Break number into array of digits

		Example:
		123456 > [1,2,3,4,5,6]	

		Parameter(s):
		_this: NUMBER

		Returns:
		ARRAY
	*/
	private ["_number","_step","_stepLocal","_result","_numberLocal","_add"];

	//_number = [_this,0,0,[0]] call bis_fnc_param;
	_number=_this;
	if (_number < 10) then {
		[_number]
	} else {

		_step = 10;
		_stepLocal = _step;
		_result = [0];
		_add = false;

		while {_stepLocal < (_number * _step)} do {

			_numberLocal = _number % (_stepLocal);
			{
				_numberLocal = _numberLocal - _x;
			} foreach _result;
			_numberLocal = floor (_numberLocal / _stepLocal * _step);

			if (_numberLocal < 0) then {_numberLocal = 9};
			_result = [_numberLocal] + _result;
			_stepLocal = _stepLocal * (_step);
		};
		if ((_result select 0) == 0) then {_result = [1] + _result;};
		_result resize (count _result - 1);
		_result
	};
};

// ******************************************************************************************
// * This project is licensed under the GNU Affero GPL v3. Copyright © 2014 A3Wasteland.com *
// ******************************************************************************************
/*
	File: fn_numbersText.sqf

	Author: Karel Moricky, modified by AgentRev

	Description:
	Convert a number into string (avoiding scientific notation, American format)

	Parameter(s):
	_this: NUMBER

	Returns:
	STRING
*/

private ["_number","_mod","_digots","_digitsCount","_modBase","_numberText"];

_number = _this select 0;
if (!finite _number) exitWith { str _number };

_mod = _this select 1;

_digits = _number call fn_numberDigits;
_digitsCount = count _digits - 1;

_modBase = _digitsCount % _mod;
_numberText = "";

{
	_numberText = _numberText + str _x;
	if ((_forEachIndex - _modBase) % _mod == 0 && _forEachIndex != _digitsCount) then { _numberText = _numberText + "," };
} foreach _digits;

_numberText

Сообщение отредактировал Dimon UA: 01 November 2015 - 10:54

  • 1

#4 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 04 November 2015 - 04:16

 

и смущает 

_mod = _this select 1; - что за параметр?

 

Нечто вроде коэффициента задающего расстояние между литерами.


  • 0

#5 OFFLINE   Dimon UA

Dimon UA

    Ст.сержант

  • Пользователи
  • 304 сообщений
  • Откуда:Севастополь

Отправлено 04 November 2015 - 08:46

 

 

и смущает 

_mod = _this select 1; - что за параметр?

 

Нечто вроде коэффициента задающего расстояние между литерами.

 

просто он вроде при запуске функции не задается как я понимаю, а задается автоматически уже с каким то значением...


  • 0

#6 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 04 November 2015 - 19:26

 

 

 

и смущает 

_mod = _this select 1; - что за параметр?

 

Нечто вроде коэффициента задающего расстояние между литерами.

 

просто он вроде при запуске функции не задается как я понимаю, а задается автоматически уже с каким то значением...

 

Для этого в Арме 3 и существует функция BIS_fnc_param, котороя и задаст значение переменной по умолчанию, если данный параметр не передан функции, с нашими правками не переданный второй параметр вызовет ошибку.

 

И ещё эта переменная скорее всего не коэффициент, а задаёт на какие разряды делить число, ну типа

1 000 000

11 22 33


  • 0

#7 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 04 November 2015 - 19:46

ЗЫ

_mod = if (isNil {_this select 1}) then {3} else {_this select 1};

  • 2

#8 OFFLINE   dos130

dos130

    Рядовой

  • Пользователи
  • 17 сообщений
  • Откуда:Murmansk

Отправлено 04 November 2015 - 23:12

 

ЗЫ

_mod = if (isNil {_this select 1}) then {3} else {_this select 1};

Помогите пожалуйста сделать так чтобы деньги не съезжали от иконки, а находились на против друг друга и так чтобы деньги делило точкой. То есть ($135.550). Я видел что использовали этот плагин fn_numbertext. [(player getVariable "playermoney")] call fn_numberText

X6Yerjm.pngo2awJHR.png


Сообщение отредактировал dos130: 04 November 2015 - 23:13

  • 0

#9 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 05 November 2015 - 23:27

Что бы не съезжало надо GUI редактировать, задать размер по шире.


 

Я видел что использовали этот плагин fn_numbertext. [(player getVariable "playermoney")] call fn_numberText

Да уж. Плагин уж.


  • 0

#10 OFFLINE   dos130

dos130

    Рядовой

  • Пользователи
  • 17 сообщений
  • Откуда:Murmansk

Отправлено 06 November 2015 - 00:13

Что бы не съезжало надо GUI редактировать, задать размер по шире.


 

Я видел что использовали этот плагин fn_numbertext. [(player getVariable "playermoney")] call fn_numberText

Да уж. Плагин уж.

Не понравилось слово плагин? Давай будет скрипт..


  • 0

#11 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 06 November 2015 - 02:18

 

Что бы не съезжало надо GUI редактировать, задать размер по шире.


 

Я видел что использовали этот плагин fn_numbertext. [(player getVariable "playermoney")] call fn_numberText

Да уж. Плагин уж.

Не понравилось слово плагин? Давай будет скрипт..

 

Нравится, не нравится, скажем так, не холодно, не жарко, вам это точно ни чем не поможет.

А вот это очень даже

https://arma3.ru/for...kriptopisaniiu/

 

И только, будьте так добры, не говорите, что вы ни этого просили, за вас ни кто не будет делать то что вам очень хочется. Помочь советом или направлением да, а вот делать за вас, вряд ли. 


  • 0




Яндекс.Метрика