Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • Не хотите БАН?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок
  • Загляните на рынок

    Там вы можете продать или купить
    Всё что касается игровых серверов

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

проблема с переделанной системой SC 2.0 валюта.

Выглядит это примерно у меня так: Игрок подходит к банкомату, выбирает в списке другого игрока,

набирает в окне сумму и переводит ему на банковский счёт.

Проблема в том что у игрока которому переводят деньги, на счету к примеру 10,000 руб.

Если ему переводят 500 руб. то на балансе у игрока становится не 10,500 а 500

то-есть переведённые деньги заменяют сумму в банке а не плюсует.

Так вот: Сразу 500 рублей тому кто поможет решить мою проблему.

 

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


Ссылка на сообщение
Поделиться на других сайтах
Забронировать это рекламное место


Petrovich Скорей всего не правильно определяется или вообще не определяется баланс на счёте в банке у игрока(кому переводят деньги). Проверять надо файлы, отвечающие за трансфер из банка. Для примера выложу свои, но они адаптированы под Epoch 1.0.6.1

transfer_dialog.sqf

private ["_dialog","_myBankBalance"];

ConfirmTransfer = true; // Запрашивать подтверждение на перевод: true-да, false-нет 

BankTransferFetchData = {
	_myBankBalance = player getVariable ['MoneySpecial', 0] call BIS_fnc_numberText;
	ctrlSetText [8103, format["%1 %2", _myBankBalance, CurrencyName]];
};

uisleep 0.2;

_dialog = createdialog "BankTransferDialog";
call BankTransferFetchData;
waitUntil { !dialog };

transfer_confirm.sqf

disableSerialization;

private ["_display","_listbox","_moneyamount","_selection","_transferMoney","_dialog"];

_display       = findDisplay 8101;
_listbox       = _display displayCtrl 8104;
_moneyamount   = _display displayCtrl 8106;
_selection     = lbCurSel _listbox; 
if(_selection < 0) exitWith{};
_transferMoney = parseNumber(ctrlText 8106);
if(isNil "_transferMoney") exitWith {};

if (_transferMoney < 0 ) exitWith {
	"Пожалуйста, введите число, больше 0." call dayz_rollingMessages;
	_display closeDisplay 9000;
};

if (_transferMoney > (player getVariable ['MoneySpecial', 0])) exitWith {
	"У Вас не достаточно средств на счёту для перевода введённой суммы." call dayz_rollingMessages;
	_display closeDisplay 9000;
};

_selectedName = lbtext [8104,_selection];

{
	if(name _x == _selectedName) then
	{
		transferTarget = _x;
	};
} forEach entities "CAManBase";

{
	if ((count crew _x) > 0) then {
		{
			if (getPlayerUID _x != "" && name _x == _selectedName) then {
				transferTarget = _x;
			};
		} forEach crew _x;
	};
} forEach (entities "LandVehicle" + entities "Air" + entities "Ship");

transferMoney = _transferMoney;

if (isNil "transferTarget") exitWith {
	"Не удалось выполнить передачу! Не удалось найти игрока." call dayz_rollingMessages;
};

FetchConfirmData = {
	_targetName  = (_this select 0);
	_targetMoney = (_this select 1);
	ctrlSetText [8203, format["Перевод %1 %2", _targetMoney call BIS_fnc_numberText,CurrencyName]];
	ctrlSetText [8204, format["к %1?", _targetName]];
};

FinishBankTransition = {
	private ["_sourceMoney","_target","_targetMoney","_abort","_name","_playerUID"];
	_sourceMoney = player getVariable ['MoneySpecial', 0];
	_target      = transferTarget;
	_targetMoney = transferMoney;
	_abort       = false;
	_name        = dayz_playerName;
	_playerUID   = getPlayerUID player;

	if (_targetMoney < 0) exitWith {
		"Введите число больше 0." call dayz_rollingMessages;
	};
	if (_sourceMoney < _targetMoney) exitWith {
		"На Вашем счету не достаточно средств." call dayz_rollingMessages;
	};
	{
		if(_x == _target) then
		{
			transferTargetCheck = _x;
		};
	} forEach entities "CAManBase";
	{
		if ((count crew _x) > 0) then {
			{
				if (getPlayerUID _x != "" && _x == _target) then {
					transferTargetCheck = _x;
				};
			} forEach crew _x;
		};
	} forEach (entities "LandVehicle" + entities "Air" + entities "Ship");
	if (isNil "_target" || isNil "transferTargetCheck") exitWith {
		"Не удалось выполнить передачу! Не удалось найти цель." call dayz_rollingMessages;
	};
	if (_target != transferTargetCheck) exitWith {
		"Не удалось выполнить передачу! Не удалось найти цель." call dayz_rollingMessages;
	};
	_targetBankBalance = _target getVariable ['MoneySpecial', 0];
	if (ZSC_limitOnBank && ((_targetBankBalance + _targetMoney) >  ZSC_maxBankMoney)) then {
		_abort = true;
	};
	if (_abort) exitWith {
		"Не удалось выполнить передачу! Итоговая сумма превышает лимит для хранения в банке." call dayz_rollingMessages;
	};
	
	player setVariable["MoneySpecial",_sourceMoney - _targetMoney, true];
	_targetBankBalance = _target getVariable ['MoneySpecial', 0];
	_target setVariable["MoneySpecial",_targetBankBalance + _targetMoney, true];

	call player_forceSave;
	_target call player_forceSave;
	
	format["Вы перевели %1 %2 на счет %3.", _targetMoney call BIS_fnc_numberText, CurrencyName, name _target] call dayz_rollingMessages;
	PVDZE_atp = format ["БАНК_ЛОГ: %1[%2] перевёл игроку %3 на счёт в банке %4 %5",_name,_playerUID,name _target,_targetMoney call BIS_fnc_numberText, CurrencyName];
	publicVariableServer 'PVDZE_atp';

	if (true) exitWith {};
};

uisleep 0.2;
_display closeDisplay 9000;

if (ConfirmTransfer) then {
	_dialog = createdialog "BankTransitionConfirm";
	[_selectedName,_transferMoney] call FetchConfirmData;
	waitUntil { !dialog };
} else {
	[] call FinishBankTransition;
};

transfer_playerlist.sqf

disableSerialization;

private ["_display","_disp_plist","_dialog"];

transfer_plist = [];

{
	if ((getPlayerUID _x != "") && (getPlayerUID _x != getPlayerUID player)) then {
		transfer_plist set [count transfer_plist, name _x];
	};
} forEach entities "CAManBase";

{
	if ((count crew _x) > 0) then {
		{
			if ((getPlayerUID _x != "") && (getPlayerUID _x != getPlayerUID player)) then {
				transfer_plist set [count transfer_plist, name _x];
			};
		} forEach crew _x;
	};
} forEach (entities "LandVehicle" + entities "Air" + entities "Ship");

_display    = findDisplay 8101;
_disp_plist = _display displayCtrl 8104;

if ((count transfer_plist) > 0) then {
	{
		_disp_plist lbAdd _x;
	} foreach transfer_plist;
};

 

Изменено пользователем Ник (история изменений)

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


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: DrTauren
      На нашем сайте предусмотрена возможность рекламирования вашего игрового сервера/сайта/програмного обеспечения при помощи баннеров и ссылок.
       
      Баннеры под первым сообщением темы ↓
       
      Баннер на главной странице (над чатом) ↓
       
      Ссылки над первым сообщением темы ↓
       
      Ссылка на главной странице (над чатом) ↓
       
       

      Заявку вы можете заполнить в этой же теме, либо написать мне в ЛС.
      Любые сообщения не по теме запрещены.
    • Автор: DrTauren
      Всем известный инструмент для дистанционного управления и мониторинга сервера для DayZ Standalone
      Требует наличия .NET Framework на компьютере.
       
      Особенности:
      Подключение к серверу через RCon Отображение логов, чата, входа и выхода игроков с сервера Показывает список игроков Показывает список банов Показывает из какой страны игрок Автоматическое обновление информации о сервере Возможность сообщать о читерах в DaRT Ban Создание локальной базы данных игроков Возможность кикать, банить, банить по IP, банить когда игрок оффлайн Возможность писать в чат Возможность использовать консоль (если всё ещё нужно вводить какие-то команды вручную) Общение в игроком Копирование информации об игроке Поиск по игрокам Возможность перезагрузить скрипты на стороне сервера Интеграция с GameTracker  

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • Автор: DrTauren
      Данный скрипт позволяет рыбачить находясь на водном транспорте при наличии сети\мешковины (burlap sack)

      Особенности:
      1) Рыбалка из любого водного транспорта
      2) Шанс потерять свою сеть при рыбалке
      3) Начать рыбалку можно по нажатию клавиши Shift
       
      Что нам понадобится:

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Или скачать архив по ссылке
       
      Инструкция:
      1) Открываем папку EXILE-Fishing-Boat-master\mpmissionsExile.YourMap и копируем папку custom в папку с вашей миссией
      2) Таким же образом копируем папку overrides
      3) Открываем ваш Config.cpp, находящийся в папке CfgExileCustomCode, и добавляем эту строку:
      ExileClient_gui_hud_event_onKeyUp = "overrides\ExileClient_gui_hud_event_onKeyUp.sqf"; Вот и всё. Надеюсь скрипт будет кому-то полезен 

      Оригинальный гайд на английском:
      http://www.exilemod.com/topic/23618-release-fishing-boat-script/  

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • Автор: catttt61
      Здравствуйте в общем такая проблема подключил мод к серверу, прописал в батнике, включил проверку сигнатур. Но люди могут зайти без мода
      батник  
      arma3server.exe "-mod=@BlackCrows" -servermod=@life_server; -config=config2.cfg -port=2302 -profiles=life_server -cfg=basic.cfg -name=life_server -autoInit -loadMissionToMemory -high проверка включена 
      logFile = "arma3server.log"; verifySignatures = 2; equalModRequired = 0; requiredSecureId = 2; maxPlayers = 75; kickDuplicate = 1; BattlEye = 1; прошу помощи разобраться
    • Автор: DeD
      При взаимодействии с трейдом пишет вот что:
       
      20:46:19 "EPOCH SERVERTRADE: Player: DeD (76561198148125699) sold a [2fd3f040# 1057055: csj_gyrocover.p3d REMOTE] in/at Unknown Trader City for <null>x <null>" 20:46:19 Error in expression <urrency = _this select 5; _qty = _this select 6; _clientID = owner _player; _p> 20:46:19 Error position: <select 6; _clientID = owner _player; _p> 20:46:19 Error Zero divisor 20:46:19 File z\addons\dayz_server\compile\server_tradeObject.sqf, line 9 Сам не нашел решение проблемы, помогите разобраться =)
×
×
  • Создать...