This commit is contained in:
2022-04-21 16:15:41 +03:00
commit 9d4fc88901
601 changed files with 66252 additions and 0 deletions

View File

@ -0,0 +1,35 @@
_itemsPlayer = items player;
_hasToolbox = "ItemToolbox" in _itemsPlayer;
if !(_hasToolbox) exitWith {cutText [format["You need a tool box to create a bike"], "PLAIN DOWN"];};
if (dayz_combat == 1) then {
cutText [format["You are in Combat and cannot build a bike."], "PLAIN DOWN"];
} else {
player removeAction s_player_deploybike;
player playActionNow "Medic";
r_interrupt = false;
player removeWeapon "ItemToolbox";
_dis=10;
_sfx = "repair";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
sleep 6;
_object = "Old_bike_TK_CIV_EP1" createVehicle (position player);
_object setVariable ["MalSar",1,true];
_object attachto [player,[0.0,3.0,0.5]];
sleep 3;
detach _object;
player reveal _object;
cutText [format["You've used your toolbox to build a bike."], "PLAIN DOWN"];
r_interrupt = false;
player switchMove "";
player playActionNow "stop";
sleep 10;
cutText [format["Warning: Spawned Bikes DO NOT SAVE after server restart!"], "PLAIN DOWN"];
};

View File

@ -0,0 +1,153 @@
//////////////////////////////////////////////////////////////////////////////////////////////
// Script writen by Krixes //
// Infection chance and some comments added by Player2 //
// Combat check added by istealth //
// //
// Version 1.4 //
// //
// Change Log: //
// 1: Added bloodbag use timer //
// 2: Added a timer for the amount of time before player can use self bloodbag again //
//////////////////////////////////////////////////////////////////////////////////////////////
private ["_bloodAmount","_humanityBool","_infectionChance","_humanityNegBool","_humanityNegAmount","_humanityAmount","_infectedLifeLost","_infectedLifeBool","_lastBloodbag","_bloodbagLastUsedTime","_bloodbagTime","_bloodbagUseTime","_bloodbagUsageTime","_incombat","_timeout","_hasBagItem","_needsBlood"];
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Config Start-----------------------------------------------------------------------------------------------------------------------//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
_bloodAmount = 12000; // Amount of blood to give to player
_bloodbagUseTime = 5; // Amount of time it takes in second for the player to use the self bloodbag
_bloodbagLastUsedTime = 300; // Amount of time in seconds before player can use self bloodbag again after a succesful use
_infectionChance = 10; // Percent chance of player infection on self bloodbag (10 = 10% | 2 = 50% | 1 = 100%)
_infectedLifeBool = false; // Whether the player can loose life if infected (True = On | False = off)
_infectedLifeLost = 1000; // Amount of life to loose in becomes infected
_humanityBool = false; // Whether the player can get humanity from giving self a bloodbag (True = On | False = off)
_humanityAmount = 50; // Amount of humanity to give player if _humanityBool is true (250 is default for normal bloodbags)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Config End-------------------------------------------------------------------------------------------------------------------------//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
// Everything below need not be modified unless you know what you are doing! //
///////////////////////////////////////////////////////////////////////////////
_bloodbagTime = time - lastBloodbag; // Variable used for easy reference in determining the self bloodbag cooldown
_bloodbagUsageTime = time;
_hasBagItem = "ItemBloodbag" in magazines player;
_needsBlood = if (r_player_blood < 12000) then { true } else { false };
if (!_hasBagItem) exitWith { //If player doesn't have bloodbag then they can't self blood
cutText [format["You need a bloodbag to do this."], "PLAIN DOWN"]; //display text to let player know they need a blood bag
};
if (!_needsBlood) exitWith { //If they don't need blood then they can't self blood
cutText [format["Are you crazy? You already have full blood."], "PLAIN DOWN"]; //display text to let player know they have full blood
};
_timeout = player getVariable["combattimeout", 0];
_inCombat = if (_timeout >= diag_tickTime) then { true } else { false };
if(_bloodbagTime < _bloodbagLastUsedTime) exitWith { // If cooldown is not done then exit script
cutText [format["You may not use Self Bloodbag this soon please wait %1!",(_bloodbagTime - _bloodbagLastUsedTime)], "PLAIN DOWN"]; //display text at bottom center of screen when players cooldown is not done
};
if (_inCombat) then { // Check if in combat
cutText [format["You are in Combat and cannot give yourself a Bloodbag"], "PLAIN DOWN"]; //display text at bottom center of screen when in combat
} else {
player removeAction s_player_selfBloodbag; //remove the action from users scroll menu
player playActionNow "Medic"; //play bloodbag animation
////////////////////////////////////////////////
// Fancy cancel if interrupted addition start //
////////////////////////////////////////////////
r_interrupt = false; // public interuppt variable
_animState = animationState player; // get the animation state of the player
r_doLoop = true; // while true sets whether to continue self bloodbagging
_started = false; // this starts as false as a check
_finished = false; // this starts as false and when true later sets players blood
while {r_doLoop} do {
_animState = animationState player; // keep checking to make sure player is in correct animation
_isMedic = ["medic",_animState] call fnc_inString; // checking to make sure the animstate is the medic animation still
if (_isMedic) then {
_started = true; // this is a check to make sure everything is still ok
};
if(!_isMedic && !r_interrupt && (time - _bloodbagUsageTime) < _bloodbagUseTime) then {
player playActionNow "Medic"; //play bloodbag animation
_isMedic = true;
};
if (_started && !_isMedic && (time - _bloodbagUsageTime) > _bloodbagUseTime) then {
r_doLoop = false; // turns off the loop
_finished = true; // set finished to true to finish the self bloodbag and give player health/humanity
lastBloodbag = time; // the last self bloodbag time
};
if (r_interrupt) then {
r_doLoop = false; // if interuppted turns loop off early so _finished is never true
};
sleep 0.1;
};
r_doLoop = false; // make sure loop is off on successful self bloodbag
///////////////////////////////////////////////
// Fancy cancel if interrupted addition end //
//////////////////////////////////////////////
if (_finished) then {
player removeMagazine "ItemBloodbag"; //remove the used bloodbag from inventory
r_player_blood = r_player_blood + _bloodAmount; //set players LOCAL blood to a certain ammount
if(r_player_blood > 12000) then {
r_player_blood = 12000; // If players blood is greater then max amount allowed set it to max allowed (this check keeps an error at bay)
};
// check if infected
if (random(_infectionChance) < 1) then {
r_player_infected = true; //set players client to show infection
player setVariable["USEC_infected",true,true]; //tell the server the player is infected
cutText [format["You have used a bloodbag on yourself but the bloodbag was infected!"], "PLAIN DOWN"]; //display text at bottom center of screen if infected
// check for if loosing life on infection is turned on
if(_infectedLifeBool) then {
r_player_blood = r_player_blood - _infectedLifeLost; //set players LOCAL blood to a certain ammount
player setVariable["USEC_BloodQty",r_player_blood,true]; //save this blood ammount to the database
} else { // if loosing life is turned off
r_player_lowblood = false; //set lowblood setting to false
10 fadeSound 1; //slowly fade their volume back to maximum
"dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit 5; //disable post processing blur effect
"colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 1], [1, 1, 1, 1]];"colorCorrections" ppEffectCommit 5; //give them their colour back
r_player_lowblood = false; //just double checking their blood isnt low
player setVariable["USEC_BloodQty",r_player_blood,true]; //save this blood ammount to the database
};
} else { // if not infected
r_player_lowblood = false; //set lowblood setting to false
10 fadeSound 1; //slowly fade their volume back to maximum
"dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit 5; //disable post processing blur effect
"colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 1], [1, 1, 1, 1]];"colorCorrections" ppEffectCommit 5; //give them their colour back
r_player_lowblood = false; //just double checking their blood isnt low
player setVariable["USEC_BloodQty",r_player_blood,true]; //save this blood ammount to the database
cutText [format["You have used a bloodbag on yourself!"], "PLAIN DOWN"]; //display text at bottom center of screen on succesful self bloodbag
};
// check if giving player humanity is on
if(_humanityBool) then {
[player,_humanityAmount] call player_humanityChange; // Set players humanity based on amount listed in config area
};
} else {
// this is for handling if interrupted
r_interrupt = false;
player switchMove "";
player playActionNow "stop";
cutText [format["You have interrupted giving yourself a bloodbag!"], "PLAIN DOWN"]; //display text at bottom center of screen on interrupt
};
};

View File

@ -0,0 +1 @@
(getPos player nearestObject "LandVehicle") setVectorUp [0, 0, 1];

View File

@ -0,0 +1,41 @@
_itemsPlayer = items player;
_magazinesPlayer = magazines player;
_hasToolbox = "ItemToolbox" in _itemsPlayer;
_hasEngine = "PartEngine" in _magazinesPlayer;
_hasMainRotor = "PartVRotor" in _magazinesPlayer;
if !(_hasToolbox && _hasEngine && _hasMainRotor) exitWith {cutText [format["You need a Main Rotor Assembly, Engine parts, and a Tool box to create a Gyrocopter"], "PLAIN DOWN"];};
if (dayz_combat == 1) then {
cutText [format["You are in Combat and cannot build a GyroCopter."], "PLAIN DOWN"];
} else {
player playActionNow "Medic";
r_interrupt = false;
player removeMagazine "PartVRotor";
player removeMagazine "PartEngine";
player removeWeapon "ItemToolbox";
_dis=10;
_sfx = "repair";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
sleep 6;
_object = "CSJ_GyroC" createVehicle (position player);
_object setVariable ["MalSar",1,true];
_object attachto [player,[0.0,3.0,2.5]];
_object setfuel 0.5;
sleep 3;
detach _object;
player reveal _object;
cutText [format["You've made a gyrocopter!"], "PLAIN DOWN"];
r_interrupt = false;
player switchMove "";
player playActionNow "stop";
sleep 10;
cutText [format["Warning: Spawned GyroCopters DO NOT SAVE after server restart!"], "PLAIN DOWN"];
};

View File

@ -0,0 +1,14 @@
private["_separator1","_txt"];
cutText ["HOLD LEFT-CLICK ON TEXT AND DRAG UP AND DOWN, PRESS ESCAPE TO CLEAR OR CONTINUE ON BOTTOM!", "PLAIN DOWN"];
sleep 1;
"Hints & Tips" hintC [
"*North Airfield is the best place to get loot. "+str(BBFlagRadius)+" meters",
"*Buy empty fuel barrels at Prig, and refuel them there and sell for quick cash.",
"*Mk16's, Mk17's, AS50's, RPG's, AA-12, and all L85's are added in the loot.",
"*You need a plot pole to build.",
"*Press Insert for the debug monitor.",
"*Deploy a bike with your action menu!",
"*You can build anywhere you want, including Castles or Caves!",
"*We also have a DayZ Vanilla server, check the website for info.",
"*Join the teamspeak to group up with a team! 198.100.153.190:7087"
];

View File

@ -0,0 +1,40 @@
_itemsPlayer = items player;
_magazinesPlayer = magazines player;
_hasToolbox = "ItemToolbox" in _itemsPlayer;
_hasEngine = "PartEngine" in _magazinesPlayer;
if !(_hasToolbox && _hasEngine) exitWith {cutText [format["You need Engine parts and a tool box to create a motorcycle"], "PLAIN DOWN"];};
if (dayz_combat == 1) then {
cutText [format["You are in Combat and cannot build a motorcycle."], "PLAIN DOWN"];
} else {
player playActionNow "Medic";
r_interrupt = false;
player removeMagazine "PartEngine";
player removeWeapon "itemToolbox";
_dis=10;
_sfx = "repair";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
sleep 6;
_object = "TT650_Civ" createVehicle (position player);
_object setVariable ["MalSar",1,true];
_object attachto [player,[0.0,3.0,2.5]];
_object setfuel 0.5;
sleep 3;
detach _object;
player reveal _object;
cutText [format["You've made a motorcycle!"], "PLAIN DOWN"];
r_interrupt = false;
player switchMove "";
player playActionNow "stop";
sleep 10;
cutText [format["Warning: Spawned Motorcycles DO NOT SAVE after server restart!"], "PLAIN DOWN"];
};

View File

@ -0,0 +1,91 @@
_cursorTarget = cursorTarget;
_typeOfCursorTarget = typeOf _cursorTarget;
if !(_typeOfCursorTarget == "CSJ_GyroC") then {
cutText [format["You must be looking at the created vehicle to repack it"], "PLAIN DOWN"];
};
if !(_typeOfCursorTarget == "TT650_Civ") then {
cutText [format["You must be looking at the created vehicle to repack it"], "PLAIN DOWN"];
};
if !(_typeOfCursorTarget == "Old_bike_TK_CIV_EP1") then {
cutText [format["You must be looking at the created vehicle to repack it"], "PLAIN DOWN"];
};
if(_typeOfCursorTarget == "CSJ_GyroC") then {
if (dayz_combat == 1) then {
cutText [format["You are in Combat and cannot Re-Pack your gyrocopter"], "PLAIN DOWN"];
} else {
player removeAction s_player_deploybike6;
player playActionNow "Medic";
r_interrupt = false;
deletevehicle cursortarget;
_dis=10;
_sfx = "repair";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
sleep 6;
player addWeapon "ItemToolbox";
player addMagazine "PartEngine";
player addMagazine "PartVRotor";
cutText [format["You have packed your gyrocopter. Your parts have been added to your inventory."], "PLAIN DOWN"];
r_interrupt = false;
player switchMove "";
player playActionNow "stop";
};
};
if(_typeOfCursorTarget == "TT650_Civ") then {
if (dayz_combat == 1) then {
cutText [format["You are in Combat and cannot Re-Pack your motorcycle"], "PLAIN DOWN"];
} else {
player removeAction s_player_deploybike4;
player playActionNow "Medic";
r_interrupt = false;
deletevehicle cursortarget;
_dis=10;
_sfx = "repair";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
sleep 6;
player addWeapon "ItemToolbox";
player addMagazine "PartEngine";
cutText [format["You have packed your motorcylce. Your parts have been added to your inventory."], "PLAIN DOWN"];
r_interrupt = false;
player switchMove "";
player playActionNow "stop";
};
};
if(_typeOfCursorTarget == "Old_bike_TK_CIV_EP1") then {
if (dayz_combat == 1) then {
cutText [format["You are in Combat and cannot re-pack your bike."], "PLAIN DOWN"];
} else {
player removeAction s_player_deploybike2;
player playActionNow "Medic";
r_interrupt = false;
player addWeapon "ItemToolbox";
deletevehicle cursortarget;
_dis=10;
_sfx = "repair";
[player,_sfx,0,false,_dis] call dayz_zombieSpeak;
[player,_dis,true,(getPosATL player)] spawn player_alertZombies;
sleep 6;
cutText [format["You have packed your bike and been given back your toolbox"], "PLAIN DOWN"];
r_interrupt = false;
player switchMove "";
player playActionNow "stop";
};
};

View File

@ -0,0 +1,30 @@
private ["_Secondary"];
_Secondary = currentWeapon player;
suicide_answer=nil;
canAbort = true;
DamiSpawn =
[
["Suicide Confirmation",true],
["Are you sure?", [-1], "", -5, [["expression", ""]], "1", "0"],
["", [-1], "", -5, [["expression", ""]], "1", "0"],
["No", [2], "", -5, [["expression", "suicide_answer=false;"]], "1", "1"],
["Yes", [3], "", -5, [["expression", "suicide_answer=true;"]], "1", "1"],
["", [-1], "", -5, [["expression", ""]], "1", "0"],
["Exit", [-1], "", -3, [["expression", "suicide_answer=false;"]], "1", "1"]
];
showCommandingMenu "#USER:DamiSpawn";
waitUntil {((!isNil 'suicide_answer')||(commandingMenu == ""))};
if (isNil 'suicide_answer') then {suicide_answer=false;};
if (suicide_answer) then
{
canAbort = false;
player playmove "ActsPercMstpSnonWpstDnon_suicide1B";
sleep 8.4;
player fire _Secondary;
_unit = player;
_selection = "body";
_damage = 1;
_unit setHit[_selection,_damage];
} else {
systemChat ("Suicide canceled.");
};