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

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

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

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

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

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

png&fsize=144924&hid=a049e1528dae805d622

 

Данная версия создана на основе ZSC для DayZ EPOCH 1.0.5.1, а точнее адаптирована под 1.0.6. Также внесены некоторые дополнения для того чтобы сделать систему более защищённой.

Особенности:

  • Протестировано на DayZ EPOCH 1.0.6.1, а также OverWatch 0.25
  • Убрано множество способов дюпа, устранены баги системы
  • Множество фрагментов кода взято из стандартного релиза от Zupa чтобы остановить множественные проверки складывания\изымания чего-либо из одного сейфа
  • Поддерживается множество конфигураций хранения валюты: только в машинах, только в сейфах\локбоксах, либо и в машинах, и в сейфах с локбоксами
  • Поддерживаются все карты, но изначально файл server_traders имеется только для карт Chernarus, Taviana, Napf


Внимание:

  • При процессе установки предполагается что у вас нет кастомных файлов типа variables.sqf или compiles.sqf, или fn_selfActions.sqf
  • Все конфиги настроены под новый Epoch 1.0.6.1, либо OverWatch 0.25

 

Инструкция по установке валюты:
1)
Качаем архив с сайта:

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

    Либо с Гитхаба разработчика

2) В папке миссии открываем файл init.sqf и находим код:

call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf";

и сразу после него добавляем эту строку:

call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf";

3) Находим это:

call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";

ниже добавляем:

call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf";

4) Находим очередную строку:

call compile preprocessFileLineNumbers "server_traders.sqf";

и заменяем на эту:

call compile preprocessFileLineNumbers "scripts\traders\server_traders.sqf";

5) Находим в том же файле этот код:

waitUntil {scriptDone progress_monitor};

и над ним добавляем такие строки:

call compile preprocessFileLineNumbers "scripts\zsc\zscInit.sqf";
execVM "scripts\zsc\playerHud.sqf";
[] execVM "dayz_code\compile\remote_message.sqf";

6) Замените ваш description.ext на тот что лежит в архиве, либо соедините их содержимое, если ваш файл модифицирован. Сделать это можно при помощи плагина Compare в NotePad++

7) Распаковываем наш dayz_server.pbo и находим файл server_handleSafeGear.sqf. Заменяем его файлом с таким же именем, лежащим в архиве. Также можно их совместить, при помощи упомянутого выше плагина

8) Так же поступаем с файлом server_updateObject.sqf

9) Копируем папки dayz_code и scripts из архива в папку с нашей миссией
                           Итак, сама новая валюта установлена. Идём дальше.



Настройка фильтров BattlEye:
1)
Открываем папку с фильтрами BattlEye и находим файл scripts.txt. Примерно на 12й строке файла находим такой код:

5 createDialog

в её конец добавляем это:

!="_dialog = createDialog \"BankDialog\";" !="_dialog = createdialog \"GivePlayerDialog\";"

2) В этом же файле примерно на 10й строке находим это:

5 closeDisplay

и так же в конец добавляем код:

!="((ctrlParent (_this select 0)) closeDisplay 9000);"

 

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


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


Добавление банков в систему:

 


1) Обязательно должны быть выполнены все пункты выше, т.к. стандартный ZSC требуется для добавления системы банков
2) Открываем init.sqf и находим:


call compile preprocessFileLineNumbers "scripts\zsc\zscInit.sqf";

и добавляем ниже:


call compile preprocessFileLineNumbers "scripts\zsc\zscATMInit.sqf";

3) Открываем наш файл description.ext и находим строку:


#include "dayz_code\configs\zscDialogs.hpp"

добавляем под ней:


#include "dayz_code\configs\zscATMdialogs.hpp"

4) В папке нашей миссии находим файл dayz_code\init\compiles.sqf, ищем в нём строку:


fnc_usec_selfactions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf";

и добавляем ниже:


player_humanityMorph = compile preprocessFileLineNumbers "dayz_code\compile\player_humanityMorph.sqf"; // This line can be removed when Epoch 1.0.6.2 comes out.

5) В папке миссии открываем файл dayz_code\init\variables.sqf и находим это:


ZSC_MaxMoneyInStorageMultiplier = 50000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 50,000 multiplier is 10 million coin storage. (200*50000=10m coins)

и ниже добавляем:


Z_bankVariable = "moneySpecial"; // If using single currency this is the variable name used to store object bank wealth.
Z_globalVariable = "GlobalMoney"; // If using single currency this is the variable name used to store coins globally.
//Z_moneyVariable = "GlobalMoney"; // Uncomment this this to make it so players don't lose coins on death. Will need to disable checkWallet as you can dupe if you have this and check wallet running.
/*
    IMPORTANT: The following 2 variables below are CASE SENSITIVE! If you don't put the object/trader classname EXACTLY how
    they appear in game, THEY WILL NOT WORK!
*/
ZSC_bankObjects = [""]; // Array of objects that are available for banking (i.e Suitcase, Info_Board_EP1)
ZSC_bankTraders = ["Functionary1_EP1_DZ"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1_DZ)
ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below.
ZSC_maxBankMoney = 5000000; // Default limit for bank objects.

6) Заходим в папку global_banking в нашем архиве и копируем перечисленные ниже файлы в папку нашей миссии с учётом путей где они лежат:

  • dayz_code\compile\player_humanityMorph.sqf
  • dayz_code\configs\zscATMdialogs.hpp
  • scripts\zsc\images\bank.paa
  • scripts\zsc\atmDialog.sqf
  • scripts\zsc\playerHud.sqf
  • scripts\zsc\zscATMInit.sqf

 

Настройка фильтров BattlEye под банки:

1) Заходим в папку с фильтрами BattlEye и открываем файл scripts.txt. и примерно на 12 строке находим код, начинающийся с этого:


5 "createDialog"

добавляем в конец этой строки:


!"_dialog = createdialog \"atmDialog\";"

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


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

Установка NPC-банкиров:

1) Находим в архиве папку dayz_server и лежащую в ней папку bankTraders. Последнюю копируем в наш распакованный dayz_server.pbo
2) Открываем наш init.sqf и находим строку:

execVM "\z\addons\dayz_server\traders\chernarus11.sqf";

под ней вставляем это:

execVM "\z\addons\dayz_server\bankTraders\chernarus.sqf"; //Add banking agents

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

  • chernarus.sqf
  • lingor.sqf
  • namalsk.sqf
  • napf.sqf
  • panthera.sqf
  • tavi.sqf

Дополнение к инструкции от @Димас:
(если не появляется меню взаимодействия с банкиром)

В папке с миссией dayz_code\compile\  в файл fn_selfActions.sqf

Перед строкой:

if (_typeOfCursorTarget in DZE_MoneyStorageClasses && {!locked _cursorTarget} && {!(_typeOfCursorTarget in DZE_LockedStorage)} && {player distance _cursorTarget < 5}) then {

Добавляем:

           // Блок: "меню" для банковских агентов
    if (_isMan && {!(isPlayer _cursorTarget)} && {player distance _cursorTarget < 3} && {speed player <= 1} && {_typeOfCursorTarget in ZSC_bankTraders} && {!_isPZombie}) then {
        if (s_bank_dialog1 < 0) then {
        s_bank_dialog1 = player addAction ["Bank Teller","scripts\zsc\atmDialog.sqf",_cursorTarget,3,true,true];
    };
    } else {
        player removeAction s_bank_dialog1;
        s_bank_dialog1 = -1;
};

 

 

 

Делаем не пропадающие после смерти деньги (для PVE серверов):

В папке миссии находим файл dayz_code\init\variables.sqf и такие строки в нём:

//Z_moneyVariable = "GlobalMoney"; // Uncomment this this to make it so players don't lose coins on death. Will need to disable checkWallet as you can dupe if you have this and check wallet running.

Просто раскомментируйте эту линию и всё.
P.S. Обязательно уберите функцию проверки трупов на предмет денег (check wallet). Можно, например, просто закомментировать соответствующую строку в файле fn_selfactions.sqf

 

 


Изменяем файл server_traders.sqf для Черноруси на другую карту:

1) Открываем папку scripts\traders в нашей папке миссии
2) Удаляем файл server_traders.sqf
3) Файл под нужную нам карту переименовываем в server_traders.sqf

 

 

 

Добавляем другие объекты для хранения валюты:

1) В папке миссии открываем файл dayz_code\init\variables.sqf и находим строку:

DZE_MoneyStorageClasses = DZE_LockableStorage;

и заменяем её на эту:

DZE_MoneyStorageClasses = DZE_LockableStorage + ["Plastic_Pole_EP1_DZ"];

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

 

 

 

Используем для хранения валюты только машины:

1) Открываем файл scripts\zsc\bankDialog.sqf и находим строку:

if !(_typeOf in DZE_MoneyStorageClasses) exitWith {

и заменяем её на эту:

if !(ZSC_CurrentStorage isKindOf "AllVehicles") exitWith {

2) Открываем файл dayz_code\compile\fn_selfActions.sqf и находим строку:

if (_typeOfCursorTarget in DZE_MoneyStorageClasses && {!locked _cursorTarget} && {!(_typeOfCursorTarget in DZE_LockedStorage)} && {player distance _cursorTarget < 5}) then {

заменяем на эту:

if (_isVehicle && {!_isMan} && {!locked _cursorTarget} && {_isAlive} && {player distance _cursorTarget < 5}) then {

3) Открываем папку dayz_server\system в архиве, копируем файл server_monitor.sqf
4) Копируем его с заменой поверх того что стоит у нас в dayz_server.pbo, либо совмещаем их, если ваш модифицирован

 

 

 

Используем для хранения машины и DZE_MoneyStorageClasses:

1) Открываем файл scripts\zsc\bankDialog.sqf и находим:

if !(_typeOf in DZE_MoneyStorageClasses) exitWith {

заменяем на это:

if ((!(_typeOf in DZE_MoneyStorageClasses) && !(cursortarget isKindOf "AllVehicles"))) exitWith {

2) В файле dayz_code\compile\fn_selfActions.sqf находим строку:

if (_typeOfCursorTarget in DZE_MoneyStorageClasses && {!locked _cursorTarget} && {!(_typeOfCursorTarget in DZE_LockedStorage)} && {player distance _cursorTarget < 5}) then {

заменяем её этой:

if ((_typeOfCursorTarget in DZE_MoneyStorageClasses || _isVehicle) && {!_isMan} && {!locked _cursorTarget} && {_isAlive} && !(_typeOfCursorTarget in DZE_LockedStorage) && {player distance _cursorTarget < 5}) then {

3) Открываем папку dayz_server\system в архиве, копируем файл server_monitor.sqf
4) Копируем его с заменой поверх того что стоит у нас в dayz_server.pbo, либо совмещаем их, если ваш модифицирован
 

 


Добавляем выдачу денег новичкам сервера при их первом подключении:

1) В файле dayz_server\compile\server_playerLogin.sqf находим:
 

PVCDZ_plr_Login = [_charID,_inventory,_backpack,_survival,_isNew,dayz_versionNo,_model,_isHiveOk,_newPlayer,_isInfected,_group,_CharacterCoins,_playerCoins,_BankCoins];

2) Если хотите чтобы давалось 5к наличными - добавляем эту строку над той что мы искали в пункте нумбер раз :relaxed::

if (_newPlayer) then {_characterCoins = 5000};

3) Если хотите чтобы деньги добавлялись в банк, то добавьте эту строку:

if (_newPlayer) then {_bankCoins = 5000};

 


Ну вот, собственно, и всё :wink:
Если гайды был полезен - ставь +

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


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

UPD: исправлены ошибки, допущенные автором скрипта в гайде
Спасибо Miduznya за указанные ошибки

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


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, DrTauren сказал:

UPD: исправлены ошибки, допущенные автором скрипта в гайде
Спасибо Miduznya за указанные ошибки

Однозначно гайд полезный, получилось в 100 раз лучше чем оригинал автора сп!

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


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

У кого стоит инфистар пишем так фильтры (фильты под валюту + установленные банки):

5 "_createDialog" !="_dialog = createDialog "BankDialog";" !="_dialog = createdialog "GivePlayerDialog";"
5 "_closeDisplay =" !="((ctrlParent (_this select 0)) closeDisplay 9000);"

мой получился так: (сервер чистый установлена только система банка)

Скрытый текст

 


//new2
5 "EqualCheats"
5 "been infected!"
5 "FunctionsManager" !=" (isNull _grp) then { _grp = group ((allmissionobjects 'FunctionsManager') select 0); };\nif (!isNull _grp) then {\n_list = units "
5 "BattleFieldClearance"
5 "BIS_MPF_logic" !"BIS_MPF_logic = BIS_MPF_dummygroup createUnit"
5 "BIS_MPF_dummygroup" !="BIS_MPF_dummygroup = createGroup sideLogic;" !"BIS_MPF_logic = BIS_MPF_dummygroup createUnit"
5 "_codeAHOFF"
5 "_box" !="{show_loot_infiSTAR = !show_loot_infiSTAR;};\n};\nif(isNil \"show_boxes_infiSTAR\")then{show_boxes_infiSTAR = false;};\nfnc_BoxS = {\n"
5 "_first in"
5 "_commands"
5 "_createDialog" !="_dialog = createDialog \"BankDialog\";" !="_dialog = createdialog \"GivePlayerDialog\";"
5 "_agent setDamage 1"
5 "_unit createUnit"
5 "_closeDisplay =" !="((ctrlParent (_this select 0)) closeDisplay 9000);"
5 "rJIPrequest =" !"rJIPrequest = 'JIPrequest'"
5 "RUSTLER"
5 "Ruslter"
5 "Systems Online"
5 "HangenderRE"
5 "vilegaming"
5 "Lystic"
5 "setDammage"
5 "@TheWarZ"
5 "beeeh"
5 "dayz-injector-menu"
5 "Shadowy_NONRE"
5 "_cute"
5 "_stuff"
5 "_vgmenu"
5 "_func4"
5 "_genVar"
5 "_rand60"
5 "_first_term"
5 "_skarmory"
5 "_salamence"
5 "Init RE"
5 "Nigger"
5 "action_crate1"
5 "_dummyveh"
5 "try saving"
5 "setDamage -"
5 "setDamage +"
1 cutrsc !="layer == player)};\nwaituntil {!(isNull (findDisplay 46))};\n5 cutRsc [\"wm_disp\",\"PLAIN\"];\n((uiNamespace getVariable \"wm_disp\") di" !="cutRsc ['rscDynamicText', 'PLAIN'];" !=";\n_displayText = {\nprivate [\"_display\",\"_textLine\"];\n4099999 cutrsc [\"RSC_DZ_Messages\",\"plain\"];\n_display = uinamespace getvaria" !="holdBreath select 0) or (_turboKey select 0)) then {\n4100002 cutRsc [\"DZ_BlackScreen\",\"PLAIN\"];\n(uiNamespace getVariable \"DZ_Bla" !="Completed)}) then {\nif (toLower DZE_UI == \"vanilla\") then {3 cutRsc ['playerStatusGUI','PLAIN',3];} else {3 cutRsc ['playerStatu" !="cameraView in [\"INTERNAL\",\"EXTERNAL\",\"GUNNER\"]) then {\n80000 cutRsc [\"DZ_GroupIcons\",\"PLAIN\"];\n\n_display = uiNamespace getVariab" !="= _y;\n_y = _array select 0;\n_h = _array select 1;\n};\n\n_layer cutrsc [\"rscDynamicText\",\"plain\"];\n\n_display = uinamespace getvaria" !="\"ca\modules_e\functions\GUI\fn_infoText.sqf\"\n\n\n\n\n\n\n\n\n\n\n\n3100 cutrsc [\"rscInfoText\",\"plain\"];\n\n\n\n_text = _this;\n_textArrayUnicode" !="Group;\ndeleteGroup _myGroup;\n80000 cutText [\"\",\"PLAIN\"]; \n\n3 cutRsc [\"default\", \"PLAIN\",3];\n4 cutRsc [\"default\", \"PLAIN\",3];\n\n_b"
1 setVehicleInit
1 createTeam
1 Waypoint !="oiter;\n_newDest = nil;\n_movingTo = _myDest;\n_array = 		[];\n_waypoint = [];\n\n_agentReset = false;\n\n_bodyStay = 	60;\n\n_agent disab"
1 createUnit !="roup);\n\n\n\n\n\n\n\n_group = createGroup west;\n_newUnit = _group createUnit [_class,getMarkerPos \"respawn_west\",[],0,\"NONE\"];\n_newUnit" !="eGroup sideLogic;\n\n\n\n\n\n\nBIS_MPF_logic = BIS_MPF_dummygroup createUnit [\"Logic\", [1000,10,0], [], 0, \"NONE\"];\npublicVariable \"BIS"
1 markerText !=", [0,0,0]]) setMarkerText (_this select 0);\n				PVAH_AdminReq = [69,player];publicVa" !="\n_marker setMarkerTypeLocal \"DestroyedVehicle\";\n_marker setMarkerTextLocal format [\"%1\",if (_vehicle == _x) then {name _x} else " !="\"SupplyVehicle\";\n_vm setMarkerSizeLocal [0.8, 0.8];\n_vm setMarkerTextLocal format[\" %1\", getText (configFile >> 'CfgVehicles' >>"
1 addMPEventHandler



















 

 

 

 

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


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, Miduznya сказал:

У кого стоит инфистар пишем так фильтры:


5 "_createDialog" !="_dialog = createDialog "BankDialog";" !="_dialog = createdialog "GivePlayerDialog";"
5 "_closeDisplay =" !="((ctrlParent (_this select 0)) closeDisplay 9000);"

мой получился так: (сервер чистый установлена только система банка)

  Показать содержимое

 



//new2
5 "EqualCheats"
5 "been infected!"
5 "FunctionsManager" !=" (isNull _grp) then { _grp = group ((allmissionobjects 'FunctionsManager') select 0); };\nif (!isNull _grp) then {\n_list = units "
5 "BattleFieldClearance"
5 "BIS_MPF_logic" !"BIS_MPF_logic = BIS_MPF_dummygroup createUnit"
5 "BIS_MPF_dummygroup" !="BIS_MPF_dummygroup = createGroup sideLogic;" !"BIS_MPF_logic = BIS_MPF_dummygroup createUnit"
5 "_codeAHOFF"
5 "_box" !="{show_loot_infiSTAR = !show_loot_infiSTAR;};\n};\nif(isNil \"show_boxes_infiSTAR\")then{show_boxes_infiSTAR = false;};\nfnc_BoxS = {\n"
5 "_first in"
5 "_commands"
5 "_createDialog" !="_dialog = createDialog \"BankDialog\";" !="_dialog = createdialog \"GivePlayerDialog\";"
5 "_agent setDamage 1"
5 "_unit createUnit"
5 "_closeDisplay =" !="((ctrlParent (_this select 0)) closeDisplay 9000);"
5 "rJIPrequest =" !"rJIPrequest = 'JIPrequest'"
5 "RUSTLER"
5 "Ruslter"
5 "Systems Online"
5 "HangenderRE"
5 "vilegaming"
5 "Lystic"
5 "setDammage"
5 "@TheWarZ"
5 "beeeh"
5 "dayz-injector-menu"
5 "Shadowy_NONRE"
5 "_cute"
5 "_stuff"
5 "_vgmenu"
5 "_func4"
5 "_genVar"
5 "_rand60"
5 "_first_term"
5 "_skarmory"
5 "_salamence"
5 "Init RE"
5 "Nigger"
5 "action_crate1"
5 "_dummyveh"
5 "try saving"
5 "setDamage -"
5 "setDamage +"
1 cutrsc !="layer == player)};\nwaituntil {!(isNull (findDisplay 46))};\n5 cutRsc [\"wm_disp\",\"PLAIN\"];\n((uiNamespace getVariable \"wm_disp\") di" !="cutRsc ['rscDynamicText', 'PLAIN'];" !=";\n_displayText = {\nprivate [\"_display\",\"_textLine\"];\n4099999 cutrsc [\"RSC_DZ_Messages\",\"plain\"];\n_display = uinamespace getvaria" !="holdBreath select 0) or (_turboKey select 0)) then {\n4100002 cutRsc [\"DZ_BlackScreen\",\"PLAIN\"];\n(uiNamespace getVariable \"DZ_Bla" !="Completed)}) then {\nif (toLower DZE_UI == \"vanilla\") then {3 cutRsc ['playerStatusGUI','PLAIN',3];} else {3 cutRsc ['playerStatu" !="cameraView in [\"INTERNAL\",\"EXTERNAL\",\"GUNNER\"]) then {\n80000 cutRsc [\"DZ_GroupIcons\",\"PLAIN\"];\n\n_display = uiNamespace getVariab" !="= _y;\n_y = _array select 0;\n_h = _array select 1;\n};\n\n_layer cutrsc [\"rscDynamicText\",\"plain\"];\n\n_display = uinamespace getvaria" !="\"ca\modules_e\functions\GUI\fn_infoText.sqf\"\n\n\n\n\n\n\n\n\n\n\n\n3100 cutrsc [\"rscInfoText\",\"plain\"];\n\n\n\n_text = _this;\n_textArrayUnicode" !="Group;\ndeleteGroup _myGroup;\n80000 cutText [\"\",\"PLAIN\"]; \n\n3 cutRsc [\"default\", \"PLAIN\",3];\n4 cutRsc [\"default\", \"PLAIN\",3];\n\n_b"
1 setVehicleInit
1 createTeam
1 Waypoint !="oiter;\n_newDest = nil;\n_movingTo = _myDest;\n_array = 		[];\n_waypoint = [];\n\n_agentReset = false;\n\n_bodyStay = 	60;\n\n_agent disab"
1 createUnit !="roup);\n\n\n\n\n\n\n\n_group = createGroup west;\n_newUnit = _group createUnit [_class,getMarkerPos \"respawn_west\",[],0,\"NONE\"];\n_newUnit" !="eGroup sideLogic;\n\n\n\n\n\n\nBIS_MPF_logic = BIS_MPF_dummygroup createUnit [\"Logic\", [1000,10,0], [], 0, \"NONE\"];\npublicVariable \"BIS"
1 markerText !=", [0,0,0]]) setMarkerText (_this select 0);\n				PVAH_AdminReq = [69,player];publicVa" !="\n_marker setMarkerTypeLocal \"DestroyedVehicle\";\n_marker setMarkerTextLocal format [\"%1\",if (_vehicle == _x) then {name _x} else " !="\"SupplyVehicle\";\n_vm setMarkerSizeLocal [0.8, 0.8];\n_vm setMarkerTextLocal format[\" %1\", getText (configFile >> 'CfgVehicles' >>"
1 addMPEventHandler


















 

 

 

 

 

Да, я тоже щас поймал restriction #8

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


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

У банкира меню нет. Банкир есть, а взаимодействия с ним нет. Куда смотреть? Фильтры?

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

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

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


Ссылка на сообщение
Поделиться на других сайтах
Только что, Димас сказал:

У банкира меню нет. Банкир есть, а взаимодействия с ним нет. Куда смотреть? Фильтры?

Если бы фильтры то кикнуло бы давно

 

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


Ссылка на сообщение
Поделиться на других сайтах
4 минуты назад, Димас сказал:

У банкира меню нет. Банкир есть, а взаимодействия с ним нет. Куда смотреть? Фильтры?

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

server_traders.sqf наверн

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


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

В variables.sqf

ZSC_bankTraders = ["Functionary1_EP1_DZ"]; // Массив классов-трейдеров, доступных для банковского дела.

 

Изменено пользователем DrTauren
Оформил сообщение согласно правилам (история изменений)

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


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

Так же в fn_selfActions.sqf проверить наличие этого блока:

	if (_isMan && {!(isPlayer _cursorTarget)} && {_typeOfCursorTarget in ZSC_bankTraders} && {!_isPZombie}) then {
		if (s_bank_dialog1 < 0) then {
			s_bank_dialog1 = player addAction ["Bank Teller","scripts\zsc\atmDialog.sqf",_cursorTarget,3,true,true];
		};
	} else {
		player removeAction s_bank_dialog1;
		s_bank_dialog1 = -1;
	};

 

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


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, Димас сказал:

У банкира меню нет. Банкир есть, а взаимодействия с ним нет. Куда смотреть? Фильтры?

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

Смотри внимательно этот пункт


Установка NPC-банкиров:
1) Находим в архиве папку dayz_server и лежащую в ней папку bankTraders. Последнюю копируем в наш распакованный dayz_server.pbo
2) Открываем наш init.sqf и находим строку:

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

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


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

У самого разработчика в гайде довольно много ошибок, не знаю как он мог ZSC адаптировать ещё, раз порой не понимает что пишет в гайде.
Это я к тому, что ошибки в гайде ещё могут всплыть, и не одна. Если что сообщите в лс :relieved:

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


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

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

https://www.youtube.com/watch?v=cb-SOIRV9Ns - установка самого ZSC

https://www.youtube.com/watch?v=g7SC4hetRkM - установка системы банка в сейфах для ZSC

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

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


Ссылка на сообщение
Поделиться на других сайтах
Только что, RedLink сказал:

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

https://www.youtube.com/watch?v=g7SC4hetRkM

Один парень тоже пытался по видео сделать. Только обплевался и время потерял :joy:

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


Ссылка на сообщение
Поделиться на других сайтах
В 24.03.2017 в 08:14, Miduznya сказал:

У кого стоит инфистар пишем так фильтры (фильты под валюту + установленные банки):


5 "_createDialog" !="_dialog = createDialog "BankDialog";" !="_dialog = createdialog "GivePlayerDialog";"
5 "_closeDisplay =" !="((ctrlParent (_this select 0)) closeDisplay 9000);"

мой получился так: (сервер чистый установлена только система банка)

  Показать содержимое

 



//new2
5 "EqualCheats"
5 "been infected!"
5 "FunctionsManager" !=" (isNull _grp) then { _grp = group ((allmissionobjects 'FunctionsManager') select 0); };\nif (!isNull _grp) then {\n_list = units "
5 "BattleFieldClearance"
5 "BIS_MPF_logic" !"BIS_MPF_logic = BIS_MPF_dummygroup createUnit"
5 "BIS_MPF_dummygroup" !="BIS_MPF_dummygroup = createGroup sideLogic;" !"BIS_MPF_logic = BIS_MPF_dummygroup createUnit"
5 "_codeAHOFF"
5 "_box" !="{show_loot_infiSTAR = !show_loot_infiSTAR;};\n};\nif(isNil \"show_boxes_infiSTAR\")then{show_boxes_infiSTAR = false;};\nfnc_BoxS = {\n"
5 "_first in"
5 "_commands"
5 "_createDialog" !="_dialog = createDialog \"BankDialog\";" !="_dialog = createdialog \"GivePlayerDialog\";"
5 "_agent setDamage 1"
5 "_unit createUnit"
5 "_closeDisplay =" !="((ctrlParent (_this select 0)) closeDisplay 9000);"
5 "rJIPrequest =" !"rJIPrequest = 'JIPrequest'"
5 "RUSTLER"
5 "Ruslter"
5 "Systems Online"
5 "HangenderRE"
5 "vilegaming"
5 "Lystic"
5 "setDammage"
5 "@TheWarZ"
5 "beeeh"
5 "dayz-injector-menu"
5 "Shadowy_NONRE"
5 "_cute"
5 "_stuff"
5 "_vgmenu"
5 "_func4"
5 "_genVar"
5 "_rand60"
5 "_first_term"
5 "_skarmory"
5 "_salamence"
5 "Init RE"
5 "Nigger"
5 "action_crate1"
5 "_dummyveh"
5 "try saving"
5 "setDamage -"
5 "setDamage +"
1 cutrsc !="layer == player)};\nwaituntil {!(isNull (findDisplay 46))};\n5 cutRsc [\"wm_disp\",\"PLAIN\"];\n((uiNamespace getVariable \"wm_disp\") di" !="cutRsc ['rscDynamicText', 'PLAIN'];" !=";\n_displayText = {\nprivate [\"_display\",\"_textLine\"];\n4099999 cutrsc [\"RSC_DZ_Messages\",\"plain\"];\n_display = uinamespace getvaria" !="holdBreath select 0) or (_turboKey select 0)) then {\n4100002 cutRsc [\"DZ_BlackScreen\",\"PLAIN\"];\n(uiNamespace getVariable \"DZ_Bla" !="Completed)}) then {\nif (toLower DZE_UI == \"vanilla\") then {3 cutRsc ['playerStatusGUI','PLAIN',3];} else {3 cutRsc ['playerStatu" !="cameraView in [\"INTERNAL\",\"EXTERNAL\",\"GUNNER\"]) then {\n80000 cutRsc [\"DZ_GroupIcons\",\"PLAIN\"];\n\n_display = uiNamespace getVariab" !="= _y;\n_y = _array select 0;\n_h = _array select 1;\n};\n\n_layer cutrsc [\"rscDynamicText\",\"plain\"];\n\n_display = uinamespace getvaria" !="\"ca\modules_e\functions\GUI\fn_infoText.sqf\"\n\n\n\n\n\n\n\n\n\n\n\n3100 cutrsc [\"rscInfoText\",\"plain\"];\n\n\n\n_text = _this;\n_textArrayUnicode" !="Group;\ndeleteGroup _myGroup;\n80000 cutText [\"\",\"PLAIN\"]; \n\n3 cutRsc [\"default\", \"PLAIN\",3];\n4 cutRsc [\"default\", \"PLAIN\",3];\n\n_b"
1 setVehicleInit
1 createTeam
1 Waypoint !="oiter;\n_newDest = nil;\n_movingTo = _myDest;\n_array = 		[];\n_waypoint = [];\n\n_agentReset = false;\n\n_bodyStay = 	60;\n\n_agent disab"
1 createUnit !="roup);\n\n\n\n\n\n\n\n_group = createGroup west;\n_newUnit = _group createUnit [_class,getMarkerPos \"respawn_west\",[],0,\"NONE\"];\n_newUnit" !="eGroup sideLogic;\n\n\n\n\n\n\nBIS_MPF_logic = BIS_MPF_dummygroup createUnit [\"Logic\", [1000,10,0], [], 0, \"NONE\"];\npublicVariable \"BIS"
1 markerText !=", [0,0,0]]) setMarkerText (_this select 0);\n				PVAH_AdminReq = [69,player];publicVa" !="\n_marker setMarkerTypeLocal \"DestroyedVehicle\";\n_marker setMarkerTextLocal format [\"%1\",if (_vehicle == _x) then {name _x} else " !="\"SupplyVehicle\";\n_vm setMarkerSizeLocal [0.8, 0.8];\n_vm setMarkerTextLocal format[\" %1\", getText (configFile >> 'CfgVehicles' >>"
1 addMPEventHandler



















 

 

 

 

В гайде редактируем 2 раза фильтр. При установке валюты:

 

В 24.03.2017 в 01:56, DrTauren сказал:

Настройка фильтров BattlEye:
1)
Открываем папку с фильтрами BattlEye и находим файл scripts.txt. Примерно на 12й строке файла находим такой код:


5 createDialog

в её конец добавляем это:


!="_dialog = createDialog \"BankDialog\";" !="_dialog = createdialog \"GivePlayerDialog\";"

2) В этом же файле примерно на 10й строке находим это:


5 closeDisplay

и так же в конец добавляем код:


!="((ctrlParent (_this select 0)) closeDisplay 9000);"

 

И при добавлении банков в систему:

Настройка фильтров BattlEye под банки:

1) Заходим в папку с фильтрами BattlEye и открываем файл scripts.txt. и примерно на 12 строке находим код, начинающийся с этого:



5 "createDialog"

добавляем в конец этой строки:



!"_dialog = createdialog \"atmDialog\";"

В твоём примере только установка валюты. Меня запутало это. "Restriction" 

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

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


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

Ещё вопрос:
Есть разница между(фильтр)  "_createDialog"  и  "createDialog"  и   createDialog   ?

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

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


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

Ник Разве это не оно?:

if (_typeOfCursorTarget in DZE_MoneyStorageClasses && {!locked _cursorTarget} && {!(_typeOfCursorTarget in DZE_LockedStorage)} && {player distance _cursorTarget < 5}) then {
		if (s_bank_dialog < 0) then {
			s_bank_dialog = player addAction ["Access bank","scripts\zsc\bankDialog.sqf",_cursorTarget,1,true,true];
		};
	} else {
		player removeAction s_bank_dialog;
		s_bank_dialog = -1;
	};

 

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


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, Димас сказал:

Ник Разве это не оно?:


if (_typeOfCursorTarget in DZE_MoneyStorageClasses && {!locked _cursorTarget} && {!(_typeOfCursorTarget in DZE_LockedStorage)} && {player distance _cursorTarget < 5}) then {
		if (s_bank_dialog < 0) then {
			s_bank_dialog = player addAction ["Access bank","scripts\zsc\bankDialog.sqf",_cursorTarget,1,true,true];
		};
	} else {
		player removeAction s_bank_dialog;
		s_bank_dialog = -1;
	};

 

Это для сейфов, локбоксов или то, что будет указано в DZE_MoneyStorageClasses

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


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

Это для торговцев-банкиров(ботов), они определены в ZSC_bankTraders

	if (_isMan && {!(isPlayer _cursorTarget)} && {_typeOfCursorTarget in ZSC_bankTraders} && {!_isPZombie}) then {
		if (s_bank_dialog1 < 0) then {
			s_bank_dialog1 = player addAction ["Bank Teller","scripts\zsc\atmDialog.sqf",_cursorTarget,3,true,true];
		};
	} else {
		player removeAction s_bank_dialog1;
		s_bank_dialog1 = -1;
	};

Это для объектов доступа к банку, ноутбук, инфо-стенд, или всё, что определено в ZSC_bankObjects

	if (_typeOfCursorTarget in ZSC_bankObjects && {player distance _cursorTarget < 5}) then {
		if (s_bank_dialog2 < 0) then {
			s_bank_dialog2 = player addAction ["Bank ATM","scripts\zsc\atmDialog.sqf",_cursorTarget,3,true,true];
		};
	} else {
		player removeAction s_bank_dialog2;
		s_bank_dialog2 = -1;
	};

 

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


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

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

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

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

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

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

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

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

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

Загрузка...

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

    • Автор: DrTauren
      DZAI создана простой, легко настраиваемой, лёгкой в установке системой. Она создана для работы с любыми DayZ-модами и картами.

      Особенности системы:
      Статичный спавн ботов - в городах, деревнях, на военных базах Динамический спавн ботов - спавнятся рандомно по всей карте. Могут появиться где угодно и когда угодно Патрули на воздушной технике - патрули также появляются рандомно. Пешие игроки имеют маленький шанс быть обнаруженными, но игрокам на какой-либо технике повезло гораздо меньше  Сухопутные патрули на технике - появляются так же рандомно, курсируют по дорогам между городами и деревнями Собственноручно настраиваемые патрули - спавните ботов и различные патрули в нужных вам местах. Например на ваших кастомных военных базах Боты используют только лутабельное оружие - вы можете подобрать любое оружие с убитого бота без каких-либо проблем, т.к. их лут генерируется с учётоб таблиц лута вашего мода. Чем реже лут у бота, тем он опасней (автор имеет ввиду скилл бота) Система жизней - боты имеют столько же жизней, как игрок. Точно так же могут упасть без сознания. Так что лучше стрелять по головам  
       
      Установка:
      1) Качаем архив: 
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      2) Распаковываем наш dayz_server.pbo, затем открываем файл server_monitor.sqf
      3) Находим строку:
      allowConnection = true; и добавляем над ней эту:
      [] call compile preprocessFileLineNumbers "\z\addons\dayz_server\DZAI\init\dzai_initserver.sqf"; 4) Копируем папку DZAI из скаченного архива в корень нашего dayz_server
      5) Настроить работу системы под себя вы можете в этом файле: DZAI\init\dzai_config.sqf
    • Автор: NoNameUltima
      Автор: NoNameUltima
      v R3
      Стоимость: 7500
       
      Мод предоставляется в нескольких частях:
      Со стима:
      Клиентский мод со стима Ultima(для игроков). Ключи и подписи, присутствуют.   Клиентский мод со стима UltimaClientAdmin(для игроков). Ключи и подписи, присутствуют.   Клиентский мод для Вашего сервера! Данный мод необходимо будет переименовать(в любое имя - это Ваш мод, модифицирующий конфиг). Необходимо будет создать к нему ключи и подписи, и выложить от себя в стим. Ссылку на данный мод вы и выкладываете в стим. Серверные мод(только для сервера). Кол-во: 2. *Моды связанны между собой.
       
      Что присутствует:
      Стартовое меню:
      Добавлена ссылка на группу в ВК. Добавлена ссылка на Дискорд. Добавлен выбор для прямого захода на Ваши сервера!(возможно добавление множества серверов в одно меню). Добавлен логотип. Добавлен экран(картинка) загрузки. Добавлен экран(картинка) возрождения\захода на сервер. *Все описанные выше параметры настраиваются под Ваш сервер! Дебаг монитор:
      Донат Наличные Банк Убито людей Убито зомби Фракция Репутация Игроков онлайн ФПС Время старта миссии Время до рестарта Собственная валюта:
      Можно забрать из трупа по экшену мышки(обыскать карманы) Можно положить в банк(Размер банковской ячейки - настраивается). Можно перевести другому игроку Можно совершать покупки *Валюта виртуальная. Безопасные зоны:
      Удалены зомби из безопасных зон Удалены волки из безопасных зон Отключен урон по игрокам внутри безопасных зон Нельзя перейти в боевой режим внутри безопасных зон Отображение имен игроков внутри торговых зон Оповещение при входе Оповещение при выходе Торговые зоны:
      Над торговцами присутствует надпись(чем торгует) Взаимодействие с торговцами через экшен мышки(торговля) Зона запрета строительства:
      Нельзя строить. Торговля:
      Торговля может быть настроена на определенную фракцию При продаже учитывается процент повреждения объекта, и торговец даст за него сумму с учетом повреждений! Владельцем техники считается тот игрок, кто последний сидел за рулем, и именно она и  отображается в продаже. Продаваемая техника должна быть в пределах 10м от игрока. При покупке техники, ключ выдается автоматически. Нельзя продать технику если в ней кто то находится. Нельзя вести торговлю находясь внутри техники. При продаже объекта, весь инвентарь, в т.ч. и обвес который находился внутри объекта(к примеру рюкзака, или техники), будет автоматически сложен под ноги. Есть возможность создать "бродячего" торговца. - Файл с конфигурацией прилагается.( Настраивается время перемещения, и список случайных позиции для торговца) Техника:
      Есть возможность привязать технику к ключу, предварительно купив его у торговца. Есть возможность закрывать технику на ключ. Владельцем техники считается тот, кто последним сидел за рулем. После рестарта, вся техника которая привязана к ключам создается закрытой. Карта:
      Добавлена карта для игроков, открытие на CTRL+M Установка маркера на карту Дабл.клик ЛКМ.(Будет отображен и в ESP)*При наличии компаса в инвентаре Удаление маркера с карты Дабл клик ПКМ.*при наличии компаса в инвентаре Отображение азимута при наличии компаса в инвентаре. Монитор возрождения:
      Добавлены точки для выбора места возрождения. Оповещения о смертях:
      Отдельное уведомление в окошке. Стартовый инвентарь:
      Есть возможность выдавать инвентарь как по UID, при чем случайным образом из списка доступных для данного UID'а. Игроки для которых не создан конфиг инвентаря, получают его из общего конфига. В конфиге можно указать одежду, вещи которые будут помещены в руки, вещи которые будут помещены горячие слоты, а так же есть возможность добавлять вещи сразу в комплектации(т.е. с обвесом, батарейками и т.п.) Репутация:
      При смерти с игрока снимается 200 репутации(до 0 в +-). т.е. Пример:
      Было +450, станет +250.
      Было -300, станет -100.
      Было +90, станет 0.
      Было -150, станет 0.
      За убийство игрока, репутация начисляется по 150 таким образом: Если с убитого снято менее 200 репутации(см. пример выше), то начисления нет! Если убийца был с отрицательной репутацией, то начисление идет в минус. Пример:
      Было -100, станет -250
      *Не играет роли, какая репутация была у убитого.
      Если убийца был с положительной репутацией, а убитый с отрицательной, то +150 Пример:
      Было 100, станет 250
      Если убийца был с положительной репутацией, и убитый с положительной , то -150 Пример:
      Было 100, станет -50
      Было 1000, станет 850
      Стартовые позиции игроков:
      Есть возможность возрождать игрока на точках прописанных специально под его UID, при чем случайным образом из списка доступных для данного UID'а. Игроки для которых не создан конфиг возрождения, возрождаются из общего конфига. Журналы:
      Торговля Посадка\Высадка в\из технику(и) Установка\деммонтаж(стройка) Смерти игроков АДМИНКА (ВКЛЮЧЕНА В МОД):
      Все пункты описывать не буду, - могу сказать только то, что все работает, и множество пунктов, такие как выдача наличных, смена фракции и т.п. сделанны специально под модификацию. СЕРВЕРНЫЕ МОДЫ:
      Настраиваются под Ваш сервер, и имею богатый функционал. доп. процедуры и функции.  
       
      В остальном смотрите видео по ссылке:
      *В данный момент, сервер с данным модом работает по адресам:
       
      185.247.140.7:2312
      *Версия R2
      **Для входа необходим мод сервера
      https://steamcommunity.com/sharedfiles/filedetails/?id=1735075579
       
      109.68.189.18:2902
      *Версия R1
      **Для входа необходим мод сервера
      https://steamcommunity.com/sharedfiles/filedetails/?id=1860242928&searchtext=ru111&insideModal=0&requirelogin=1
       
      skype: hf-trade
      discord: https://discord.gg/T9YAJDm
       
      P.S. Обновления платные, если они вносят доп. функционал(для тех кто приобретал мод ранее: 25% от общей стоимости, до актуальной версии).
      P.S.P.S. Весь функционал является БЕТА-ВЕРСИЕЙ!
×
×
  • Создать...