HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing (https://hx3.de/editing-139/)
-   -   ww 2 einheit hat nach respawn immer m4 (https://hx3.de/editing-139/ww-2-einheit-hat-respawn-immer-m4-15425/)

horror1 09.11.2008 15:45

ww 2 einheit hat nach respawn immer m4
 
hi , ich bin froh das ich durch zufall endlich mal ein deutsches arma forum gefunden habe und hab mich gleich mal angemeldet :D

mein problem ist folgendes.
ich habe mir den ww2 mod runtergeladen und wollte gerne eine kleine simple coop mission basteln.
als map habe ich die schmalfelden genommen weil die mich am ehesten für das 2.wk szenario ansprach.
die original map läuft mit erheblichen lags nur und gibt optisch für mich nichts her.
ich hab jetzt soweit ein paar stadt eroberungsmissionen eingebaut und das klappt auch alles ganz gut aber es gibt ein problem und zwar beim respawn.
immer wenn eine einheit draufgeht,spawnt sie mit m4 wieder was natürlich total ätzend ist.
die einheit bleibt dieselbe aber trägt statt zb garand oder thompson eine m4.
die mission ohne respawn durchführen ist fast unmöglich und wenn ich den respawn nur auf ai mitglieder setze müsste ich unendlich viele ai setzen was auch nur zu problemen führt.
am liebsten wäre mir wenn die einheit mit exakt der waffe respawnd die sie auch von anfang an hat.

wenn jemand darauf ne antwort hat wäre ich echt begeistert :daumen:

naja falls nicht , hat es sich trotzdem für mich gelohnt dieses forum zu finden denn in zukunft wird sich mit sicherheit auch mal was ergeben was man brauchen kann oder weitergeben kann :naughty:

Mr-Murray 11.11.2008 13:35

Servus
Schau doch mal in meinem Editing Guide in 7.21 Bewaffnung im MP 250

Download: www.mr-murray.de.vu


Viele Grüße

Mr-Murray

horror1 12.11.2008 01:16

hallo mr.murray,
erstmal glückwunsch zu so einem super gelungenen und ausführlichen guide.:daumen:
ich hab mir das in dem tollen guide angesehen aber ich habe mittlerweile eine andere lösung erhalten.

mit einem weapons respawn script hat es geklappt.
mit diesem skript spawnt die einheit mit exakt dem loadout die sie hatte als sie das erste mal auf die welt kam.
dieses skript kann man auch dazu benutzen um ein loadout zu behalten was man hatte als man starb.
thx für die antwort

Cyborg11 13.11.2008 17:45

Könntest du das Skript auch posten?

horror1 13.11.2008 23:10

Zitat:

Zitat von Cyborg11 (Beitrag 201700)
Könntest du das Skript auch posten?

ja gerne.

eine "weapons_respawn.sqs" datei (ohne "") mit dem folgenden code erstellen und in die entpackte pbo datei einfügen :

Code:

;Universal Weapons Respawn Script v1.04 (March 31, 2003) revised (February 1, 2007)
;Required Version: ArmA
;original by toadlife revised by norrin for ArmA
;toadlife@toadlife.net
;intialize like this: ["unitname",0] exec "weapons_respawn.sqs"
;            Or this: ["unitname",1] exec "weapons_respawn.sqs"
;
; * "unitname" = The name of the player the script runs on (must be enclosed by quotes!)
; * 0/1 = method of repleneshing weapons
;  **if method is 0, the player gets the same weapons he started out with every time
;  **if method is 1, the player gets the same weapons he had when he died
;
; Advanced example method of initializing script - put the following lines in your init.sqs,
; and replce the unit names with your own:
;_units = ["w1","w2","w3","w4","w5","w6","w7","w8","w9","w10","w11","w12","w13","w14","w15","w16","w17","w18"]
;{[_x,0] exec "weapons_respawn.sqs"} foreach _units
;
;
~(random 0.3)
_name = _this select 0
_method = _this select 1
_hasrifle = false
_unit = call compile format["%1",_name]
?(_method == 0):_return = "checklocal";goto "guncheck"
#checklocal
_unit = call compile format["%1",_name]
?(local _unit):goto "respawnloop"
~(1 + (random 3))
goto "checklocal"
#respawnloop
@!alive _unit
#checkmethod
?(_method == 1):_return = "waitforlife";goto "guncheck"
#waitforlife
@alive call compile format["%1",_name]
_unit = call compile format["%1",_name]
removeAllWeapons _unit
?_hasrifle:_guns = _guns - [_prigun];_guncount = count _guns
_c = 0
while {_c <= (_magcount - 1)} do {_unit addmagazine (_mags select _c); _c = _c + 1}
_c = 0
while {_c <= (_guncount - 1)} do {_unit addweapon (_guns select _c); _c = _c + 1}
?_hasrifle:_unit addweapon _prigun;_gun = _guns + [_prigun]
;//If unit has a rifle select it
?_hasrifle:goto "selectrifle"
;//No rifle - if unit has a pistol, select it
?_unit hasweapon ((weapons _unit - [secondaryweapon _unit,"Binocular","NVGoggles"]) select 0):_unit selectweapon ((weapons _unit - [secondaryweapon _unit,"Binocular","NVGoggles"]) select 0);goto "respawnloop"
;//No rifle or pistol, select secondary weapon
_unit selectweapon secondaryweapon _unit
goto "respawnloop"
#selectrifle
;// BUG WORKAROUND! - Added to compensate for selectweapon bug
;// Any gun with more than one muzzle (grenadelaunchers) cannot be selected with selectweapon!
;// Default Grenadelaunchers supported - Add your own types if you need to.
_unit selectweapon _prigun
?_prigun == "M16A2GL":_unit selectweapon "M16Muzzle"
?_prigun == "M16A4GL":_unit selectweapon "M16Muzzle"
?_prigun == "M16A4_ACG_GL":_unit selectweapon "M16Muzzle"
?_prigun == "M4GL":_unit selectweapon "M4Muzzle"
?_prigun == "M4A1GL":_unit selectweapon "M4Muzzle"
?_prigun == "AK74GL":_unit selectweapon "AK74Muzzle"
goto "respawnloop"
 
#guncheck
_guns = weapons _unit
_mags = magazines _unit
~(random 0.5)
_guncount = count _guns
_magcount = count _mags
?_unit hasweapon (primaryweapon _unit):_hasrifle = true;_prigun = primaryweapon _unit;goto _return
_hasrifle = false
goto _return

dann erstelle eine "init.sqs" datei (ohne"") und füge diesen code ein und auch in die entpackte pbo :

Code:

_units = ["joebloggs","johncitizen"]
{[_x,0] exec {weapons_respawn.sqs}} foreach _units

man muss dann alle einheiten die respawnen sollen, mit einem namen versehen und diese namen müssen eingesetzt werden statt joebloggs und johncitizen und so weiter.

also nochmal kurz zusammengefasst : die pbo entpacken, dann eine sqs datei mit dem namen "weapons_respawn.sqs" datei (ohne "") erstellen und den obigen code einfügen und in den entpackten ordner einfügen, dann eine "init.sqs" datei (ohne"") erstellen und den obigen code einfügen und dann wieder pbo erstellen und im mp oder sp testen.
nicht vergessen den einheiten einen namen zuzuweisen und diese namen in diesem code einsetzen.
ich habe sie der einfachheit von a bis t benannt, also 20 spawnbare einheiten.
falls etwas unklar ist gerne nochmal nachfragen:)

Xeno 14.11.2008 00:22

Schau mal unter folgender URL:

http://hx3.de/168279-beitrag3.html

Aber bitte das Script nicht mit nil = [] execVM ... starten sondern meinetwegen mit handle = [] execVM...

Der Große Vorteil, Du brauchst niemanden mit Namen zu versehen, es wird automatisch für jeden Spieler gestartet.

Xeno

Mr-Murray 14.11.2008 12:35

Xeno´s Variante gefällt mir sehr gut!

horror1 20.11.2008 01:03

Zitat:

Zitat von Xeno (Beitrag 201753)
Schau mal unter folgender URL:

http://hx3.de/168279-beitrag3.html

Aber bitte das Script nicht mit nil = [] execVM ... starten sondern meinetwegen mit handle = [] execVM...

Der Große Vorteil, Du brauchst niemanden mit Namen zu versehen, es wird automatisch für jeden Spieler gestartet.

Xeno


toll, das ist ja noch einfacher , vielen dank auch für diesen tip


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:44 Uhr.

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias


SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119