[Blocked Image: https://images2.imgbox.com/45/b5/Q1Stl4bz_o.png]
Heute dazu gekommen.
Dazu in den vergangenen Tagen/Wochen extrem an den bestehenden Missionen gefeilt und sie verfeinert.
[Blocked Image: https://images2.imgbox.com/45/b5/Q1Stl4bz_o.png]
Heute dazu gekommen.
Dazu in den vergangenen Tagen/Wochen extrem an den bestehenden Missionen gefeilt und sie verfeinert.
Hab es anders gelöst:
in der onplayerkilled.sqf
[player, [missionNamespace, format["%1%2", "Inventory",player]]] call BIS_fnc_saveInventory;
[] execVM "scripts\spawnEmptyCrate.sqf";
Der Name "spawnemptycrate" stammt noch aus den ersten Versuchen, werd ich beizeiten ändern.
In diesem Script steht dann:
// Get the position of the player
private _playerPos = getPosATL player;
// Create cross object at the player's position
private _cross = "Land_Cross_01_small_F" createVehicle _playerPos;
// Store the reference to the cross in a global variable
crossToDelete = _cross;
// Add the "Get Last Loadout" action to the cross
_cross addAction [
"<img image='pictures\cross.paa'/> Get Last Loadout",
{
[player, [missionNamespace, format["%1%2", "Inventory", player]]] call BIS_fnc_loadInventory;
// Get the position of the cross
private _crossPos = getPosATL crossToDelete;
// Delete the cross using the global variable
deleteVehicle crossToDelete;
// Spawn the grave at the cross's position
private _grave = "Land_Grave_11_F" createVehicle _crossPos;
// Reset the global variable to prevent further deletions
crossToDelete = objNull;
},
[], 0, false, true, "", ""
];
// Display a hint
hintSilent parseText format [
"<img size='4' image='pictures\cross.paa'/><br/><br/><t align='center' color='#e6e6e6' shadow='1' shadowColor='#000000'>The Vietcong has buried your body, %1!</t><br/><br/><t align='center' color='#e6e6e6' shadow='1' shadowColor='#000000'>You can get back your gear at the placed wooden cross!<br/>Items like Money, Beacon, Repkits are lying on the floor - as long, as other players havn't picked it up!",
name player
];
Display More
Es wird ein Kreuz aufgebaut. Nur der Spieler, der dort gestorben ist, kann sich sein Loadout dort laden. (Items wie Beacon, Repkits oder auch Geld bleiben auf dem Boden)
Sobald er das getan hat, verschwindet das Kreuz und nebenan erscheint n kleiner Erdhaufen - Zeichen für feindliche Spieler, dass hier jemand gestorben ist.
Dazu gibt n hübschen hint oben rechts, damit der Spieler vom besagten Kreuz und der Möglichkeit unterrichtet wird.
![]()
Mittlerweile hab ich (immerhin schon mal) rausgefunden, warum es via debug funktioniert, "live in action" aber nicht:
sobald die onplayerkilled.sqf aufgerufen wird, werden die primary und secondary (launcher) auf dem Boden platziert und sind dmenach nicht mehr im Inventar des Spielers. Deswegen klappt der Transfer auch nicht ...
N Versuch, auch herumliegende Waffen zu transferieren, hat nicht geklappt.
Zähne knirschend wende ich mich mal wieder an euch ..
Ich möchte bei Tod des Spielers eine Kiste neben diesem spawnen lassen, in die die komplette Ausrüstung übertragen wird.
(dass die Leiche dann auch verschwinden soll, wollt ich später machen ..)
Über die Debug Konsole funktioniert es einwandfrei
// spawnEmptyCrate.sqf
// Get the position of the player
private _playerPos = getPosATL player;
// Create an empty crate at the player's position
private _crate = "VirtualReammoBox_small_F" createVehicle _playerPos;
// Transfer player's gear to the crate
{_crate addWeaponCargo[_x, 1];} forEach weapons player;
{_crate addMagazineCargo[_x, 1];} forEach magazines player;
{_crate addItemCargo[_x, 1];} forEach items player;
_crate addItemCargo [uniform player, 1];
_crate addItemCargo [vest player, 1];
_crate addBackpackCargo [backpack player, 1];
_crate addItemCargo [headgear player, 1];
_crate addItemCargo [goggles player, 1];
Display More
Jetzt kommt das ABER. Hab auch schon ChatGPT damit belästigt, ohne Lösung des Problems:
Hab verschiedene Kisten probiert, daran liegt es nicht .. ![]()
ok. Er hatte in dem Video auf seinen eigenen Discord-Channel hingewiesen, wo man es sich runterladen könnte.
Wie kommt man denn in sein Discord?
Mit dem link geht es nicht ..
Kannst dich ja mal hier melden, wenn es soweit ist: https://discord.gg/p7dAYd9H
Um es aufs Grundlegende herunterzubrechen:
In Wasteland kann der Spieler alleine oder in einer Gruppe Missionen absolvieren, die zufällig spawnen. Dabei gibt es viele verschiedene Varianten: von der Zerstörung bestimmter Fahrzeuge oder deren Eroberung, zu Lande oder in der Luft. Geldmissionen, Konvoys-Missionen, Infanterie Missionen.
Erledigt man die Mission zu Fuß mit Raktenwerfern, als Sniper oder mit dem MG und Granaten, baut man einen Hinterhalt und wartet geduldig, kauft man sich ein gepanzerteres Fahrzeug oder hat man bei einer vorherigen Mission einen Kampfheli erobert? Es ist alles dem Spieler selbst überlassen. Und gerade das macht für mich Wasteland aus ..
Dazu kommt, dass man sich gegen zufällig spawnende AI wehren muss.
Es ist keine so "strenge MilSim" wie zB mit ACE. Nichtsdestotrotz wird man auch hier gefordert. ![]()
[Blocked Image: https://images2.imgbox.com/b3/36/isEFAr3T_o.png]
[Blocked Image: https://images2.imgbox.com/33/bc/HRZrPbMz_o.png]
[Blocked Image: https://images2.imgbox.com/0f/b0/ALG5F7CD_o.png]
Dazu wurden Waffen, Uniformen, Fahrzeuge und was es sonst noch so gibt von S.O.G. hinzugefügt, alles andere rausgenommen.
[Blocked Image: https://images2.imgbox.com/dc/07/qFI0bLiQ_o.png]
Western Sahara wurde gestrichen. Stattdessen jetzt nur noch S.O.G. mit dem Terrain 'The Bra'.
Moin zusammen und erstmal n guten Rutsch heute Abend/Nacht! ![]()
![]()
Es gibt was Neues auf diesem Server: Mix aus zwei cDLC. S.O.G. und WS!
Es ist eine komplett neue Erfahrung! ![]()
[Blocked Image: https://images2.imgbox.com/ab/a9/4IbvFsVn_o.jpg]
nö ein Script und zwar das was Du selbst verlinkt hast
Nope. Das ist es nicht. Zumindest habe ich so ziemlich jede Möglichkeit versucht. Ich kriege nicht mal n error.
Das heal Script bezieht sich auch noch auf ein anderes script. Und DORT müsste es vermutlich eingebaut werden: call a3w_actions_start
// ******************************************************************************************
// * This project is licensed under the GNU Affero GPL v3. Copyright © 2014 A3Wasteland.com *
// ******************************************************************************************
#define DURATION_STEP 1
#define DURATION_FAILED 5
#define MEDIC_ACTION "MedicOther"
//TODO: Fix the jerkiness (playMove vs switchMove)
private ["_length", "_animation", "_check", "_args", "_success", "_failure", "_complete", "_start", "_previousAnim"];
if a3w_actions_mutex exitWith {
["You're already doing something!", DURATION_FAILED] call a3w_actions_notify;
};
a3w_actions_mutex = true;
_length = _this select 0;
_animation = _this select 1;
_check = _this select 2;
_args = _this select 3;
private _isMedicAnim = (_animation == "" || (toLower _animation) find "_medic" != -1);
_complete = true;
_start = time;
_previousAnim = animationState player;
if (_isMedicAnim) then { player playActionNow MEDIC_ACTION } else { [player, _animation] call switchMoveGlobal };
_failed = false;
createDialog "ActionGUI";
disableSerialization;
_display = findDisplay 10101;
_display displayAddEventHandler ["KeyDown", "_this select 1 == 1;"];
_progressbar = _display displayCtrl 10101;
_struct_text = _display displayCtrl 10102;
private ["_medicStarted", "_medicStopTime"];
waitUntil {
private ["_progress", "_result", "_text"];
if (_isMedicAnim) then
{
if ((toLower animationState player) find "_medic" == -1) then
{
if (isNil "_medicStarted") then
{
if (!isNil "_medicStopTime" && {diag_tickTime - _medicStopTime >= [1.5, 2.0] select (stance player == "PRONE")}) then
{
player playActionNow MEDIC_ACTION;
_medicStopTime = nil;
};
}
else
{
_medicStarted = nil;
_medicStopTime = diag_tickTime;
};
}
else
{
if (isNil "_medicStarted") then
{
_medicStarted = true;
_medicStopTime = nil;
};
};
}
else
{
if (animationState player != _animation) then { [player, _animation] call switchMoveGlobal };
};
if not a3w_actions_mutex then {
_failed = true;
["Action Cancelled", DURATION_FAILED] call a3w_actions_notify;
} else {
_progress = (time - _start)/_length;
_progressbar progressSetPosition _progress;
_result = ([_progress]+_args) call _check;
_break = _result select 0;
_text = _result select 1;
if _break then {
[_text, DURATION_FAILED] call a3w_actions_notify;
_failed = true;
} else {
_struct_text ctrlSetStructuredText parseText _text;
};
};
_start +_length < time or _failed;
};
[player, _previousAnim] call switchMoveGlobal;
_display closeDisplay 0;
a3w_actions_mutex = false;
not _failed;
Display More
Habs aber aufgegeben. Sitze schon zu lange daran. ![]()
btw. wenn Du schon die Skripte offen ablegst, solltest Du auch den Inhalt zumindest zu einem Teil verstehen.
Der nachfolgende Skriptfetzen beinhaltet Deine Antwort zur Frage, weils in der hochgeladenen .sqf bereits steht
Wie gesagt: beim Reparieren erscheint der Werkzeugkasten, beim Verschrotten ne Flex und beim Benzin abzapfen n feuchter Fleck auf dem Boden - auch selbst eingebaut. Mit bisschen Probieren, aber am Ende passte es.
Nur dieses Revive Ding lässt mir echt graue Haare wachsen. Vermutlich, weil es zwei verschiedene Scripte in Wasteland sind: einmal für das Heilen Anderer und dann die Selbstheilung.
Warum nimmst Du nicht ACE`? Da wäre es schon dabei
Der Server läuft komplett ohne Mods, ausschließlich Scripte.
Vielen Dank schon mal, ich teste es direkt! ![]()
Es gibt neben diesen farrevive auch noch das hier:
// ******************************************************************************************
// * This project is licensed under the GNU Affero GPL v3. Copyright © 2014 A3Wasteland.com *
// ******************************************************************************************
//@file Version: 1.0
//@file Name: heal.sqf
//@file Author: MercyfulFate
//@file Created: 21/7/2013 16:00
//@file Description: Try to heal yourself with a medkit
#define DURATION 5
#define ANIMATION "AinvPknlMstpSlayWrflDnon_medic"
#define ERR_NOT_ENOUGH_HEALTH "First Aid Failed! You are too badly injured to use this."
#define ERR_FULL_HEALTH "First Aid Failed! You already have full health."
#define ERR_CANCELLED "First Aid Cancelled!"
private ["_checks", "_success"];
if (damage player < 0.005) exitWith {
[ERR_FULL_HEALTH, 5] call mf_notify_client;
false;
};
if (damage player > 0.255) exitWith {
[ERR_NOT_ENOUGH_HEALTH, 5] call mf_notify_client;
false;
};
_checks = {
private ["_progress","_failed", "_text"];
_progress = _this select 0;
_text = "";
_failed = true;
switch (true) do {
case (!alive player): {}; // player is dead, no need for a notification
case (damage player > 0.255): {_text = ERR_NOT_ENOUGH_HEALTH};
case (damage player < 0.005): {_text = ERR_FULL_HEALTH};
case (doCancelAction): {_text = ERR_CANCELLED; doCancelAction = false;};
default {
_text = format["Medkit %1%2 Applied", round(100 * _progress), "%"];
_failed = false;
};
};
[_failed, _text];
};
_success = [DURATION, ANIMATION, _checks, []] call a3w_actions_start;
if (_success) then {
player setDamage 0;
["First Aid Completed!", 5] call mf_notify_client;
};
_success;
Display More
*seufz
Schon wieder ich. Und diesmal mit etwas, an dem ich mir seit Tagen die Zähne ausbeiße.
Wie hier Arma 3 - AI Repair animations zu lesen, habe ich es bei uns eingebaut, dass während der Reparatur n Werkzeugkoffer (oder was halt am ehesten so aussieht), neben dem Spieler platziert wird.
Ebenso bei Verschrotten eines Fahrzeugs ne Flex und beim Abzapfen n Fleck.
Nur eins kriege ich einfach nicht hin:
beim Selbstheilen, Heilen von Kollegen und beim Reviven derselbigen neben den Spieler diesen Medizinischen Müll zu platzieren.
Der dann auch liegenbleiben soll. Kann als Zeichen gedeutet werden, dass gegnerische Spieler in der Nähe sind.
[Blocked Image: https://images2.imgbox.com/9d/7c/zplGEszh_o.png]
MedicalGarbage_01_1x1_v3_F
Im Anhang SQF, die aller Voraussicht nach bearbeitet werden muss.
Ich habe irgendwann schon keine ; vor lauter _ mehr gesehen und schließlich aufgegeben.
Ich hab' das auch im offiziellen Wasteland Forum gefragt, aber dort herrscht so gut wie keine Kommunikation mehr. Quasi ausgestorben. ![]()
Vielleicht reicht einem von euch ja nur n Blick drauf und sieht, was ich einfach nicht verstehe .. ![]()
QuoteAlso, Du hast mich ein bisl angepiekst mit den Fässern in Verbindung mit PVP
Pack das doch in dein Topic mit den "Script Lösungen". Passt ziemlich gut! ![]()
Zusätzlich zu den Fässern wären auch noch die Kanister (gibt 4 verschieden Farbige) nett - hatte ich getestet, aber die erschienen nicht.
Ich habe das mal auf Sefrou Ramal übertragen und mich letztlich doch dagegen entschieden. Ich habe u.a. einige selbst platzierte Städte auf der Karte, die nicht in den Pool fallen würden. Zumal bei mir die Städte schon durch 2 andere Marker (Town & Territory) markiert sind.
Dank Dir konnte ich mir zudem ein detaillierteres Bild der Idee machen, statt es nur in der Theorie auszumalen.
Grundsätzlich ist das schon ziemlich geil. ![]()
Danke auf jeden Fall für deine/eure Antworten. ![]()
Die stehen rum und können ggf im Kampf eingesetzt werden - wenn ne Mission dran vorbeizieht oder auch im pvp.
Geil, Danke! Werd' das mal testen!