Fix tame_dog errors

Tame_dog_old and player_tameDog are not used.
This commit is contained in:
ebaydayz
2016-04-18 21:49:27 -04:00
parent 464c26861c
commit 4d5dc060d2
8 changed files with 29 additions and 104 deletions

View File

@@ -1,31 +0,0 @@
private ["_target","_id","_pos","_dog","_fsmid","_hasMeat","_hasdog","_meat"];
_target = _this select 0;
//_caller = _this select 1;
_id = _this select 2;
//_params = _this select 3;
_pos = [_target] call FNC_GetPos;
_hasMeat = false;
{
if (_x in Dayz_meatraw) exitWith {
_hasMeat = true;
_meat = _x;
};
} count (magazines player);
_hasdog = player getVariable ["dogid", "false"];
if (_hasMeat && (_hasdog == "false")) then {
player removeMagazine _meat;
deleteVehicle (_this select 0);
_dog = (group player) createUnit [typeOf _target, _pos, [], 0, "FORM"];
_dog disableAI "FSM";
_fsmid = [_dog, typeOf _target] execFSM "\z\addons\dayz_code\system\dog_agent.fsm";
_fsmid setFSMVariable ["_handle", _fsmid];
_target removeAction _id;
player setVariable ["dogid", _fsmid];
} else {
localize "str_epoch_player_18" call dayz_rollingMessages;
};
//handle publicVariables here later.

View File

@@ -12,39 +12,28 @@
_dog = Intended target of the script.
*/
private ["_target","_caller","_id","_dog","_fsmid","_removed","_selected","_animalID","_textRemoved","_chanceToFail","_itemIn","_countIn"];
_target = _this select 0;
_caller = _this select 1;
_id = _this select 2;
private ["_target","_caller","_id","_dog","_fsmid","_textRemoved","_chanceToFail","_meat","_hasMeat"];
//_target = _this select 0;
//_caller = _this select 1;
//_id = _this select 2;
_dog = _this select 3;
_removed = 0;
_itemIn = "FoodRaw";
_countIn = 1;
_selected = "";
{
if( (_removed < _countIn) && ((_x == _itemIn) || configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn)) then {
_removed = _removed + ([player,_x] call BIS_fnc_invRemove);
_hasMeat = false;
{
if (_x in Dayz_meatraw) exitWith {
_hasMeat = true;
_meat = _x;
};
if(_removed == 1) exitWith { _selected = _x; };
} count magazines player;
} count (magazines player);
// Only proceed if removed count matches
if(_removed == _countIn) then {
if (_hasMeat) then {
player removeMagazine _meat;
_textRemoved = getText(configFile >> "CfgMagazines" >> _meat >> "displayName");
// get name of item removed
_textRemoved = getText(configFile >> "CfgMagazines" >> _selected >> "displayName");
// add failure rate based on skill level variable (days alive)
_chanceToFail = (((random 1) + (dayz_Survived/100)) > 0.5);
if(!_chanceToFail) then {
_animalID = _dog getVariable "fsm_handle";
_animalID setFSMVariable ["_isTamed", true];
uiSleep 1;
//diag_log format["DEBUG: %1, id: %2 [%3]",_dog,_animalID,completedFSM _animalID];
_chanceToFail = (((random 1) + (dayz_Survived/100)) > 0.5);
if (!_chanceToFail) then {
if (!moveToCompleted _dog) then {
_dog moveTo ([_dog] call FNC_GetPos);
};
@@ -52,8 +41,8 @@ if(_removed == _countIn) then {
(group _dog) setBehaviour "AWARE";
_fsmid = [_dog, typeOf _dog] execFSM "\z\addons\dayz_code\system\dog_agent.fsm";
_fsmid setFSMVariable ["_handle", _fsmid];
_fsmid setFSMVariable ["_isTamed", true];
player setVariable ["dogID", _fsmid];
_dog setVariable ["fsm_handle", _fsmid];
_dog setVariable ["CharacterID", dayz_characterID, true];
format[localize "str_epoch_player_173",_textRemoved] call dayz_rollingMessages;

View File

@@ -1,36 +0,0 @@
/*
File: tame_dog.sqf
Author: Kane "Alby" Stone
Description:
Allows a player to tame/domesticate a dog.
Script is applied to object via addAction.
Variables:
_target = Object that action is attached too.
_caller = Object that activates the action.
_id = ID of the action handler.
_dog = Intended target of the script.
*/
private ["_target","_caller","_id","_dog","_fsmid","_animalID"];
_target = _this select 0;
_caller = _this select 1;
_id = _this select 2;
_dog = _this select 3;
player removeMagazine "FoodBeefRaw";
_animalID = _dog getVariable "fsm_handle";
_animalID setFSMVariable ["_isTamed", true];
uiSleep 1;
// diag_log format["DEBUG: %1, id: %2 [%3]",_dog,_animalID,completedFSM _animalID];
if (!moveToCompleted _dog) then {
_dog moveTo ([_dog] call FNC_GetPos);
};
_dog disableAI "FSM";
(group _dog) setBehaviour "AWARE";
_fsmid = [_dog, typeOf _dog] execFSM "\z\addons\dayz_code\system\dog_agent.fsm";
_fsmid setFSMVariable ["_handle", _fsmid];
player setVariable ["dogID", _fsmid];
_dog setVariable ["fsm_handle", _fsmid];
_dog setVariable ["CharacterID", dayz_characterID, true];

View File

@@ -11,7 +11,9 @@ _handle setFSMVariable ["_watchDog",_watchDog];
_warn = {
private ["_watchDog","_dog","_nearby","_senseSkill","_handle"];
_handle = _this select 0;
_handle = _this select 0;
_watchDog = _this select 1;
_dog = _this select 2;
while {_watchDog && alive _dog} do {
_watchDog = _handle getFSMVariable "_watchDog";
_senseSkill = _handle getFSMVariable "_senseSkill";
@@ -28,7 +30,7 @@ _warn = {
if (_watchDog) then {
_handle setFSMVariable ["_idleTime",5];
[_handle] spawn _warn;
[_handle,_watchDog,_dog] spawn _warn;
} else {
_handle setFSMVariable ["_idleTime",1];
};