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
DrTauren

[How to add object to sell] - Добавление вещей торговцам на продажу

Recommended Posts

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

 

 

Нам понадобится:
1) Navicat

 

Инструкция:

1) Заходим в вашу базу данных через Navicat, открываем таблицу traders_data.

2) Добавляем в таблицу новую строку и редактируем её.

3) Редактируемые параметры:

  • Первая колонка - ID вашего товара. Не трогать, т.к. присваивается автоматически.
  • Вторая колонка - Класс товара. Например HandChemRed.
    Число после класса - Количество этого товара, отдаваемое игроку за одну сделку.
  • Третья колонка - Количество анимаций для успешного завершения покупки.
  • Четвёртая колонка - Цена покупки (вы получаете). Число - количество слитков.  За тем идёт класс товара.
  • Пятая колонка - Цена продажи (вы отдаёте). Заполняется по аналогии с четвёртой коолонкой.
  • Шестая колонка - оставляете значение, равное нулю.
  • Седьмая колонка - ID торговца, у которого должен появиться товар. Что бы понять какой ID вам нужен, просто ищите товар из этой же категории (например сметана и молоко = молочные продукты), смотрите ID торговца, у которого он продаётся и ставите нужное знаение в свою новую строку.
  • Восьмая колонка - ID категории товара. Что бы понять какой ID вам нужен, просто ищите товар из этой же категории (например сметана и молоко = молочные продукты), смотрите ID его категории и ставите нужное знаение в свою новую строку.

4) Сохраняем нашу базу данных, перезапускаем сервер, отправляемся к торговцу и чекаем новый товар ^_^

P.S. Я, например, добавлял себе на локалку KA137_PMC

Share this post


Link to post
Share on other sites



Можно картинку для примера заполнения

Share this post


Link to post
Share on other sites

Можно картинку для примера заполнения

У тебя таблци сама есть. Чем не пример? Ищи вещь такой же категории и делай :)

Share this post


Link to post
Share on other sites

 

Можно картинку для примера заполнения

У тебя таблци сама есть. Чем не пример? Ищи вещь такой же категории и делай :)

 

Вчера закинул сейчас буду тестировать

Share this post


Link to post
Share on other sites

подскажите как создать новую строку? чего-то я не смог разобраться(( на что нажимать. заранее спасибо.

в navicat справа внизу в таблице есть:

"+" -добавить строку  

"-" -удалить строку  

"галочка" -добавить(залить в БД с сохранением) - например я золото себе закидывал, я из аватара вышел в лобби, добавил через БД золото и жахнул по галочке, зашол заново за аватара и увидел голду!

 

Share this post


Link to post
Share on other sites

А добавить торговца можно?)

Можно, но это уже другая история.

Share this post


Link to post
Share on other sites

Если можно - в кратце?)

Что то я не могу найти ни в БД ни в файлах - где задаются координаты торговцев для спауна...

Тип трейдера и т.п. - цены... все вроде есть, а координат найти не могу.

И если создавать, то определенного типа? В смысле - у них жОсткие ID в эпоче?

мм....

Уточню -

Можно ли создать торговца как в Клене(продавец авто), задать ему  расположение на карте, но чтоб в ассортименте были только мопеды, НЕ затрагивая при этом ассортимент торговца в Клене?

Share this post


Link to post
Share on other sites

В принципе возможно. Координаты их в mission.sqm

Share this post


Link to post
Share on other sites

После добавления все равно не появляются вещи у торговца. Как быть? В базе есть, а в игре нету. 

Share this post


Link to post
Share on other sites

1. Можно добавить шмотку в текущее меню какого либо торговца. ИД меню можно посмотреть в файле миссии - трайдерс.скф, скопировать его, и добавить запись в таблицу предметов БД.

2. Можно добавить новое меню какому либо торговцу, для этого зайти все в том же файле см.п1 добавить новый ИД нужному торговцу, и так же добавить предмет в БД.

3. Можно нового торговца создать(меню добавлять как в п.1 п.2). Чтобы создать торговца, надо все в тот же файл см.п.1 добавить тип торговца(скин) в переменные раздела привате(вверху), затем создать там же запись, перечислив меню торговца(можно скопировать у другого из того же файла и подправить). Затем надо в файле миссии на СЕРВЕРЕ, добавить запись респауна по аналогии с другими торговцами(в том же файле на сервере можно посмотреть).

Share this post


Link to post
Share on other sites

сделал все как сказано, добавил btr60 id меню указал,  кол-во, цены и т.д. Не отображается в игре.

Share this post


Link to post
Share on other sites

id меню брал с файла server_traders.sqf, карта chernarus, instance 11. Ничерта понять не могу, в базе есть, у трейдера нету. 

Share this post


Link to post
Share on other sites

Ну показывай тогда запись sql полностью - что вбивал в какие поля.

И кусок из server_traders с которого брал id меню.

Share this post


Link to post
Share on other sites
serverTraders = ["RU_Functionary1","RU_Citizen3","Rocker4","Profiteer4","Rita_Ensler_EP1","CIV_EuroMan01_EP1","CIV_EuroMan02_EP1","TK_GUE_Soldier_5_EP1","GUE_Soldier_MG","Worker2","Worker3","Soldier_GL_M16A2_PMC","Woodlander1","UN_CDF_Soldier_Pilot_EP1","RU_WorkWoman1","Dr_Annie_Baker_EP1","RU_Citizen4","RU_WorkWoman5","RU_Citizen1","RU_Villager3","TK_CIV_Takistani04_EP1","Pilot_EP1","RU_Profiteer4","Woodlander3","Dr_Hladik_EP1","Doctor","HouseWife1","GUE_Woodlander2"];
// Hero Vendor
menu_RU_Functionary1 = [
	[["Ammunition",478],["Clothes",476],["Helicopter Armed",493],["Military Armed",562],["Trucks Armed",479],["Weapons",477]],
	[],
	"hero"
];

"id"	"item"	"qty"	"buy"	"sell"	"order"	"tid"	"afile"
"7576"	"[""BTR60_TK_EP1"",2]"	"40"	"[8,""ItemBriefcase100oz"",1]"	"[5,""ItemBriefcase100oz"",1]"	"0"	"562"	"trade_any_vehicle"

 

Share this post


Link to post
Share on other sites

 

id;item;qty;buy;sell;order;tid;afile
7576;["BTR60_TK_EP1",2];40;[8,"ItemBriefcase100oz",1];[5,"ItemBriefcase100oz",1];0;562;trade_any_vehicle
 

Точнее не форум, я просто не правильно с базы скопировал.

Share this post


Link to post
Share on other sites

7576

Вот этот ИД ты сам вставлял или БД автоматом создало его?

Share this post


Link to post
Share on other sites

3-я колонка- это количество товара у торговца.

Share this post


Link to post
Share on other sites

Странно...

БД то одна надеюсь?)) Ото мало ли ты не в ту добавляешь...

А другие товары - не БТР, добавляются?

Share this post


Link to post
Share on other sites

добавлял 6 товаров(до сих пор в базе висят). Не один не добавился... Что за дела? База 1.

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 Restplay
      В этой теме находятся подробные видео по установке и настройке сервера Dayz Epoch 1.0.7.1
      Видео будут дополняться установкой дополнительных скриптов, миссий и т.д.
       
      1. Программы для сервера Dayz Epoch 1.0.7.1: 
       
       
      2. Установка сервера Dayz Epoch 1.0.7.1:
       
       
      3. Открыть порты для сервера Dayz Epoch 1.0.7.1
       
       
    • By 123new
      Вижу крайне много любопытных вопросов по поводу идентификаторов игрока в игре. Что же, разжую для не знающих немного.
       
      В игре есть следующие типы идентификаторов:
      1. Steam64ID идентификатор профиля игрока (на пиратках его UID называют), примерно такой: 765475....65 (17 цифр).
      2. Так называемый мною, BIS ID - uid из окна (консоли) сервера игры и ADM-файлов логов сервера, который пишется самой игрой
      3. Battleye GUID игрока.
       
      Первый идентификатор (Steam64ID) на ПК является прямым идентификатором стим-профиля игрока, уникальным у каждого игрока. Т.е. публичным идентификатором вашего профиля для большинства стим-игр (например, Counter-Strike).
      Второй идентификатор (BIS ID) является определенной хеш-суммой, полученной из Steam64ID посредством конвертации сначала в sha256, а затем в base64. Спасибо за это разъяснение и пример кода-конвертации авторам игры на своем официальном форуме.
      Третий идентификатор (Battleye GUID) является публичным идентификатором Battleye античита, получаемый также из Steam64ID поcредством получения его хеш-суммы MD5. Этот же идентификатор есть в логах сервера от Battleye, в любых RCON-приложениях (DART, BEC и т.п.), также его можно конвертировать самим.
       
      Так вот, как же получить Steam64ID:
      1. Зайти на любой ресурс, предназначенный для сбора таких данных. например на: https://steamid.io/
      2. Ввести ссылку на ваш стим-профиль
      3. Получить результат из кучи данных, одно поле из которых и будет содержать ваш Steam64ID
       
      Как получить BIS ID:
      1. Открыть любой Phyton v2.7 -конвертер в интернете, например: https://onecompiler.com/python2/3ycz55xew
      2. Ввести в него следующий код:
      # Hello World program in Python from hashlib import sha256 from base64 import b64encode def construct_bi_uid(steam_id): hashed = sha256() hashed.update(str(steam_id)) return b64encode(hashed.digest()) print construct_bi_uid(76514925976798981) 3. заменить 76514925976798981 на ваш Steam64ID
      4. Отправить код в исполнение, нажав Execute.
      5. Получить результат
       

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      [Альтернатива] Метод на основе PHP:
      <?php /** * This is how you get user id (bohemia id) like you see in .ADM files from steam id. */ $steam_id = "76514925976798981"; $user_id = base64url_encode(hash('sha256', $steam_id, true)); function base64url_encode($data) { $b64 = base64_encode($data); if ($b64 === false) { return false; } $url = strtr($b64, '+/', '-_'); return $url; } echo $user_id; [Альтернатива] Метод для javascript - node.js:
      var crypto = require('crypto'); var body = "76514925976798981"; var hash = crypto.createHash("sha256"); var hash_result = hash.update(body, 'utf8').digest('base64'); console.log(hash_result);  
      Как получить Battleye GUID:
      1. Открыть любой ресурс с готовой формой конвертирования, например:
      https://armstalker.com/guid/
      https://dayzrussia.com/f/index.php?pages/dayzguid/
      либо написать свою, на основе данных, предложенных на странице Github
      https://gist.github.com/chris579/53053b6d6438df9a9718c23c0d6bbd69
      Оставлю ниже код для Phyton:
      # Thanks to gunlinux import md5 steamid=76514925976798981 temp = "" for i in range(8): temp += chr((steamid & 0xFF)) steamid >>= 8 m = md5.new("BE"+temp) print m.hexdigest() Код для PHP:
      var crypto = require('crypto'); var body = "76514925976798981"; var hash = crypto.createHash("sha256"); var hash_result = hash.update(body, 'utf8').digest('base64'); console.log(hash_result); '2. Вставить в поле ввода UID(Steam64ID) ваш Steam64ID
      3. Нажать кнопку конвертирования или исполнить код, и получить в готовом виде Battleye GUID
       
      Возможно имеются и другие методы и наработки в получении данных идентификаторов более простыми методами, на других языках, либо автоматически. Я описал лишь известные мне.
      Все желающие могут добавить в комментариях свои способы конвертаций, возможно это поможет кому-либо.
    • By Restplay
      Здравствуйте, есть ли у кого-нибудь файлы сектора С для карты Napf? На острове, где находится обсерватория Зюренфельд.
    • By MrMiBl
      Всем привет! С наступающим!  
      Проблема такая: безсознанка очень долгая (от двух минут и больше от рандомной пульки...)
      Собственно вопрос: как её отключить либо сократить время?  
      покопавшись в файлах нашел такую тему: fn_unconscious.sqf
      // (c) facoptere@gmail.com, licensed to DayZMod for the community private ["_count","_anim","_weapon","_sprint","_stance","_transmove","_start","_timeout","_short","_sandLevel","_speed"]; if (r_player_unconsciousInProgress) exitWith {}; r_player_unconsciousInProgress = true; r_player_unconsciousInputDisabled = true; //this is like this in order to release the current user input disableUserInput true; disableUserInput true; disableUserInput false; disableUserInput false; disableUserInput true; disableUserInput true; _start = diag_tickTime; _timeout = abs r_player_timeout; _short = _timeout < 4; if (!_short) then { 4 cutRsc ["playerStatusWaiting", "PLAIN",1]; playSound "heartbeat_1"; }; _count = 0; // can be set to false by medEPI.sqf, during the 'while' loop r_player_unconscious = true; player setVariable ["NORRN_unconscious", r_player_unconscious, true]; _sandLevel = ctrlPosition ((uiNamespace getVariable 'DAYZ_GUI_waiting') displayCtrl 1400); //diag_log [(diag_tickTime - _start) < _timeout , !r_player_unconscious , alive player ]; dayz_autoRun = false; if (player == vehicle player) then { player playAction "CanNotMove"; }; "dynamicBlur" ppEffectEnable true;"dynamicBlur" ppEffectAdjust [2]; "dynamicBlur" ppEffectCommit 0; "colorCorrections" ppEffectEnable true;"colorCorrections" ppEffectEnable true;"colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 0.1], [1, 1, 1, 0.0]];"colorCorrections" ppEffectCommit 0; if (dayz_soundMuted) then {call player_toggleSoundMute;}; // hide icon before fadeSound 0 fadeSound 0.05; while { (diag_tickTime - _start) < _timeout and r_player_unconscious and alive player } do { player setVariable ["unconsciousTime", _timeout - diag_tickTime + _start, (_count % 10) == 0]; if (!_short) then { _sandLevel set [ 3, 0.136829 * safezoneH * (diag_tickTime - _start) / _timeout ]; ((uiNamespace getVariable 'DAYZ_GUI_waiting') displayCtrl 1400) ctrlSetPosition _sandLevel; ((uiNamespace getVariable 'DAYZ_GUI_waiting') displayCtrl 1400) ctrlCommit 0.05; }; /*_veh = vehicle player; if ((player != _veh) and {(_veh iskindOf "LandVehicle")}) then { _speed = [0,0,0] distance velocity _veh; if (_speed > 10) then { _veh engineOn false; } else { player action ["eject", _veh]; player leaveVehicle _veh; [] spawn { uiSleep 0.1; player playMoveNow "amovppnemstpsnonwnondnon"; }; // instant prone }; }; if (player == _veh) then { player setVelocity [0,0,0]; }; */ uiSleep 0.1; _count = _count + 1; }; if (!_short) then{ 4 cutRsc ["default", "PLAIN",0]; }; r_player_unconscious = false; player setVariable ["NORRN_unconscious", r_player_unconscious, true]; r_player_timeout = 0; player setVariable ["unconsciousTime", r_player_timeout, true]; r_player_cardiac = false; player setVariable ["USEC_isCardiac",r_player_cardiac, true]; r_player_unconsciousInProgress = false; 4 cutRsc ["default", "PLAIN",1]; if (player == vehicle player) then { // "AinjPpneMstpSnonWnonDnon" rolls from back first (jarring transition if player was knocked out prone or fell to stomach) [nil, player, rSWITCHMOVE, "AmovPpneMstpSnonWnonDnon_healed"] call RE; player SWITCHMOVE "AmovPpneMstpSnonWnonDnon_healed"; PVDZ_plr_SwitchMove = [player,"AmovPpneMstpSnonWnonDnon_healed"]; publicVariableServer "PVDZ_plr_SwitchMove"; //Needed to execute switchMove on server machine. rSwitchMove only executes on other clients player playMoveNow "AmovPpneMstpSnonWnonDnon_healed"; }; 10 fadeSound 1; "dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit 5; "colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 1], [1, 1, 1, 1]];"colorCorrections" ppEffectCommit 5; if ({getNumber (configFile >> "CfgWeapons" >> _x >> "type") in [1,2]} count (weapons player) > 0) then { //Prevent firing while weapon is still shown on back or holstered. AmovPpneMstpSnonWnonDnon_healed has disableWeapons=0 in config (should be 1) waitUntil {uiSleep 1; !(animationState player in ["ainjppnemstpsnonwnondnon_rolltofront","amovppnemstpsnonwnondnon_healed","amovppnemstpsnonwnondnon"])}; }; //once more to be safe disableUserInput false; disableUserInput false; disableUserInput true; disableUserInput true; disableUserInput false; disableUserInput false; r_player_unconsciousInputDisabled = false; //diag_log [ __FILE__, diag_tickTime, "done" ]; Копать тут или где-то в другом месте?
  • 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.