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

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

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

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

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
ZizionarD

[Advanced Trading v2.1] Улучшенная торговля v2.1

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

advancedTrading > config.sqf

Поменяй Z_SingleCurrency = false; на Z_SingleCurrency = true;

Спасибо большое,заработало=)

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


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

Уважаемые люди. Не могли бы помочь разобраться. Вроде все сделал по гайду. А при за ходе на сервер выдает ошибку. undefined base class ZSC_RscButtonMenu. В чем дело ? Как поправить ? Заранее спасибо.

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


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

Уважаемые люди. Не могли бы помочь разобраться. Вроде все сделал по гайду. А при за ходе на сервер выдает ошибку. undefined base class ZSC_RscButtonMenu. В чем дело ? Как поправить ? Заранее спасибо.

С этим разобрался проблема была что в description строчки добавил не в самый конец. ошибка ушла а менюшка  не появляется(((( Как поправить??? помогите плиз!!!! Валюта стоит ZSC 3.0

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

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


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

С этим разобрался проблема была что в description строчки добавил не в самый конец. ошибка ушла а менюшка  не появляется(((( Как поправить??? помогите плиз!!!! Валюта стоит ZSC 3.0

))) Короче разобрался. В папке системы валюты тоже есть  fn_selfActions. находится он ZSC\compiles добавил туда строчки и все заработало. 

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


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

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

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

Все делал точно по гайду.

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


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

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

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

Все делал точно по гайду.

диалог закрывает инфистар, смотрите как вписали ид торговли, или отключите проверку вспылывающих окон

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


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

Подскажите пожалуйста, что делать?

Все поставил по гайду, все работает, но есть проблема в том, что после того как было взаимодействие с трейдером (любым) остается меню торговца и улучшенная торговля.

И торговля работает везде!

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

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


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

Так и должно быть. В улучшенной торговле по умолчанию не все работает, если вы ручками все дописывали для AT, то можете спокойно отключать стандартную.

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


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

Спокойно отключать стандартную? В улучшенной - не логгируется купля/продажа, нет возможности купить/продать технику. По умолчанию. А то, что диалог не пропадает, не в Инфи дело, а косяк с variables или fn_selfaction, скорее всего. Инфи наоборот будет блокировать диалог, если не добавить в исключения.

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

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


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

Спокойно отключать стандартную? В улучшенной - не логгируется купля/продажа, нет возможности купить/продать технику. По умолчанию. А то, что диалог не пропадает, не в Инфи дело, а косяк с variables или fn_selfaction, скорее всего. Инфи наоборот будет блокировать диалог, если не добавить в исключения.

1. Вы меня читали?

2. Логгируется так-то.

3. "Нет возможности купить/продать" - обращаемся в п.1 "В улучшенной торговле по умолчанию не все работает, если вы ручками все дописывали для AT, то можете спокойно отключать стандартную." Волшебное слово "Если".

4. Диалог вызывается скроллом, так что упор идет сначала на него.

5. Не косяк, а прописано по умолчанию. AT не убирает ее, а дополняет себя.

6. Не вводите себя и других в заблуждение.

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


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

AT - я подумал, речь про файлы инфистара) пардон, уставший был. И да, установлен он у меня корректно (тут всего два пункта установки), совместно с SC3.0. Торговля через SC логгируется, а через AT - не хочет.

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


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

Так и должно быть. В улучшенной торговле по умолчанию не все работает, если вы ручками все дописывали для AT, то можете спокойно отключать стандартную.

Я все добавлял по инструкции, в config изменил на true для того чтобы работал трейд. Но еще заметил что остается диалог того трейдера с каким взаимодействовал и при попытке диалога с другим, открывается диалог того трейдера с каким первый раз попытался что то проверить.

Не пойму что я мог не правильно сделать.

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


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

Пишет для покупки нужно, например, 27200 рублей. Хотя они есть. Как настроить?

Исправил

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

Может кто знает что сделано не так, что это проявилось?

 

Нашел, как исправлять данный баг.

Z_MoneyVariable не надо менять. Его надо так и оставить Z_MoneyVariable = "cashMoney";

Это переменная для единой системы монет.

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

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


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

это я понимаю, просто я не знаю как ее настроить под sc 2.0! У меня просто такой трабл, что ты покупаешь предмет, он появляется в инвентаре, но при этом деньги со счета не списываются

Такая же беда, торгаши покупаю/продают товар из/в рюкзака и машины, а деньги не дают и не забирают.

Установлено:Single Currency & Banking v2.0+Infistar+Advanced Trading v2.1

Если смог решить трабл, скажи как.

P.S. все пути правильно прописаны, всё включено:

  1. Z_SingleCurrency = true
  2. Z_MoneyVariable = "cashMoney";

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


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

 

Такая же беда, торгаши покупаю/продают товар из/в рюкзака и машины, а деньги не дают и не забирают.

Установлено:Single Currency & Banking v2.0+Infistar+Advanced Trading v2.1

Если смог решить трабл, скажи как.

P.S. все пути правильно прописаны, всё включено:

  1. Z_SingleCurrency = true
  2. Z_MoneyVariable = "cashMoney";

Попробуй удалить торговлю, зайти на сервер и проверить удалилась она или нет.

Потом заново поставь ее и поставь сразу же после того как поставил. 

  1. Z_SingleCurrency = true

Если не получится поставь новую систему валют.

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

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


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

Попробуй удалить торговлю, зайти на сервер и проверить удалилась она или нет.

Потом заново поставь ее и поставь сразу же после того как поставил. 

  1. Z_SingleCurrency = true

Если не получится поставь новую систему валют.

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

Вся пробдемма в том, что Currency & Banking v2.0 уже вшита в сборку сервера(скачал с этого гайда). Я лишь добавил улучшенную торговлю и инфистар. Ладно, пойду искать отдельно торговлю, без сервера. 

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


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

Вся пробдемма в том, что Currency & Banking v2.0 уже вшита в сборку сервера(скачал с этого гайда). Я лишь добавил улучшенную торговлю и инфистар. Ладно, пойду искать отдельно торговлю, без сервера. 

Скачай мою сборку.

Там есть и трейд и валюта.

Она вроде бы первая стоит в готовых сборках сервера. :good:

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


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

в улучшенной торговле не берет не дает деньги, может из за fn_selfactions.sqf, где должен лежат этот файл?

у меня он был в папке DayZ_Epoch_11.Chernarus\ZSC\compiles, может из за этого деньги не работают?

 

установлен Single Currency v3.0 DEFAULT HIVE

P.S  Открываем файл description.ext и в самый низ вставляем

  1. #include "zupa\advancedTrading\ZSCdefines.hpp" // если у вас нет ZSC 3.0
  2. #include "zupa\advancedTrading\advancedTrading.hpp"

что писать в description.ext??

Single Currency v3.0 DEFAULT HIVE это и есть ZSC 3.0?

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

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


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

в улучшенной торговле не берет не дает деньги, может из за fn_selfactions.sqf, где должен лежат этот файл?

у меня он был в папке DayZ_Epoch_11.Chernarus\ZSC\compiles, может из за этого деньги не работают?

 

установлен Single Currency v3.0 DEFAULT HIVE

P.S  Открываем файл description.ext и в самый низ вставляем

  1. #include "zupa\advancedTrading\ZSCdefines.hpp" // если у вас нет ZSC 3.0
  2. #include "zupa\advancedTrading\advancedTrading.hpp"

что писать в description.ext??

Single Currency v3.0 DEFAULT HIVE это и есть ZSC 3.0?

В description убери эту строку

"zupa\advancedTrading\ZSCdefines.hpp" // если у вас нет ZSC 3.0

 

Оставь только вторую.

 

fn_selfactions.sqf нужно переместить в папку custom. Она там по умолчанию должна быть.

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


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

Уважаемые знатоки! Отсутствуют логи продажи\покупки в RPT, для стандартной торговли все выводится.

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


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

Долго не получалось найти нужное место в цикле, но вроде работает. У кого нет логов в RPT покупки\продажи  advanced trade - забирайте))

Все это находится в ВАША МИССИЯ/adv trade/functions/

 

Измененный файл z_at_buyItems.sqf

 

private ["_magazinesToBuy", "_weaponsToBuy", "_backpacksToBuy", "_toolsToBuy", "_sidearmToBuy", "_primaryToBuy", "_priceToBuy"
,"_enoughMoney", "_myMoney", "_canBuy", "_moneyInfo","_count","_success","_backpack"
];


_magazinesToBuy = 0;
_weaponsToBuy = 0;
_backpacksToBuy = 0;
_toolsToBuy = 0;
_sidearmToBuy = 0;
_primaryToBuy = 0;
_vehiclesToBuy = 0;


_priceToBuy = 0;


if (Z_SingleCurrency) then {
    {
        if( _x select 1 == "trade_weapons")then{
            _parentClasses =  [(configFile >> "CfgWeapons" >> (_x select 0)),true] call BIS_fnc_returnParents;
            if( 'ItemCore' in _parentClasses || 'Binocular' in _parentClasses) then {
                _toolsToBuy = _toolsToBuy + (_x select 9);
            } else {
                _weaponsToBuy = _weaponsToBuy + (_x select 9);
                if('PistolCore' in _parentClasses)then {
                    _sidearmToBuy = _sidearmToBuy + (_x select 9);
                } else {
                    _primaryToBuy = _primaryToBuy + (_x select 9); // _ammount
                };
            };
            _priceToBuy    = _priceToBuy + ((_x select 9)*(_x select 2));
        };
        if( _x select 1 == "trade_items")then{
            _magazinesToBuy = _magazinesToBuy + (_x select 9) ;
            _priceToBuy    = _priceToBuy + ((_x select 9)*(_x select 2));
        };
        if( _x select 1 == "trade_backpacks")then{
            _backpacksToBuy = _backpacksToBuy + (_x select 9) ;
            _priceToBuy    = _priceToBuy + ((_x select 9)*(_x select 2)); // _price * _amount
        };
        if( _x select 1 == "trade_any_vehicle")then{
            _vehiclesToBuy = _vehiclesToBuy + (_x select 9) ;
            _priceToBuy    = _priceToBuy + ((_x select 9)*(_x select 2)); // _price * _amount
        };
    } count Z_BuyingArray;
} else {
    {
        if( _x select 1 == "trade_weapons")then{
            _parentClasses =  [(configFile >> "CfgWeapons" >> (_x select 0)),true] call BIS_fnc_returnParents;
            if( 'ItemCore' in _parentClasses || 'Binocular' in _parentClasses) then {
                _toolsToBuy = _toolsToBuy + (_x select 9);
            } else {
                _weaponsToBuy = _weaponsToBuy + (_x select 9);
                if('PistolCore' in _parentClasses)then {
                    _sidearmToBuy = _sidearmToBuy + (_x select 9);
                } else {
                    _primaryToBuy = _primaryToBuy + (_x select 9);
                };
            };
            _priceToBuy    = _priceToBuy + ((_x select 11)*(_x select 2)*(_x select 9)); // _worth * _price * _amount
        };
        if( _x select 1 == "trade_items")then{
            _magazinesToBuy = _magazinesToBuy + (_x select 9) ;
            _priceToBuy    = _priceToBuy + ((_x select 11) *(_x select 2)*(_x select 9));
        };
        if( _x select 1 == "trade_backpacks")then{
            _backpacksToBuy = _backpacksToBuy + (_x select 9) ;
            _priceToBuy    = _priceToBuy + ((_x select 11)*(_x select 2)*(_x select 9));
        };
        if( _x select 1 == "trade_any_vehicle")then{
            _vehiclesToBuy = _vehiclesToBuy + (_x select 9) ;
            _priceToBuy    = _priceToBuy + ((_x select 11)*(_x select 2)*(_x select 9));
        };
    } count Z_BuyingArray;
};


_canBuy = [_weaponsToBuy,_magazinesToBuy,_backpacksToBuy,_toolsToBuy, _sidearmToBuy, _primaryToBuy,_vehiclesToBuy] call Z_allowBuying;


_myMoney = player getVariable[Z_MoneyVariable,0];


_enoughMoney = false;


_moneyInfo = [false, [], [], [], 0];


if (Z_SingleCurrency) then {
    if (_myMoney >= _priceToBuy) then {
        _enoughMoney = true;
    } else {
        _enoughMoney = false;
    };
} else {
    _moneyInfo = _priceToBuy call Z_canAfford;
    _enoughMoney = _moneyInfo select 0;
};


if(_enoughMoney) then {
    if(_canBuy) then {
    systemChat format["Торговля началась..."];
player playActionNow "Medic";
sleep 5;
    closeDialog 2;


        if(Z_SellingFrom == 0) then { //backpack
        _backpack = unitBackpack player;
        systemChat format["Добавлено: %1 в рюкзак",count (Z_BuyingArray)];
            {
                if( _x select 1 == "trade_weapons")then{
                    _backpack addWeaponCargoGlobal [_x select 0, _x select 9];
                    diag_log format ["%1 x %2 добавлено", _x select 0, _x select 9];
                    PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 купил %2 х %3",player, _x select 0, _x select 9];
                    publicVariableServer 'PVDZE_atp';
                };
                if( _x select 1 == "trade_items")then{
                    _backpack addMagazineCargoGlobal  [_x select 0, _x select 9];
                    diag_log format ["%1 x %2 добавлено", _x select 0, _x select 9];
                    PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 купил %2 х %3",player, _x select 0, _x select 9];
                    publicVariableServer 'PVDZE_atp';
                };
            } count Z_BuyingArray;
        };


        if(Z_SellingFrom == 1)then{ //vehicle
            {
                systemChat format["Добавлено: %1 в %2",count (Z_BuyingArray), typeOf Z_vehicle];
                if( _x select 1 == "trade_weapons")then{
                    Z_vehicle addWeaponCargoGlobal [_x select 0, _x select 9];
                    diag_log format ["%1 x %2 добавлено", _x select 0, _x select 9];
                    PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 купил %2 х %3",player, _x select 0, _x select 9];
                    publicVariableServer 'PVDZE_atp';
                };
                if( _x select 1 == "trade_items")then{
                    Z_vehicle addMagazineCargoGlobal [_x select 0, _x select 9];
                    diag_log format ["%1 x %2 добавлено", _x select 0, _x select 9];
                    PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 купил %2 х %3",player, _x select 0, _x select 9];
                    publicVariableServer 'PVDZE_atp';
                };
                if( _x select 1 == "trade_backpacks")then{
                    Z_vehicle addBackpackCargoGlobal [_x select 0, _x select 9];
                    diag_log format ["%1 x %2 добавлено", _x select 0, _x select 9];
                    PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 купил %2 х %3",player, _x select 0, _x select 9];
                    publicVariableServer 'PVDZE_atp';
                };
            } count Z_BuyingArray;
        };


        if(Z_SellingFrom == 2)then{ //gear
            systemChat format["Добавлено: %1 в снаряжение",count (Z_BuyingArray)];
            {
                if( _x select 1 == "trade_weapons") then {
                    _count = 0;
                    while{ _count < (_x select 9)}do{
                        player addWeapon (_x select 0);
                        diag_log format ["%1 добавлено", _x select 0];
                        PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 купил %2",player, _x select 0];
                        publicVariableServer 'PVDZE_atp';
                        _count = _count + 1;
                    };
                };
                if( _x select 1 == "trade_items" ) then {
                    _count = 0;
                     while{ _count < (_x select 9)} do {
                        player addMagazine (_x select 0);
                        diag_log format ["%1 добавлено", _x select 0];
                        PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 купил %2",player, _x select 0];
                        publicVariableServer 'PVDZE_atp';
                        _count = _count + 1;
                    };
                };
                if( _x select 1 == "trade_backpacks")then{
                        player addBackpack (_x select 0);
                        PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 купил %2",player, _x select 0];
                        publicVariableServer 'PVDZE_atp';
                };
            } count Z_BuyingArray;
        };
        if (!Z_SingleCurrency) then {
                _success = [player,_priceToBuy, _moneyInfo] call Z_payDefault;
                if (_success) then {
                    systemChat format["Продано! с Вас %1.", _priceToBuy];
                } else {
                    systemchat "DEBUG: Что-то пошло не так в процессе оплаты. Пожалуйста, сообщите об этой проблеме.";
                };
        } else {
                _success = [player,_priceToBuy] call SC_fnc_removeCoins;
                if (_success) then {
                    systemChat format["Продано! с Вас %1 %2.", _priceToBuy, CurrencyName];
                    PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 заплатил %2",player,_priceToBuy];
                    publicVariableServer 'PVDZE_atp';
                } else {
                    systemchat "DEBUG: Что-то пошло не так в процессе оплаты. Пожалуйста, сообщите об этой проблеме.";
                };
        };
    } else {
        systemChat "Вы могли бы всё это купить, но места нехватает, поэтому покупка отменена.";
    };
}else{
    if( Z_SingleCurrency) then {
        systemChat format["Вам нужно %1 %2 для покупки.",_priceToBuy,CurrencyName];
    } else {
        systemChat format["Вам нужно больше денег, чтобы купить."];
    };
};
 

 

Измененный файл z_at_sellItems.sqf

 

private ["_index","_tempArray","_outcome","_weaponsArray","_itemsArray","_bpArray","_bpCheckArray","_weaponsCheckArray","_itemsCheckArray"];


_index = count (Z_SellArray) - 1;
_tempArray = Z_SellArray;
if(_index > -1)then{
    closeDialog 2;
    _outcome = [];
    _weaponsArray = [];
    _itemsArray = [];
    _bpArray = [];
    _bpCheckArray = [];
    _weaponsCheckArray = [];
    _itemsCheckArray = [];
    {
        private ["_type","_name"];
        _type = _x select 1;
        _name = _x select 0;


        switch (true) do {
            case (_type == "trade_items") :
            {
                _itemsArray set [count(_itemsArray),_name];
                _itemsCheckArray set [count(_itemsCheckArray),[_x select 2, _x select 11]];
            };
            case (_type == "trade_weapons") :
            {
                _weaponsArray set [count(_weaponsArray),_name];
                _weaponsCheckArray set [count(_weaponsCheckArray),[_x select 2, _x select 11]];
            };
            case (_type == "trade_backpacks") :
            {
                _bpArray set [count(_bpArray),_name];
                _bpCheckArray set [count(_bpCheckArray),[_x select 2, _x select 11]];
            };


        };
    }count Z_SellArray;


    if(Z_SellingFrom == 0)then{
        _outcome = [unitBackpack player,_itemsArray,_weaponsArray] call ZUPA_fnc_removeWeaponsAndMagazinesCargo;
    };
    if(Z_SellingFrom == 1)then{
        _outcome = [Z_vehicle,_itemsArray,_weaponsArray,_bpArray] call ZUPA_fnc_removeWeaponsAndMagazinesCargo;
    };


    //gear
    if(Z_SellingFrom == 2)then{
        _wA = [];
        _mA = [];
        {
            _localResult = [player,(_x select 0),1] call BIS_fnc_invRemove;
            PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 продал %2",player, _x select 0];
            publicVariableServer 'PVDZE_atp';
            if( _localResult != 1)then{
                if(_x select 1 == "trade_items")then{
                    _mA set [count(_mA),0];
                }else{
                    _wA set [count(_wA),0];
                };
            }else{
                if(_x select 1 == "trade_items")then{
                    _mA set [count(_mA),1];
                }else{
                    _wA set [count(_wA),1];
                };
            };


        }count Z_SellArray;


        _outcome set [0,_mA];
        _outcome set [1,_wA];
        _outcome set [2,[]];
        
    };


    _money = 0;


    if (Z_SingleCurrency) then {
        {
            _money = _money + ( (((_itemsCheckArray select _forEachIndex) select 0)) * _x) ;
        }forEach (_outcome select 0);
        {
            _money = _money + ( (((_weaponsCheckArray select _forEachIndex) select 0)) * _x) ;
        }forEach (_outcome select 1);
        {
            _money = _money + ( ( ((_bpCheckArray select _forEachIndex) select 0) ) * _x) ;
        }forEach (_outcome select 2);
    } else {
        {
            _itemData = _itemsCheckArray select _forEachIndex;
            _money = _money + ( (_itemData select 0) * (_itemData select 1) * _x);
        }forEach (_outcome select 0);
        {
            _itemData = _weaponsCheckArray select _forEachIndex;
            _money = _money + ( (_itemData select 0) * (_itemData select 1) * _x);
        }forEach (_outcome select 1);
        {
            _itemData = _bpCheckArray select _forEachIndex;
            _money = _money + ( (_itemData select 0) * (_itemData select 1) * _x);
        }forEach (_outcome select 2);
    };


    if(typeName _money  == "SCALAR") then {
player playActionNow "Medic";
sleep 5;    
        if (Z_SingleCurrency) then {
                _success = [player,_money] call SC_fnc_addCoins;
                systemChat format["Продажа звершена. Получено %1 %2", _money , CurrencyName];
                PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 получил %2",player,_money];
                publicVariableServer 'PVDZE_atp';
        } else {
                _success = [_money, 0] call Z_returnChange;
                systemChat format["Продажа звершена."];
        };
    }else{
        systemChat format["Неверное количество денег."];
    };
}else{
    systemChat format["Нет ничего на продажу."];
};
 

 

В RPT выглядит так
 

 

19:46:34 "[Лог продвинутой торговли]: Игрок: B 1-1-E:2 (НИК) купил PartEngine"
19:46:34 "[Лог продвинутой торговли]: Игрок: B 1-1-E:2 (НИК) купил PartEngine"
19:46:34 "[Лог продвинутой торговли]: Игрок: B 1-1-E:2 (НИК) заплатил 200"
 

 

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

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


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

 

 

 

Долго не получалось найти нужное место в цикле, но вроде работает. У кого нет логов в RPT покупки\продажи  advanced trade - забирайте))

Все это находится в ВАША МИССИЯ/adv trade/functions/

 

Измененный файл z_at_buyItems.sqf

 

private ["_magazinesToBuy", "_weaponsToBuy", "_backpacksToBuy", "_toolsToBuy", "_sidearmToBuy", "_primaryToBuy", "_priceToBuy"
,"_enoughMoney", "_myMoney", "_canBuy", "_moneyInfo","_count","_success","_backpack"
];


_magazinesToBuy = 0;
_weaponsToBuy = 0;
_backpacksToBuy = 0;
_toolsToBuy = 0;
_sidearmToBuy = 0;
_primaryToBuy = 0;
_vehiclesToBuy = 0;


_priceToBuy = 0;


if (Z_SingleCurrency) then {
    {
        if( _x select 1 == "trade_weapons")then{
            _parentClasses =  [(configFile >> "CfgWeapons" >> (_x select 0)),true] call BIS_fnc_returnParents;
            if( 'ItemCore' in _parentClasses || 'Binocular' in _parentClasses) then {
                _toolsToBuy = _toolsToBuy + (_x select 9);
            } else {
                _weaponsToBuy = _weaponsToBuy + (_x select 9);
                if('PistolCore' in _parentClasses)then {
                    _sidearmToBuy = _sidearmToBuy + (_x select 9);
                } else {
                    _primaryToBuy = _primaryToBuy + (_x select 9); // _ammount
                };
            };
            _priceToBuy    = _priceToBuy + ((_x select 9)*(_x select 2));
        };
        if( _x select 1 == "trade_items")then{
            _magazinesToBuy = _magazinesToBuy + (_x select 9) ;
            _priceToBuy    = _priceToBuy + ((_x select 9)*(_x select 2));
        };
        if( _x select 1 == "trade_backpacks")then{
            _backpacksToBuy = _backpacksToBuy + (_x select 9) ;
            _priceToBuy    = _priceToBuy + ((_x select 9)*(_x select 2)); // _price * _amount
        };
        if( _x select 1 == "trade_any_vehicle")then{
            _vehiclesToBuy = _vehiclesToBuy + (_x select 9) ;
            _priceToBuy    = _priceToBuy + ((_x select 9)*(_x select 2)); // _price * _amount
        };
    } count Z_BuyingArray;
} else {
    {
        if( _x select 1 == "trade_weapons")then{
            _parentClasses =  [(configFile >> "CfgWeapons" >> (_x select 0)),true] call BIS_fnc_returnParents;
            if( 'ItemCore' in _parentClasses || 'Binocular' in _parentClasses) then {
                _toolsToBuy = _toolsToBuy + (_x select 9);
            } else {
                _weaponsToBuy = _weaponsToBuy + (_x select 9);
                if('PistolCore' in _parentClasses)then {
                    _sidearmToBuy = _sidearmToBuy + (_x select 9);
                } else {
                    _primaryToBuy = _primaryToBuy + (_x select 9);
                };
            };
            _priceToBuy    = _priceToBuy + ((_x select 11)*(_x select 2)*(_x select 9)); // _worth * _price * _amount
        };
        if( _x select 1 == "trade_items")then{
            _magazinesToBuy = _magazinesToBuy + (_x select 9) ;
            _priceToBuy    = _priceToBuy + ((_x select 11) *(_x select 2)*(_x select 9));
        };
        if( _x select 1 == "trade_backpacks")then{
            _backpacksToBuy = _backpacksToBuy + (_x select 9) ;
            _priceToBuy    = _priceToBuy + ((_x select 11)*(_x select 2)*(_x select 9));
        };
        if( _x select 1 == "trade_any_vehicle")then{
            _vehiclesToBuy = _vehiclesToBuy + (_x select 9) ;
            _priceToBuy    = _priceToBuy + ((_x select 11)*(_x select 2)*(_x select 9));
        };
    } count Z_BuyingArray;
};


_canBuy = [_weaponsToBuy,_magazinesToBuy,_backpacksToBuy,_toolsToBuy, _sidearmToBuy, _primaryToBuy,_vehiclesToBuy] call Z_allowBuying;


_myMoney = player getVariable[Z_MoneyVariable,0];


_enoughMoney = false;


_moneyInfo = [false, [], [], [], 0];


if (Z_SingleCurrency) then {
    if (_myMoney >= _priceToBuy) then {
        _enoughMoney = true;
    } else {
        _enoughMoney = false;
    };
} else {
    _moneyInfo = _priceToBuy call Z_canAfford;
    _enoughMoney = _moneyInfo select 0;
};


if(_enoughMoney) then {
    if(_canBuy) then {
    systemChat format["Торговля началась..."];
player playActionNow "Medic";
sleep 5;
    closeDialog 2;


        if(Z_SellingFrom == 0) then { //backpack
        _backpack = unitBackpack player;
        systemChat format["Добавлено: %1 в рюкзак",count (Z_BuyingArray)];
            {
                if( _x select 1 == "trade_weapons")then{
                    _backpack addWeaponCargoGlobal [_x select 0, _x select 9];
                    diag_log format ["%1 x %2 добавлено", _x select 0, _x select 9];
                    PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 купил %2 х %3",player, _x select 0, _x select 9];
                    publicVariableServer 'PVDZE_atp';
                };
                if( _x select 1 == "trade_items")then{
                    _backpack addMagazineCargoGlobal  [_x select 0, _x select 9];
                    diag_log format ["%1 x %2 добавлено", _x select 0, _x select 9];
                    PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 купил %2 х %3",player, _x select 0, _x select 9];
                    publicVariableServer 'PVDZE_atp';
                };
            } count Z_BuyingArray;
        };


        if(Z_SellingFrom == 1)then{ //vehicle
            {
                systemChat format["Добавлено: %1 в %2",count (Z_BuyingArray), typeOf Z_vehicle];
                if( _x select 1 == "trade_weapons")then{
                    Z_vehicle addWeaponCargoGlobal [_x select 0, _x select 9];
                    diag_log format ["%1 x %2 добавлено", _x select 0, _x select 9];
                    PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 купил %2 х %3",player, _x select 0, _x select 9];
                    publicVariableServer 'PVDZE_atp';
                };
                if( _x select 1 == "trade_items")then{
                    Z_vehicle addMagazineCargoGlobal [_x select 0, _x select 9];
                    diag_log format ["%1 x %2 добавлено", _x select 0, _x select 9];
                    PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 купил %2 х %3",player, _x select 0, _x select 9];
                    publicVariableServer 'PVDZE_atp';
                };
                if( _x select 1 == "trade_backpacks")then{
                    Z_vehicle addBackpackCargoGlobal [_x select 0, _x select 9];
                    diag_log format ["%1 x %2 добавлено", _x select 0, _x select 9];
                    PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 купил %2 х %3",player, _x select 0, _x select 9];
                    publicVariableServer 'PVDZE_atp';
                };
            } count Z_BuyingArray;
        };


        if(Z_SellingFrom == 2)then{ //gear
            systemChat format["Добавлено: %1 в снаряжение",count (Z_BuyingArray)];
            {
                if( _x select 1 == "trade_weapons") then {
                    _count = 0;
                    while{ _count < (_x select 9)}do{
                        player addWeapon (_x select 0);
                        diag_log format ["%1 добавлено", _x select 0];
                        PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 купил %2",player, _x select 0];
                        publicVariableServer 'PVDZE_atp';
                        _count = _count + 1;
                    };
                };
                if( _x select 1 == "trade_items" ) then {
                    _count = 0;
                     while{ _count < (_x select 9)} do {
                        player addMagazine (_x select 0);
                        diag_log format ["%1 добавлено", _x select 0];
                        PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 купил %2",player, _x select 0];
                        publicVariableServer 'PVDZE_atp';
                        _count = _count + 1;
                    };
                };
                if( _x select 1 == "trade_backpacks")then{
                        player addBackpack (_x select 0);
                        PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 купил %2",player, _x select 0];
                        publicVariableServer 'PVDZE_atp';
                };
            } count Z_BuyingArray;
        };
        if (!Z_SingleCurrency) then {
                _success = [player,_priceToBuy, _moneyInfo] call Z_payDefault;
                if (_success) then {
                    systemChat format["Продано! с Вас %1.", _priceToBuy];
                } else {
                    systemchat "DEBUG: Что-то пошло не так в процессе оплаты. Пожалуйста, сообщите об этой проблеме.";
                };
        } else {
                _success = [player,_priceToBuy] call SC_fnc_removeCoins;
                if (_success) then {
                    systemChat format["Продано! с Вас %1 %2.", _priceToBuy, CurrencyName];
                    PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 заплатил %2",player,_priceToBuy];
                    publicVariableServer 'PVDZE_atp';
                } else {
                    systemchat "DEBUG: Что-то пошло не так в процессе оплаты. Пожалуйста, сообщите об этой проблеме.";
                };
        };
    } else {
        systemChat "Вы могли бы всё это купить, но места нехватает, поэтому покупка отменена.";
    };
}else{
    if( Z_SingleCurrency) then {
        systemChat format["Вам нужно %1 %2 для покупки.",_priceToBuy,CurrencyName];
    } else {
        systemChat format["Вам нужно больше денег, чтобы купить."];
    };
};
 

 

Измененный файл z_at_sellItems.sqf

 

private ["_index","_tempArray","_outcome","_weaponsArray","_itemsArray","_bpArray","_bpCheckArray","_weaponsCheckArray","_itemsCheckArray"];


_index = count (Z_SellArray) - 1;
_tempArray = Z_SellArray;
if(_index > -1)then{
    closeDialog 2;
    _outcome = [];
    _weaponsArray = [];
    _itemsArray = [];
    _bpArray = [];
    _bpCheckArray = [];
    _weaponsCheckArray = [];
    _itemsCheckArray = [];
    {
        private ["_type","_name"];
        _type = _x select 1;
        _name = _x select 0;


        switch (true) do {
            case (_type == "trade_items") :
            {
                _itemsArray set [count(_itemsArray),_name];
                _itemsCheckArray set [count(_itemsCheckArray),[_x select 2, _x select 11]];
            };
            case (_type == "trade_weapons") :
            {
                _weaponsArray set [count(_weaponsArray),_name];
                _weaponsCheckArray set [count(_weaponsCheckArray),[_x select 2, _x select 11]];
            };
            case (_type == "trade_backpacks") :
            {
                _bpArray set [count(_bpArray),_name];
                _bpCheckArray set [count(_bpCheckArray),[_x select 2, _x select 11]];
            };


        };
    }count Z_SellArray;


    if(Z_SellingFrom == 0)then{
        _outcome = [unitBackpack player,_itemsArray,_weaponsArray] call ZUPA_fnc_removeWeaponsAndMagazinesCargo;
    };
    if(Z_SellingFrom == 1)then{
        _outcome = [Z_vehicle,_itemsArray,_weaponsArray,_bpArray] call ZUPA_fnc_removeWeaponsAndMagazinesCargo;
    };


    //gear
    if(Z_SellingFrom == 2)then{
        _wA = [];
        _mA = [];
        {
            _localResult = [player,(_x select 0),1] call BIS_fnc_invRemove;
            PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 продал %2",player, _x select 0];
            publicVariableServer 'PVDZE_atp';
            if( _localResult != 1)then{
                if(_x select 1 == "trade_items")then{
                    _mA set [count(_mA),0];
                }else{
                    _wA set [count(_wA),0];
                };
            }else{
                if(_x select 1 == "trade_items")then{
                    _mA set [count(_mA),1];
                }else{
                    _wA set [count(_wA),1];
                };
            };


        }count Z_SellArray;


        _outcome set [0,_mA];
        _outcome set [1,_wA];
        _outcome set [2,[]];
        
    };


    _money = 0;


    if (Z_SingleCurrency) then {
        {
            _money = _money + ( (((_itemsCheckArray select _forEachIndex) select 0)) * _x) ;
        }forEach (_outcome select 0);
        {
            _money = _money + ( (((_weaponsCheckArray select _forEachIndex) select 0)) * _x) ;
        }forEach (_outcome select 1);
        {
            _money = _money + ( ( ((_bpCheckArray select _forEachIndex) select 0) ) * _x) ;
        }forEach (_outcome select 2);
    } else {
        {
            _itemData = _itemsCheckArray select _forEachIndex;
            _money = _money + ( (_itemData select 0) * (_itemData select 1) * _x);
        }forEach (_outcome select 0);
        {
            _itemData = _weaponsCheckArray select _forEachIndex;
            _money = _money + ( (_itemData select 0) * (_itemData select 1) * _x);
        }forEach (_outcome select 1);
        {
            _itemData = _bpCheckArray select _forEachIndex;
            _money = _money + ( (_itemData select 0) * (_itemData select 1) * _x);
        }forEach (_outcome select 2);
    };


    if(typeName _money  == "SCALAR") then {
player playActionNow "Medic";
sleep 5;    
        if (Z_SingleCurrency) then {
                _success = [player,_money] call SC_fnc_addCoins;
                systemChat format["Продажа звершена. Получено %1 %2", _money , CurrencyName];
                PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 получил %2",player,_money];
                publicVariableServer 'PVDZE_atp';
        } else {
                _success = [_money, 0] call Z_returnChange;
                systemChat format["Продажа звершена."];
        };
    }else{
        systemChat format["Неверное количество денег."];
    };
}else{
    systemChat format["Нет ничего на продажу."];
};
 

 

В RPT выглядит так
 

 

19:46:34 "[Лог продвинутой торговли]: Игрок: B 1-1-E:2 (НИК) купил PartEngine"
19:46:34 "[Лог продвинутой торговли]: Игрок: B 1-1-E:2 (НИК) купил PartEngine"
19:46:34 "[Лог продвинутой торговли]: Игрок: B 1-1-E:2 (НИК) заплатил 200"
 

 

 

 

все отлично, логи пишутся, но теперь появилась анимация при торговле) как его убрать?

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


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

У себя я ее оставил, пусть подождут немного :smile: , но попробуй убрать строку в обоих файлах.

 

player playActionNow "Medic";
 

 

И у меня там была ошибка, не показывались именя вещей проданных из техники\рюкзака, вот фикс.

 

Замени все в файле z_at_sellitem.sqf

 

 

private ["_index","_tempArray","_outcome","_weaponsArray","_itemsArray","_bpArray","_bpCheckArray","_weaponsCheckArray","_itemsCheckArray"];


_index = count (Z_SellArray) - 1;
_tempArray = Z_SellArray;
if(_index > -1)then{
    closeDialog 2;
    _outcome = [];
    _weaponsArray = [];
    _itemsArray = [];
    _bpArray = [];
    _bpCheckArray = [];
    _weaponsCheckArray = [];
    _itemsCheckArray = [];
    {
        private ["_type","_name"];
        _type = _x select 1;
        _name = _x select 0;


        switch (true) do {
            case (_type == "trade_items") :
            {
                _itemsArray set [count(_itemsArray),_name];
                _itemsCheckArray set [count(_itemsCheckArray),[_x select 2, _x select 11]];
                PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 продал %2",player, _x select 0];
                publicVariableServer 'PVDZE_atp';
            };
            case (_type == "trade_weapons") :
            {
                _weaponsArray set [count(_weaponsArray),_name];
                _weaponsCheckArray set [count(_weaponsCheckArray),[_x select 2, _x select 11]];
                PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 продал %2",player, _x select 0];
                publicVariableServer 'PVDZE_atp';
            };
            case (_type == "trade_backpacks") :
            {
                _bpArray set [count(_bpArray),_name];
                _bpCheckArray set [count(_bpCheckArray),[_x select 2, _x select 11]];
                PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 продал %2",player, _x select 0];
                publicVariableServer 'PVDZE_atp';
            };


        };
    }count Z_SellArray;


    if(Z_SellingFrom == 0)then{
        _outcome = [unitBackpack player,_itemsArray,_weaponsArray] call ZUPA_fnc_removeWeaponsAndMagazinesCargo;
    };
    if(Z_SellingFrom == 1)then{
        _outcome = [Z_vehicle,_itemsArray,_weaponsArray,_bpArray] call ZUPA_fnc_removeWeaponsAndMagazinesCargo;
    };


    //gear
    if(Z_SellingFrom == 2)then{
        _wA = [];
        _mA = [];
        {
            _localResult = [player,(_x select 0),1] call BIS_fnc_invRemove;
            PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 продал %2",player, _x select 0];
            publicVariableServer 'PVDZE_atp';
            if( _localResult != 1)then{
                if(_x select 1 == "trade_items")then{
                    _mA set [count(_mA),0];
                }else{
                    _wA set [count(_wA),0];
                };
            }else{
                if(_x select 1 == "trade_items")then{
                    _mA set [count(_mA),1];
                }else{
                    _wA set [count(_wA),1];
                };
            };


        }count Z_SellArray;


        _outcome set [0,_mA];
        _outcome set [1,_wA];
        _outcome set [2,[]];
        
    };


    _money = 0;


    if (Z_SingleCurrency) then {
        {
            _money = _money + ( (((_itemsCheckArray select _forEachIndex) select 0)) * _x) ;
        }forEach (_outcome select 0);
        {
            _money = _money + ( (((_weaponsCheckArray select _forEachIndex) select 0)) * _x) ;
        }forEach (_outcome select 1);
        {
            _money = _money + ( ( ((_bpCheckArray select _forEachIndex) select 0) ) * _x) ;
        }forEach (_outcome select 2);
    } else {
        {
            _itemData = _itemsCheckArray select _forEachIndex;
            _money = _money + ( (_itemData select 0) * (_itemData select 1) * _x);
        }forEach (_outcome select 0);
        {
            _itemData = _weaponsCheckArray select _forEachIndex;
            _money = _money + ( (_itemData select 0) * (_itemData select 1) * _x);
        }forEach (_outcome select 1);
        {
            _itemData = _bpCheckArray select _forEachIndex;
            _money = _money + ( (_itemData select 0) * (_itemData select 1) * _x);
        }forEach (_outcome select 2);
    };


    if(typeName _money  == "SCALAR") then {
player playActionNow "Medic";
sleep 5;    
        if (Z_SingleCurrency) then {
                _success = [player,_money] call SC_fnc_addCoins;
                systemChat format["Продажа звершена. Получено %1 %2", _money , CurrencyName];
                PVDZE_atp = format["[Лог продвинутой торговли]: Игрок: %1 получил %2",player,_money];
                publicVariableServer 'PVDZE_atp';
        } else {
                _success = [_money, 0] call Z_returnChange;
                systemChat format["Продажа звершена."];
        };
    }else{
        systemChat format["Неверное количество денег."];
    };
}else{
    systemChat format["Нет ничего на продажу."];
};
 

 

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

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


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

В коде есть ошибки! Всем настоятельно рекомендую пройтись по этим двум путям:

\zupa\advancedTrading\functions\z_at_allowBuying.sqf

\zupa\advancedTrading\functions\z_at_calculateFreeSpace.sqf

и убрать пробел в 'transportMaxBackpacks '

 

Теперь у вас появится отображение количества рюкзаков в машинах.

 

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

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


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

Спасибо

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

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

    • Автор: Makliion
      Всем добрый вечер..
      У меня такой вопрос где найти или заказать скрипт для обыска зомбей & игроков 
      что-бы каждую вещь снимать через действие а не тупо через таб
      Шлем отдельно
      Рюкзак отдельно
      ну и на все остальные слоты
      искал долго не нашёл ничего
      есть мод на обыск но он просто открывает  инвентарь и все 
       
    • Автор: Troy1
      Всем привет. Подскжите ну или помогите пожалуйста решить вопрос.
      Вопрос звучит так. На сервере есть трейдер зоны и базы игроков. 
      Если в течение определённого времени, на пример 1 - 2 часа с машиной не кто не взаимодействует и машина не находится в зоне трейдера или на теретории базы, то машина отлетает в гараж или на штраф стоянку.
      На сервере используется TraderPlus.
       
      Есть такие решения у кого?
      За ранние благодарю.
    • Автор: Troy1
      Всем привет. Подскжите ну или помогите пожалуйста решить вопрос.
      Вопрос звучит так. Нужно сделать так, что бы на всей карте был запрет на строительство. 
      Если нужно построить например базу с палатками, то нужно установить верстак или флаг, который установит зону для строительства с радиусом примерно 20-25 метров от центра и желательно что бы зона была квадратной.
      Есть такие решения у кого?
      За ранние благодарю.
    • Автор: BR0wi
      Подскажите где найти людей, которые делаю моды на заказ. К кому вообще обращаться? Или что бы реализовать свои идеи нужно самому "год" сидеть и изучать все механики модинга?
    • Автор: CubeIn
      Приветствую господа, хочу создать новый проект, уникальный, но для этого нужен маппер.
      Я оставлю здесь свой дискрод, напишите в лс, кто готов взяться за крупный проект.
      4me#4542
  • Наш выбор

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.

Поддержка