Sayrex

добавление торговцам Javelin, Stinger, Igla и Strela

Вопрос

Всем привет! Решил впервые добавить торговцам такое оружие как Javelin, Stinger, Igla и Strela.

Добавил так:

class Strela {
                type = "trade_weapons";
		buy[] = {600000,"Coins"};
		sell[] = {120000,"Coins"};
	};

Оружие продаётся и покупается нормально. 

Добавил снаряды для для вышеупомянутых стволов, и начались проблемы..... Добавил так:

	class Strela {
		type = "trade_items";
		buy[] = {110000,"Coins"};
		sell[] = {51000,"Coins"};
	};

При попытке продать снаряд пишет: "could not remove Strela from inventory". А если же у меня весит за спиной сама "труба" Strela, то продаётся она, а не снаряд..... Покупаются они нормально, а вот с продажей беда....

Я так понимаю здесь проблема в одинаковых id, оружия и амуниции к нему. Хочу так же добавить что оружие и снаряды находятся в разных категориях.

Как быть? Как исправить?

Заранее спасибо за помощь!

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

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


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

4 ответа на этот вопрос

Забронировать это рекламное место


ты снаряду дал название игла поход

снаряду я дал название "igla"

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


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

посмотри вверху .hpp строка 

class Category_номер. Этот самый номер у тебя не повторяется?

Или попробуй сделать разные .hpp на трубу и выстрел.

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

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


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

Это ошибка А2ОА - и снаряд - магазин, и само оружие, имеют одинаковый ИД.

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

 

P.S. Как вариант -

Можно попробовать найти конфиг стрелы - магазина, и пушки, и сделать наследников(без изменений - банально добавить 2 класса, - 1 в cfgWeapon, 2 в cfgMagazines -

IGLA_WEAPON

IGLA_AMMO

и именно эти - собственные классы, ставить на покупку\продажу.

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

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


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

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

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

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

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


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

Войти

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


Войти сейчас

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

    • Автор: Sovest2

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

      Подготовка
      Для начала нам понадобится подключить кастомный player_death.sqf в compiles.sqf
      Делается это следующим образом:
      В compiles.sqf заменить строку 
      player_death = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_death.sqf"; на
      player_death = compile preprocessFileLineNumbers "*ВАШ ПУТЬ*\player_death.sqf";  
      Если у вас стоит инфистар,то необходимо заменить строку в AH.sqf
      _death = compile preprocessFileLineNumbers '\z\addons\dayz_code\compile\player_death.sqf'; на
      _death = compile preprocessFileLineNumbers '*ВАШ ПУТЬ*\player_death.sqf';  
      В вашем кастомном player_death.sqf необходимо заменить 
      _array = _this; if (count _array > 0) then { _source = _array select 0; _method = _array select 1; if ((!isNull _source) && (_source != player)) then { _canHitFree = player getVariable ["freeTarget",false]; _isBandit = (player getVariable["humanity",0]) <= -2000; _punishment = _canHitFree || _isBandit; //if u are bandit || start first - player will not recieve humanity drop _humanityHit = 0; if (!_punishment) then { //i'm "not guilty" - kill me && be punished _myKills = ((player getVariable ["humanKills",0]) / 30) * 1000; _humanityHit = -(2000 - _myKills); _kills = _source getVariable ["humanKills",0]; _source setVariable ["humanKills",(_kills + 1),true]; PVDZE_send = [_source,"Humanity",[_source,_humanityHit,300]]; publicVariableServer "PVDZE_send"; } else { //i'm "guilty" - kill me as bandit _killsV = _source getVariable ["banditKills",0]; _source setVariable ["banditKills",(_killsV + 1),true]; }; }; _body setVariable ["deathType",_method,true]; }; на
      _array = _this; if (count _array > 0) then { _source = _array select 0; _method = _array select 1; if ((!isNull _source) && (_source != player)) then { [player,_source]execVM "*ВАШ ПУТЬ*\humanityChange.sqf"; [player,_source]execVM "*ВАШ ПУТЬ*\kill_msg_send.sqf"; }; _body setVariable ["deathType",_method,true]; }; Отображение ника убийцы(Kill message)
       
      Создаем файл и закидываем в миссию файл kill_msg_send.sqf
      С содержанием
      private ["_victim","_killer","_vehicle","_weapon","_pic"]; _victim = _this select 0; _killer = _this select 1; _killerName = name _killer; _victimName = name _victim; _vehicle = typeOf (vehicle _killer); _weapon = currentWeapon _killer; if ((getText (configFile >> "CfgVehicles" >> _vehicle >> "vehicleClass")) in ["CarW","Car","CarD","Armored","Ship","Support","Air","ArmouredW","ArmouredD","SupportWoodland_ACR","AllVehicles"]) then { _pic = gettext(configFile >> 'CfgVehicles' >> _vehicle >> 'picture'); } else { _pic = gettext(configFile >> 'cfgWeapons' >> _weapon >> 'picture'); }; _kill_txt = format ["<t align='left' size='0.5'>%1 </t>",_victimName]; _kill_txt = _kill_txt + format ["<img size='1.0' align='left' image='%1'/>",_pic]; _kill_txt = _kill_txt + format ["<t align='left' size='0.5'> %1 </t>",_killerName]; PVDZE_send = [player,"kill_message",[_kill_txt]]; publicVariableServer "PVDZE_send";  
      Далее,нам необходимо отредактировать файл server_sendToClient.sqf ,которой находится в директории сервера
      И добавить после
      case "tagFriendly": { PVDZE_plr_FriendRQ = _arraytosend; _owner publicVariableClient "PVDZE_plr_FriendRQ"; }; Это
      case "kill_message": { custom_kill_message_show = _arraytosend; publicVariable "custom_kill_message_show"; }; Теперь необходимо создать файл kill_msg_show.sqf в папке с вашей миссией
      с содержимым
      private ["_pos","_i"]; arr_kill = ["","","","","",""]; fnc_kill_message = { private ["_finaltxt"]; _finaltxt = _this select 0; for[{_i = 0},{(_i<6)},{_i = _i +1}] do { if((arr_kill select _i) == "") then { arr_kill set [_i,_finaltxt]; [_i] execVM "*ВАШ ПУТЬ*\kill_msg_delete.sqf"; _i = count(arr_kill); }; }; }; "custom_kill_message_show" addPublicVariableEventHandler {(_this select 1) call fnc_kill_message;}; while {true} do { _pos = 0.01; _layout = 1001; { [_x,[safezoneX + 0.01 * safezoneW,2.0],[safezoneY + _pos * safezoneH,0.3],5,0.5,0,_layout] spawn BIS_fnc_dynamicText; _pos = _pos + 0.021; _layout = _layout + 1; } ForEach arr_kill; sleep 1; }; Создать файл kill_msg_delete.sqf с 
      private["_pos"]; _pos = _this select 0; sleep 10; arr_kill set [_pos,""];  
      И вставить в init.sqf после строки
      _playerMonitor = [] execVM "custom\player_monitor.sqf"; строку
      execVM "*ВАШ ПУТЬ*\kill_msg_show.sqf"; Осталось только добавить
      custom_kill_message_show В первую строку файла publicvariable.txt
       
      Все,отображение ника убийцы готово!
       
       
      Изменение человечности за убийство Бандита\Героя
      создать файл humanityChange.sqf с содержимым
      private ["_victim","_killer","_myKills","_humanity","_killerHumanity","_isKillerBandit","_isBandit","_humanityHit","_kills","_killerGunner"]; _victim = _this select 0; _killer = _this select 1; _humanity = _victim getVariable["humanity",0]; _killerHumanity = _killer getVariable["humanity",0]; _isKillerBandit = (_killerHumanity) < 0 ; _isBandit = (_humanity) < 0; _humanityHit = 0; _myKills = 0; _killerVehicle = vehicle _killer; if(((!_isBandit) && _isKillerBandit) || (_isBandit && (!_isKillerBandit))) then { _myKills = round((_humanity) / 10); }; if(!_isBandit) then { _myKills = (_myKills + 200); _kills = _killer getVariable ["humanKills",0]; _killer setVariable ["humanKills",(_kills + 1),true]; } else { _myKills = (_myKills - 200); _kills = _killer getVariable ["banditKills",0]; _killer setVariable ["banditKills",(_kills + 1),true]; }; _killerGunner = gunner _killerVehicle; if(!isNil"_sourceGunner") then { _killer = _killerGunner; }; _humanityHit = _myKills * (-1); PVDZE_send = [_killer,"Humanity",[_killer,_humanityHit,300]]; publicVariableServer "PVDZE_send"; Изменение Человечности готово!
       
      Плюсы Всего этого:
      Отображение ника убийцы теперь работает всегда и корректно.(Если убивают с техники или с одного выстрела).
    • Автор: misha123
      Здравствуйте хотел добавить крафты на сервер. Но не знаю как это сделать. Кто знает как добавить крафты подскажите пожалуйста скрипт. Хочется разнообразить сервер.
      Спасибо за внимание
    • Автор: etojeflexx
      Доброго времени суток, хотел узнать, как можно подключать дополнительные постройки (допустим построенный город) к основной карте, чтобы не захламлять объектами основной файл миссии? 
    • Автор: Nerve
      Всем добра!
      Подскажите пожалуйста, как добавить кастомных торговцев на Exile?
      Использую редактор m3e_3den от Maca.
      Здания есть а трейдера нет =(

      Добавил вот это в initPlayerLocal
      private _traders = [ ["Exile_Trader_SpecialOperations",[46.6963,1594.77,0.00111437],77.218,"Exile_Trader_SpecialOperations","WhiteHead_21"], ["Exile_Trader_SpecialOperations",[2304.91,15313.6,-0.00616455],133.922,"Exile_Trader_SpecialOperations","WhiteHead_16"], ["Exile_Trader_SpecialOperations",[3957.81,11601.5,-0.000762939],29.1087,"Exile_Trader_SpecialOperations","WhiteHead_15"], ["Exile_Trader_SpecialOperations",[11437.7,11361.8,0.00534058],267.483,"Exile_Trader_SpecialOperations","GreekHead_A3_09"], ["Exile_Trader_SpecialOperations",[6331.58,7702.21,0.00143433],286.613,"Exile_Trader_SpecialOperations","WhiteHead_10"], ["Exile_Trader_Aircraft",[11787.9,12829.8,0.00143433],113.69,"Exile_Trader_Aircraft","GreekHead_A3_09"] ]; { private _trader = [ _x select 0, _x select 4, ["HubStanding_idle1"], _x select 1, _x select 2 ] call ExileClient_object_trader_create; _trader setVariable ["ExileTraderType", _x select 3]; } forEach _traders;  
    • Автор: sacha61rus
      Как добавить спавн техники на сервер? Я меньше месяца арендую на хостинге сервер  понемногу со всем разбираюсь. Сейчас проблема в том что не получается добавить технику. На сервере по умолчанию стоит 60 единиц техники это в таблице а по факту примерно 45 . Как в таблице правильно добавить спавн техники?