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
nikolya200

Скрипт "установка замка на технику" - проблема

Всем привет!

Недавно ко мне попали файлы этого скрипта.

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

 

Далее расскажу  что у меня по нему есть:

 

Скрипт  прописывается в верху fn_selfActions.sqf после этих строк 

 

 

_nearLight =     nearestObject [player,"LitObject"];
_canPickLight = false;
if (!isNull _nearLight) then {
    if (_nearLight distance player < 4) then {
        _canPickLight = isNull (_nearLight getVariable ["owner",objNull]);
    };
};
 
вставляются эти строки 
 

 

if ( (!isNull cursorTarget) && (!_inVehicle) && (!_isPZombie) && (player distance cursorTarget < 4) && (cursorTarget isKindOf "AllVehicles") && (!locked cursorTarget) && (alive cursorTarget) && (_canDo) ) then 
{
    _itemsPlayer = items player;
    _magazinesPlayer = magazines player;
    if ( ("ItemKeyKit" in _itemsPlayer) && ("ItemToolbox" in _itemsPlayer) && ("ItemComboLock" in _magazinesPlayer) ) then
    {
        if (s_player_makeVehKey < 0) then 
        {
            s_player_makeVehKey = player addaction[format["<t color='#ff0000'>%1</t>","Установить замок"],"custom\player_makeVehKey.sqf",cursorTarget,6,false,true,"", ""];
        };
    }
    else
    {
        player removeAction s_player_makeVehKey;
        s_player_makeVehKey = -1;
    };
}
else
{
    player removeAction s_player_makeVehKey;
    s_player_makeVehKey = -1;
};
в папке custom есть такой файл player_makeVehKey.sqf с таким содержимым 
 

 

private ["_vehicle","_keyColor","_keyNumber","_keySelected","_isKeyOK","_config","_isOk","_isConfirm","_isDamaged","_hitpoints"];
_vehicle = _this select 3;
_isConfirm = true;
_isDamaged = false;


_hitpoints = _vehicle call vehicle_getHitpoints;
{
    if ( ([_vehicle,_x] call object_getHit) > 0) then 
    {
        _isDamaged = true;
    };
} forEach _hitpoints;


if (_vehicle getVariable ["CharacterID","0"] != "0") then
{
    _isConfirm = false;
    cutText [format["На %1 уже установлен замок",typeOf _vehicle], "PLAIN DOWN"];
};


if (_isDamaged) then
{
    _isConfirm = false;
    cutText [format["Вы должны отремонтировать %1 перед установкой замка",typeOf _vehicle], "PLAIN DOWN"];
};


if (_isConfirm) then
{
    player removeAction s_player_makeVehKey;
    player playActionNow "Medic";
    sleep 4;


    _keyColor = ["Green","Red","Blue","Yellow","Black"] call BIS_fnc_selectRandom;
    _keyNumber = (floor(random 2500)) + 1;
    _keySelected = format[("ItemKey%1%2"),_keyColor,_keyNumber];
    _isKeyOK = isClass(configFile >> "CfgWeapons" >> _keySelected);
    _config = _keySelected;
    _isOk = [player,_config] call BIS_fnc_invAdd;


    waitUntil {!isNil "_isOk"};


    if (_isOk and _isKeyOK) then
    {
        MakeVehicleKey = [_vehicle, _keySelected, player];
        publicVariableServer  "MakeVehicleKey";
        player removeMagazine "ItemComboLock";
        
        cutText [format["Вы установили замок на %1",typeOf _vehicle], "PLAIN DOWN"];
    } 
    else 
    {
        cutText [format["Вам не удалось установить замок на %1",typeOf _vehicle], "PLAIN DOWN"];
    };
};
Этот скрипт прописывается у меня только в этих двух файлах "fn_selfActions.sqf" и "player_makeVehKey.sqf" больше этот скрипт нигде не прописан.
Edited by Xotabl4 (see edit history)

Share this post


Link to post
Share on other sites

7 answers to this question

Recommended Posts

  • 0

 

Всем привет!

Недавно ко мне попали файлы этого скрипта.

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

 

Далее расскажу  что у меня по нему есть:

 

Скрипт  прописывается в верху fn_selfActions.sqf после этих строк 

 

 

_nearLight =     nearestObject [player,"LitObject"];
_canPickLight = false;
if (!isNull _nearLight) then {
    if (_nearLight distance player < 4) then {
        _canPickLight = isNull (_nearLight getVariable ["owner",objNull]);
    };
};
 
вставляются эти строки 
 

 

if ( (!isNull cursorTarget) && (!_inVehicle) && (!_isPZombie) && (player distance cursorTarget < 4) && (cursorTarget isKindOf "AllVehicles") && (!locked cursorTarget) && (alive cursorTarget) && (_canDo) ) then 
{
    _itemsPlayer = items player;
    _magazinesPlayer = magazines player;
    if ( ("ItemKeyKit" in _itemsPlayer) && ("ItemToolbox" in _itemsPlayer) && ("ItemComboLock" in _magazinesPlayer) ) then
    {
        if (s_player_makeVehKey < 0) then 
        {
            s_player_makeVehKey = player addaction[format["<t color='#ff0000'>%1</t>","Установить замок"],"custom\player_makeVehKey.sqf",cursorTarget,6,false,true,"", ""];
        };
    }
    else
    {
        player removeAction s_player_makeVehKey;
        s_player_makeVehKey = -1;
    };
}
else
{
    player removeAction s_player_makeVehKey;
    s_player_makeVehKey = -1;
};
в папке custom есть такой файл player_makeVehKey.sqf с таким содержимым 
 

 

private ["_vehicle","_keyColor","_keyNumber","_keySelected","_isKeyOK","_config","_isOk","_isConfirm","_isDamaged","_hitpoints"];
_vehicle = _this select 3;
_isConfirm = true;
_isDamaged = false;


_hitpoints = _vehicle call vehicle_getHitpoints;
{
    if ( ([_vehicle,_x] call object_getHit) > 0) then 
    {
        _isDamaged = true;
    };
} forEach _hitpoints;


if (_vehicle getVariable ["CharacterID","0"] != "0") then
{
    _isConfirm = false;
    cutText [format["На %1 уже установлен замок",typeOf _vehicle], "PLAIN DOWN"];
};


if (_isDamaged) then
{
    _isConfirm = false;
    cutText [format["Вы должны отремонтировать %1 перед установкой замка",typeOf _vehicle], "PLAIN DOWN"];
};


if (_isConfirm) then
{
    player removeAction s_player_makeVehKey;
    player playActionNow "Medic";
    sleep 4;


    _keyColor = ["Green","Red","Blue","Yellow","Black"] call BIS_fnc_selectRandom;
    _keyNumber = (floor(random 2500)) + 1;
    _keySelected = format[("ItemKey%1%2"),_keyColor,_keyNumber];
    _isKeyOK = isClass(configFile >> "CfgWeapons" >> _keySelected);
    _config = _keySelected;
    _isOk = [player,_config] call BIS_fnc_invAdd;


    waitUntil {!isNil "_isOk"};


    if (_isOk and _isKeyOK) then
    {
        MakeVehicleKey = [_vehicle, _keySelected, player];
        publicVariableServer  "MakeVehicleKey";
        player removeMagazine "ItemComboLock";
        
        cutText [format["Вы установили замок на %1",typeOf _vehicle], "PLAIN DOWN"];
    } 
    else 
    {
        cutText [format["Вам не удалось установить замок на %1",typeOf _vehicle], "PLAIN DOWN"];
    };
};
Этот скрипт прописывается у меня только в этих двух файлах "fn_selfActions.sqf" и "player_makeVehKey.sqf" больше этот скрипт нигде не прописан.

Предупреждение

п.п. 3.9

Share this post


Link to post
Share on other sites







  • 0

Ты о том что машины производят звук "пиу-пиу" при закрытии? тогда гайд есть на сайте.

Share this post


Link to post
Share on other sites
  • 0

Ты о том что машины производят звук "пиу-пиу" при закрытии? тогда гайд есть на сайте.

прочитай код скрипта и подумай...

Share this post


Link to post
Share on other sites
  • 0

Заменить:

 

MakeVehicleKey = [_vehicle, _keySelected, player];
publicVariableServer  "MakeVehicleKey";

 

На:

 

PVDZE_veh_Upgrade = [_vehicle,[(getDir _vehicle),(getposATL _vehicle)],(typeOf _vehicle),true,_characterID,player];
publicVariableServer "PVDZE_veh_Upgrade";

 

И после: 

 

 _isOk = [player,_config] call BIS_fnc_invAdd;

 

Добавить: 

 

_characterID = str(getNumber(configFile >> "CfgWeapons" >> _keySelected >> "keyid"));
Edited by TheFirstNoob
Пользуйтесь кодом. (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Скрипт великолепен,если б только не одно "но"((( Почему то не совсем верно идет проверка на урон техники.Т.е можно подойти,практически к руинам и сделать ключ,после чего техника отремонтирована и с ключом.Сталкивался кто? Ставить "гвоздь" в прописывание каждого класса не очень хочется.

Edited by OMOH71 (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Есть гайд по установке замка, при чём 100% рабочий с отличной проверкой на ДЮП и повреждения, только при полной починке ТС можно ставить замок. При чём там же в скрипте стоит проверка на наличие рядом игроков (антиДЮП).

Совсем обленились, даже поискать не хотите в гайдах.

 

http://s-platoon.ru/index.php?/topic/4656-ustanovka-zamka-na-transport/

Edited by Evgeniy1983 (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Есть гайд по установке замка, при чём 100% рабочий с отличной проверкой на ДЮП и повреждения, только при полной починке ТС можно ставить замок. При чём там же в скрипте стоит проверка на наличие рядом игроков (антиДЮП).

Совсем обленились, даже поискать не хотите в гайдах.

 

http://s-platoon.ru/index.php?/topic/4656-ustanovka-zamka-na-transport/

Родное сердце,его и ставил....Не идет там проверка на урон( Решил проблему ,повесив проверку на состояние в курсоре в fn_selfActions.sqf 

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

×
×
  • 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.