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
Mercenary

Суицид (ПКМ Maca_rc)

Recommended Posts

Такс, мой первый гайд. Тапками, просьба не кидаться.
Итак: данный скрипт нашел в миссии одного сервера. Он дает возможность совершить суицид, если вы нажмете ПКМ по пистолету. Решил поставить себе. Все понравилось, решил поделиться с остальными:)



Установка:


1. Идем в @DayZ_Epoch\addons и распаковываем dayz_code.pbo с помощью  PBO Manager.


2. Создаем в папке с миссией папку custom , идем в @DayZ_Epoch\addons\dayz_code\init и копируем файл compiles.sqf в нашу папку.


3. Открываем наш init.sqf и находим:

    

call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";		


затем заменяем на
 

call compile preprocessFileLineNumbers "custom\compiles.sqf";



4. Открываем наш кастомный compiles.sqf и находим там:

 

player_selectSlot =   compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_selectSlot.sqf";

 


 Заменяем на:

 

player_selectSlot =  	compile preprocessFileLineNumbers "custom\ui_selectSlot.sqf";

 


5. Переносим файл ui_selectSlot.sqf из  @DayZ_Epoch\addons\dayz_code\compile в папку custom


6. Открываем ui_selectSlot.sqf и находим:

 

		_menu ctrlSetText format[_type,_name];
		_menu ctrlSetEventHandler ["ButtonClick",_compile];
	};


Ниже добавляем:
 

// Add extra context menus
	_erc_cfgActions = (missionConfigFile >> "ExtraRc" >> _item);
	_erc_numActions = (count _erc_cfgActions);
	if (isClass _erc_cfgActions) then 
	{
		for "_j" from 0 to (_erc_numActions - 1) do
		{
			_menu =  _parent displayCtrl (1600 + _j + _numActions);
			_menu ctrlShow true;
			_config =  (_erc_cfgActions select _j);
			_text =  getText (_config >> "text");
			_script =  getText (_config >> "script");
			_height = _height + (0.025 * safezoneH);
			uiNamespace setVariable ['uiControl', _control];
			_menu ctrlSetText _text;
			_menu ctrlSetEventHandler ["ButtonClick",_script];
		};
	};



7. В папке Custom создаем файл extra_rc.hpp и прописываем туда:

 

class ExtraRc {

class glock17_EP1 {
class CommitSuicide {
text = "Совершить суицид";
script = "execVM ""scripts\suicide.sqf"";";
};
};


class M9 {
class CommitSuicide {
text = "Совершить суицид";
script = "execVM ""scripts\suicide.sqf"";";
};
};

    
class M9SD {
class CommitSuicide {
text = "Совершить суицид";
script = "execVM ""scripts\suicide.sqf"";";
};
};

    
class Makarov {
class CommitSuicide {
text = "Совершить суицид";
script = "execVM ""scripts\suicide.sqf"";";
};
};


class revolver_EP1 {
class CommitSuicide {
text = "Совершить суицид";
script = "execVM ""scripts\suicide.sqf"";";
};
};

    
class UZI_EP1 {
class CommitSuicide {
text = "Совершить суицид";
script = "execVM ""scripts\suicide.sqf"";";
};
};

    
class Sa61_EP1 {
class CommitSuicide {
text = "Совершить суицид";
script = "execVM ""scripts\suicide.sqf"";";
};
}; 

   
class Colt1911 {
class CommitSuicide {
text = "Совершить суицид";
script = "execVM ""scripts\suicide.sqf"";";
};
};    

    
class UZI_SD_EP1 {
class CommitSuicide {
text = "Совершить суицид";
script = "execVM ""scripts\suicide.sqf"";";
};
};


class revolver_gold_EP1 {
class CommitSuicide {
text = "Совершить суицид";
script = "execVM ""scripts\suicide.sqf"";";
};
};

    
class MakarovSD {
class CommitSuicide {
text = "Совершить суицид";
script = "execVM ""scripts\suicide.sqf"";";
};
};


};  //Закрытие класса ExtraRc



8. Открываем файл description.ext и прописываем в самый низ:

 

#include "custom\extra_rc.hpp" 



9. В папке с нашей миссией создаем папку Scripts, в ней создаем файл suicide.sqf и вписываем туда:

 

private ["_lostHope","_plEH","_actSuicide"];
_plEH = player addEventHandler ["fired", "player SetDamage 1.1"];
_lostHope = time;
_startTime = floor(time);
r_interrupt = false;
closeDialog 0;
cutText [format["Последние мгновения... и я испытаю то,чего вам всем никогда не испытать,я пойму,что такое Свобода!"], "PLAIN DOWN"];
sleep 3;
player playmove "ActsPercMstpSnonWpstDnon_suicide1B";
_actSuicide = 1;
    sleep 5;	
	_sfx="dieScream";
	_nul = [objNull, player, rSAY, _sfx] call RE;
	sleep 3;
	_sfx="finalShot";
	_nul = [objNull, player, rSAY, _sfx] call RE;
	
while {alive player} do {
	if(r_interrupt) exitWith{
		player playMoveNow "AmovPercMstpSlowWrflDnon_AmovPsitMstpSlowWrflDnon";
		cutText [format["О боже... только этого не хватало. Почему я вспомнил об отце?"], "PLAIN DOWN"];
		while{true}do{
			if(!((animationState player) in ["AmovPercMstpSlowWrflDnon_AmovPsitMstpSlowWrflDnon"]) && (alive player)) exitWith{
				player removeEventHandler["fired", _plEH];
				sleep 1;
				player switchmove "";
				sleep 1;
				PVDZE_plr_Save = [player,[],true,true];
				publicVariableServer "PVDZE_plr_Save";
			};
		};
	};
	if(time - _lostHope > 4 && _actSuicide < 2) then{
		cutText [format["Последние мгновения,а я все еще не могу насмотреться на небо..."], "PLAIN DOWN"];
		_actSuicide = 2;
	};
	if(time - _lostHope > 8 && _actSuicide < 3) then{
		cutText [format["Может мне стоит остановится?"], "PLAIN DOWN"];
		_actSuicide = 3;
	};
	if(time - _lostHope > 9 && _actSuicide <4) then{
		cutText [format["Я ухожу... прощайте... счастья вам, люди!"], "PLAIN DOWN"];
		_actSuicide = 4;
	};
	if(time - _lostHope > 11.2 && _actSuicide > 3) exitWith{
		_id = [player,"suicide"] spawn player_death;
		removeBackpack player;
		removeAllItems player;
		removeAllWeapons player;
	};
	sleep 0.5;
}; 

 

  в description.ext добавляем:

 

class CfgSounds
	{
		sounds[] =
		{
		dieScream, finalShot, madIncoming
		};
 
		class dieScream {
			name="dieScream";
			sound[]={Scripts\diescream.ogg,0.8,1};
		titles[] = {};
                };
               class finalShot {
			name="finalShot";
			sound[]={Scripts\finalshot.ogg,0.8,1};
		titles[] = {};
               };
		
	};

 

Ну и звуки конечно же:

https://www.dropbox.com/s/t2zxygbcwbq6v46/%D0%B7%D0%B2%D1%83%D0%BA%D0%B8.rar?dl=0

 

На этом установка завершена. Что бы все заработало ставьте "+"  :wink: 

 

 
Источник: http://epochmod.com/forum/index.php?/topic/8215-suicide-script-cancel-on-movement-tutorial/


 

 

 
 

Edited by sanek327
Добавил ссылку на источник.Поправил код. (see edit history)

Share this post


Link to post
Share on other sites





По-моему,я это уже где то видел,хотя могу ошибаться )

Share this post


Link to post
Share on other sites

Неплохо, но по моему легче /kill через инфистар)

Share this post


Link to post
Share on other sites

Неплохо, но по моему легче /kill через инфистар)

не так эффектно....

Share this post


Link to post
Share on other sites

Я совместил такой же суицид с реалистичным звуком и криком,получилось еще эффектней :) 

Share this post


Link to post
Share on other sites
 

Я совместил такой же суицид с реалистичным звуком и криком,получилось еще эффектней :) 



Поделится не хочешь? :D

Edited by Mercenary (see edit history)

Share this post


Link to post
Share on other sites

Вот мой suicide.sqf

private ["_lostHope","_plEH","_actSuicide"];
_plEH = player addEventHandler ["fired", "player SetDamage 1.1"];
_lostHope = time;
_startTime = floor(time);
r_interrupt = false;
closeDialog 0;
cutText [format["Последние мгновения... и я испытаю то,чего вам всем никогда не испытать,я пойму,что такое Свобода!"], "PLAIN DOWN"];
sleep 3;
player playmove "ActsPercMstpSnonWpstDnon_suicide1B";
_actSuicide = 1;
    sleep 5;	
	_sfx="dieScream";
	_nul = [objNull, player, rSAY, _sfx] call RE;
	sleep 3;
	_sfx="finalShot";
	_nul = [objNull, player, rSAY, _sfx] call RE;
	
while {alive player} do {
	if(r_interrupt) exitWith{
		player playMoveNow "AmovPercMstpSlowWrflDnon_AmovPsitMstpSlowWrflDnon";
		cutText [format["О боже... только этого не хватало. Почему я вспомнил об отце?"], "PLAIN DOWN"];
		while{true}do{
			if(!((animationState player) in ["AmovPercMstpSlowWrflDnon_AmovPsitMstpSlowWrflDnon"]) && (alive player)) exitWith{
				player removeEventHandler["fired", _plEH];
				sleep 1;
				player switchmove "";
				sleep 1;
				PVDZE_plr_Save = [player,[],true,true];
				publicVariableServer "PVDZE_plr_Save";
			};
		};
	};
	if(time - _lostHope > 4 && _actSuicide < 2) then{
		cutText [format["Последние мгновения,а я все еще не могу насмотреться на небо..."], "PLAIN DOWN"];
		_actSuicide = 2;
	};
	if(time - _lostHope > 8 && _actSuicide < 3) then{
		cutText [format["Может мне стоит остановится?"], "PLAIN DOWN"];
		_actSuicide = 3;
	};
	if(time - _lostHope > 9 && _actSuicide <4) then{
		cutText [format["Я ухожу... прощайте... счастья вам, люди!"], "PLAIN DOWN"];
		_actSuicide = 4;
	};
	if(time - _lostHope > 11.2 && _actSuicide > 3) exitWith{
		_id = [player,"suicide"] spawn player_death;
		removeBackpack player;
		removeAllItems player;
		removeAllWeapons player;
	};
	sleep 0.5;
};

в description.ext добавляем:

class CfgSounds
	{
		sounds[] =
		{
		dieScream, finalShot, madIncoming
		};

		class dieScream {
			name="dieScream";
			sound[]={custom\diescream.ogg,0.8,1};
		titles[] = {};
                };
               class finalShot {
			name="finalShot";
			sound[]={custom\finalshot.ogg,0.8,1};
		titles[] = {};
               };
		
	};

Ну и звуки конечно же:

https://www.dropbox.com/s/t2zxygbcwbq6v46/%D0%B7%D0%B2%D1%83%D0%BA%D0%B8.rar?dl=0

Share this post


Link to post
Share on other sites

Вот мой suicide.sqf

private ["_lostHope","_plEH","_actSuicide"];
_plEH = player addEventHandler ["fired", "player SetDamage 1.1"];
_lostHope = time;
_startTime = floor(time);
r_interrupt = false;
closeDialog 0;
cutText [format["Последние мгновения... и я испытаю то,чего вам всем никогда не испытать,я пойму,что такое Свобода!"], "PLAIN DOWN"];
sleep 3;
player playmove "ActsPercMstpSnonWpstDnon_suicide1B";
_actSuicide = 1;
    sleep 5;	
	_sfx="dieScream";
	_nul = [objNull, player, rSAY, _sfx] call RE;
	sleep 3;
	_sfx="finalShot";
	_nul = [objNull, player, rSAY, _sfx] call RE;
	
while {alive player} do {
	if(r_interrupt) exitWith{
		player playMoveNow "AmovPercMstpSlowWrflDnon_AmovPsitMstpSlowWrflDnon";
		cutText [format["О боже... только этого не хватало. Почему я вспомнил об отце?"], "PLAIN DOWN"];
		while{true}do{
			if(!((animationState player) in ["AmovPercMstpSlowWrflDnon_AmovPsitMstpSlowWrflDnon"]) && (alive player)) exitWith{
				player removeEventHandler["fired", _plEH];
				sleep 1;
				player switchmove "";
				sleep 1;
				PVDZE_plr_Save = [player,[],true,true];
				publicVariableServer "PVDZE_plr_Save";
			};
		};
	};
	if(time - _lostHope > 4 && _actSuicide < 2) then{
		cutText [format["Последние мгновения,а я все еще не могу насмотреться на небо..."], "PLAIN DOWN"];
		_actSuicide = 2;
	};
	if(time - _lostHope > 8 && _actSuicide < 3) then{
		cutText [format["Может мне стоит остановится?"], "PLAIN DOWN"];
		_actSuicide = 3;
	};
	if(time - _lostHope > 9 && _actSuicide <4) then{
		cutText [format["Я ухожу... прощайте... счастья вам, люди!"], "PLAIN DOWN"];
		_actSuicide = 4;
	};
	if(time - _lostHope > 11.2 && _actSuicide > 3) exitWith{
		_id = [player,"suicide"] spawn player_death;
		removeBackpack player;
		removeAllItems player;
		removeAllWeapons player;
	};
	sleep 0.5;
};

в description.ext добавляем:

class CfgSounds
	{
		sounds[] =
		{
		dieScream, finalShot, madIncoming
		};

		class dieScream {
			name="dieScream";
			sound[]={custom\diescream.ogg,0.8,1};
		titles[] = {};
                };
               class finalShot {
			name="finalShot";
			sound[]={custom\finalshot.ogg,0.8,1};
		titles[] = {};
               };
		
	};

Ну и звуки конечно же:

https://www.dropbox.com/s/t2zxygbcwbq6v46/%D0%B7%D0%B2%D1%83%D0%BA%D0%B8.rar?dl=0

Спасибо большое :)

Share this post


Link to post
Share on other sites

Товарищь автор, за что отвечает параметр player setVariable ["dghdfghdh",1,true]; ?

 

Edited by svalom (see edit history)

Share this post


Link to post
Share on other sites

player setVariable ["nal",0,true];, это где будет использоваться?

Share this post


Link to post
Share on other sites

player setVariable ["nal",0,true];, это где будет использоваться?

Автор скрипта не я,  т.к в скриптописании я 0- не могу ответить зачем это. Если вырезать- работает? 

Share this post


Link to post
Share on other sites

стырили и даже не разобрались что к чему выложили... таким как вы надо зубы выбивать

Share this post


Link to post
Share on other sites

где разрешение на его использование?

Ну, этот скрипт лежит на форуме эпохи уже года два. Кто - то просто переделал его под Maca_Rc, спасибо ему.

http://epochmod.com/forum/index.php?/topic/8215-suicide-script-cancel-on-movement-tutorial/

Edited by Mercenary (see edit history)

Share this post


Link to post
Share on other sites

Ну, этот скрипт лежит на форуме эпохи уже года два. Кто - то просто переделал его под Maca_Rc, спасибо ему.

http://epochmod.com/forum/index.php?/topic/8215-suicide-script-cancel-on-movement-tutorial/

Не обращай внимания  на дурачков,игнорируй таких :) 

Edited by sanek327 (see edit history)

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

Да их поголовно,отовсюду тырят,чему ты удивляешься? с какого сервера он это украл? пора уже забить на это,ну стырил кто то скрипт,поставил себе,твой сервер,что он хуже стал? или народ с него ушел? я уже давно забил на это,это было и будет и ты с этим ничего поделать не сможешь! и да, заметь,я уже давно заменил скрипт своим!

да я понимаю, но зачем выкладывать все это в паблик? Перебери скрипт сначала, вырежи то что сервер юзает, хотя бы....

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 Venom21
      Появилась такая проблема, нужно закрыть некоторые слоты под одежду, когда на определённый слот одет предмет…
      пример: возьмём экзоскелет от Фидова, там есть две версии которая одеваеться как на тело и ноги, и есть которая одеваться на разгрузку и пояс, так вот, нужно например чтобы при одетом экзаче на тело и ноги слоты под пояс и разгрузку блокировались, либо только под определенные предметы, если есть интерес то цену можем в личке обсудить…
      P.S. Разрешение от Фидова на переделку и переупаковку есть)
    • By CubeIn
      Здарова, уважаемые знатоки, вопрос.
      Мне скриптер скинул скрипт и сказал закинуть её в северную часть, но не указал куда именно. Подскажите пожалуйста, куда мне её деть? 
    • By CubeIn
      Здарова всем!
      У меня срочный вопрос опытным хозяинам серверостроения. Есть ли возможность настроить холод на карте Namalsk? А то слишком холодновато игрокам, а где это настраивать...
    • By BorizzK
      Накатал по быстрому для себя и своих ребят от нефиг делать, тк в командировке и дейзить возможности нет, только удаленно ковырять сервер
      Внутри настройки через переменные
      путь к базе сервера и инстанс ид берет из конфига сервера (нужно настроить имя файла и путь в файле)
      Мониторит сервер по названию окна, сохранив pid
      При вылете в 90% случаев корректно убивает процесс
      При перезапуске так же
      При каждом старте с 0 и при перезапусках делает бэкапы баз/настроек/
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • By BorizzK
      В эксперементалке 1.08 если сбросить предмет находясь на машине (крыше, багажнике, капоте в кузове) предмет проваливается сквозь машину на землю или оказывается в ее текстурах
       
      Тикет
      https://feedback.bistudio.com/T152071
       
      ответ богемии поразителен - сейчас нет простого решения
       
      А ниже что? Проще не бывает...
       
      Собственно код фикса (Автор Я)
       
      Code ``` modded class ItemBase extends InventoryItem { override void EEItemLocationChanged(notnull InventoryLocation oldLoc, notnull InventoryLocation newLoc) { super.EEItemLocationChanged(oldLoc,newLoc); if (newLoc.GetType() == InventoryLocationType.GROUND) { if (oldLoc.GetParent()) { PlayerBase player = PlayerBase.Cast(oldLoc.GetParent()); if (player) { FixPositionIfDropOnCar(player); } } } } void FixPositionIfDropOnCar(PlayerBase player) { vector m_RayStart; vector m_RayEnd; m_RayStart = player.GetPosition(); m_RayStart[1] = m_RayStart[1] + 0.5; m_RayEnd = m_RayStart; m_RayEnd[1] = m_RayEnd[1] - 1; RaycastRVParams m_RayCastInput = new RaycastRVParams(m_RayStart, m_RayEnd, this, 0.05); array<ref RaycastRVResult> m_RayCastResults = new array<ref RaycastRVResult>; m_RayCastInput.with = player; m_RayCastInput.flags = CollisionFlags.FIRSTCONTACT; if (DayZPhysics.RaycastRVProxy(m_RayCastInput, m_RayCastResults)) { if (m_RayCastResults.Count() > 0) { Car car; if (Class.CastTo(car, m_RayCastResults[0].obj) || Class.CastTo(car, m_RayCastResults[0].parent)) { this.SetPosition(m_RayCastResults[0].pos + (player.GetDirection() * 0.1)); } } } } } ``` Наверное имеет смысл чуть приподнять предмет над поверхностью, но необходимость этого зависит от типа предмета, потому не стал этого делать
       
      чуть откорректировал код
  • 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.