Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
ZizionarD

Не сохраняются деньги в бд

Суть проблемы вот в чем, у игроков может не с того ни с сего пропасть деньги в банке и на личке, но после перезагрузки сервера все возвращается в стандартные значения! Т.е. у меня было в банке 16 000 монет, я их снял, купил там технику и т.д., потом сходил на миссию и налутал и еще денежна на личке появилась, но после рестарта сервера в банк опять возвращается 16 000! + еще когда выдаешь игроку через инфистатор то они тоже в бд не сохраняются! В чем может быть проблема? Система банков версии 2.0

Share this post


Link to post
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Была у меня такая хреновина. Так и не понял как устранить. 2.0 весьма баганая штука. Слышал что это с БД связано.

Share this post


Link to post
Share on other sites



  • 0

В бд в sql вставь 

 

CREATE TRIGGER `bankingIssueFix` AFTER INSERT ON `player_data`
 FOR EACH ROW INSERT INTO banking_data
( PlayerUID, PlayerName, BankSaldo,  LastUpdated)
VALUES
(NEW.PlayerUID, NEW.PlayerName, 0, NOW())

Share this post


Link to post
Share on other sites
  • 0

Вот какая ошибка в логе РПТ:

Error in expression <object getVariable[(_variable + "_CHK"),_vNew];
_result = 0;

if (_vNew < _vOld)>
  Error position: <_vNew];
_result = 0;

if (_vNew < _vOld)>
  Error Undefined variable in expression: _vnew
File z\addons\dayz_server\init\server_functions.sqf, line 529


 

В бд в sql вставь 

 

CREATE TRIGGER `bankingIssueFix` AFTER INSERT ON `player_data`
 FOR EACH ROW INSERT INTO banking_data
( PlayerUID, PlayerName, BankSaldo,  LastUpdated)
VALUES
(NEW.PlayerUID, NEW.PlayerName, 0, NOW())

Попробывал вставить, посмотрим что будет!) Спасибо!)

Share this post


Link to post
Share on other sites
  • 0

 

В бд в sql вставь 

 

CREATE TRIGGER `bankingIssueFix` AFTER INSERT ON `player_data`
 FOR EACH ROW INSERT INTO banking_data
( PlayerUID, PlayerName, BankSaldo,  LastUpdated)
VALUES
(NEW.PlayerUID, NEW.PlayerName, 0, NOW())

Не помогло, все равно у всех пропадают деньги(

Share this post


Link to post
Share on other sites
  • 0

Проверь, добавляются ли записи в таблицу banking_data

Share this post


Link to post
Share on other sites
  • 0

Проверь, добавляются ли записи в таблицу banking_data

Нет, не добавляются!

 

Кто может подсказать, как правильно установить 3-ю версию банка?

Share this post


Link to post
Share on other sites
  • 0

Суть проблемы вот в чем, у игроков может не с того ни с сего пропасть деньги в банке и на личке, но после перезагрузки сервера все возвращается в стандартные значения! Т.е. у меня было в банке 16 000 монет, я их снял, купил там технику и т.д., потом сходил на миссию и налутал и еще денежна на личке появилась, но после рестарта сервера в банк опять возвращается 16 000! + еще когда выдаешь игроку через инфистатор то они тоже в бд не сохраняются! В чем может быть проблема? Система банков версии 2.0

Попробуй вот это   https://github.com/EpochSC/SC-2.0-Repack/blob/master/Query.sql

Edited by OMOH71 (see edit history)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Jdinovich
      Добрый вечер,может кто-нибудь встречал такой скрипт что дает игроку определенное количество денег за час онлайна на сервере,у кого есть, кто может поделиться?
    • By TheFirstNoob
      Описание: Дает определенное количество денег за убийство игроков и/или зомби
      Автор: oldmatechoc (Epochmod.com)
      Оригинал: 
      https://epochmod.com/forum/topic/43898-kill-coin-rewards/
      Потребуется:
      ОБЯЗАТЕЛЬНО: Монетная валюта (ZSC!)
      1. сompiles.sqf (из dayz_code\init)
      2. local_eventKill.sqf (из dayz_code\compile) - Если даем зомби
      3. player_death.sqf (из dayz_code\compile) - Если даем игроку
      P.S. Иные файлы где используются выше сказанные. Например: infistar (AH.sqf)

      Установка (За убийство Зомби):
      1. Поменять путь до файла local_eventKill.sqf в сompiles.sqf
      Найти:
      local_eventKill = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_eventKill.sqf"; Заменить (Поменять на свое!):
      local_eventKill = compile preprocessFileLineNumbers "Ваш путь (Например Fixes)\local_eventKill.sqf";
      2. Заменить содержимое файла local_eventKill.sqf на это:
      //[unit, selectionName, damage, source, projectile] //will only run when local to the created object //record any key hits to the required selection private["_killer","_humanity","_coins"]; _array = _this select 0; _zed = _array select 0; _killer = _array select 1; _type = _this select 1; if (local _zed) then { _kills = _killer getVariable[_type,0]; _killer setVariable[_type,(_kills + 1),true]; //increase players humanity when zed killed _humanity = _killer getVariable["humanity",0]; _humanity = _humanity + 5; _killer setVariable["humanity",_humanity,true]; //add coins to player for zed kills _coins = _killer getVariable [Z_moneyVariable,0]; _coins = _coins + 250; // МЕНЯЕМ КОЛИЧЕСТВО ДЕНЕГ НА СВОЕ! _killer setVariable[Z_moneyVariable,_coins,true]; }; Готово!

       
      Установка (За убийство Игроков):
      1. Поменять путь до файла player_death.sqf в сompiles.sqf
      Найти:
      player_death = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_death.sqf"; Заменить (Поменять на свое!):
      player_death = compile preprocessFileLineNumbers "Ваш путь (Например Fixes)\player_death.sqf";
      2. Заменить содержимое файла player_death.sqf на это:
      private ["_killer","_coins","_ammo","_body","_distance","_infected","_playerID","_sourceName","_sourceWeapon","_sourceVehicleType","_isBandit","_punishment","_humanityHit","_myKills","_kills","_killsV","_display","_myGroup","_camera","_deathPos","_animState","_animStateArray","_animCheck","_source","_method","_realSource"]; if (deathHandled) exitWith {}; deathHandled = true; // Get reference to player object before respawn into new unit (respawnDelay=0 in description.ext) if (typeName (_this select 0) == "ARRAY") then { _body = (_this select 0) select 0; _source = (_this select 0) select 1; } else { _body = player; _source = _this select 0; }; _deathPos = getPos _body; _playerID = getPlayerUID player; //Switch view to camera so player does not see debug plains at respawn_west _camera = "camera" camCreate _deathPos; _camera camSetDir 0; _camera camSetFOV 1; _camera cameraEffect ["Internal","TOP"]; _camera camSetTarget _deathPos; _camera camSetPos [_deathPos select 0, (_deathPos select 1) + 2, 5]; _camera camCommit 0; //SetDamage immediately so Arma registers the player as dead and respawns them into new unit player setDamage 1; if (dayz_onBack != "") then { _body addWeapon dayz_onBack; }; //Get killer information immediately. Weapon, distance or vehicle can change in seconds. _infected = if (r_player_infected && DZE_PlayerZed) then {1} else {0}; _sourceName = "unknown"; _sourceWeapon = ""; _distance = 0; _method = switch true do { case (_this select 1 != "find"): {_this select 1}; //Manually passed method case (dayz_lastDamageSource != "none" && diag_tickTime - dayz_lastDamageTime < 30): {dayz_lastDamageSource}; //Major event takes priority for cause of death (zombie, melee, shot, fell, etc.) case (dayz_lastMedicalSource != "none" && diag_tickTime - dayz_lastMedicalTime < 10): {dayz_lastMedicalSource}; //Starve, Dehyd, Sick default {"bled"}; //No other damage sources in last 30 seconds }; _ammo = if (count _this > 2) then {_this select 2} else {""}; if (!isNull _source) then { if (!isNull _body) then { _distance = round (_body distance _source); }; _sourceVehicleType = typeOf (vehicle _source); _sourceWeapon = currentWeapon _source; _sourceWeapon = switch true do { case (_ammo in ["PipeBomb","Mine","MineE"]): {_ammo}; case ({_sourceVehicleType isKindOf _x} count ["LandVehicle","Air","Ship"] > 0): {_sourceVehicleType}; case (_sourceWeapon == "Throw"): {(weaponState _source) select 3}; default {_sourceWeapon}; }; if (alive _source) then { _sourceName = if (isPlayer _source) then {name _source} else {"AI"}; } else { if (_source == _body) then {_sourceName = dayz_playerName;}; }; }; //Send Death Notice diag_log format["Player_Death: Body:%1 BodyName:%2 Infected:%3 SourceName:%4 SourceWeapon:%5 Distance:%6 Method:%7",_body,dayz_playerName,_infected,_sourceName,_sourceWeapon,_distance,_method]; PVDZ_plr_Death = [dayz_characterID,0,_body,_playerID,toArray dayz_playerName,_infected,toArray _sourceName,toArray _sourceWeapon,_distance,_method]; //Send name as array to avoid publicVariable value restrictions publicVariableServer "PVDZ_plr_Death"; _body setVariable ["deathType", if (_method == "suicide") then {"shot"} else {_method}, true]; if (!local _source && isPlayer _source && !(_body isKindOf "PZombie_VB")) then { //If corpse is a player zombie do not give killer a human or bandit kill //Values like humanity which were setVariabled onto player before death remain on corpse. _isBandit = (_body getVariable["humanity",0]) <= -2000; //_isBandit = (typeOf _body in ["Bandit1_DZ","BanditW1_DZ"]); //if you are a bandit or start first - player will not recieve humanity drop _punishment = (_isBandit or {_body getVariable ["OpenTarget",false]}); _humanityHit = 0; _realSource = effectiveCommander vehicle _source; if (!_punishment) then { //I'm "not guilty" - kill me and be punished _myKills = (_body getVariable ["humanKills",0]) * 33.3; // how many non bandit players have I (the dead player) killed? // punish my killer 2000 for shooting a surivor // but subtract 500 for each survivor I've murdered _humanityHit = -(2000 - _myKills); _kills = _realSource getVariable ["humanKills",0]; _realSource setVariable ["humanKills",(_kills + 1),true]; PVDZ_send = [_realSource,"Humanity",[_humanityHit,300]]; publicVariableServer "PVDZ_send"; } else { // im guilty kill me as bandit _killsV = _realSource getVariable ["banditKills",0]; _realSource setVariable ["banditKills",(_killsV + 1),true]; }; //Player kill rewards _killer = _realSource; _coins = _killer getVariable [Z_moneyVariable,0]; _coins = _coins + 250; // МЕНЯЕМ КОЛИЧЕСТВО ДЕНЕГ НА СВОЕ! _killer setVariable[Z_moneyVariable,_coins,true]; PVDZ_send = [_killer,Z_moneyVariable,[_coins,250]]; publicVariableServer "PVDZ_send"; //Setup for study bodys. _body setVariable ["KillingBlow",[_realSource,_punishment],true]; }; disableSerialization; //Prevent client freezes _display = findDisplay 49; if (!isNull _display) then {_display closeDisplay 0;}; if (dialog) then {closeDialog 0;}; if (visibleMap) then {openMap false;}; disableUserInput true; [_body,20,true,_deathPos] call player_alertZombies; if (dayz_soundMuted) then {call player_toggleSoundMute;}; // hide icon before fadeSound 0.1 fadeSound 0; _body setVariable ["NORRN_unconscious", false, true]; _body setVariable ["unconsciousTime", 0, true]; _body setVariable ["USEC_isCardiac",false,true]; _body setVariable ["medForceUpdate",true,true]; _body setVariable ["bloodTaken", false, true]; _body setVariable ["startcombattimer", 0]; //remove combat timer on death _body setVariable ["inCombat", false, true]; r_player_unconscious = false; r_player_cardiac = false; dayz_autoRun = false; terminate dayz_musicH; terminate dayz_slowCheck; terminate dayz_monitor1; //Reset (just in case) //deleteVehicle dayz_playerTrigger; //disableUserInput false; r_player_dead = true; //Player is dead! 3 fadeSound 0; dayz_originalPlayer enableSimulation true; addSwitchableUnit dayz_originalPlayer; setPlayable dayz_originalPlayer; selectPlayer dayz_originalPlayer; _myGroup = group _body; [_body] joinSilent dayz_firstGroup; deleteGroup _myGroup; 80000 cutText ["","PLAIN"]; //Clear group tags 3 cutRsc ["default", "PLAIN",3]; 4 cutRsc ["default", "PLAIN",3]; _body setVariable["combattimeout", 0, true]; _animState = toLower (animationState _body); _animStateArray = toArray _animState; _animCheck = toString ([(_animStateArray select 0),(_animStateArray select 1),(_animStateArray select 2),(_animStateArray select 3)]); if ((_body == (vehicle _body)) && {_animState != "deadstate" && {_animCheck != "adth"}}) then { //fix running corpses - death anims begin with Adth [nil, _body, rSWITCHMOVE, ""] call RE; _body SWITCHMOVE ""; PVDZ_plr_SwitchMove = [_body,""]; publicVariableServer "PVDZ_plr_SwitchMove"; }; [_body,_camera,_deathPos] spawn { _body = _this select 0; _camera = _this select 1; _deathPos = _this select 2; waitUntil {camCommitted _camera}; _camera camSetPos [_deathPos select 0, (_deathPos select 1) + 2, 15]; _camera camCommit 4; uiSleep 5; 1 cutRsc [if (DZE_DeathScreen) then {"DeathScreen_DZE"} else {"DeathScreen_DZ"},"BLACK OUT",3]; playMusic "dayz_track_death_1"; uiSleep 2; for "_x" from 5 to 1 step -1 do { titleText [format[localize "str_return_lobby", _x], "PLAIN DOWN", 1]; uiSleep 1; }; PVDZ_Server_Simulation = [_body, false]; publicVariableServer "PVDZ_Server_Simulation"; _camera cameraEffect ["Terminate","BACK"]; camDestroy _camera; endMission "END1"; }; Готово!

      ВАЖНО!
      Не забываем менять пути до файлов в других скриптах. Например InfiSTAR (AH.sqf)

      Данный гайд подойдет и для Epoch 1051 если сделать о-о-очень маленькие корректировки.
      Просто смотрите на переменную, отвечающую за деньги Z_MoneyVariable и в каком месте надо прописывать.
    • By AMER
      1)Андрей Васильев
      2)BigCrazyCat
      3)https://vk.com/id205136817
      4)Нет информации
      Итак предыстория: Началось все в ноябре 2015года. Изначально искал кто сделает сервер под тавиану. Договорились что будет все потом доделано, Окей, купил ЭКСКЛЮЗИВНУЮ ПРОТЕСТИРОВАННУЮ =2000,сначала была временно Чернорусь, стали периодически проявляться проблемы со скриптами. Через какое то время попросил либо давайте вернемся к теме доделанной тавианы, либо рабочего NAPFa. Был выдан и установлен NAPF. Опять же ПРОТЕСТИРОВАННЫЙ с кучей ошибок. Просил помочь, помощь оказывалась, иногда отправляли читать форум чтобы найти лечение всплывшей проблемы. Задавал албанские вопросы и много ибо опыта у меня было крайне мало. Потом умер хост и летом уже 2016 снова запросил сборку и обговорили доработки. Установка на хост уже стала платной, хотя в теме установка бесплатно( и не написано какое количество раз), Окей за доработки с установкой доплачено еще 850р.
      И снова куча албанских вопросов о том как лечить сборку, что как настраивать и подключать. Иногда оказывалось что у других работает,а у меня почему то нет.
      В общем то все было не плохо, но лечить от проблем сборку которою якобы протестировали было забавно, конструктор =)
      И вот устав бороться с проблемами, 24 января спросил про обновления.
      Обновления есть и скинули. Задал вопросы по скриптам интересующим скриптам,модам,а они есть только в расширенной сборке. Окей для сервера не жалко 600рублей, по ошибке кинул 700, ну не страшно.
      И вот после оплаты все позитивное общение сошло на нет:
      Попросил установить на хост обновленную сборку( дабы не было разговоров, что что-то не работает ибо у меня руки кривые) получил отказ. Что как подключать из дополнительного был вежливо отправлен на форум.
      Как оказалось позже услуга установки на хост бесплатна, только один раз. - Попросил указать на данную информацию в теме продаж сборок.
      Поспорил с наполнением сборки (обновленная сборка включала в себя не такие уж и значительные изменения которые на тот момент я даже посмотреть не мог).
      Стал задавать вопросы почему же эксклюзивная сборка (самая дорогая) и обновление платное? За что я заплатил? Почему указано обновления бесплатны? Был спор по этому поводу, даже сравнение ПО с телевизором, который устарел а покупатель хочет его обменять на новый
      Попросил указать что конкретно работает, а что написано в посте только для рекламы.
      Продолжился спор. Вышли к решению что я снова доплачу и тогда получу установленную сборку на сервер и будут подключены нужные моды.
      Апогей:
      Итого что нужно было сделать: Установка сборки с переносом БД, администрации и настроек. Заменой меток чужого проекта на наш. установка аддона на кровососа и пояснение по настройке сего чуда. пояснения по настройке особенностей сборки.

      получил такой ответ:
      1. Установка - бесплатно.
      2.Перенос построек - 200
      3. Замена меток - 150
      4.Кровосос + пояснение 350
      5. Тут нужна конкретика ( За консультации по настройке наполнения сборки?!!!!)

      Указал, что 5 пункт понадобится после установки и как полазаю по сборке.
      Ответ реально удивил - цена 800 выполняю 4 пункта и больше не поддерживаю ваш сервер.
      А вот тут то как говорится у меня и припекло. Ну предположим я заплачу, а все кривости я буду ловить и потом делать что угодно с ними? Насколько сборка протестирована и баги пофикшены я убедился еще в прошлых версиях.
      Пункт 2 обновления. Остаться без обнов дело грустное это факт.
      Пытался пойти на контакт и объяснить что без тех поддержки и обнов, я получаю лего без инструкции.
      Все сводилось к вопросу согласен ли я на его условия -что ставится сборка и я никаких претензий не имею и вопросов не задаю.
      Стали ставить сборку (хотя говорилось эта сборка только под лицензию) -поставили, перенесли БД. спасибо добрым людям.
      Вроде потом договорились о сотрудничестве. Но оказался заклин у продавца вышел потом.

      Вот установили и беда. 1) Не работают сейфы 2) Проблемы с плотом. Скинул логи.
      На что мне дается веселый ответ. Я же с вами не сотрудничаю. Поскольку у вас пиратка P4L у вас работать не будет. И расширенная сборка нормально будет работать на лицензии.
      Вот вам экслюзивная сборка. Я с вами больше не сотрудничаю. И добавил в ЧС.

      Ну вот что делать с данным продаваном? Заявлено одно, а на деле какая то IKEA без инструкции и кучей багов.
      Всем желающим могу скинуть историю переписки с продавцом в вк. И уже решите я неадекват или продавец какой то мутный.
      Ссылочка на мою страницу ВК: https://vk.com/amercom
    • By basba66
      Что нужно прописать , что бы мина не исчезала после своего взрыва а опять становилась на взвод. Как бы пожизненная.
    • By pekar0201
      Как сделать, дабы не спавнилось несколько одинаковых WAI миссий???
  • Our picks

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.