Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Quote:
I think there was an event for c2m3_coaster |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Quote:
Could someone please help explain what I did wrong and how to fix it for future teleports? I'm not sure if I'm doing this correctly or not, bit confusing. Any help is appreciated! PHP Code:
|
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Quote:
PHP Code:
|
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Quote:
|
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Quote:
but it would send me back to the one that i got teleported to. thats why i had left it out, sorry about that. I had tried to make a different one but to teleport back to the original one but it would only teleport me back to the first teleport. unless i needed a different teleport location for it to work? or when i did try to just use same one but switch top and bottom around, id be stuck in an infinite teleport? and couldn't move PHP Code:
|
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Quote:
PHP Code:
|
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Make sure to verify the if the first teleport destination origin is not too close to the second teleport trigger because if it's too close it can cause an infinite loop of teleports.
|
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Quote:
I also removed the inside teleport out like you mentioned, I only kept them, I had thought it was needed for it to work. also thanks @AsphyxiaJLSA :) |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
1 Attachment(s)
I modified Whitaker's coca cola search event, now we will have to search for 6 bottles.
https://i.imgur.com/8joZN7b.png |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
I have found that I can modify the angle of an entity without reloading the map by using ent_fire and addoutput.
For example: 1) Aim at an entity; 2) Type in the console: ent_fire !picker addoutput "angles 0 180 0" * This will change the angles of the entity to 180. Video: Change an entity's angles with ent_fire https://www.youtube.com/watch?v=ur0iBCPX6F8 Unfortunately, since this console command involves the use of double quotes, and the escape character "\" and the single quote '' don't work, there is no way to bind it to a key with the console command bind, and no way to add it to a Radialmenu (I tried), so you'll have to manually type the command in the console. As well, ent_fire can be used to modify the position of an entity, for example: 1) Get the origin attribute of the target entity through /ent; 2) ent_fire !picker addoutput "origin xxx xxx xxx" edit: Strangely, ent_fire !picker addoutput doesn't seem to work for env_physics_blocker, but /ent can get the entity's information. It appears that a reload is necessary for changes to the position of such entities (usually used as air walls) to take effect. Video: Move an entity's position with ent_fire https://www.youtube.com/watch?v=IXDendJVvbQ Or to test if the logic_relay entity is working properly, for example: A) ent_fire targetname_of_the_logic_relay_entity trigger B) ent_fire sky_ln5005 trigger Video: Test a logic_relay entity with ent_fire https://www.youtube.com/watch?v=YKw4IRSIxA8 Oddly enough, if the targetname has characters that are not supported in the console, ent_fire won't work on it. For example, ent_fire sky_ñ130 trigger doesn't work, but ent_fire sky_ln5005 trigger does. |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
1 Attachment(s)
Advanced coca cola search event:
|
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Does anyone know if it's possible to add the RocketDude mushrooms in campaign mode?
I tried to do it in Stripper but it doesn't seem to be working, or maybe I did something wrong. Code:
add: |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
I had completely forgotten about this thread until my friend recently told me about has been happening in it.
Coming back here, I can't help but think, Wow... I never expected that this little question post would get turned into a 100+ long thread of people sharing their own map additions via Stripper configs... I am definitely not complaining, though. In fact, I'm all in for stuff like this. But should I like... change the thread title to something more appropriate? |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Quote:
|
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Would be better having a specific section in forum for stripper configs, but probably is a waste of time asking them for this.
|
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Yes a seperate section would be really helpful since the stripper thread itself is just too big to find something.
Btw. I see a lot of custom events here for the l4d2 maps, arent there any good events for the l4d1 maps? Im talking about the l4d1 maps in l4d2. Just another thought, this is here normally only about events that block ways, scavange stuff und unblock etc., would be nice to see events that just add to the atmosphere, like you walk over something and then something happens, like an explosion in a house that was already burning or a helipoter that starts and then crashes somewhere. Or something like the tent in no mercy 1ist map, when the tent thingy flies away, just somewhere in the middle of a map or something. So like a third kind: Panic Events /unblocking paths Altered final events and Atmosphere events |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Quote:
I placed a gnome box on the c1m2_streets map, when you pick up the gnome it generates a panic event. I did it a different way, you can compare it with the original.
c1m2_streets
Quote:
There is also a lack of events in Cold Stream in the first 2 maps, since Sky did not have events in that campaign. I made one on map 3 c13m3_memorialbridge. Quote:
|
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Could you add a tank with a metal shutter?
PLEASE u.u |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Quote:
Code:
; ===================================================== |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Could someone tell me how to remove all the blocked invisible walls? I have a modified stripper but there are parts that are blocked please :(
|
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
some stuff is blocked with TLS vscripts, so stripper is not enough
|
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
1 Attachment(s)
Quote:
Quote:
However, logic_auto is unable to remove the relevant entities since TLS updates do not create them until after the map is loaded. (since logic_auto is executed "before", it won't work on the entity added by the TLS update; Imagine taking somekind of medicine before you form a brain clot -- how does it dissolve a non-existent clot?) So you have to find a way to delay the output of logic_auto or a similar script file that removes the entity in question, which can be accomplished either by creating a new trigger_once trigger, or by having the code in question triggered by a saferoom door: https://forums.alliedmods.net/showpo...&postcount=181 In the first part of code, the origin of the TLS_ER_trigger specifies the position of the trigger_once trigger, and the addoutput in logic_auto enacts the bounding box (which can also be called the collision box) for that trigger. * When the trigger_once is triggered, it will remove all eligible entities -- either by "kill" input to remove the specified entities (which includes TLS entities), or by executing a script file (EntFire) to remove all entities with a specific classname (see below). Place the origin in the path of the survivors, and adjust the mins and maxs of the addoutput (which look like XYZ) to ensure that the survivors will enter the bounding box of the trigger_once to trigger the OnTrigger output(s). * It is best not to place the origin of the trigger_once at the spawnpoint, as this will make it work like logic_auto, which does not remove entities added by the TLS (entities loaded or created after the execution of logic_auto cannot be removed by logic_auto). Quote:
Although it is possible to run vscript code directly with RunScriptCode, it doesn't support double quotes (I haven't tried to see if escaping works with RunScriptCode), and EntFire requires double quotes to specify classname(the targets) and kill (the input), so you need an external .nut script file to run EntFire. * if you don't use double quotes, EntFire will give you an error First create a script file called remove_env_physics_blockers.nut and place it in the \Left 4 Dead 2\left4dead2\scripts\vscripts\ folder: PHP Code:
Then, modify the OnTrigger parameter of the trigger_once entity to run the associated script file: PHP Code:
* If you do not need to remove entities added by TLS update, or other similar entities that cannot be removed by logic_auto, then you can just use the following code:
Spoiler
You also have to specify the bounding box for trigger_once with logic_auto (in case you didn't read this post): PHP Code:
PHP Code:
Move to the position where the trigger_once entity is. * if the trigger_once entity is working properly, you should see a few messages on the console to indicate that the relevant script file was read properly (this does not necessarily mean that the EntFire code within the script file is working properly); * if EntFire is working correctly, the relevant entities will be removed by the "kill" input in the script file. The main reason for using triger_once is because some maps do not have any saferoom doors. If the map has a saferoom door, you can simply insert the RunScriptFile with modify, for example: PHP Code:
When the saferoom door is fully opened, the above code will cause it to run the relevant script file to remove the entities in question. This should remove entities that can accept kill as input and are created when the map is loaded, however, if there are entities that are created after the RunScriptFile has been executed, it is likely that the EntFire script code used to remove the relevant entities will not work on those entities created afterward. * If you want to trigger multiple trigger_once, use trigger_multiple instead. I don't recommend using EntFire to remove entities by their classname because it will remove all the entities you created that have the same classname. You can remove relevant entities based by their origin, or just use their targetname. |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
1 Attachment(s)
Well, I've got COVID-19 again. So I decided to use some free time to modify
this map. * I tried to make a model with Blender earlier and got stuck on Crowbar not generating a .phy file, and then I got COVID-19 due to an overwork induced immune deficiency xd. Long story short, this time I'm going to modify the spawnpoint of survivors so that they will spawn in a different position when onmapspawn. I tried this before in c1m1, but didn't leave a manual for it. We can know from the documents on Valve Developer Community that the spawnpoint of survivors is controlled by info_survivor_position in L4D2, so the next step is a simple one. 1) First, we export the entity information of the map we want to modify (e.g. c5m1) using the stripper_dump console command (the exported entity information is located in the Left 4 Dead 2\left4dead2\addons\stripper\dumps\ folder); * This console command will only work if Stripper is installed. 2) Then use CTRL+F to find the string info_survivor_position; * The value of the entity parameter "SurvivorName" indicates which survivor spawnpoint the entity controls. **It looks like a single info_survivor_position entity can only control one survivor spawnpoint, so we need to find // at least four info_survivor_position entities. The next step is pretty simple, we just need to use modify to change the origin of the info_survivor_position entities (by their hammerid) to the position where we want the survivors to spawn. * The hammerid is included in the exported result of stripper_dump; * You can get the position where you want the survivors to spawn by using Dev Cmd's /pos command, just move to that position and use this command. Use match to match the hammerid of the entities you want to modify, then use replace to replace the origin of the target entities with the position you get from /pos; you may also need to replace the value of the angles parameter to modify the orientation of the survivor(s)' vision. For example: PHP Code:
* Note: "modify" is case sensitive. If you use "Modify", then the above code will not work (quite a strange bug). Save the changes and then reload the map with the "map ..." console command. You should see Coach spawn at the position you specified. * I recommend disabling the movement of bot survivors with "sb_move 0" in console. The next step is to copy and paste the above code three times, change the hammerid in the copied code to the relevant entities (info_survivor_position) hammerid and replace their origin and angles parameters one by one to modify the other three survivors' spawnpoints. For example: PHP Code:
Simply copy the corresponding four info_survivor_position entities from the results exported by stripper_dump, add them to the Stripper:Source configuration file, and specify that the "SurvivorName" parameter of these entities is the name of one of the Left 4 Dead survivors. The value of the SurvivorName parameter specifies who is affected by the entity. For example, setting the value to louis will cause the entity to change the spawnpoint of louis. * Note: } and { cannot be on the same line, this will break the code, so after copying and pasting you will also have to create new lines for }{. Example code: PHP Code:
* To be on the safe side, it is best to remove the hammerid parameter and its value from the code you copied. However, adding additional info_survivor_position entities for the L4D1 survivors is not enough, as it seems there is no entity to unlock the intro camera for the survivors after the intro camera relay ends. Video: an intro camera issue: the director/relay has not unlocked the Left 4 Dead 1 survivors' intro camera on a Left 4 Dead 2 map. * This bug seems really weird, although it can be exploited in some cases. To solve this problem, we need to know which entities control the locking and unlocking of the intro camera. The results that the stripper_dump exports show that survivorPos_intro_* are related to camera_intro_survivor_*, and by looking at the related documentation of this classname(point_viewcontrol_survivor), we can see that providing a StartMovement input for it will play the corresponding intro camera, but the point_viewcontrol_survivor will be automatically disabled after the intro camera finishes by spawnflags 1. Testing StartMovement of point_viewcontrol_survivor (camera_intro_survivor_*) with ent_fire shows that this type of entity does not accept StartMovement input while it is disabled, which causes the intro camera controlled by the associated entity(ies) to not work properly, resulting in the affected survivor(s) being stuck by the locked intro camera. For unknown reasons, when the game is restarted, point_viewcontrol_survivor entities will only play the L4D2 survivors' intro camera normally, and not the L4D1 survivors' intro camera normally. Nanually enabling point_viewcontrol_survivor with ent_fire and giving it with a StartMovement input will play the L4D1 survivors' intro camera normally.
Spoiler
First create a logic_auto to create the bounding box needed to trigger OnStartTouchAll for l4d1_survivors_camera_fixer, then create four trigger_onces (all named l4d1_survivors_camera_fixer) and set their origin to the L4D1 survivor spawn position (specified by survivorPos_intro_*), and then add the OnStartTouchAll output for trigger_onces to enable the point_viewcontrol_survivor entities (corresponding to survivorPos_intro_*). This process is a bit tedious..: PHP Code:
* Change camera_intro_survivor_* in "OnStartTouchAll" of trigger_onces to camera_intro_survivor_* entities that are related to survivorPos_intro_* entities. * By looking at OnTriggers in relay_intro_setup, you can determine which camera_intro_survivor_* survivorPos_intro_* is related to. ** For example, "OnTrigger" "survivorPos_intro_02 SetViewControl camera_intro_survivor_02 0 -1" indicates that the survivor intro camera (related to survivorPos_intro_02) is controlled by camera_intro_survivor_02. point_viewcontrol_survivor will accept the StartMovement input if it's enabled, in which case, giving it this input to it will cause the intro camera to start moving. * See https://developer.valvesoftware.com/...ntrol_survivor. The intro camera is divided into two parts. the first part is not affected by the position of spawnpoint ( if you have played c1m1 of this map, you will probably understand what I am talking about), and the second part is the point_viewcontrol_survivor(camera_intro_survi vor_*) entities we are modifying. To avoid these entities encountering some messy execution order issues and not working properly, trigger_onces should be disabled by default (via "startdisabled" "1"), and then enabled manually with logic_relay to ensure that the point_viewcontrol_survivor entities control the intro camera normally as expected. Searching for camera_intro_survivor_* in stripper_dump will tell you which logic_relay (such as relay_intro_finished) provides the StartMovement input and controls the intro camera. find the parent logic_relay (not parentname) that triggers the sub logic_relay (such as relay_intro_survivor_cameras), and then insert the code that enables trigger_once entities into the parent logic_relay entity: PHP Code:
* It is recommended to enable the trigger_once entities of relay_intro_survivor_cameras one second in advance. * If the delay of relay_intro_finished is less than 1, you may be able to insert the code to this logic_relay's parent logic_relay (such as relay_intro_start) and set the delay to enable trigger_once entities based on the delay of relay_intro_survivor_cameras in the parent logic_relay. ** For example, in relay_intro_start, the delay of relay_intro_survivor_cameras is 13, and we need to enable trigger_once entities one second in advance, so we need to set the 0 (delay) in "l4d1_survivors_camera_fixer,Enable,,0,-1" to 12. Save the above changes and reload the map. After loading, change your survivor to an L4D1 survivor and then restart by committing suicide to see if there is an intro camera bug in the L4D1 survivor(s). * For L4D1 survivors on L4D2 maps, intro camera glitches will only occur when the game is restarted. I have also noticed that L4D2 survivors are also experiencing this intro camera bug at the same time (reason unknown). my opinion is that L4D1 survivors and L4D2 survivors should use the same spawn position so that the above code can handle intro camera glitches on both. However, the camera movement during onmapspawn does not change with the spawnpoint change (mentioned above). While this problem is harmless, it also means that changing the spawnpoint will cause some visual glitches. I'm not currently interested in finding a solution to this problem xd. On the other hand, changing the spawn position and solving the L4D1 survivor intro camera bug doesn't mean that this is the end of spawnpoint modification. In order for the area around the spawn point to be considered a "safe zone", the associated navmesh needs to be modified as well. I'll look into this later. |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Quote:
Looking at the vanilla spawnpoint after enabling z_debug 1, we can see that the navmesh areas here have the attributes PLAYER_START and CHECKPOINT. Next we need to remove these attributes from the spawnpoint and add them to the navmesh near the modified spawnpoint. * This documentation shows us which console commands can add or remove attributes from a navmesh area. Before we do this, however, we need to save the navmesh of this map with nav_save and then rename the corresponding .nav file in the Left 4 Dead 2\update\maps folder to make the latter invalid. * If you have deleted this file, then getting it back may require a game integrity check. Checking game integrity will cause steam to reset other game files that you have deleted or modified, and if you have modified and deleted other game files, then checking game integrity will undo the changes you have made to those files, which can cause some unforeseen problems. The nav files in this folder will overwrite any subsequent changes we make to navmesh, causing navmesh to always roll back to the state it was in before the change. In order for the nav files that we save to Left 4 Dead 2\left4dead2\maps via nav_save to take effect, this interfering factor must be eliminated. Reload the map (via map ...) to start editing the navmesh. (Although your game may crash before that) * During navmesh editing, bots can cause the game to crash. Disable infected generation with director_stop and kick all survivor bots and special infected bots with /admin before editing. Then aim at the navmesh areas below the spawnpoint and use mark to add the appropriate attributes to the navmesh areas. * For example, mark CHECKPOINT and mark PLAYER_START. ** Strangely, nav_mark_attribute cannot add these attributes, but the documentation implies that it does the same thing as mark. Screenshot: After editing, navmesh looks like this. * In addition, in some cases survivor bots do not recognize navmesh areas and their pathfinding mechanism does not work on these navmesh areas because these navmesh areas have the PLAYERCLIP and BLOCKED_SURVIVOR attributes. Remove them with nav_clear_attribute PLAYERCLIP. Mark all navmesh areas near the vanilla spawnpoint with nav_mark (it must first mark a navmesh area with nav_add_to_selected_set) and clear their associated attributes with clear_attribute CHECKPOINT and clear_attribute PLAYER_START to avoid potential problems. You may also need to clear the NO_MOBS and EMPTY attributes on these areas to allow mobs to be generated on these navmesh areas. * Binding nav_mark to a key can help speed up the process of marking navmesh areas, e.g. binding it to the ' key: bind "'" nav_mark ** I also recommend that you bind nav_save to F5 so that you can save changes to navmesh at any time. (bind "F5" nav_save) * Use nav_mark on a marked navmesh area to unmark it. * Screenshot: navmesh areas marked with nav_mark. clear_attribute makes changes to all marked navmesh areas. After the changes are done, remove all marks with nav_clear_selected_set. * I also recommend manually marking NO_MOBS and EMPTY for specific navmesh areas to create or expand safe areas (including but not limited to around the spawnpoint) to avoid unwanted infected generation, which can improve the gameplay experience in some cases (e.g. cola shop in c1m2). * Screenshot: Manually mark NO_MOBS and EMPTY to create or expand safe areas. * Screenshot: You probably don't want to be attacked by infected from behind after jumping from here. * Screenshot: This only disables spawning of infected on top of them, it doesn't prevent infected from various sources (e.g. infected from director_force_panic_event) from passing through these navmesh areas. |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
1 Attachment(s)
I found that I can use prop_physics's features to create a tank-destructible escape route.
Video: In a nutshell. prop_physics can generate OnAwakened outputs when an external force is applied to it, which we can use to "disable" entities related to the escape route, thus destroying the escape route. Specifically, we need to create two entities, one being the entity that acts as the escape route (hereafter referred to as the "bridge"), and the other being the prop_physics entity that acts as the support of the bridge for the bridge (hereafter referred to as the "car"). They look like this: [Screenshot] The bridge and the car that supports for the bridge. * Both entities are prop_physics entities, but since the "bridge" model itself does not support being a prop_physics entity (using that classname causes the entity to disappear), you must use prop_physics_override as its classname. Our goal is simple: we want the bridge to collapse when the car is hit by a tank. this is similar to the bridge in chapter 3 of Blood Harvest, except that we want to destroy an escape route instead of creating one. First, we need to disable the motion of the bridge (mainly because the car itself is not necessarily stable enough to act as a support for the bridge), which can be done by simply setting spawnflags 8 on the bridge. For example: PHP Code:
* We just need to make the bridge collapse when the car is hit by a tank; Then we need to prevent players from applying force to the car to prevent the bridge from collapsing from players *scaring* the car: PHP Code:
* 1: Start Asleep. This will disable the motion of the car, but it will re-enable its motion when external forces are applied to it. ** This is mainly to avoid interactions between solid models that would cause the "car" to bounce out of its intended position. * 1024: Prevents players from applying force to it. (unverified) * In the code above, "physical_gate_wall_road,EnableMotion,,0,-1" is used to enable motion of the bridge named physical_gate_wall_road, which will cause it to collapse. We can use the output generation mechanism of "the car (prop_physics)" to provide input to the bridge and cause it to collapse: 1) Use "OnAwakened" to generate outputs: the car will cause the bridge to collapse (generate outputs) by all forces from boomer, charger and tank; 2) Use "OnHitByTank" to generate outputs: the car will cause the bridge to collapse only if it is hit by a tank. The rock from the tank will not cause the car to collapse the bridge, although it will knock the car away. * The process can be summarized as follows: the car gets hit by a tank >> which generates output / EnableMotion to enable bridge motion >> bridge collapses due to gravity and loss of support. Using "OnAwakened" as the method to generate the output would make the game harder or cause the escape route associated with the bridge to be destroyed earlier, while using OnHitByTank would affect the realism of the bridge collapse event. * Screenshot: Rocks from a tank will not cause the car to generate outputs related to OnHitByTank, such as causing a bridge to collapse. * If you have an alternate escape route for survivors (e.g. put a ladder down here for survivors to climb), then I recommend using OnAwakened as the method for the output generation. In order for survivor bots to recognize the bridge and be able to use it to jump, we need to create a navmesh area for them on the bridge: 1) Use nav_create_area_at_feet 1 to create a navmesh area on the surface of prop_physics entity(ies) (the bridge); * This will also allow you to create navmesh areas on the various prop_dynamic entities that you create via stripper, allowing bots to use or bypass the appropriate entities in their paths. 2) Create a navmesh area by setting the start point of the navmesh area with nav_begin_area and the end point with nav_end_area; 3) Select the other area(s) with nav_mark, aim at the navmesh area we created, and use nav_connect to create a connection between the other area and the navmesh area we created, allowing bots to move from the other area to the navmesh area we created. * Screenshot: It looks like this. * If you're using a model for the car that survivors can't jump onto directly, you'll need to place an entity near it to allow survivors to jump onto the car (don't forget to create new navmesh areas associated with that entity). Then we also need to block the navmesh area(s) of the bridge when it collapses, so that bots don't use the non-existent navmesh area(s) (escape route), which requires us to create a (few) func_nav_blocker(s): * infected, including common, also use navmesh areas for routing; the users of navmesh areas are not limited to survivor bots. PHP Code:
** You need to add "bus_station_saferoom_door_nav_blocker_02,Blo ckNav,,0,-1" to the car as "OnAwakened" or "OnHitByTank". ** The navmesh area on top of the car (if there is one) also needs to be blocked. Simply create a new func_nav_blocker entity with the same name and move it to the navmesh area on top of the car by setting its origin. That way, if the bridge collapses because the car has been hit by a tank (or a charger), the bots won't try to walk on the entities that are no longer available. —————— If you're using a model that the survivors can't jump directly onto as the car model, then we'll need to make some additional I/O changes to our navmesh areas and entities. Video: Tank trying to jump to the "top of the car" via the nearby boxes. prop_physics will cause tanks (and also survivor bots) to tend to go through other navmesh areas instead of trying to go through where the prop_physics is, which will cause them to tend to jump on top of the car instead of breaking, hitting the car and causing the bridge to collapse. While it is still possible for them to hit the car and cause the bridge to collapse, they would look pretty stupid because of the pathfinding problems in those areas. Considering that func_nav_blocker's blocking effect on navmesh areas can be targeted to only disable pathfinding for infected or survivors, just put a (few) func_nav_blocker(s) on the boxes (or any other navmesh area(s) used to jump to the top of the car) and block the navmesh area when OnMapSpawn: PHP Code:
However, common needs an available navmesh path before it will try to climb the car, so you'll also need to create a (few) navmesh connection(s) between the bottom of the car and the top of the car, or else common will *cheer* for the survivor(s) that at the top of the car due to the lack of available paths (it seems like dropping a bile on an unreachable location). * Screenshot: There should be one (or a few) connection(s) between the navmesh area(s) at the top of the car and the navmesh area(s) at the bottom. ** If the survivor bots are unable to jump directly to a higher navmesh area, they will attempt to travel to the higher navmesh area from other navmesh areas, so this type of navmesh connection will not interfere with the survivor bots' pathfinding process. * Oddly enough, logic_auto can't provide BlockNav input for func_nav_blocker to block the associated navmesh (I'm not quite sure if this is a load order related issue), so we have to provide BlockNav input to func_nav_blocker from other sources (e.g. OnFullyOpen function of saferoom door). |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
1 Attachment(s)
Remastered version of https://forums.alliedmods.net/showpo...&postcount=145
I originally thought I could do it in 12 hours or so, but I didn't realize it would take over 50 hours. This map has been tested on Realism Expert difficulty (on a dedicated server, with 33ms ping and Dissolve Infected) and can be passed without any bot-enhancing plugins (including but not limited to Gear Transfer). * The Realism Expert difficulty used for testing was slightly harder than vanilla(incap once will be Black & White, not twice). Required: * Sourcemod, Metamod and Stripper. * No plugin or script removes saferoom door. Some code using OnFullyOpen of saferoom door to work(e.g. func_nav_blocker, remove invisible walls from TLS update and commentary.txt) Installation: * put the .cfg files into Left 4 Dead 2\left4dead2\addons\stripper\maps\ * put the .vpk files into Left 4 Dead 2\left4dead2\addons\ * put the .nav files into Left 4 Dead 2\update\maps\ , and you have to rename the files with the same name before you do it.、 * Reboot srcds.exe. Credits: * Sky: https://github.com/Attano/Sky * l4d2_spawn_props (https://github.com/fbef0102/L4D1_2-P...d2_spawn_props ), and Notepad++ (https://notepad-plus-plus.org/) * Remove Invisible Walls: https://steamcommunity.com/sharedfil.../?id=944486275 * The generator event at the bus station(c5m2) uses TypicalType's code. Source: https://forums.alliedmods.net/showpo...7&postcount=81 Changelog:
Spoiler
|
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
1 Attachment(s)
VScript version of Modified The Parish: Refresh, experimental, ported from the Stripper version.
Works right out of the box. It does not require Sourcemod, Metamod and Stripper:Source to be installed and -insecure startup option to be used, but it is designed for local/listen server(s). * Because it is experimental, only c5m1 has been ported to VScript. ** Personally, I don't think it will be well received at Workshop, so I have no plans to port c5m2, c5m3, and c5m4. This add-on proves that it is possible to port Stripper:Source configuration files to VScript, but there is a land of annoying bugs that take anywhere from a dozen to tens of hours to fix during the porting process, for example: 1) I didn't find any hammerid-related vanilla functions, so modifying a ladder so that it can be climbed by survivors requires local ladder_000 = Entities.FindByModel(...) get the ladder, ladder_000.Kill() delete the ladder, SpawnEntityFromTable("func_simpleladder", ...) recreate the ladder, EntFire(ladder_000, "addoutput","...") modify the properties of the ladder. In addition, there are some problems related to the loading order. 2) The process for fixing the L4D1 survivors' Intro Camera is different from Stripper, see Modified_The_Parish_c5m1_Camera.nut in the vpk. 3) Killing a vanilla func_nav_blocker with affectsFlow 1 and StartDisabled 0 (e.g. route_1_nav in c5m1) will cause problems with the initialization of navflow, resulting in the common not being spawned. * In addition, other func_nav_blockers with affectsFlow 1 will also recalculate navflow, but this will not allow the common to be spawned correctly, instead if the recalculated navflow is normal, it will also cause navflow to not show the problematic 9999/-9999 navmesh areas. * You can use nav_recompute_flow console command to reinitialize the navflow without problems so that the director will spawn common on the navmesh areas normally, but this command requires sv_cheats 1, which is simply not possible on a local/listen server. * Alternatively, it is possible to trick the director into calculating navflow correctly by creating navmesh areas that are not subject to the above func_nav_blocker, and then manually disabling these fake navmesh areas with the func_nav_blocker to normalize navflow and common spawn. It is highly recommended that server administrators use the Stripper:Source version, the VScript version is designed for local server(s). https://www.youtube.com/watch?v=MDWmgIsOkQM |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
I modified a plugin(harry's l4d2_spawn_props) that I was using to spawn entities to spawn&save entities as VScript's SpawnEntityFromTable. download here: https://github.com/fbef0102/L4D1_2-Plugins/issues/48
* Using VScript to spawn entities might alleviate the "no free edicts" error associated with Entity Limit, see that github post. Incompatible with the stripper version of l4d2_spawn_props. * I can't understand the code so don't ask me why i didn't fix the bug that is incompatible with the stripper version of l4d2_spawn_props (I tried xd). * Require: same as harry's l4d2_spawn_props. |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
2 Attachment(s)
Quote:
Screenshot: https://steamcommunity.com/sharedfil...?id=3115175645 * Incompatible with the stripper version |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
1 Attachment(s)
a modification for c11m1 greenhouse(VScript). it has some problems with survivor bots and has been abandoned because i'm in burn-out of mapping.
However, I'm posting this file here for tutorial. * use GCFScape to unpack the .vpk file. Workshop mirror |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
I wrote a tutorial for add, modify, filter, making first event, editing navmesh, porting to vscript:
English Chinese(Simplified) |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
It's been quite a while since the last Sky release, but I'm glad this mod is still interesting. Also, I have looked at your mods and they are awesome. I want to say thank you for continuing to develop this mod. Maybe some of you have a dedicated server with the sky mod? It would be interesting to play it after a long break.
|
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Quote:
All that remains is to create events in Cold Stream. |
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Quote:
|
Re: [L4D2] Sky (comp. config), that adds only the additional events to camapigns?
Hello, excuse my bad English, but I would like to know how I could add an instruction in the chat or in the center of the screen when someone presses a button or walks through a specific place.
For example, when someone walks down an "x" staircase, an instruction is activated or a glow appears on a button. If someone had an example it would help me a lot. |
| All times are GMT -4. The time now is 04:16. |
Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.