Jump to content



  • Posts

  • Joined

  • Last visited

Everything posted by ensiform

  1. Omg those doors... Please refrain from using ICARUS as much as possible as it is very unsupported even with OJP code. That, and that is a huge waste of entities.
  2. g_crash.o is not in the Basic makefile like it is for Enhanced.
  3. Might as well just do stats[statnum] = (float)atof(t); or stats[statnum] = atof(t); atof actually returns a double, not a float.
  4. That graphics card is actually of the Gefore 2 Chipset and anything "MX" has been pretty much deemed sh!t. Time for upgrade.
  5. Mine is generally PIMP or RGB 50,100,100 or if not with modded saber support, purple staff. But I usually play where my color is forced by team or siege class so I don't use these often.
  6. Bump, updated link. Now uses vectoangles to set the angles and does not copy endpos to s.origin anymore. Also, laserTrapStick uses tr.plane.normal directly instead of the -1'd s.angles (which gets cleared in G_SetAngles).
  7. A) Make sure you have the 1.01 update installed B) You need a cd or image C) Cannot use a no-cd crack
  8. I noticed that the trip mine entity that razor ported didn't take into account the fact that they are not flush with the wall usually. Whereas the SP code did: this also makes it so that it reuses the same entity instead of spawning another. http://pastebin.com/f3ccc2025 Update: changed angle set method and removed unnecessary set of s.origin. Will need to check CreateLaserTrap so that it does not override the classname. (Since misc_trip_mine and laserTrap are two different ents now). I didn't finish the 1 and 4 spawnflags yet and two is going to pretty much always be active since we need to broadcast them due to areaportals. I marked flags as FL_NO_HUMANS just because, I wanted a way to poll for if it was a map one vs normal player/npc fired one in the think funcs otherwise I'd be checking classname each think and every frame which is not a good idea.
  9. You don't need any "mod" files in base at all, as long as the mod is ALWAYS started correctly. JA+, MB, OJP all misidentify this because people lazily start mods from a server browser which doesn't properly handle the poorly set gamenames to start with the correct +set fs_game "modfolder" Or they use the ingame server browser and load some other mod. (Or mods menu). Always use a batch file / shortcut with correct target set.
  10. I say, finish up tweaking the current one and make most it work. Then maybe expand on that like post Korriban events. (Maybe have it choose which path to take at beginning) So that you can play things out as if you played good and didn't kill rosh (or did).
  11. set disable_item_force_boon 1 / 0 set disable_item_force_enlighten_light 1 / 0 set disable_item_force_enlighten_dark 1 / 0 1 being disabled, 0 being enabled. Restart Map.
  12. You should receive an email assuming you had entered a valid email address when you registered. That being said, you should just contact Slider himself and not coming to another board being it is out of place here.
  13. Some games now have feature as, "Hide All Bots" meaning only hide the servers with all or most bots. As it seems to be able to calculate human vs bot totals. (I don't think ASE can really do this unless you had the ability to mod the code that is.) That and the farking "editor" help is offline at least the one linked from in the app.
  14. The setforce cmds do not work in Multiplayer.
  15. I'm working on getting some script stuff set up now for siege_hoth. As such this is still missing a lot of stuff and some is not even in there that is handled automagically. (Hard coded goals into the bot interface + main bot think/move/attack goals) global Map = { WallBreached = false, // closed IonControl = true, // locked BridgeExtended = false, // not extended ShieldGenerator = true, // active HangarDoors = true, // locked Infirmary = false, // not breached HangarSideDoor = true, // locked InfirmaryElevatorLock = true, // not destroyed CCDestroyed = false, // not destroyed Switches = { BridgeControls = { Enabled = false, Priority = 0.9, WaypointName = "Bridge Controls", LimitTeam = (1<<TEAM.RED), LimitClass = (1<<CLASS.ASSAULT) | (1<<CLASS.SCOUT) | (1<<CLASS.TECH) | (1<<CLASS.JEDI) | (1<<CLASS.DEMO) | (1<<CLASS.HW), }, /*Lift1Lwr = { Priority = 0.3, WaypointName = "L1LS", LimitTeam = (1<<TEAM.RED) | (1<<TEAM.BLUE), LimitClass = (1<<CLASS.ASSAULT) | (1<<CLASS.SCOUT) | (1<<CLASS.TECH) | (1<<CLASS.JEDI) | (1<<CLASS.DEMO) | (1<<CLASS.HW), }, Lift1Upr = { Priority = 0.3, WaypointName = "L1US", LimitTeam = (1<<TEAM.RED) | (1<<TEAM.BLUE), LimitClass = (1<<CLASS.ASSAULT) | (1<<CLASS.SCOUT) | (1<<CLASS.TECH) | (1<<CLASS.JEDI) | (1<<CLASS.DEMO) | (1<<CLASS.HW), }, Lift2Lwr = { Priority = 0.3, WaypointName = "L2LS", LimitTeam = (1<<TEAM.RED) | (1<<TEAM.BLUE), LimitClass = (1<<CLASS.ASSAULT) | (1<<CLASS.SCOUT) | (1<<CLASS.TECH) | (1<<CLASS.JEDI) | (1<<CLASS.DEMO) | (1<<CLASS.HW), }, Lift2Upr = { Priority = 0.3, WaypointName = "L2US", LimitTeam = (1<<TEAM.RED) | (1<<TEAM.BLUE), LimitClass = (1<<CLASS.ASSAULT) | (1<<CLASS.SCOUT) | (1<<CLASS.TECH) | (1<<CLASS.JEDI) | (1<<CLASS.DEMO) | (1<<CLASS.HW), }, CodesCapture = { Priority = 1.0, WaypointName = "Access Codes Capture", LimitTeam = (1<<TEAM.RED), LimitClass = (1<<CLASS.ASSAULT) | (1<<CLASS.SCOUT) | (1<<CLASS.TECH) | (1<<CLASS.JEDI) | (1<<CLASS.DEMO) | (1<<CLASS.HW), }, Lift3Lwr = { Priority = 0.3, WaypointName = "L3LS", LimitTeam = (1<<TEAM.RED) | (1<<TEAM.BLUE), LimitClass = (1<<CLASS.ASSAULT) | (1<<CLASS.SCOUT) | (1<<CLASS.TECH) | (1<<CLASS.JEDI) | (1<<CLASS.DEMO) | (1<<CLASS.HW), }, Lift3Upr = { Priority = 0.3, WaypointName = "L3US", LimitTeam = (1<<TEAM.RED) | (1<<TEAM.BLUE), LimitClass = (1<<CLASS.ASSAULT) | (1<<CLASS.SCOUT) | (1<<CLASS.TECH) | (1<<CLASS.JEDI) | (1<<CLASS.DEMO) | (1<<CLASS.HW), }, Lift4LwrRed = { Priority = 0.3, WaypointName = "L4LSR", LimitTeam = (1<<TEAM.RED), LimitClass = (1<<CLASS.ASSAULT) | (1<<CLASS.SCOUT) | (1<<CLASS.TECH) | (1<<CLASS.JEDI) | (1<<CLASS.DEMO) | (1<<CLASS.HW), }, Lift4LwrBlue = { Priority = 0.3, WaypointName = "L4LSB", LimitTeam = (1<<TEAM.BLUE), LimitClass = (1<<CLASS.ASSAULT) | (1<<CLASS.SCOUT) | (1<<CLASS.TECH) | (1<<CLASS.JEDI) | (1<<CLASS.DEMO) | (1<<CLASS.HW), }, Lift4Upr = { Priority = 0.3, WaypointName = "L4US", LimitTeam = (1<<TEAM.RED) | (1<<TEAM.BLUE), LimitClass = (1<<CLASS.ASSAULT) | (1<<CLASS.SCOUT) | (1<<CLASS.TECH) | (1<<CLASS.JEDI) | (1<<CLASS.DEMO) | (1<<CLASS.HW), },*/ }, CodesStatus = 0, // 0 = home, 1 = taken, 2 = secure/done (don't care about dropped for now) NumCodeTouch = 0, // number of times codes have been taken (could be used to stop bots from going somewhere after its been taken > 0 times for instance.) // Called when ATST reaches the wall/gate and causes big door to open. Wall_Breached = function( trigger ) { Map.WallBreached = true; Map.Switches.BridgeControls.Enabled = true; // Remove These When Goals Are Ready //Wp.SetWaypointFlag("Gate_1", "closed", false); Wp.SetWaypointFlag("Gate_2", "closed", false); SetAvailableMapGoals( TEAM.RED, false, "ATTACK_Gate.*" ); SetAvailableMapGoals( TEAM.BLUE, false, "DEFEND_Gate.*" ); SetAvailableMapGoals( TEAM.RED, true, "ATTACK_Bridge_Def_.*" ); SetAvailableMapGoals( TEAM.BLUE, true, "DEFEND_Bridge_Def_.*" ); SetAvailableMapGoals( TEAM.BLUE, true, "ATTACK_Cave" ); SetAvailableMapGoals( TEAM.RED, true, "DEFEND_Cave" ); print( "Wall_Breached" ); }, // Called when bridge controls have triggered the bridge to extend. Bridge_Extended = function( trigger ) { Map.BridgeExtended = true; Map.Switches.BridgeControls.Enabled = false; print( "Bridge_Extended" ); }, // Called when an Imperial Tech hacks the Ion Control Room Side Door. Ion_Control_Hacked = function( trigger ) { Map.IonControl = false; // Remove These When Goals Are Ready Wp.SetWaypointFlag("Ion_1", "closed", false); Wp.SetWaypointFlag("Ion_2", "closed", false); Wp.SetWaypointFlag("Ion_3", "closed", false); Wp.SetWaypointFlag("Ion_4", "closed", false); Wp.SetWaypointFlag("Ion_5", "closed", false); print( "Ion_Control_Hacked" ); }, // Called when the Shield Generator is destroyed. Shield_Generator_Destroyed = function( trigger ) { Map.ShieldGenerator = false; // Remove These When Goals Are Ready Wp.SetWaypointFlag("Shield_1", "closed", false); Wp.SetWaypointFlag("Shield_2", "closed", false); // Remove These When Goals Are Ready // Fixme: Stop defenders from going to spawn for now? Wp.SetWaypointFlag("HangarControlRespawn1", "closed", false); Wp.SetWaypointFlag("HangarControlRespawn2", "closed", false); // Remove These When Goals Are Ready Wp.SetWaypointFlag("BridgeFar", "closed", true); Wp.SetWaypointFlag("BridgeBack", "closed", true); Wp.SetWaypointFlag("Cave", "closed", true); // Remove These When Goals Are Ready Wp.SetWaypointFlag("Ion_1", "closed", true); Wp.SetWaypointFlag("Ion_6", "closed", true); print( "Shield_Generator_Destroyed" ); }, // Called everytime the access codes are picked up by a player. Codes_Stolen = function( trigger ) { Map.NumCodeTouch += 1; Map.CodesStatus = 1; print( "Codes_Stolen " + Map.NumCodeTouch + " times." ); }, // Called everytime the access codes return to the original spot. Codes_Returned = function( trigger ) { Map.CodesStatus = 0; print( "Codes_Returned" ); }, // Called when the access codes have been captured at the trigger. Codes_Secured = function( trigger ) { Map.CodesStatus = 2; // Remove These When Goals Are Ready Wp.SetWaypointFlag("Shield_1", "closed", true); Wp.SetWaypointFlag("Shield_2", "closed", true); print( "Codes_Secured" ); }, // Called when the hangar doors open after the access codes have been captured. Hangar_Doors_Unlocked = function( trigger ) { Map.HangarDoors = false; // Remove These When Goals Are Ready Wp.SetWaypointFlag("To_Hangar_1", "closed", false); Wp.SetWaypointFlag("To_Hangar_2", "closed", false); Wp.SetWaypointFlag("To_Hangar_3", "closed", false); Wp.SetWaypointFlag("To_Hangar_4", "closed", false); print( "Hangar_Doors_Unlocked" ); }, // Called when an Imperial player reaches the Infirmary. Infirmary_Breached = function( trigger ) { Map.Infirmary = true; // Remove These When Goals Are Ready Wp.SetWaypointFlag("HangarBack1", "closed", true); Wp.SetWaypointFlag("HangarBack2", "closed", true); Wp.SetWaypointFlag("HangarBack3", "closed", true); Wp.SetWaypointFlag("HangarBack4", "closed", true); Wp.SetWaypointFlag("HangarBack5", "closed", true); Wp.SetWaypointFlag("HangarBack6", "closed", true); Wp.SetWaypointFlag("HangarBack7", "closed", true); Wp.SetWaypointFlag("HangarBack8", "closed", true); print( "Infirmary_Breached" ); }, // Called when an Imperial Tech hacks the Hangar Side Door to Infirmary. Hangar_Side_Door_Hacked = function( trigger ) { Map.HangarSideDoor = false; // Remove These When Goals Are Ready Wp.SetWaypointFlag("Hangar_Hack1", "closed", false); Wp.SetWaypointFlag("Hangar_Hack2", "closed", false); Wp.SetWaypointFlag("Hangar_Hack3", "closed", false); Wp.SetWaypointFlag("Hangar_Hack4", "closed", false); print( "Hangar_Side_Door_Hacked" ); }, // Called when the lock at the elevator door in the Infirmary is destroyed. Infirmary_Elevator_Lock_Destroyed = function( trigger ) { Map.InfirmaryElevatorLock = false; //Wp.SetWaypointFlag("IELD", "closed", false); // unneeded //Wp.SetWaypointFlag("L4LSR", "closed", false); // enable this when elevators are fixed print( "Infirmary_Elevator_Lock_Destroyed" ); }, // Called when all Command Center computers have been destroyed. (End of Map) CC_Destroyed = function( trigger ) { Map.CCDestroyed = true; print( "Communications_Center_Destroyed"); } }; global OnMapLoad = function() { // Set the default closed states //Wp.SetWaypointFlag("Gate_1", "closed", true); Wp.SetWaypointFlag("Gate_2", "closed", true); Wp.SetWaypointFlag("Ion_1", "closed", true); Wp.SetWaypointFlag("Ion_2", "closed", true); Wp.SetWaypointFlag("Ion_3", "closed", true); Wp.SetWaypointFlag("Ion_4", "closed", true); Wp.SetWaypointFlag("Ion_5", "closed", true); Wp.SetWaypointFlag("HangarControlRespawn1", "closed", true); Wp.SetWaypointFlag("HangarControlRespawn2", "closed", true); Wp.SetWaypointFlag("Shield_1", "closed", true); Wp.SetWaypointFlag("Shield_2", "closed", true); Wp.SetWaypointFlag("To_Hangar_1", "closed", true); Wp.SetWaypointFlag("To_Hangar_2", "closed", true); Wp.SetWaypointFlag("To_Hangar_3", "closed", true); Wp.SetWaypointFlag("To_Hangar_4", "closed", true); Wp.SetWaypointFlag("HangarBack1", "closed", false); Wp.SetWaypointFlag("HangarBack2", "closed", false); Wp.SetWaypointFlag("HangarBack3", "closed", false); Wp.SetWaypointFlag("HangarBack4", "closed", false); Wp.SetWaypointFlag("HangarBack5", "closed", false); Wp.SetWaypointFlag("HangarBack6", "closed", false); Wp.SetWaypointFlag("HangarBack7", "closed", false); Wp.SetWaypointFlag("HangarBack8", "closed", false); Wp.SetWaypointFlag("Hangar_Hack1", "closed", true); Wp.SetWaypointFlag("Hangar_Hack2", "closed", true); Wp.SetWaypointFlag("Hangar_Hack3", "closed", true); Wp.SetWaypointFlag("Hangar_Hack4", "closed", true); Wp.SetWaypointFlag("IELD", "closed", true); Wp.SetWaypointFlag("L4LSR", "closed", true); Wp.SetWaypointFlag("BridgeFar", "closed", false); Wp.SetWaypointFlag("BridgeBack", "closed", false); Wp.SetWaypointFlag("Ion_6", "closed", false); Util.UpdateSwitchData(); Util.SetMaxUsersInProgress( 3, "ATTACK_Gate_.*" ); Util.SetMaxUsersInProgress( 3, "DEFEND_Gate_.*" ); SetAvailableMapGoals( TEAM.RED, false, "ATTACK.*" ); SetAvailableMapGoals( TEAM.RED, false, "DEFEND.*" ); SetAvailableMapGoals( TEAM.BLUE, false, "ATTACK.*" ); SetAvailableMapGoals( TEAM.BLUE, false, "DEFEND.*" ); SetAvailableMapGoals( TEAM.RED, true, "ATTACK_Gate_.*" ); SetAvailableMapGoals( TEAM.BLUE, true, "DEFEND_Gate_.*" ); SetAvailableMapGoals( TEAM.RED, false, "ATTACK_Gate_2" ); SetAvailableMapGoals( TEAM.BLUE, false, "DEFEND_Gate_2" ); // Set up some triggered events OnTrigger( "Objective 1 Completed @siege_hoth_obj_1_new_imp_final.", Map.Wall_Breached ); OnTrigger( "Hacked trigger_once_321.", Map.Ion_Control_Hacked ); OnTrigger( "Objective 2 Completed @SIEGE_HOTH_OBJ_1_FINAL.", Map.Bridge_Extended ); OnTrigger( "Destroyed func_breakable_361.", Map.Shield_Generator_Destroyed ); //OnTrigger( "Objective 3 Completed @SIEGE_HOTH_OBJ_2_IMP_FINAL.", Map.Shield_Generator_Destroyed ); OnTrigger( "Red has stolen misc_siege_item_296!", Map.Codes_Stolen ); OnTrigger( "Flag returned misc_siege_item_296!", Map.Codes_Returned ); OnTrigger( "Red secured misc_siege_item_296!", Map.Codes_Secured ); OnTrigger( "Objective 4 Completed @SIEGE_HOTH_OBJ_3_IMP_FINAL.", Map.Hangar_Doors_Unlocked ); OnTrigger( "Objective 5 Completed @SIEGE_HOTH_OBJ_4_IMP_FINAL.", Map.Infirmary_Breached ); OnTrigger( "Hacked trigger_once_312.", Map.Hangar_Side_Door_Hacked ); OnTrigger( "Destroyed func_breakable_291.", Map.Infirmary_Elevator_Lock_Destroyed ); OnTrigger( "Objective 6 Completed @SIEGE_HOTH_OBJ_5_FINAL.", Map.CC_Destroyed ); print( "OnMapLoad" ); }; Still requires waypoints but they are a little more complex than those seen with base/tabbots. This script is far from complete and was just messing with some of the features and the pieces where it sets closed status will be mostly removed except in the cases of "hacking" switches. The trigger events are basically just looking from the game code that sends off these messages so that the script can hook its own functions to do things on said events.
  16. Guess he could be running it in Single. And lawl for calling player customizations toons.
  17. That would be jesus not davinci. Sounds like the mod was not started properly or animations not installed (or not correctly).
  18. http://files.filefront.com/Q3E+Minimizer+151/;4420160;/fileinfo.html
  19. Those anims that he used are from base for some of those. Anyway I always hated using a prefix like "am" and prefer something like /admin <cmd>
  20. There is also another related to this but its more of a base bug: Portable Sentries and I would assume seekers as well shoot at big npcs that really shouldn't (let alone vehicles where they would bounce off {this one might not be doable tho}).
  • Create New...