Hallo, wenn man bei uns auf den Server ein Backpack anzieht dauert es erstmal ein paar Minuten bis sich die Inventar Kapazität ändert.
Woran kann das liegen?
Hier unsere init_survival.sqf
Code
#include <macro.h>
/*
Author: Bryan "Tonic" Boardwine
Description:
All survival? things merged into one thread.
*/
private["_fnc_food","_fnc_water","_foodTime","_waterTime","_bp","_walkDis","_lastPos","_curPos"];
_fnc_food = {
if(life_hunger < 2) then {player setDamage 1; hint localize "STR_NOTF_EatMSG_Death";}
else
{
SUB(life_hunger,10);
[] call life_fnc_hudUpdate;
if(life_hunger < 2) then {player setDamage 1; hint localize "STR_NOTF_EatMSG_Death";};
switch(life_hunger) do {
case 30: {hint localize "STR_NOTF_EatMSG_1";};
case 20: {hint localize "STR_NOTF_EatMSG_2";};
case 10: {
hint localize "STR_NOTF_EatMSG_3";
if(EQUAL(LIFE_SETTINGS(getNumber,"enable_fatigue"),1)) then {player setFatigue 1;};
};
};
};
};
_fnc_water = {
if(life_thirst < 2) then {player setDamage 1; hint localize "STR_NOTF_DrinkMSG_Death";}
else
{
SUB(life_thirst,10);
[] call life_fnc_hudUpdate;
if(life_thirst < 2) then {player setDamage 1; hint localize "STR_NOTF_DrinkMSG_Death";};
switch(life_thirst) do {
case 30: {hint localize "STR_NOTF_DrinkMSG_1";};
case 20: {
hint localize "STR_NOTF_DrinkMSG_2";
if(EQUAL(LIFE_SETTINGS(getNumber,"enable_fatigue"),1)) then {player setFatigue 1;};
};
case 10: {
hint localize "STR_NOTF_DrinkMSG_3";
if(EQUAL(LIFE_SETTINGS(getNumber,"enable_fatigue"),1)) then {player setFatigue 1;};
};
};
};
};
//Setup the time-based variables.
_foodTime = time;
_waterTime = time;
_walkDis = 0;
_bp = "";
_lastPos = visiblePosition player;
_lastPos = (SEL(_lastPos,0)) + (SEL(_lastPos,1));
_lastState = vehicle player;
while {true} do
{
if(alive player) then
{
sleep 150;
[] call _fnc_water;
sleep 300;
[] call _fnc_food;
};
/* Adjustment of carrying capacity based on backpack changes */
if(EQUAL(backpack player,"")) then {
life_maxWeight = life_maxWeightT;
_bp = backpack player;
} else {
if(!(EQUAL(backpack player,"")) && {!(EQUAL(backpack player,_bp))}) then {
_bp = backpack player;
life_maxWeight = life_maxWeightT + (round(FETCH_CONFIG2(getNumber,CONFIG_VEHICLES,_bp,"maximumload") / 4));
if(EQUAL(backpack player,"B_HuntingBackpack")) then {life_maxWeight = life_maxWeight + 30}; //BP-Weight
if(EQUAL(backpack player,"B_AssaultPack_sgg")) then {life_maxWeight = life_maxWeight + 30};
if(EQUAL(backpack player,"B_Bergen_mcamo")) then {life_maxWeight = life_maxWeight + 30};
if(EQUAL(backpack player,"B_Carryall_ocamo")) then {life_maxWeight = life_maxWeight + 30};
};
};
/* Check if the player's state changed? */
if(vehicle player != _lastState OR {!alive player}) then {
[] call life_fnc_updateViewDistance;
_lastState = vehicle player;
};
/* Check if the weight has changed and the player is carrying to much */
if(life_carryWeight > life_maxWeight && {!isForcedWalk player}) then {
player forceWalk true;
if(EQUAL(LIFE_SETTINGS(getNumber,"enable_fatigue"),1)) then {player setFatigue 1;};
hint localize "STR_NOTF_MaxWeight";
} else {
if(isForcedWalk player) then {
player forceWalk false;
};
};
/* Travelling distance to decrease thirst/hunger which is captured every second so the distance is actually greater then 650 */
if(!alive player) then {_walkDis = 0;} else {
_curPos = visiblePosition player;
_curPos = (SEL(_curPos,0)) + (SEL(_curPos,1));
if(!(EQUAL(_curPos,_lastPos)) && {(vehicle player == player)}) then {
ADD(_walkDis,1);
if(EQUAL(_walkDis,650)) then {
_walkDis = 0;
SUB(life_thirst,5);
SUB(life_hunger,5);
[] call life_fnc_hudUpdate;
};
};
_lastPos = visiblePosition player;
_lastPos = (SEL(_lastPos,0)) + (SEL(_lastPos,1));
};
uiSleep 1;
};
[player, uniform player] call life_fnc_equipGear;
Alles anzeigen
Danke im vorraus!