|
|
Zerstörbare Kisten (multiplayer) |
T.R.Graves
*bM.sprite~
Dabei seit: 19.05.2006
Beiträge: 340
|
|
Zerstörbare Kisten (multiplayer) |
|
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
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:
Zerstörbare Kisten (multiplayer)
Ciao
__________________
Wie habe ich gemerkt, dass ich Gott bin:
Ich habe gebetet und stellte fest, dass ich Selbstgespräche führe.
|
|
|
|
|
|
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
__________________
|
|
|
|
|
|
Richtig, die interactable_objects sind nur für Singleplayermaps.
__________________
|
|
|
|
|
|
|
|
Impressum ||Datenschutzerklärung
|