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
Sign in to follow this  
Serdjo

Стартлут игрокам в exil mod

Здраствуйте. Запустил сервер exil mod, на днях, у всех игроков был стартовый лут пм и магазин к нему. По образцу кода на пистолет, я вписал вместо него акм и магазин к нему. После хотел прописать рюкзак, разгрузку, но так как в сборке небыло образца именно на рюкзак, скотч и бинт, попытался взять образец кода от скина игрока, точнее от одежды, естественно дописав вместо одежды, название рюкзака с виртуального арсенала. Код не сработал. И вот хотел бы у вас спросить, есть ли у кого образец для рюкзака, и других вещей, наприпер скотча, шприцадоктора, начало кода у всех в статлуте было playerbambee. Пожалуйста скиньте образец если вам не трудно

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0
2 часа назад, Serdjo сказал:

Здраствуйте. Запустил сервер exil mod, на днях, у всех игроков был стартовый лут пм и магазин к нему. По образцу кода на пистолет, я вписал вместо него акм и магазин к нему. После хотел прописать рюкзак, разгрузку, но так как в сборке небыло образца именно на рюкзак, скотч и бинт, попытался взять образец кода от скина игрока, точнее от одежды, естественно дописав вместо одежды, название рюкзака с виртуального арсенала. Код не сработал. И вот хотел бы у вас спросить, есть ли у кого образец для рюкзака, и других вещей, наприпер скотча, шприцадоктора, начало кода у всех в статлуте было playerbambee. Пожалуйста скиньте образец если вам не трудно

В северной часте @ExileServer\addons\exile_server\code найди файл ExileServer_object_player_createBambi.sqf и настравай строки от 87 до 102 или на свое усмотрения .

Скрытый текст

/**
 * ExileServer_object_player_createBambi
 *
 * Exile Mod
 * www.exilemod.com
 * © 2015 Exile Mod Team
 *
 * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
 * To view a copy of this license, visit
http://creativecommons.org/licenses/by-nc-nd/4.0/.
 */
 
private["_sessionID", "_requestingPlayer", "_spawnLocationMarkerName", "_bambiPlayer", "_accountData", "_direction", "_position", "_spawnAreaPosition", "_spawnAreaRadius", "_clanID", "_clanData", "_clanGroup", "_player", "_devFriendlyMode", "_devs", "_parachuteNetID", "_spawnType", "_parachuteObject"];
_sessionID = _this select 0;
_requestingPlayer = _this select 1;
_spawnLocationMarkerName = _this select 2;
_bambiPlayer = _this select 3;
_accountData = _this select 4;
_direction = random 360;
if ((count ExileSpawnZoneMarkerPositions) isEqualTo 0) then
{
    _position = call ExileClient_util_world_findCoastPosition;
    if ((toLower worldName) isEqualTo "namalsk") then
    {
        while {(_position distance2D [76.4239, 107.141, 0]) < 100} do
        {
            _position = call ExileClient_util_world_findCoastPosition;
        };
    };
}
else
{
    _spawnAreaPosition = getMarkerPos _spawnLocationMarkerName;
    _spawnAreaRadius = getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "spawnZoneRadius");
    _position = [_spawnAreaPosition, _spawnAreaRadius] call ExileClient_util_math_getRandomPositionInCircle;
    while {surfaceIsWater _position} do
    {
        _position = [_spawnAreaPosition, _spawnAreaRadius] call ExileClient_util_math_getRandomPositionInCircle;
    };
};
_name = name _requestingPlayer;
_clanID = (_accountData select 3);
if !((typeName _clanID) isEqualTo "SCALAR") then
{
    _clanID = -1;
    _clanData = [];
}
else
{
    _clanData = missionNamespace getVariable [format ["ExileServer_clan_%1",_clanID],[]];
    if(isNull (_clanData select 5))then
    {
        _clanGroup = createGroup independent;
        _clanData set [5,_clanGroup];
        _clanGroup setGroupIdGlobal [_clanData select 0];
        missionNameSpace setVariable [format ["ExileServer_clan_%1",_clanID],_clanData];
    }
    else
    {
        _clanGroup = (_clanData select 5);
    };
    [_player] joinSilent _clanGroup;
};
_bambiPlayer setPosATL [_position select 0,_position select 1,0];
_bambiPlayer disableAI "FSM";
_bambiPlayer disableAI "MOVE";
_bambiPlayer disableAI "AUTOTARGET";
_bambiPlayer disableAI "TARGET";
_bambiPlayer disableAI "CHECKVISIBLE";
_bambiPlayer setDir _direction;
_bambiPlayer setName _name;
_bambiPlayer setVariable ["ExileMoney", 0, true];
_bambiPlayer setVariable ["ExileScore", (_accountData select 0)];
_bambiPlayer setVariable ["ExileKills", (_accountData select 1)];
_bambiPlayer setVariable ["ExileDeaths", (_accountData select 2)];
_bambiPlayer setVariable ["ExileClanID", _clanID];
_bambiPlayer setVariable ["ExileClanData", _clanData];
_bambiPlayer setVariable ["ExileHunger", 100];
_bambiPlayer setVariable ["ExileThirst", 100];
_bambiPlayer setVariable ["ExileTemperature", 37];
_bambiPlayer setVariable ["ExileWetness", 0];
_bambiPlayer setVariable ["ExileAlcohol", 0];
_bambiPlayer setVariable ["ExileName", _name];
_bambiPlayer setVariable ["ExileOwnerUID", getPlayerUID _requestingPlayer];
_bambiPlayer setVariable ["ExileIsBambi", true];
_bambiPlayer setVariable ["ExileXM8IsOnline", false, true];
_bambiPlayer setVariable ["ExileLocker", (_accountData select 4), true];
_bambiPlayer forceAddUniform "U_I_G_resistanceLeader_F"; - Униформа
_bambiPlayer addVest "V_BandollierB_rgr"; - Бронежилет
_bambiPlayer addBackpack "B_FieldPack_khk"; - Рюкзак
_bambiPlayer addHeadgear "Exile_Cap_Exile"; - Головной убор
_bambiPlayer addWeapon "Exile_Weapon_Makarov"; - Оружье (можно прописать пистолет, автомат и т.д)
_bambiPlayer addItemToBackpack "Exile_Magazine_8Rnd_9x18"; - Патроны
_bambiPlayer addItemToBackpack "Exile_Magazine_8Rnd_9x18";
_bambiPlayer addItemToBackpack "Exile_Magazine_8Rnd_9x18";
_bambiPlayer addItemToBackpack "Exile_Magazine_8Rnd_9x18";
_bambiPlayer addItemToBackpack "Exile_Item_DuctTape"; - Изолента
_bambiPlayer addItemToBackpack "Exile_Item_EMRE"; - Еда
_bambiPlayer addItemToBackpack "Exile_Item_EMRE";
_bambiPlayer addItemToBackpack "Exile_Item_EnergyDrink"; - Напитки
_bambiPlayer addItemToBackpack "Exile_Item_EnergyDrink";
_bambiPlayer addItemToBackpack "Exile_Item_InstaDoc"; - Первая помощь
_bambiPlayer addItemToBackpack "NVGoggles_OPFOR"; - ПНВ
_devFriendlyMode = getNumber (configFile >> "CfgSettings" >> "ServerSettings" >> "devFriendyMode");
if (_devFriendlyMode isEqualTo 1) then
{
    _devs = getArray (configFile >> "CfgSettings" >> "ServerSettings" >> "devs");
    {
        if ((getPlayerUID _requestingPlayer) isEqualTo (_x select 0))exitWith
        {
            if ((name _requestingPlayer) isEqualTo (_x select 1))then
            {
                _bambiPlayer setVariable ["ExileMoney", 500000, true];
                _bambiPlayer setVariable ["ExileScore", 100000];
            };
        };
    }
    forEach _devs;
};
_parachuteNetID = "";
if ((getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "parachuteSpawning")) isEqualTo 1) then
{
    _position set [2, getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "parachuteDropHeight")];
    if ((getNumber(configFile >> "CfgSettings" >> "BambiSettings" >> "haloJump")) isEqualTo 1) then
    {
        _bambiPlayer addBackpackGlobal "B_Parachute";
        _bambiPlayer setPosATL _position;
        _spawnType = 2;
    }
    else
    {
        _parachuteObject = createVehicle ["Steerable_Parachute_F", _position, [], 0, "CAN_COLLIDE"];
        _parachuteObject setDir _direction;
        _parachuteObject setPosATL _position;
        _parachuteObject enableSimulationGlobal true;
        _parachuteNetID = netId _parachuteObject;
        _spawnType = 1;
    };
}
else
{
    _spawnType = 0;
};
_bambiPlayer addMPEventHandler ["MPKilled", {_this call ExileServer_object_player_event_onMpKilled}];
_bambiPlayer call ExileServer_object_player_database_insert;
_bambiPlayer call ExileServer_object_player_database_update;
[
    _sessionID,
    "createPlayerResponse",
    [
        _bambiPlayer,
        _parachuteNetID,
        str (_accountData select 0),
        (_accountData select 1),
        (_accountData select 2),
        100,
        100,
        0,
        (getNumber (configFile >> "CfgSettings" >> "BambiSettings" >> "protectionDuration")) * 60,
        _clanData,
        _spawnType
    ]
]
call ExileServer_system_network_send_to;
[_sessionID, _bambiPlayer] call ExileServer_system_session_update;
true

https://pastebin.com/Kk4Evdnb

Edited by irkutsk38 (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
Sign in to follow this  

  • Similar Content

    • By -Reks-
      Продам сервер по DayZ/ Есть 
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • By SemKa1407
      Будьте добры, помогите пожалуйста.
      Проблема в том, что не приходят сообщения в нужное время. Скорее всего неправильная логика.
      class FakeChatNotifier { ref Timer m_Timer; ref Timer m_MessageTimer; bool m_IsActive; // Списки диалогов ref array<ref array<string>> m_WelcomeDialogs; ref array<ref array<string>> m_RegularDialogs; ref array<ref array<string>> m_ThreatDialogs; void FakeChatNotifier() { m_Timer = new Timer(); m_MessageTimer = new Timer(); m_IsActive = false; // Инициализация диалогов InitializeDialogs(); Print("[FakeChatNotifier] Initialized"); // Лог для проверки инициализации } void InitializeDialogs() { // Приветственные диалоги m_WelcomeDialogs = new array<ref array<string>>; m_WelcomeDialogs.Insert({"Hello!", "How are you?"}); m_WelcomeDialogs.Insert({"Anyone alive?", "Yes, I am here. What's new?"}); m_WelcomeDialogs.Insert({"What's the situation?", "It seems quiet, but stay sharp."}); // Обычные диалоги m_RegularDialogs = new array<ref array<string>>; m_RegularDialogs.Insert({"Check radio frequency 98.7", "Got it, I'll stay alert."}); m_RegularDialogs.Insert({"Never trust strangers", "Right, it's every man for himself here."}); m_RegularDialogs.Insert({"I saw someone near the old factory", "Thanks for the info, I'll check it out."}); // Угрозы m_ThreatDialogs = new array<ref array<string>>; m_ThreatDialogs.Insert({"We will find you...", "Try, but I won't give up."}); m_ThreatDialogs.Insert({"You won't escape", "I'm ready for this."}); m_ThreatDialogs.Insert({"Your loot will be ours", "You wish."}); } void Start() { if (!m_IsActive) { m_IsActive = true; m_Timer.Run(60, this, "CheckTime", NULL, true); // Запуск таймера на проверку каждые 60 секунд Print("[FakeChatNotifier] Started main timer"); // Лог для проверки запуска } } void Stop() { m_IsActive = false; m_Timer.Stop(); m_MessageTimer.Stop(); Print("[FakeChatNotifier] Stopped timers"); // Лог для проверки остановки } // Функция для получения текущего времени void GetCurrentHour(out int hour) { int year, month, day, minute; GetGame().GetWorld().GetDate(year, month, day, hour, minute); // Получаем текущий час из даты Print("[FakeChatNotifier] Current hour: " + hour); // Лог для проверки текущего времени } void CheckTime() { int hour; GetCurrentHour(hour); // Используем нашу функцию для получения текущего часа if (hour >= 22 || hour < 6) { if (!m_IsActive) { Print("[FakeChatNotifier] Night time detected, starting dialog cycle"); // Лог для ночного времени StartDialogCycle(hour); } } else { Print("[FakeChatNotifier] Day time, stopping dialogs"); // Лог для дневного времени Stop(); } } void StartDialogCycle(int hour) { if (!m_IsActive) return; array<string> dialog; if (hour >= 22 && hour < 23) { dialog = m_WelcomeDialogs.GetRandomElement(); // Приветственные диалоги Print("[FakeChatNotifier] Sending welcome dialog"); // Лог для приветственных диалогов } else if (hour >= 23 && hour < 3) { dialog = m_RegularDialogs.GetRandomElement(); // Обычные диалоги Print("[FakeChatNotifier] Sending regular dialog"); // Лог для обычных диалогов } else if (hour >= 3 && hour < 6) { dialog = m_ThreatDialogs.GetRandomElement(); // Угрозы Print("[FakeChatNotifier] Sending threat dialog"); // Лог для угроз } SendDialog(dialog); ScheduleNextDialog(); // Планирование следующего диалога } void ScheduleNextDialog() { int interval = Math.RandomIntInclusive(900, 1500); // Интервал (15-25 минут в секундах) m_MessageTimer.Run(interval, this, "StartDialogCycle", NULL, false); Print("[FakeChatNotifier] Scheduled next dialog in " + interval + " seconds"); // Лог для планирования следующего диалога } void SendDialog(array<string> dialog) { for (int i = 0; i < dialog.Count(); i++) { float delay = i * Math.RandomIntInclusive(5, 9); // Задержка между сообщениями в диалоге (5-9 секунд) m_MessageTimer.Run(delay, this, "SendMessageToPlayers", new Param1<string>(dialog[i]), false); Print("[FakeChatNotifier] Scheduled message with delay " + delay + " seconds: " + dialog[i]); // Лог для отправки сообщения } } void SendMessageToPlayers(Param1<string> param) { string message = param.param1; array<Man> players = new array<Man>; GetGame().GetPlayers(players); if (players.Count() > 0) { foreach (Man player : players) { Param1<string> globalMessage = new Param1<string>(message); GetGame().RPCSingleParam(player, ERPCs.RPC_USER_ACTION_MESSAGE, globalMessage, true, player.GetIdentity()); } Print("[FakeChatNotifier] Sent message to all players: " + message); // Лог для отправленного сообщения } else { Print("[FakeChatNotifier] No players online to send message: " + message); // Лог для случая, если нет игроков } } }  
    • By Troy1
      Всем привет. Помогите пожалуйста со скриптом.
      Суть. Я пытаюсь сделать синхранизацию сервера с клиентом передавая c конфига время разделки животного.
      В родных скриптах есть class UATimeSpent с константами и там есть константа SKIN.
      Мне нужно её перезаписать на своё значение и мне выдаёт ошибку: Trying to modify write protected variable 'SKIN' в переводе на Русский Попытка изменить защищенную от записи переменную «SKIN».
      Функция скрипта: Когда игрок запускает клиент, идёт запрос на серверную часть и получает в ответ время разделки.
      Задача: Нужно перезаписать константу SKIN на новое значение и всё.
      Сам скрипт.
      class timeToComplete extends UATimeSpent { protected ref UATimeSpent m_UATimeSpent; void timeToComplete() { GetDayZGame().Event_OnRPC.Insert(OnRPC); CheckUATimeSpent(); } void ~timeToComplete() { GetDayZGame().Event_OnRPC.Remove(OnRPC); } void CheckUATimeSpent() { GetGame().RPCSingleParam(NULL, SOC_TIME_RPCs.SOC_GT, NULL, true); } void OnRPC(PlayerIdentity sender, Object target, int rpc_type, ParamsReadContext ctx) { if (rpc_type == SOC_TIME_RPCs.SOC_RT) { Param1<float> soc_srt; if (ctx.Read(soc_srt)) { if (soc_srt.param1!= 0) { m_UATimeSpent.SKIN = soc_srt.param1; Print("Пришёл ответ от сервера в m_UATimeSpent.SKIN - " + m_UATimeSpent.SKIN) } } } } };  
    • By Troy1
      Всем привет. Подскжите ну или помогите пожалуйста решить вопрос.
      Вопрос звучит так. На сервере есть трейдер зоны и базы игроков. 
      Если в течение определённого времени, на пример 1 - 2 часа с машиной не кто не взаимодействует и машина не находится в зоне трейдера или на теретории базы, то машина отлетает в гараж или на штраф стоянку.
      На сервере используется TraderPlus.
       
      Есть такие решения у кого?
      За ранние благодарю.
    • By Troy1
      Всем привет. Подскжите ну или помогите пожалуйста решить вопрос.
      Вопрос звучит так. Нужно сделать так, что бы на всей карте был запрет на строительство. 
      Если нужно построить например базу с палатками, то нужно установить верстак или флаг, который установит зону для строительства с радиусом примерно 20-25 метров от центра и желательно что бы зона была квадратной.
      Есть такие решения у кого?
      За ранние благодарю.
  • 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.