Opferlamm-Clan Board
www.opferlamm-clan.de
Verantwortlich für diese bösen Machenschaften: siehe Impressum

Registrierung Kalender Mitgliederliste Suche Häufig gestellte Fragen Zur Startseite

Opferlamm-Clan Board » Call of Duty 2 » Call of Duty 2 - Mapping » CoD2-Mapping-Hilfe » Zerstörbare Kisten (multiplayer) » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Zerstörbare Kisten (multiplayer)
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
T.R.Graves
*bM.sprite~


images/avatars/avatar-796.jpg


Dabei seit: 19.05.2006
Beiträge: 340


Lampe Zerstörbare Kisten (multiplayer) Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo zusammen

Ich habe mich mal hingesetzt und mich mal daran versucht eine zerstörebare Kiste zu
bauen.

Als erstes erstellt ihr ein script_model mit dem xmodel/crate01.

Danach macht ihr ein script_brushmodel gebt diesen die Textur Player_Clip.

Dieses script_brushmodel sollte die gleiche Grösse besitzen wie euer Model.

Danach macht ihr einen Brush und gebt diesem die Textur Trigger und macht daraus

einen Trigger-Damage.Gebt diesen Trigger den targetname crate_trigger.

Jetzt wählt ihr euren Trigger an und danach euer script_model(xmodel/crate01) und

drückt die Taste W. Jetzt sollte ein roter Pfeil vom Trigger auf euer Model zeigen.

Danach wählt ihr erneut euren Trigger an und danach euer script_brushmodel(textur player_clip)

und drückt erneut die taste w. Danach sollte ein blauer Pfeil vom Trigger auf euer Brushmodel zeigen.

Nun schiebt ihr euer Brushmodel(Player_clip) genau über euer Model.Somit könnt ihr im Spiel nicht mehr

durch euer Model laufen.

Jetzt schiebt ihr euer Trigger über das Model und den Playerclip. Er sollte etwas überstehen.

Das wars im Radianten.

Jetzt erstellt ihr euch eine crate.gsc und kopiert das untere script rein.
Diese crate.gsc legt ihr in das gleiche Verzeichnis wo eure map.gsc liegt.

Und jetzt müsst ihr in eure map.gsc noch folgende Zeile reinschreiben.

maps\mp\crate::main();

Für euren Sound schreibt ihr Folgende Zeile in eure Soundaliases.
Vorsicht nicht vergessen euren Mapnamen anzupassen.

crate,,doors/Door_WD_Kick.wav,0.72,0.8,,,,300,450,,streamed,,,,,,,,,,mp_eue
rmapname

Nachtrag: beim Laden der Map kommt es zu einer Fehlermeldung bezüglich des Sounds nicht weiter tragisch aber um Fehler zu vermeiden solltet ihr den Sound aus eurem Soundordner(Orginal) rausnehmen und umbenennen.
Und danach in eurem eigenem main/sound/misc Ordner legen.
Neue Soundaliases
crate,,misc/eurersoundname.mp3 oder wav,0.72,0.8,,,,300,450,,streamed,,,,,,,,,,mp_euermapname

Wie ihr im Script seht sind einige Befehle mit /// Zeichen davor. Wenn ihr diese entfernt
werden im Spiel bei Beschuss des Triggers die verschiedenen Schadenspunkte der Waffen angezeigt.
Desweiteren habe ich ein Damage befehl eingebaut so das die kiste nicht bei einem Schuss
kaputtgeht.Die Hitpoints stehen jetzt bei 200,je höher diese Zahl umso länger bleibt die
Kiste intakt.

main()
{
thread breaking_crate();
}
breaking_crate()
{
level._effect["crate_break"] = loadfx ("fx/explosions/grenadeExp_wood.efx");
level._effect["crate_dust"] = loadfx ("fx/props/crateExp_dust.efx");
precacheModel("xmodel/prop_destroyedcratecorner02");
precacheModel("xmodel/prop_destroyedcratecorner01");
ctrig = getentarray ("crate_trigger","targetname");
for (i=0; i<ctrig.size; i++) ctrig[i] thread crate_think();
}

crate_think()
{
dmg = 0; //Schadenzaehler
hitpoints = 200; //Schadenhoechstgrenze
wait(1);
/// iprintlnbold ("Start: DMG= ",dmg," HP= ",hitpoints);
while (dmg < hitpoints) //solange Schadenzaehler kleiner Hoechstgrenze ist
{
self waittill ("damage", amount); //Schaden der verwendeten Waffe ermitteln
dmg += amount; //Schaden aufsummieren
/// iprintln ("Health= ",self.health);//Schadensanzeige der verwendeten waffe--health
/// iprintln ("Schaden= ",amount);//Schadensanzeige der verwendeten waffe--hitpoints
/// iprintln ("DMG= ",dmg);//Schadensanzeige der verwendeten waffe dmg
if (dmg >= hitpoints) //wenn Schaden gleich oder hoeher der Hoechstgrenze is
{
//iprintlnbold ("crate broken!");
crate = getentarray(self.target,"targetname");
for (c=0; c<crate.size; c++) crate[c] thread crate_break();
wait.5;
self delete();
}
}
}

crate_break()
{
playfx (level._effect["crate_break"],self.origin);
deadcrate = spawn("script_model",(self.origin + (0,0,0)));
deadcrate setmodel("xmodel/prop_destroyedcratecorner02");
deadcrate playsound("crate");
deadcrate1 = spawn("script_model",(self.origin + (0,30,0)));
deadcrate1 setmodel("xmodel/prop_destroyedcratecorner01");
playfx (level._effect["crate_dust"],self.origin);

self delete();
}


Falls ihr Fragen oder Verbesserungsvorschläge habt schreibt es in diesen Tread.

Ciao

__________________

Wie habe ich gemerkt, dass ich Gott bin:
Ich habe gebetet und stellte fest, dass ich Selbstgespräche führe.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von T.R.Graves: 19.02.2007 14:31.

T.R.Graves ist offline E-Mail an T.R.Graves senden Beiträge von T.R.Graves suchen Nehmen Sie T.R.Graves in Ihre Freundesliste auf
G*Skillz Jack
Steuerzahler


images/avatars/avatar-1149.jpg


Dabei seit: 11.07.2006
Beiträge: 238


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hi

Das was du vorhast gibts auch als prefabs

in Activision\Call of Duty 2\map_source\prefabs\interactable_objects


das kann dir ja dabei etwas helfen

__________________

G*Skillz Jack ist offline E-Mail an G*Skillz Jack senden Homepage von G*Skillz Jack Beiträge von G*Skillz Jack suchen Nehmen Sie G*Skillz Jack in Ihre Freundesliste auf
T.R.Graves
*bM.sprite~


images/avatars/avatar-796.jpg


Dabei seit: 19.05.2006
Beiträge: 340


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich denke diese Prefabs funktionieren nur im Singleplayer und dieses Script klappt auch im Multiplayer.

Ciao

__________________

Wie habe ich gemerkt, dass ich Gott bin:
Ich habe gebetet und stellte fest, dass ich Selbstgespräche führe.
T.R.Graves ist offline E-Mail an T.R.Graves senden Beiträge von T.R.Graves suchen Nehmen Sie T.R.Graves in Ihre Freundesliste auf
bangingbernie
Alter Sack ;-)


images/avatars/avatar-1034.jpg


Dabei seit: 20.05.2005
Beiträge: 2.372


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Richtig, die interactable_objects sind nur für Singleplayermaps.

__________________

bangingbernie ist offline E-Mail an bangingbernie senden Homepage von bangingbernie Beiträge von bangingbernie suchen Nehmen Sie bangingbernie in Ihre Freundesliste auf
Private Grob
Mapper vom Dienst


images/avatars/avatar-594.jpg


Dabei seit: 25.04.2006
Beiträge: 475


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Und dieses, sehr gute Tut von T.R.Graves wird ebenfalls in die Tutorial Sektion von CoD2 übernommen.

Klasse Arbeit !!!

Grüße
Private Grob
(Micka)
Private Grob ist offline E-Mail an Private Grob senden Beiträge von Private Grob suchen Nehmen Sie Private Grob in Ihre Freundesliste auf
bangingbernie
Alter Sack ;-)


images/avatars/avatar-1034.jpg


Dabei seit: 20.05.2005
Beiträge: 2.372


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

...und die Kiste mal als Prefab.

Download: Filefront 2,49 kb

LG
Bernie

__________________

bangingbernie ist offline E-Mail an bangingbernie senden Homepage von bangingbernie Beiträge von bangingbernie suchen Nehmen Sie bangingbernie in Ihre Freundesliste auf
OLD MAN WITH GUN
... sehr viel alleine


images/avatars/avatar-798.gif


Dabei seit: 01.05.2006
Beiträge: 2.305


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hätte da noch eine kleine Anregung.
Man kann auch jeder Kiste einen anderen Wert für den Maximalschaden mitgeben (damit z.B. kleine Kisten eher kaputt gehen als große Kisten).
Dazu dem trigger_damage noch folgendes hinzufügen:
Key: script_notewothy
Value: 200
Der Value bestimmt also den Maximalschaden und ist somit individuell anpassbar.
Im Script dann die Zeile
hitpoints = 200; //Schadenhoechstgrenze
durch folgende Zeile ersetzen
hitpoints = int(self.script_noteworthy); //Schadenhoechstgrenze

__________________

Da die Lichtgeschwindigkeit höher ist als die Schallgeschwindigkeit,
hält man so manchen für einen hellen Kopf, bis man ihn reden hört.

OLD MAN WITH GUN ist offline Beiträge von OLD MAN WITH GUN suchen Nehmen Sie OLD MAN WITH GUN in Ihre Freundesliste auf
Private Grob
Mapper vom Dienst


images/avatars/avatar-594.jpg


Dabei seit: 25.04.2006
Beiträge: 475


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Nur mal so als Anmerkung zu sämtlichen zerstörbaren Dingen (Panzer, Fässer, Flaschen, etc). Leider ist es bei uns auf unserem Server (Admiralmod) so, daß sobald einer die erste Brandgranate wirft, alles zerstörbare automatisch mit in die Luft fliegt, egal wo die Dinger auf der Map stehen. Nervt dann doch etwas, zumal wenn die zerstörbaren Sachen dann respawnen und das spiel von vorne losgeht.

Deswegen lasse ich in meiner neuen Map diese Sachen alle weg.

Grüße
Private Grob
(Micka)
Private Grob ist offline E-Mail an Private Grob senden Beiträge von Private Grob suchen Nehmen Sie Private Grob in Ihre Freundesliste auf
bangingbernie
Alter Sack ;-)


images/avatars/avatar-1034.jpg


Dabei seit: 20.05.2005
Beiträge: 2.372


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

...und noch eine Anmerkung:

Wenn Ihr das xmodel crate01 benutzt, solltet Ihr die FETT markierten Stellen im Script so ändern. Das sieht schöner aus, da die jew. Ecken der Größe der unzerstörten Kiste entsprechen.

crate_break()
{
playfx (level._effect["crate_break"],self.origin);
deadcrate = spawn("script_model",(self.origin + (0,-25,0)));
deadcrate setmodel("xmodel/prop_destroyedcratecorner02");
deadcrate playsound("crate");
deadcrate1 = spawn("script_model",(self.origin + (0,25,0)));
deadcrate1 setmodel("xmodel/prop_destroyedcratecorner01");
playfx (level._effect["crate_dust"],self.origin);

self delete();
}

__________________

bangingbernie ist offline E-Mail an bangingbernie senden Homepage von bangingbernie Beiträge von bangingbernie suchen Nehmen Sie bangingbernie in Ihre Freundesliste auf
Schulzi
Hat kein Zuhause


Dabei seit: 22.07.2010
Beiträge: 80


Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Mir ist da mal was aufgefallen.
Wenn ich eine Kiste zerstöre, erscheint der dust Effekt nicht nur bei der Kiste, sondern auch bei den Koordinaten 0,0,0.
Kann man das irgendwie fixen?
Sieht nämlich ein bisschen doof aus, wenn plötzlich Rauch aus der Luft kommt.
Schulzi ist offline E-Mail an Schulzi senden Beiträge von Schulzi suchen Nehmen Sie Schulzi in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Opferlamm-Clan Board » Call of Duty 2 » Call of Duty 2 - Mapping » CoD2-Mapping-Hilfe » Zerstörbare Kisten (multiplayer)

Impressum ||Datenschutzerklärung

Forensoftware: Wbb - WoltLab GmbH || zum Archiv