Hallo,
ich habe dieses Taserscript hier, und irgendwie geht es nicht. Ich habe schon viel herumgeändert aber es geht immer noch nicht. Vielleicht kann jemand von euch den Fehler finden.
Und meine andere Frage wäre: Wo wird der Damagehandler eingebunden? Kommt der nur in die Init.sqf oder noch woanderes hinein?
Edit: Das Script ist für mein Sandbox Server.
C++
player addEventHandler ["HandleDamage", {
params ["_unit", "_selection", "_damage", "_source", "_projectile", "_hitIndex", "_instigator", "_hitPoint"];
_PassiveState = _unit getVariable "passive";
if (_PassiveState isEqualTo true) then {
_unit setDamage 0;
} else {
if (_unit != _source) then {
if (currentWeapon _source in ["hgun_P07_khk_Snds_F","arifle_SDAR_F"] && _projectile in ["B_9x21_Ball","B_556x45_dual"]) then {
_isTazed = _unit getVariable "tazed";
if (alive _unit && _isTazed isEqualTo false) then {
private _distance = 50;
if (_projectile isEqualTo "B_556x45_dual") then {_distance = 100};
if (_unit distance _source < _distance) then {
player allowDamage false;
_unit setVariable ["tazed", true, true];
titleText ["You were tazed...", "PLAIN", -1, true, true];
enableCamShake false;
private "_tazered";
_tazered = "Land_Can_V3_F" createVehicleLocal [0,0,0];
_tazered setMass 1e10;
_tazered attachTo [_unit, [0,0,0], "Spine3"];
_tazered setVelocity [0,0,6];
detach _tazered;
0 = _tazered spawn {
sleep 5;
resetCamShake;
deleteVehicle _this;
player setVariable ["tazed", false, true];
player allowDamage true;
};
};
};
};
};
};
}];
Alles anzeigen