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 serversDon'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



-
Similar Content
-
By BorizzK
Автор скрипта сообщения всем пользователям: Мизев
Код функции отправки сообщения всем игрокам
вставляется в OnInit () в init.c или в missionserver.c из scripts.pbo
Становится глобальной серверной функцией и можно использовать где угодно на сервере (вроде бы)
Что делает? Отправляет сообщение переданное в функцию всем игрокам на сервере
Использование: MessageAllPlayers ("ТЕКСТ");
void MessageAllPlayers(string message) { ref array<Man> players = new array<Man>; GetGame().GetPlayers( players ); if ( players.Count() > 0 ) { for ( int i = 0; i < players.Count(); i++ ) { PlayerBase player; Class.CastTo(player, players.Get(i)); Param1<string> m_MessageParam = new Param1<string>(message); GetGame().RPCSingleParam(player, ERPCs.RPC_USER_ACTION_MESSAGE, m_MessageParam, true, player.GetIdentity()); } } }
Код сообщения всем игрокам на сервере о входе НОВОГО игрока
вставляется в код создания персонажа, обработки его подключения или экипировки при входе - где Вам больше нравится
но после того как персонаж создастся и будет помещен в переменную к которой можно обратиться
В данном примере m_player
исполняется в контексте конкретного персонажа
Например init.c
override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName) { //...... //тут еще разный код playerEnt = GetGame().CreatePlayer(identity, characterName, pos, 0, "NONE");//Creates random player Class.CastTo(m_player, playerEnt); GetGame().SelectPlayer(identity, m_player); //inform all players about new player connected ref array<Man> players = new array<Man>; //define array for all players GetGame().GetPlayers( players ); //put all players in to array players if ( players.Count() > 0 ) // if players count > 0 { string Message = "NEW Player " + m_player.GetIdentity().GetName() + " connected!"; //message text MessageAllPlayers(Message); // call MessageAllPlayers function with Message param } return m_player; }
-
By 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"; Изменение Человечности готово!
Плюсы Всего этого:
Отображение ника убийцы теперь работает всегда и корректно.(Если убивают с техники или с одного выстрела).
-
By virus160381
Помогите пожалуйста добавить торговца на 1.0.6.2, искал гайды они все старые, на хх51.
-
By Slonik
Помогите пожалуйста. На сервере установлен скрипт R3F_Logistics. Помогите сделать так что бы можно было продавать ящики на трейде не доставая их из машины или продать машину сразу с ящиком. Что то у меня не получается.
-
By misha123
Здравствуйте хотел добавить крафты на сервер. Но не знаю как это сделать. Кто знает как добавить крафты подскажите пожалуйста скрипт. Хочется разнообразить сервер.
Спасибо за внимание
-
-
Our picks
Нужно добавить нового торговца на карту. Гайд на этом сайте я так и не нашёл
. Вообще мне нужно:
1. Ссылку на гайд.
2. Как узнать координаты в DayZ что бы этого торгаша поставить.
3. Как добавить товар ему на продажу. И как создать категорию товара - машины\оружие\строматериалы\вещи\еда.
У меня стоит денежная система SC 3.0
Поможете? С меня + в репу.
Share this post
Link to post
Share on other sites