Page 1 of 10 123 ... LastLast
Results 1 to 10 of 96

Thread: [Release] Balls of Steel (Re-release)

  1. #1
    Wirererer Moglizorz's Avatar
    Join Date
    Sep 2008
    Posts
    103

    Default [Release] Balls of Steel v1.9 (New command! ;3)

    Video:


    Decription:
    This is my Balls of Steel expression2 in Garrys Mod 10.
    Any prop you spawn flies around your head in a circle that varies in size, depending on how many props there is.
    When you crouch the lead prop will fly to where you are aiming, and the rest will follow in a "magneto" snake type manner. They don't go directly to their target in snake mode, they swoop in a porabolic arch.

    Commands:
    !attack PLAYER - Puts it in snake mode, and flys to the player.
    *EDITED* !col - Toggles the flashing colors, and matt/orignal material.
    CROUCH - Puts it into snake mode, and follows your mouse.
    *NEW* USE_KEY - The snake locks on to whoever you are aiming at.
    !player PLAYER - Gives possesion of the snake to another player, they have access to all of the above commands.
    *NEW* !hide - Toggles hiding written commands on/off (on by default).
    !owner - Returns possesion to the owner, does nothing if it's already the owners.
    !remove - Destroys the Expression2, and the balls drop (LOL RUDE).

    Code (Version 1.95):
    http://idunnowhatdomaintobuy.com/other/gmod/balls.txt (New link, new domain)
    Newest version always found on the above link.
    Code:
    @name Props Madness - By Moglizorz
    @outputs Mode Counter Max ZP LeadSound [MeS AttackS]:string
    @persist Col Hide List:array [Me Attack PLA]:entity
    runOnTick(1)
    runOnChat(1)
    if(first()){Me=owner(), Hide=1}
    if(chatClk(owner())|chatClk(Me)){#Run chat command part of program
        LastSaidL=lastSaid():lower() #Convert to lowercase
        if(chatClk(Me)){ #Controller commands
            if (LastSaidL=="!col") {Col=!Col, CommandRan=1}        
            if (LastSaidL=="!stop") {Mode=0, Attack=noentity(), AttackS="", CommandRan=1}
            if (LastSaidL:sub(1,8)=="!attack ") {AttackS=lastSaid():sub(9,LastSaidL:length()), Mode=2, CommandRan=1}    
        }
        if(chatClk(owner())){ #Owner commands
            if (LastSaidL=="!hide") {Hide=!Hide, CommandRan=1}
            if (LastSaidL=="!remove") {selfDestruct(), hint("Chip removed",5), CommandRan=1}
            if (LastSaidL:sub(1,8)=="!player ") {MeS=LastSaidL:sub(9,LastSaidL:length()), Mode=0, Attack=noentity(), AttackS="", CommandRan=1}
            if (LastSaidL=="!owner") {Me=owner(), MeS="", Mode=0, Attack=noentity(), AttackS="", CommandRan=1}    
        }
        if((CommandRan)&(Hide)&(Me==owner())) {print("[Hidden]"+Me:name()+": "+lastSaid()), hideChat(1)}
    }#Finish chat commands
    if((MeS!="")&(Me:name():lower():find(MeS:lower())==0)){Me=findPlayerByName(MeS)}#Search for controller entity
    if((AttackS!="")&(Attack:name():lower():find(AttackS:lower())==0)){Attack=findPlayerByName(AttackS)}#Search for target entity
    if((Me:keyUse())&(Me:aimEntity():isPlayer())){Attack=Me:aimEntity(), Mode=2}
    if(tickClk()){#So main program doesn't overload from people typing
        findIncludePlayerProps(owner())
    #    findByClass("gmod_balloon")
    #    findByClass("gmod_wire_nailer")
        findByClass("prop_physics") 
    #    findByClass("npc_rollermine")
    #   findByClass("npc_turret_floor")
        if(Max!=findToArray():count()){
            List=findToArray()
            Max=List:count()
        }
        if(Me:isCrouch()&(Me:inNoclip()|Me:isOnGround())){Mode=1, AttackS="", Attack=noentity()}
        elseif(!Me:isCrouch()&(Mode!=2)){Mode=0}
        if(Mode==0){
            if(LeadSound){soundStop(1),LeadSound=0}
            while(opcounter()<maxquota()){
                    Counter++
                    EE=List:entity(Counter)
                    if(EE:mass()!=50000){EE:setMass(50000)}
                    if(Col){if(random(10)<1){EE:setColor(randint(255),randint(255),randint(255))},EE:setMaterial("hunter/myplastic")}else{EE:setColor(255,255,255),EE:setMaterial("")}
                    AddCircle=curtime()*150+360/Max*Counter
                    CircMult=50*Max/pi()
                    CircZPlus=sin(curtime()*220+360/Max*Counter)*50+50
                    EE:applyForce(((Me:shootPos()+vec(sin(AddCircle)*CircMult,cos(AddCircle)*CircMult,75+CircZPlus)-EE:pos())*10-EE:vel())*EE:mass())
                    EE:applyAngForce((-EE:angVel()-EE:angles())*5*EE:mass()*ang(1,0,1))
            }
            if(Counter>Max){Counter=0}
        }
        else{
            EELead=List:entity(1)
            if(!LeadSound){EELead:soundPlay(1,0,"npc/zombie/moan_loop"+randint(1,4)+".wav"),LeadSound=1}
            if(Attack==noentity()){
                ZP=(EELead:massCenter():setZ(0)):distance(Me:aimPos():setZ(0))/2
                if(ZP>720){ZP=720}    
                EELead:applyForce(((Me:aimPos()+vec(0,0,0+ZP)-EELead:massCenter())*10-EELead:vel())*EELead:mass())
            }else{
                ZP=(EELead:massCenter():setZ(0)):distance(Attack:pos():setZ(0))
                if(ZP>1440){ZP=1440}   
                EELead:applyForce(((Attack:pos()+vec(0,0,0+ZP)-EELead:massCenter())*10-EELead:vel())*EELead:mass()) 
            }
        if(Col){if(random(10)<1){EELead:setColor(randint(255),randint(255),randint(255))},EELead:setMaterial("hunter/myplastic")}else{EELead:setColor(255,255,255),EELead:setMaterial("")}
            while(opcounter()<maxquota()){
                Counter++
                EE=List:entity(Counter)
                EEOld=List:entity(Counter-1)
                if(Col){if(random(10)<1){EE:setColor(randint(255),randint(255),randint(255))},EE:setMaterial("hunter/myplastic")}else{EE:setColor(255,255,255),EE:setMaterial("")}
                EE:applyForce(((EEOld:massCenter()-EE:massCenter())*10-EE:vel())*EE:mass())
            }
            if(Counter>Max){Counter=1}
        }
    }#end of chatclk statement
    if(PLA!=owner()) { 
        Version=1.95
        PLA=owner()
        Me=owner(), MeS="", Mode=0, Attack=noentity(), AttackS=""
        if(convar("wire_expression2_concmd")){
            hint("---- Balls of Steel v"+toString(Version)+" ----",7)
            hint("Instructions printed to console(~).",7)
            concmd("echo ### ---- Balls of Steel v"+toString(Version)+" ----")
            concmd("echo ### Commands:")
            concmd("echo ### \!attack PLAYER - Puts it in snake mode, and flys to the player.")
            concmd("echo ### \!col -    Toggles the flashing colors, and matt/orignal material.")
            concmd("echo ### \!hide -    Toggles hiding written commands on/off (on by default).")
            concmd("echo ### \<CROUCH> -       Puts it into snake mode, and follows your mouse.")
            concmd("echo ### \<USE KEY> -      The snake locks on to whoever you are aiming at.")
            concmd("echo ### \!player PLAYER - Gives possesion of the snake to another player, they have access to all of the above commands.")
            concmd("echo ### \!owner -         Returns possesion to the owner, does nothing if it's already the owners.")
            concmd("echo ### \!remove -        Destroys the Expression2, and the balls drop (LOL RUDE).")
            concmd("echo ### \---- By Moglizorz ----")
        }else{
           hint("---- Balls of Steel v"+toString(Version)+" ----",7)
           hint("Please type \"wire_expression2_concmd 1\" into console,",7)
           hint("then respawn the chip for a list of commands.",7)
        }
    }
    Plagiarism:
    I've noticed quite alot of people changing the name on the chip, and claiming it as there own. So I'm going to start writing their names here, hopefully this will stop others, but I doubt it


    Blurb:
    Re-released the code, with a nice update to stop yourself getting kicked for typing !attack, now the USE_KEY (E by default) can target players too.
    Big update coming soon, version 2.0.

    Jat Goodwin posted this awesome "likelyness" GIF. If the video doesn't work for you, then this GIF is the next best thing to seeing what it does.
    http://filesmelt.com/downloader/ballsofsteel2.gif

    Please don't flame and rant about how your server has been destroyed by minges because of this ^_^

    Also thank chinoto for a many optimisation tips :>
    Last edited by Moglizorz; 12-27-2009 at 01:16 PM.
    I can make you hate me with five words:
    "I made Balls of Steel".

  2. #2
    Wirererer malum's Avatar
    Join Date
    Feb 2009
    Posts
    217

    Default Re: [Release] Balls of Steel (Re-release)

    Great...now mingebags that use this to prop kill can lock on to us. Thanks!

    Still a cool e2 though :-)

  3. #3
    Wire Sofaking Ehmmett's Avatar
    Join Date
    Sep 2009
    Posts
    595

    Default Re: [Release] Balls of Steel (Re-release)

    Quote Originally Posted by malum View Post
    Great...now mingebags that use this to prop kill can lock on to us. Thanks!

    Still a cool e2 though :-)
    You're thinking backwards. Now we can lock onto minges.

  4. #4
    Wirererer Moglizorz's Avatar
    Join Date
    Sep 2008
    Posts
    103

    Default Re: [Release] Balls of Steel (Re-release)

    Quote Originally Posted by Ehmmett View Post
    You're thinking backwards. Now we can lock onto minges.
    Never thought of that
    I can make you hate me with five words:
    "I made Balls of Steel".

  5. #5
    Wire Sofaking Ehmmett's Avatar
    Join Date
    Sep 2009
    Posts
    595

    Default Re: [Release] Balls of Steel (Re-release)

    Quote Originally Posted by Moglizorz View Post
    Never thought of that
    Mhmm.
    Very good e2 btw. I love it.

  6. #6
    Wire Noob tehbeetus's Avatar
    Join Date
    Oct 2009
    Posts
    5

    Default Re: [Release] Balls of Steel (Re-release)

    Hmm, This is running at too many ops. 50k is ALOT for what it's doing.

  7. #7
    has a custom title mattwd0526's Avatar
    Join Date
    Apr 2009
    Posts
    2,817

    Default Re: [Release] Balls of Steel (Re-release)

    Quote Originally Posted by tehbeetus View Post
    Hmm, This is running at too many ops. 50k is ALOT for what it's doing.
    I hope to god you mean 5k, not 50k.

  8. #8
    Wirererer Moglizorz's Avatar
    Join Date
    Sep 2008
    Posts
    103

    Default Re: [Release] Balls of Steel (Re-release)

    Quote Originally Posted by mattwd0526 View Post
    I hope to god you mean 5k, not 50k.
    It loops as many times as it can before crashing point, so the balls are more stable. It's not laggy, if that's what you are thinking. Try it for yourself.

    Tomorow I'll probably check how many loops it does, but I believe it's about 30 in ring mode, and about 24 in snake mode.
    I can make you hate me with five words:
    "I made Balls of Steel".

  9. #9
    Wire Sofaking ktccd's Avatar
    Join Date
    Sep 2009
    Posts
    750

    Default Re: [Release] Balls of Steel (Re-release)

    also, it never messed up our server. rather, it was fun to watch n00bs run around with it, thinking they were ?ber-minges now.

    Ahhh, such satisfying cries of anger and frustration, as I promptly placed a reversed holosphere on their head ^^.

  10. #10
    Wirererer Moglizorz's Avatar
    Join Date
    Sep 2008
    Posts
    103

    Default Re: [Release] Balls of Steel (Re-release)

    Quote Originally Posted by ktccd View Post
    also, it never messed up our server. rather, it was fun to watch n00bs run around with it, thinking they were ?ber-minges now.

    Ahhh, such satisfying cries of anger and frustration, as I promptly placed a reversed holosphere on their head ^^.
    What fun you can have with simplicity, heheh
    I can make you hate me with five words:
    "I made Balls of Steel".

Page 1 of 10 123 ... LastLast

LinkBacks (?)

  1. 02-09-2010, 08:08 AM
  2. 01-30-2010, 03:20 AM
  3. 01-27-2010, 03:53 AM

Similar Threads

  1. [Release] E2 obfuscator
    By mmavipc in forum Wiremod Addons & Coding
    Replies: 11
    Last Post: 01-03-2010, 08:27 PM
  2. E2 Balls Of Steel problem
    By tking12 in forum Expression 2 Discussion & Help
    Replies: 16
    Last Post: 09-07-2009, 06:08 PM
  3. [Release] E1 to E2 converter
    By Hunter234564 in forum Wiremod General Chat
    Replies: 14
    Last Post: 08-07-2009, 06:59 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
unnecessary
unnecessary
unnecessary
unnecessary
linguistic-parrots
linguistic-parrots
linguistic-parrots
linguistic-parrots