shooting door
Moderator: Core Staff
shooting door
ya i like doors sow i make them as much as possible, but if you know that someone is behind it, you can just fire at will because it does not stop the bullets :d sow can you pleas tell me how i can make my doors bullet proof pleas
-
- Core Staff
- Posts: 13315
- Joined: April 13th, 2005, 8:22 pm
- Location: UK, London
Ok, simple answer = Scripting.
If you make ANYTHING a script_door (or whatever that shite function is called) then it becomes non-solid to bullets.
I have posted a tutorial (or a script) somehwere....
This is basically the code you want, you will have to play with it to get it perfect.
and this was found suing the search function (searching doors).
If you do not understand it, post again and I will try and get a better step-by-step guide (but please try, and dont expect me to just 'give' you the scripting).
I have made the things you will need to change in bold, and the things you will want to delete in italics.
The Professional Way (Scripted).
Map
-Make the door and the hinge (origin brush).
-Select both and right click. then choose script<Brushmodel
-Press n to open entity window
Add these values
Key - Targetname
Value - <doorname_#> (This can be anything, but to easily know which oor you are scripting, this format is the best. For eaxmple: FactoryDoor_01)
-Make a trigger infront of the door (This can be motion detected or Use key activated)
-Select the trigger and right click. Choose Trigger<Multiple or Trigger<Use (Multiple is the motion and use is for the use key to activate)
-Press n to open the entity window and enter these values
Key - Targetname
Value - Trig_<doorname_#> (Example: Trig_FactoryDoor_01)
-Save map and compile (No, thats not the end Razz)
Scripting
This will be how your scripting will look, with some help...
//------------------------------------------//
//-------------Main Scripting-------------//
//------------------------------------------//
Main () //Always start scripting with this
{
thread Factory_Doors; //This will tell the script to run these threads (you can have more than 1)
}
Factory_Doors () //This is the thread called from above
{
FactDoor_01 = getent ("<doorname_#>","targetname"); //This gives the door a script reference
Trig_FactDoor_01 = getent ("Trig_<doorname_#>","targetname"); //This give the trigger a reference
while (1) [/i]//This makes the thread repeat when ti gets to the end.[/i]
{
Trig_FactDoor_01 waittill ("Trigger"); //Tells the trigger to wait until activated before performing next actions
FactDoor_01 rotateto ((0, 0, 90), 1); // This will make the door rotate 90 degrees on its Z-Axis from its origin (the 1 is seconds)
FactDoor_01 waittill ("rotatedone"); //Tells the script to wait until the rotation is completed
wait (5); //Tells the script to pause for 5 seconds
FactDoor_01 rotateto ((0, 0, 0), 1); //Rotates door back to original position
FactDoor_01 waittill ("rotatedone"); //Tells the script to wait for the rotation
}
}
Now save that as "<mapname>_doors.gsc" and put in the maps/mp folder
And if you havent already done so, you must make the main gsc.
This is pretty simple...
Just copy this format...
main()
{
ambientPlay("ambient_mp_carentan"); //Background Noise
maps\mp\_load::main();
maps\mp\<mapname>_doors::main(); //Loads the doors script
game["allies"] = "british";
game["axis"] = "german";
game["british_soldiertype"] = "airborne";
game["british_soldiervariation"] = "normal";
game["german_soldiertype"] = "fallschirmjagergrey";
game["german_soldiervariation"] = "normal";
game["attackers"] = "allies";
game["defenders"] = "axis";
}
Now save that as "<mapname>.gsc" and also put in the maps/mp folder
[/code]
If you make ANYTHING a script_door (or whatever that shite function is called) then it becomes non-solid to bullets.
I have posted a tutorial (or a script) somehwere....
This is basically the code you want, you will have to play with it to get it perfect.
and this was found suing the search function (searching doors).
If you do not understand it, post again and I will try and get a better step-by-step guide (but please try, and dont expect me to just 'give' you the scripting).
I have made the things you will need to change in bold, and the things you will want to delete in italics.
The Professional Way (Scripted).
Map
-Make the door and the hinge (origin brush).
-Select both and right click. then choose script<Brushmodel
-Press n to open entity window
Add these values
Key - Targetname
Value - <doorname_#> (This can be anything, but to easily know which oor you are scripting, this format is the best. For eaxmple: FactoryDoor_01)
-Make a trigger infront of the door (This can be motion detected or Use key activated)
-Select the trigger and right click. Choose Trigger<Multiple or Trigger<Use (Multiple is the motion and use is for the use key to activate)
-Press n to open the entity window and enter these values
Key - Targetname
Value - Trig_<doorname_#> (Example: Trig_FactoryDoor_01)
-Save map and compile (No, thats not the end Razz)
Scripting
This will be how your scripting will look, with some help...
//------------------------------------------//
//-------------Main Scripting-------------//
//------------------------------------------//
Main () //Always start scripting with this
{
thread Factory_Doors; //This will tell the script to run these threads (you can have more than 1)
}
Factory_Doors () //This is the thread called from above
{
FactDoor_01 = getent ("<doorname_#>","targetname"); //This gives the door a script reference
Trig_FactDoor_01 = getent ("Trig_<doorname_#>","targetname"); //This give the trigger a reference
while (1) [/i]//This makes the thread repeat when ti gets to the end.[/i]
{
Trig_FactDoor_01 waittill ("Trigger"); //Tells the trigger to wait until activated before performing next actions
FactDoor_01 rotateto ((0, 0, 90), 1); // This will make the door rotate 90 degrees on its Z-Axis from its origin (the 1 is seconds)
FactDoor_01 waittill ("rotatedone"); //Tells the script to wait until the rotation is completed
wait (5); //Tells the script to pause for 5 seconds
FactDoor_01 rotateto ((0, 0, 0), 1); //Rotates door back to original position
FactDoor_01 waittill ("rotatedone"); //Tells the script to wait for the rotation
}
}
Now save that as "<mapname>_doors.gsc" and put in the maps/mp folder
And if you havent already done so, you must make the main gsc.
This is pretty simple...
Just copy this format...
main()
{
ambientPlay("ambient_mp_carentan"); //Background Noise
maps\mp\_load::main();
maps\mp\<mapname>_doors::main(); //Loads the doors script
game["allies"] = "british";
game["axis"] = "german";
game["british_soldiertype"] = "airborne";
game["british_soldiervariation"] = "normal";
game["german_soldiertype"] = "fallschirmjagergrey";
game["german_soldiervariation"] = "normal";
game["attackers"] = "allies";
game["defenders"] = "axis";
}
Now save that as "<mapname>.gsc" and also put in the maps/mp folder
[/code]

Virgin Media 20Mb Broadband:
"Perfect for families going online at the same time, downloading movies, online gaming and more."
Borked internet since: 22-07-2010
-
- Core Staff
- Posts: 13315
- Joined: April 13th, 2005, 8:22 pm
- Location: UK, London
The [/code] thing?MuRpHy* wrote:Mistype at the endNow save that as "<mapname>.gsc" and also put in the maps/mp folder
[/code]
BTW Great explanation drofderyour mapping skills are great
I hate these forums



Virgin Media 20Mb Broadband:
"Perfect for families going online at the same time, downloading movies, online gaming and more."
Borked internet since: 22-07-2010
Who is online
Users browsing this forum: No registered users and 2 guests