atrX

Community Manager
  • Content count

    582
  • Joined

  • Last visited

Everything posted by atrX

  1. Nice bump. Oh well... :dumb: 988 cartons of milk on the wall, 988 cartons of milk. Take 1 down, pass it around, 987 cartons of milk on the wall.
  2. Finally got around to reading the whole thing... Good luck Awntie! You're probably one of the most mature people I've ever met on the internet. <3
  3. Congratulations on the promotions @Hana., and @Mazh, welcome on the dark blue team! :)
  4. How much?
  5. Simply put: no. We at Raid like to allow for different playstyles and camping is one of them. If said person enjoys sitting in a corner the entire game, he is allowed to do so.
  6. Phone.
  7. Since the link for Gabe's NoSpawnShoot plugin is down I figured I'd have a quick go at writing a proper plugin to prevent jumpers from killing the activator at the start of a round. There's 2 options you can pick between and it defaults to option #1: Take away player's ammo. Freeze player controls entirely. Add this line in the main() function in _plugins.gsc to load the plugin: loadPlugin( plugins\antiSpawnKill::init, "Anti Spawn Kill", "Slaya" ); Create a new file in the plugins folder called "antiSpawnKill.gsc" and paste this code into it: /** * Plugin: Anti Spawn Kill * Author: JR-Imagine / Slaya * Description: Prevent jumpers from killing the activator at the start of a round. */ init( modVersion ) { /** * 0 = disabled * 1 = empty weapons * 2 = freeze controls */ braxi\_dvar::addDvar( "plugin_antiSpawnKill_mode", "plugin_antiSpawnKill_mode", 1, 0, 2, "int" ); if( level.dvar[ "plugin_antiSpawnKill_mode" ] == 0 ) return; antiSpawnKillTime = 1.5; level thread onPlayerSpawn(); level thread endAntiSpawnKill( antiSpawnKillTime ); } onPlayerSpawn() { level endon( "end_anti_spawn_kill" ); level endon( "round_ended" ); for(;;) { level waittill( "player_spawn", player ); if( player.pers[ "team" ] == "allies" ) { if( level.dvar[ "plugin_antiSpawnKill_mode" ] == 1 ) player thread takePlayerAmmo(); else player freezeControls( true ); } } } endAntiSpawnKill( time ) { level endon( "round_ended" ); level waittill( "round_started" ); wait( time ); level notify( "end_anti_spawn_kill" ); players = getEntArray( "player", "classname" ); for( i = 0; i < players.size; i++ ) { if( players[i].pers[ "team" ] == "allies" ) { if( level.dvar[ "plugin_antiSpawnKill_mode" ] == 1 ) players[i] thread giveBackPlayerAmmo(); else players[i] freezeControls( false ); } } } takePlayerAmmo() { wait .1; // Add tiny delay so if mapper gives players weapons upon spawning these will be accounted for too self.antiSpawnKill_weapons = self getWeaponsListPrimaries(); // Could just do giveMaxAmmo() on everything but just incase mapper didn't want people to spawn with max ammo... for( i = 0; i < self.antiSpawnKill_weapons.size; i++ ) { self.antiSpawnKill_ammoStock[ self.antiSpawnKill_weapons[i] ] = self getWeaponAmmoStock( self.antiSpawnKill_weapons[i] ); self.antiSpawnKill_ammoClip[ self.antiSpawnKill_weapons[i] ] = self getWeaponAmmoClip( self.antiSpawnKill_weapons[i] ); self setWeaponAmmoStock( self.antiSpawnKill_weapons[i], 0 ); self setWeaponAmmoClip( self.antiSpawnKill_weapons[i], 0 ); } } giveBackPlayerAmmo() { if( !isDefined( self.antiSpawnKill_weapons ) || !isDefined( self.antiSpawnKill_ammoStock ) || !isDefined( self.antiSpawnKill_ammoClip ) ) return; for( i = 0; i < self.antiSpawnKill_weapons.size; i++ ) { self setWeaponAmmoStock( self.antiSpawnKill_weapons[i], self.antiSpawnKill_ammoStock[ self.antiSpawnKill_weapons[i] ] ); self setWeaponAmmoClip( self.antiSpawnKill_weapons[i], self.antiSpawnKill_ammoClip[ self.antiSpawnKill_weapons[i] ] ); } }
  8. Was going to respond to this when I got back from school but forgot... There's only a limited amount of companies that can actually provide network access. ISPs, VPNs etc. simply retail the bandwidth. So a VPN not logging things doesn't mean the activity on the VPN's network isn't being logged. ;) Other than that, think we can all agree Bosnian is overreacting and like usually news sites are clickbaiting. No one's going to press charges for downloading copyrighted content for personal use, it's too much of a hassle. And torrenting is legal and not just used for distributing copyrighted material. Edit: "Official" Popcorn Time client has been declared dead: http://status.popcorntime.io/, there's always still http://popcorn-time.se/ until they release Butter though. :)
  9. If you think even close to 90% of torrents are illegal, you're badly mistaken. Torrents are just a way of distributing data without having to have it stored on a server somewhere and is used by millions of companies for free, open source or even commercial products.
  10. Only law firms are allowed access to sensitive data and only under certain circumstances. An ISP should never hand out data that can personally identify someone for something as stupid as torrenting.
  11. VPN. EU privacy laws. Barely any countries actually give a crap. No one gives a shit about copyright infringing torrents in Belgium, for example, they even quit trying to take down TPB proxies cause they realised it was a hopeless case. Popcorn Time uses torrents. :dumb: Also, nothing is untraceable. Using a VPN usually only gets other countries' laws and organisations involved, VPNs still log all your activity, someone has to provide them their network.
  12. He's American, let him be. :troll:
  13. Nope, money doesn't bring happiness. :) Would you go on Omegle's unmoderated section? (@ :xd:)
  14. Totally forgot Gabe uploaded it to CoDScript too. Oh well, this one's better. :P
  15. I got bored so decided to write some random functions and ended up writing something that might be somewhat useful to someone... It converts a string to a floating point number (or integer if it's not a decimal number). Have fun: toFloat( in ) { // Don't accept arrays or undefined, return 0 if( isArray( in ) || !isDefined( in ) ) return 0; // Return original argument, it's not a string so doesn't need any special type conversion algorithm if( !isString( in ) ) return in; // Split string into 2 seperate strings if( isSubStr( in, "," ) ) // Would be great if people wouldn't use fucking commas for decimals where I live num = strTok( in, "," ); else num = strTok( in, "." ); // Don't need to execute extra logic if the number isn't a decimal and therefore wasn't split into a multi-element array if( num.size <= 1 ) return int( num[0] ); pwr = 10; // Multiply by 10 for each extra character // Initialize i as 1, we don't need to multiply on the first index for( i = 1; i < num[1].size; i++ ) pwr *= 10; return int( num[0] ) + int( num[1] ) / pwr; } Example usage: number = toFloat( "666.66" ); // type = float, value = 666.66
  16. Congratulations to the new trials! Also good to see Anti's back from his undercover lead admin. :troll: JK, good to have you back on the team as a lead admin! :)
  17. PURPLE!
  18. Happy birthday Mickey! :3
  19. Basically, someone posts a script with an error in it, person who manages to fix the error gets to post a new broken script. (Don't post obvious errors or it defeats the purpose of the whole game, which is to test your scripting skills.) Before you ask, no, it won't throw an actual error ingame. It just won't "work". :dave: step6_death_watch() { time = 5; self waittill( "death" ); if( isDefined( level.ee_step6_active ) && level.ee_step6_active && self isTouching( level.ee_step6_radius ) && level.ee_step6_souls < level.ee_step6_soul_c ) { org = spawn( "script_origin", self.origin ); tag = spawn( "script_model", self.origin ); tag setModel( "tag_origin" ); tag enableLinkTo(); tag linkTo( org ); tag thread step6_fx( time ); org moveTo( level.ee_step6_fx_goto.origin, time ); org waittill( "movedone" ); if( level.ee_step6_souls >= level.ee_step6_soul_c ) { level.ee_step6_active = false; flag_set( "ee_step6" ); } wait 8; tag delete(); org delete(); level.ee_step6_souls++; } } This one was something I actually did wrong when scripting for Rise V2 and took me 2 days to find what was wrong with it myself. :dumb: Triton, Lossy, Purity and me facepalmed (and had a giggle) after finding out what was wrong with it.
  20. Get the fuck off my Gist profile. ;-;
  21. #1: month = input( "Enter the month of year: " ) month = month.title() # Month -> month if month == "December" or month == "January" or month == "February": # month = "January" -> month == "January" print( month, "is in Winter" ) elif month == "March" or month == "April" or month == "May": print( month, "is in Spring" ) elif month == "June" or month == "July" or month == "August": print( month, "is in Summer" ) elif month == "September" or month == "October" or month == "November": print( month, "is in Autumn" ) # Print() -> print() else: print( "Check spelling of the month." ) input( "Press ENTER to quit" ) #2: salary = int( input( "Please enter your annual salary: £" ) ) if salary < 30000: # added colon - 1 tax = salary * 0.2 elif salary <= 150000: # >= 30000 is a useless check, changed to <= 150000 for other condition - 2 salary -= 30000 # changed operator, cleaner code, not an actual problem tax = salary * 0.4 + 6000 # fixed mandatory indentation for python syntax - 3 else: salary -= 150000 tax = salary * 0.45 + 6400 + 48000 print( "Earnings of £", salary, "will attract taxes of £", round( tax, 2 ) ) # fixed spelling for salary variable - 4 input( "Press ENTER to quit" ) Don't know where you count 6 errors but whatevs. :P Runs fine: New one: toFloat( in ) { // Don't accept arrays or undefined, return 0 if( isArray( in ) || !isDefined( in ) ) return 0; // Return original argument, it's not a string so doesn't need any special type conversion algorithm if( !isString( in ) ) return in; num = strTok( in, "." ); // Split string into 2 seperate strings // Don't need to execute extra logic if the number isn't a decimal and therefore wasn't split into a multi-element array if( num.size <= 1 ) return int( num[0] ); pwr = 10; // Multiply by 10 for each extra character for( i = 0; i < num[1].size; i++ ) pwr *= 10; return int( num[0] ) + int( num[1] ) / pwr; } Won't throw an error, there's just a tiny flaw in the logic behind it.