T.R.Graves
Hallo zusammen
Ich habe auf einer Seite ein Script entdeckt welches ermöglicht Weinflaschen im Multiplayer zu zerstören.
Als erstes erstellt ihr im Radianten ein script_model (xmodel/prop_kitchen_winebottle) und dann ein Brush mit der Textur trigger.
Aus diesem brush macht ihr dann ein trigger_damage (rechte Maustaste im xyz/Fenster anklicken).
Und ausserdem gebt ihr bei Key: targetname und bei value:bottle_trigger ein.
Dann wählt ihr diesen Trigger und dann euer Model an und drückt die Taste w. Danach sollte ein roter Strich erscheinen der von dem trigger zu deinem Model zeigt
Schiebt diesen trigger dann über euer Model so das er fast mit diesem abschliesst.
Ihr könnt dieses Model mitsamt dem trigger sooft kopieren wie ihr wollt.
Und jetzt erstellt ihr ein script namemeinerwahl.gsc
main()
{
thread breaking_bottles();
}
breaking_bottles()
{
level._effect["bottle_break"] = loadfx ("fx/props/wine_bottle.efx");
precacheModel("xmodel/prop_winebottle_broken_bot");
precacheModel("xmodel/prop_winebottle_broken_top");
btrig = getentarray ("bottle_trigger","targetname");
for (i=0; i<btrig.size; i++) btrig[i] thread bottle_think();
}
bottle_think()
{
self waittill ("trigger");
//iprintlnbold ("bottle broken!");
bottle = getentarray(self.target,"targetname");
for (b=0; b<bottle.size; b++) bottle[b] thread bottle_break();
wait.5;
self delete();
}
bottle_break()
{
playfx (level._effect["bottle_break"],self.origin);
deadbottle = spawn("script_model",(self.origin + (0,0,-4)));
deadbottle setmodel("xmodel/prop_winebottle_broken_bot");
deadbottle playsound("bullet_small_bottle");
bottletop = spawn("script_model",(self.origin + (0,0,8)));
bottletop setmodel("xmodel/prop_winebottle_broken_top");
bottletop rotatevelocity((250,-250, randomfloat(100)*1), 2, 0, .5);
bottletop moveGravity((0,0,30), .5);
wait .1;
self delete();
wait .5;
bottletop delete();
}
Und dann in euer map.gsc den Eintrag
maps\mp\namemeinerWahl::main();
Das orginalscript findet ihr hier
Ich habe von diesem Orginalscript nur einen Eintrag geändert
deadbottle = spawn("script_model",(self.origin + (0,0,-4)));
Dieser bestimmt das der Flaschenboden jetzt auch dort steht wo die ursprüngliche Flasche stand.
Viel Spass beim nachbauen
Ich habe auf einer Seite ein Script entdeckt welches ermöglicht Weinflaschen im Multiplayer zu zerstören.
Als erstes erstellt ihr im Radianten ein script_model (xmodel/prop_kitchen_winebottle) und dann ein Brush mit der Textur trigger.
Aus diesem brush macht ihr dann ein trigger_damage (rechte Maustaste im xyz/Fenster anklicken).
Und ausserdem gebt ihr bei Key: targetname und bei value:bottle_trigger ein.
Dann wählt ihr diesen Trigger und dann euer Model an und drückt die Taste w. Danach sollte ein roter Strich erscheinen der von dem trigger zu deinem Model zeigt
Schiebt diesen trigger dann über euer Model so das er fast mit diesem abschliesst.
Ihr könnt dieses Model mitsamt dem trigger sooft kopieren wie ihr wollt.
Und jetzt erstellt ihr ein script namemeinerwahl.gsc
main()
{
thread breaking_bottles();
}
breaking_bottles()
{
level._effect["bottle_break"] = loadfx ("fx/props/wine_bottle.efx");
precacheModel("xmodel/prop_winebottle_broken_bot");
precacheModel("xmodel/prop_winebottle_broken_top");
btrig = getentarray ("bottle_trigger","targetname");
for (i=0; i<btrig.size; i++) btrig[i] thread bottle_think();
}
bottle_think()
{
self waittill ("trigger");
//iprintlnbold ("bottle broken!");
bottle = getentarray(self.target,"targetname");
for (b=0; b<bottle.size; b++) bottle[b] thread bottle_break();
wait.5;
self delete();
}
bottle_break()
{
playfx (level._effect["bottle_break"],self.origin);
deadbottle = spawn("script_model",(self.origin + (0,0,-4)));
deadbottle setmodel("xmodel/prop_winebottle_broken_bot");
deadbottle playsound("bullet_small_bottle");
bottletop = spawn("script_model",(self.origin + (0,0,8)));
bottletop setmodel("xmodel/prop_winebottle_broken_top");
bottletop rotatevelocity((250,-250, randomfloat(100)*1), 2, 0, .5);
bottletop moveGravity((0,0,30), .5);
wait .1;
self delete();
wait .5;
bottletop delete();
}
Und dann in euer map.gsc den Eintrag
maps\mp\namemeinerWahl::main();
Das orginalscript findet ihr hier
Ich habe von diesem Orginalscript nur einen Eintrag geändert
deadbottle = spawn("script_model",(self.origin + (0,0,-4)));
Dieser bestimmt das der Flaschenboden jetzt auch dort steht wo die ursprüngliche Flasche stand.
Viel Spass beim nachbauen
Zitat: