Explodierende Fässer (Multiplayer) |
schnuller
Teetrinker
 
Dabei seit: 07.08.2006
Beiträge: 31

|
|
Hy
Habe da gleich noch eine Frage.
Mir ist aufgefallen das ich das Fass nicht vom weitem zerschtören kann, sondern nur im nahen bereich.Kann ich das in der barrel.gsc einstellen,habe das hier gefunden bei Modsonline.Vielleicht kannst du mir helfen.
@andylegate
lol that's great. under fire, barrels takes some time to explode (to give players a chance to get out of the way) but if a barrel got hit by a nade, it's only 2 secondes till it blows. but dude, the code is there for you to modify if you wish so. so if you really want to surprise him, knock yourself out !
my code is not really commented ... so here's a little help on where to find things to modify:
- barrel respawn time : in barrelThink() - wait(120). that's 2 mins till respawn.
- damage till fire : in barrelThink() - if (self.accDamage > 80 ...). that's 80 of damage accumulation till fire
- damage till explosion : in barrelThink() - if (self.accDamage > 200 ...). that's 200 of damage accumulation till explosion
- self damage while in fire : in barrelFireDamage() - self.trig notify ("damage", 10);. that's 10 of damage each 1-3 seconds
- find fire efx in barrelFire()
- damage to other barrels when exploding : first for() of barrelExplode. you have to understand what is mathematical normalisation to understand how much damage it gives to other barrels.
- radius damage at explosion : radiusDamage(self.origin + (0,0,12), 400, 200, 30); at the end of barrelExplode(). 400 = radius, 200 = max damage (at radius = 0), 30 = min damage (at radius = max). this radius damage is somewhat bigger than of a nade.
|
|
|
|
|
|
|
Hi,
barrel respawn time: Zeit, bis das Fass wieder erscheint
damage till fire: absolute Höhe des Schadens, bis das Fass Feuer fängt
damage till explosion: Wie oben, bis es explodiert
self damage while in fire: Schaden, der sich alle 1-3 Sekunden addiert (bis auf Wert unter "damage till fire"), dann fängt das Fass Feuer
damage to other barrels....: Schaden, den danebenstehende Fässer erleiden
radius damage...: Der Radius, in dem man Schaden erleidet
Ich denke nicht, das Du die Entferung, auf der Fass explodieren soll, ändern kannst. Der Schaden ist ja von der Waffe abhängig, mit der Du auf das Fass schießt; deshalb auch bei einer Nade hoher Schaden...
Gruss
Bernie
__________________

|
|
|
|
|
Karustus
Weichei
Dabei seit: 07.01.2007
Beiträge: 9

|
|
Hi Leute,
noch mal um auf dem Clip zu kommen, ist ja irgendwie hängen geblieben.
Hat nun schon einer eine Lösung gefunden das sich der Clip mit auflöst beim explodieren?
|
|
|
|
|
|
|
Der Clip verschwindet normalerweise; hatte bei mir nur was mit der Map zu tun und konnte es auch nicht lösen.
Bernie
__________________

|
|
|
|
|
Karustus
Weichei
Dabei seit: 07.01.2007
Beiträge: 9

|
|
Der Clip verschwindet normalerweise; hatte bei mir nur was mit der Map zu tun und konnte es auch nicht lösen.
Nene, ich hab das 1zu1 übernommen und hab sogar dafür nur ne Testmap (nur Raum mit dem Fass) angelegt, Clip bleibt trotzdem.
Ich verzeifle hier noch, man man.
PS.:
Habe das Prefab vom bangingbernie , benutzt. Der Link vom T.R.Graves ist ja schon längst tot.
|
|
|
|
|
|
|
Probiere mal das:
Scripting
1. Add this line, " #include maps\mp\_utility; " to the very top of your map's script -- if not there already.
2. In the main thread add this line, " thread exploding_barrels(); ".
3. Then add the following code to the bottom of the script.
exploding_barrels() // by Bodger2
{
level._effect["barrel_explode"] = loadfx ("fx/props/barrelExp.efx");
level._effect["barrel_burn_start"] = loadfx ("fx/props/barrel_ignite.efx");
level._effect["barrel_burn"] = loadfx ("fx/props/barrel_fire2.efx"); // or ("fx/fire/building_fire_large.efx") or ("fx/props/barrel_fire.efx")
dtrig = getentarray ("barrel_trigger","targetname");
for (t=0; t<dtrig.size; t++) dtrig[t] thread barrel_think();
}
barrel_think()
{
self waittill ("trigger");
//iprintlnbold ("barrel explosion!"); // for debug
barrel = getentarray(self.target,"targetname");
for (b=0; b<barrel.size; b++) barrel[b] thread barrel_exploded();
wait.5;
self delete();
}
barrel_exploded()
{
clip = getent(self.target, "targetname");
playfx (level._effect["barrel_burn_start"],self.origin);
wait .5;
playfx (level._effect["barrel_burn"], ((self.origin) + (0,0,10)));
wait randomint((1) + 1);
self playsound ("explo_metal_rand");
playfx (level._effect["barrel_explode"], ((self.origin) + (0,0,45)));
radiusDamage (self.origin + (0,0,56), 320, 150, 20); //(origin, range, max_damage, min_damage)
earthquake(0.3, 3, self.origin, 2096); //(scale, duration, source, radius)
wait .25;
self delete();
clip delete();
}

Mapping
1. Add a script_model barrel ( xmodel/prop_barrel_benzin will do) to your map -- no targetname.
2. Make a metal clip textured brush. Turn it into a script_brushmodel -- no targetname.
3. Make a trigger brush, slightly larger than the barrel. Turn it into a trigger_damage, and targetname it " barrel_trigger ".
4. Add spawnflags to the trigger to prevent melee, explosion, and splash damage.
5. Select the trigger and then the barrel, hit key W -- you should see a red line connect the two.
6. Select the barrel and then the clip brush, hit key W -- should see a blue line.
7. It is easier to clone the barrel set now -- before you assemble, save, and compile.
__________________

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von bangingbernie: 12.02.2007 00:02.
|
|
|
|
|
Karustus
Weichei
Dabei seit: 07.01.2007
Beiträge: 9

|
|
Hat super geklappt, Clip verschwindet jetzt mit. Einfach TOP.
Danke.
Grüße Karustus.
|
|
|
|
|
|
|
Gerne geschehen. Das werde ich mal in's Deutsche übersetzen und dann können wir das ja auch mal bei den Tutorials einfügen.
__________________

|
|
|
|
|
|
|
|
 |
Impressum ||Datenschutzerklärung
|