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
Vitalik

Поиск техники по ключу

Recommended Posts

Описание:

 

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

 

Установка:

 

1.У вас должно быть установлено ПКМ опции у предмета.http://s-platoon.ru/index.php?/topic/1794-pkm-optcii-u-predmeta-maca-rc/

 

2.Открыть Extra_rc.hpp и вписать туда:

 

class ItemMap {        
    class locate {
        text = "Locate Vehicles";
        script = "execVM 'custom\locate_vehicle.sqf'";
    };
};

3.Создать файл locate_vehicle.sqf с таким содержанием:

private ["_inv","_searchString","_ID","_found","_targetColor","_finalID","_targetPosition","_targetVehicle","_count","_key","_keyName"];
_inv = [player] call BIS_fnc_invString;
 
if (!("ItemMap" in _inv)) exitWith { systemChat "You need a map to locate your vehicles!";};
_keyColor = [];
_keyID = [];
_removedID = [];
_count = 0;
 
closedialog 0;
{
for "_i" from 1 to 2500 do {
_searchString = format ["ItemKey%1%2",_x,str(_i)];
if ((_searchString in _inv)) then {
            _count = _count + 1;
_targetColor = _x;
            _keyColor = _keyColor + [_targetColor];
_ID = str(_i);
            _ID = parseNumber _ID;
            if (_targetColor == "Green") then { _finalID = _ID; };
            if (_targetColor == "Red") then { _finalID = _ID + 2500; };
            if (_targetColor == "Blue") then { _finalID = _ID + 5000; };
            if (_targetColor == "Yellow") then { _finalID = _ID + 7500; };
            if (_targetColor == "Black") then { _finalID = _ID + 10000; };
            _keyID = _keyID + [_finalID];
            _removedID = _removedID + [_ID];
};
};
} forEach ["Black","Yellow","Blue","Green","Red"];
 
_i = 0;
for "_i" from 0 to 10 do {deleteMarkerLocal ("vehicleMarker"+ (str _i));};
 
if (_count == 0) exitWith { systemChat "No key found!";};
 
if (_count == 1) then { systemChat format ["Found: %1 vehicle key",_count];}
else {systemChat format ["Found: %1 vehicle keys",_count];};
 
_count = _count - 1;
_i = 0;
for "_i" from 0 to _count do {
    _finalID = _keyID select _i;
    _ID = _removedID select _i;
    _targetColor = _keyColor select _i;
    _key = format["ItemKey%1%2",_targetColor,_ID];
    _keyName = getText (configFile >> "CfgWeapons" >> _key >> "displayName");
    _found = 0;
    {
        private ["_tID"];
        _tID = parseNumber (_x getVariable ["CharacterID","0"]);
        if ((_tID == _finalID)) then {
            _targetPosition = getPosATL _x;
            _targetVehicle = _x;
            _found = 1;
        };
    } forEach vehicles;
 
    if (_found != 0) then {
        _vehicleName = gettext (configFile >> "CfgVehicles" >> (typeof _targetVehicle) >> "displayName");
        _Marker = "vehicleMarker" + (str _i);
        _vehicleMarker = createMarkerLocal [_Marker,[(_targetPosition select 0),(_targetPosition select 1)]];
        _vehicleMarker setMarkerShapeLocal "ICON";
        _vehicleMarker setMarkerTypeLocal "DOT";
        _vehicleMarker setMarkerColorLocal "ColorOrange";
        _vehicleMarker setMarkerSizeLocal [1.0, 1.0];
        _vehicleMarker setMarkerTextLocal format ["Here is your: %1",_vehicleName];
        systemChat format ["%1 belongs to %2 - %3",_keyName,_vehicleName,_finalID];}
    else { systemChat format ["%1 - Vehicle ID: %2 - (This vehicle no longer exists in the database)",_keyName,_finalID];
    };    
};
 
if (_count == 0) then { systemChat format ["Check the map to locate your vehicle!"];}
else {systemChat format ["Check the map to locate your vehicles!"];};

4.Положите созданный файл в папку custom которая находиться в папке с вашей миссией.(если нет такой папки создайте)

Edited by TheFirstNoob (see edit history)

Share this post


Link to post
Share on other sites



3.9 Отсутствие оформления темы там, где необходимо (Спойлеры, коды и т.д.)

Предупреждение выдал. Гайд исправил.

Share this post


Link to post
Share on other sites

Дополню гайд. Ибо автор недоконца посмотрел инструкцию по установке
Если вы используете Infistar то найдите следующие строки в AH.sqf
createMarkerLocal='no';
setMarkerShapeLocal='no';
setMarkerTypeLocal='no';
setMarkerColorLocal='no';
setMarkerSizeLocal='no';
setMarkerTextLocal='no';
и Значение no измените на yes, или удалите данные строки 

Далее ищите строку со значение [vehicle player](их будет 2) и меняем это значение на vehicles. Если не проделать данной фичи скрипт не будет отображать технику на карте, только для админов будет

Edited by cjanton (see edit history)

Share this post


Link to post
Share on other sites

А как радиус поиска уменьшить? чтобы только по базе было?

Share this post


Link to post
Share on other sites

Пишет (This vehicle no longer exists in the database)

Share this post


Link to post
Share on other sites

Эта техника не найдена в БД. что не понятного? :)

 

Я просил перевести мне это?  :smile:

Проблема конкретно в Инфистаре, он не дает скрипту проверить БД на наличие транспорта.

У кого нет ифистара- будет работать 100%

 

У меня заработало только после того как я удалил все setMarker  в AH.sqf и вырубил в конфиге некоторые функции инфистара.

Share this post


Link to post
Share on other sites

Я просил перевести мне это?  :smile:

Проблема конкретно в Инфистаре, он не дает скрипту проверить БД на наличие транспорта.

У кого нет ифистара- будет работать 100%

 

У меня заработало только после того как я удалил все setMarker  в AH.sqf и вырубил в конфиге некоторые функции инфистара.

Это не проблема в инфи. Это значит что техника испарилась, взорвалась, делась куда то. А прежде чем ставить фичу в инфи нужно подкрутить пару вещей. Ибо обычному игроку работать небудет

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

Я еще добавил пкм по GPS, так как карты при наличии GPS выбрасывают.

 

	class ItemMap {        
    class locate {
        text = "Показать транспорт";
        script = "execVM 'custom\locate_vehicle.sqf'";
    };
};

	class ItemGPS {        
    class locate {
        text = "Показать транспорт";
        script = "execVM 'custom\locate_vehicle.sqf'";
    };
}; 

 

 Полезная штука +1

Share this post


Link to post
Share on other sites

Когда id транспорта допустим 444 и на какой нибудь двери тоже пароль 444 то локатор показывает на карте ворота и пароль от них, как это поправить?

Share this post


Link to post
Share on other sites

 

Когда id транспорта допустим 444 и на какой нибудь двери тоже пароль 444 то локатор показывает на карте ворота и пароль от них, как это поправить?

А ты сделай так, чтобы только админ мог найти

Share this post


Link to post
Share on other sites

Дополню гайд. Ибо автор недоконца посмотрел инструкцию по установке

Если вы используете Infistar то найдите следующие строки в AH.sqf

createMarkerLocal='no';

setMarkerShapeLocal='no';

setMarkerTypeLocal='no';

setMarkerColorLocal='no';

setMarkerSizeLocal='no';

setMarkerTextLocal='no';

и Значение no измените на yes, или удалите данные строки 

Далее ищите строку со значение [vehicle player](их будет 2) и меняем это значение на vehicles. Если не проделать данной фичи скрипт не будет отображать технику на карте, только для админов будет

createMarkerLocal='no';

setMarkerShapeLocal='no';

setMarkerTypeLocal='no';

setMarkerColorLocal='no';

setMarkerSizeLocal='no';

setMarkerTextLocal='no';

Привел к текущему виду, изменил [vehicle player], на  [vehicles] (2 раза), все так же у игрока метки на карте не появляются, прошу помощи

Edited by hekut144 (see edit history)

Share this post


Link to post
Share on other sites

createMarkerLocal='no';

setMarkerShapeLocal='no';

setMarkerTypeLocal='no';

setMarkerColorLocal='no';

setMarkerSizeLocal='no';

setMarkerTextLocal='no';

Привел к текущему виду, изменил [vehicle player], на  [vehicles] (2 раза), все так же у игрока метки на карте не появляются, прошу помощи

я тоже не могу сделать чтоб у обычных игроков работало, у них работает только если инфистар выключаешь, а у Администратора хорошо работает

 

и по поводу "Когда id транспорта допустим 444 и на какой нибудь двери тоже пароль 444 то локатор показывает на карте ворота и пароль от них, как это поправить?" тоже вопрос не решён.

Edited by liteart2011@ya.ru (see edit history)

Share this post


Link to post
Share on other sites

Помогите пожалуйста устранить проблему с AH (для игроков)

Share this post


Link to post
Share on other sites

Помогите пожалуйста устранить проблему с AH (для игроков)

а проблема то в чем?

Share this post


Link to post
Share on other sites

1. В AH.sqf замените: 

vehicle = [];

на

vehicle = vehicle;

далее удалите данные строки вместо тех что в гайде указаны:

'createMarkerLocal'
'setMarkerShapeLocal'
'setMarkerTypeLocal'
'setMarkerColorLocal'
'setMarkerSizeLocal'
'setMarkerTextLocal'

к сожаления фикса для дверей нету

Share this post


Link to post
Share on other sites

1. В AH.sqf замените: 

vehicle = [];

на

vehicle = vehicle;

далее удалите данные строки вместо тех что в гайде указаны:

'createMarkerLocal'
'setMarkerShapeLocal'
'setMarkerTypeLocal'
'setMarkerColorLocal'
'setMarkerSizeLocal'
'setMarkerTextLocal'

к сожаления фикса для дверей нету

Удалял строки, не vehicle = []; не vehicle = vehicle; в AH.sqf увы нету, используется версия 3.1 с этого сайта

/* ************************Обновление за 08.03.15*********************************** */
/* **************Автор русификации и улучшений TheFirstNoob************************* */
/* ************************Сделано на базе AH342************************************ */

Share this post


Link to post
Share on other sites

У меня было так:

 

lbsetpicture = 'no'; createDiaryRecord = 'no'; createTask = 'no';
createSimpleTask = 'no'; buttonSetAction = 'no'; processDiaryLink = 'no'; createDiaryLink = 'no';
lbSetData = 'no'; createTeam = 'no'; exec = 'no'; addGroupIcon = 'no';
setGroupIconParams = 'no'; addWeaponCargo = 'no'; addMagazineCargo = 'no'; setVehicleAmmoDef = 'no';
setWeaponReloadingTime = 'no'; addMPEventHandler = 'no'; createVehicleLocal = 'no'; inputAction = 'no';
setWaypointStatements = 'no'; addWaypoint = 'no'; setVehicleInit = 'no'; processInitCommands = 'no';
loadFile = 'no'; rcallVarcode = 'no'; saveStatus = 'no'; loadStatus = 'no';
saveVar = 'no'; drawIcon = 'no'; setMarkerType = 'no';
markerText = 'no'; setMarkerAlpha = 'no'; setMarkerBrush = 'no'; setMarkerColor = 'no';
setMarkerDir = 'no'; setMarkerPos = 'no'; setMarkerShape = 'no'; setMarkerSize = 'no';
createMarker = 'no'; setMarkerDirLocal = 'no'; setMarkerAlphaLocal = 'no'; setMarkerPosLocal = 'no';
setMarkerTextLocal = 'no'; setMarkerTypeLocal = 'no'; setMarkerColorLocal = 'no'; setMarkerBrushLocal = 'no';
setMarkerSizeLocal = 'no'; setMarkerShapeLocal = 'no'; createMarkerLocal = 'no';

 

 

А стало вот так:

 

lbsetpicture = 'no'; createDiaryRecord = 'no'; createTask = 'no';
createSimpleTask = 'no'; buttonSetAction = 'no'; processDiaryLink = 'no'; createDiaryLink = 'no';
lbSetData = 'no'; createTeam = 'no'; exec = 'no'; addGroupIcon = 'no';
setGroupIconParams = 'no'; addWeaponCargo = 'no'; addMagazineCargo = 'no'; setVehicleAmmoDef = 'no';
setWeaponReloadingTime = 'no'; addMPEventHandler = 'no'; createVehicleLocal = 'no'; inputAction = 'no';
setWaypointStatements = 'no'; addWaypoint = 'no'; setVehicleInit = 'no'; processInitCommands = 'no';
loadFile = 'no'; rcallVarcode = 'no'; saveStatus = 'no'; loadStatus = 'no';
saveVar = 'no'; drawIcon = 'no';

 

 

Я удалил все со словом Marker

Теперь все работает.

Edited by PILOT (see edit history)

Share this post


Link to post
Share on other sites

А ты сделай так, чтобы только админ мог найти

 

 

я тоже не могу сделать чтоб у обычных игроков работало, у них работает только если инфистар выключаешь, а у Администратора хорошо работает

 

и по поводу "Когда id транспорта допустим 444 и на какой нибудь двери тоже пароль 444 то локатор показывает на карте ворота и пароль от них, как это поправить?" тоже вопрос не решён.

 

Да ну? Серьёзно? Фикс детский. Зачем игроку знать все эти циферки?

Примерно в 67 и 68 строках найдите:

systemChat format ["%1 belongs to %2 - %3",_keyName,_vehicleName,_finalID];}
    else { systemChat format ["%1 - Vehicle ID: %2 - (Этой техники больше не существует.)",_keyName,_finalID];

и уберите от туда не нужные переменные и обращения к ним.

У меня вот так:

systemChat format ["Ключ %1 принадлежит технике %2",_keyName,_vehicleName];}
    else { systemChat format ["Поиск по ключу %1: Техники больше не существует.)",_keyName];
Edited by Sheolone (see edit history)

Share this post


Link to post
Share on other sites

Привет а подскажите что делать если инфистар старый и строк 

createMarkerLocal='no';

setMarkerShapeLocal='no';
setMarkerTypeLocal='no';
setMarkerColorLocal='no';
setMarkerSizeLocal='no';
setMarkerTextLocal='no';

инфистар пробовал обновить инфистар 342 вылетает ошибка, точка входа в процедуру InitOnceExecuteOnce не найдена в библиотеке Kernel32.dll че только не делал, вернул на старый

Edited by zveruga (see edit history)

Share this post


Link to post
Share on other sites

Народ, подскажите:

Как сделать так чтобы писало координаты техники, а не маркер ставило на карте???

 

Ну не хочу я маркер ставить обычным игрокам...

Share this post


Link to post
Share on other sites

на ру48 так 

покапайся в его файле миссии

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 Troy1
      Всем привет. Подскжите ну или помогите пожалуйста решить вопрос.
      Вопрос звучит так. На сервере есть трейдер зоны и базы игроков. 
      Если в течение определённого времени, на пример 1 - 2 часа с машиной не кто не взаимодействует и машина не находится в зоне трейдера или на теретории базы, то машина отлетает в гараж или на штраф стоянку.
      На сервере используется TraderPlus.
       
      Есть такие решения у кого?
      За ранние благодарю.
    • By Troy1
      Всем привет. Подскжите ну или помогите пожалуйста решить вопрос.
      Вопрос звучит так. Нужно сделать так, что бы на всей карте был запрет на строительство. 
      Если нужно построить например базу с палатками, то нужно установить верстак или флаг, который установит зону для строительства с радиусом примерно 20-25 метров от центра и желательно что бы зона была квадратной.
      Есть такие решения у кого?
      За ранние благодарю.
    • By BR0wi
      Подскажите где найти людей, которые делаю моды на заказ. К кому вообще обращаться? Или что бы реализовать свои идеи нужно самому "год" сидеть и изучать все механики модинга?
    • By CubeIn
      Приветствую господа, хочу создать новый проект, уникальный, но для этого нужен маппер.
      Я оставлю здесь свой дискрод, напишите в лс, кто готов взяться за крупный проект.
      4me#4542
    • By 6agu
      Поставил
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
  • 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.