Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - kevinminion

Pages: 1 [2]
16
Approved Applications / Application for Developer
« on: December 08, 2015, 10:44:26 pm »
  • IGN: Kevin Minion
  • Current Rank:  Administrator
  • SteamID: In Forum Profile
  • Age: In Forum Profile
  • Rank Applying For: Developer
  • Have you been banned from one of our servers? No
  • Why you are applying: Bloxgate would like some more developers, and he asked me to apply
  • How can you help the server: I've worked on a few minor changes to Gas Systems 3 for the server before, this would just be a switch to a much larger scope.
  • Any staff that can/have vouch(ed) for you: @bloxgate , hopefully @Keeves and @UncivillizedFrog if he's still around.

17
BloxGaming SB3 / scweps sound errors
« on: November 10, 2015, 08:14:48 pm »
How do I get these files?
 
Code: [Select]
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode1.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode3.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode2.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode4.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode2.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode1.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode6.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode3.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode8.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode1.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode8.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode3.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode3.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode2.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode5.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode5.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode5.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode9.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode3.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode1.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode3.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode4.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode2.mp3", file probably missing from disk/repository
Create Stream Failed error 41
Failed to load sound "scweps\splode\splode8.mp3", file probably missing from disk/repository

 

18
Approved Applications / Kevin Minion's Admin App
« on: October 28, 2015, 09:21:55 pm »
  • IGN: Kevin Minion
  • Current Rank: Moderator
  • SteamID: in Profile
  • Age: Over 25
  • Rank Applying For: Administrator
  • Have you been banned from one of our servers? No
  • Why you are applying: Lately I have found that moderator status is not enough to get people from breaking what I would consider to be minor rules.  For instance, I would rather delete a user's gas compressor on spawn rather than kick them for it, but that's the only option that works at the moment.  So access to more admin commands would be helpful.   Also, I have over 175 hours of playing time on the server and I try to be active in the forums.
  • How can you help the server:  Enforcing rules, helping and encouraging other players.  One day I hope to be helpful in working with the server, maybe such duties as game development or documentation.
  • Any staff that can/have vouch(ed) for you: Keeves, and hopefully anyone else.
@Keeves @StickyMantis @UncivillizedFrog @Squidward @Lt.Col.Catalyst[88thMC] @Bert John @razgriz @Mr. Pyro the Narwhal

19
BloxGaming SB3 / Terraforming
« on: October 23, 2015, 10:19:00 pm »
Does terraforming work anymore?  I haven't tried it for years, and most players that I see attempt this are actually making a life support "bubble" the size of the planet.

If yes, does anyone know the parameters for a habitable planet?  Can I just use the atmosphere probe info to monitor progress?

20
Expression 2 (E2) Code / Need some logic help
« on: October 08, 2015, 01:08:13 am »
I'm trying to make a Life Support Control chip for my Gas Systems 3 components.
 
When I first spawn my ship, obviously everything is 0 so I want to turn on the collectors to start collecting Tritium, Methane, and Deuterium.
 
Once these have maxed out, I would like my Inverters to turn on so that I will start generating Oxygen, Water, and Nitrogen.
 
When my Tritium level gets to 10%, I would like the Tritium Inverter to turn off until Tritium is at 100% again (same for other 2 gas types)
 
So I should see my Tritium level increase until it gets to 100%, then go down to 10%, then back up to 100%, then down to 10% until Oxygen is at 100%
 
However, with the code below, it goes from 0% to 100%, then down to 10%, and hovers around 10%.  The inverters switch on and off every second or so.
 
The Tritium Collector should stay on until Oxygen = 100% and Tritium = 100%
 
I'm sure I may just be tired, but maybe someone will solve this by tomorrow night  :)
 
This is just a piece of the code.   LastTritium is the Tritium value of the previous clock cycle.  PctTritium is the current Tritium value divided by the max.
 
(LastTritium >= GS3StorageCache["Tritium",number])  should in essence be saying 
    if Tritium is discharging
 
But I think that line is most likely where I am screwing up.
 
Code: [Select]

        Trit_Inverter_On = 0
        Meth_Inverter_On = 0
        Deut_Inverter_On = 0
                   
        if ((PctOxygen  < 1) & (LastTritium >= GS3StorageCache["Tritium",number]) & (PctTritium > 0.1) ) {
            Trit_Inverter_On = 1
        }
       
        if ((PctWater   < 1) & (LastMethane >= GS3StorageCache["Methane",number]) & (PctMethane > 0.1) ) {
            Meth_Inverter_On = 1
        }
        if ((PctNitrogen < 1) & (LastDeuterium >= GS3StorageCache["Deuterium",number]) & (PctDeuterium > 0.1) ) {
            Deut_Inverter_On = 1
        }
        Trit_Collector_On = (PctOxygen   < 1) | (PctTritium < 1)
        Meth_Collector_On = (PctWater    < 1) | (PctMethane < 1)
        Deut_Collector_On = (PctNitrogen < 1) | (PctDeuterium < 1)

Thanks in advance,
Kevin

21
Development / New SC2 Weapons - Status
« on: September 23, 2015, 01:32:26 am »
Trying to get the "Status" of my Tier III Compressed Nadion Cannon, CanFire = 1 even if the weapon is offline.  In my case, CPU - offline shows on the 3D2D screen.
 
Tier IV CoreCannon gives me a blank Status on the 3D2D screen
Tier II CoreCannon gives me a blank Status on the 3D2D screen
 

22
Expression 2 (E2) Code / Space Combat 2 - Ship Core Stats
« on: September 21, 2015, 09:02:36 pm »
Well, it wasn't what ZE1K was looking for, but maybe someone else can use it...
 
This e2 should work for you as long as your target finder is set to find ship_core*
 
SHIPCORE gets wired to your target finder entity output
EGP[wirelink] gets wired to the wire EGPv3 element (Screen, HUD, Emitter)
 
Code: [Select]
@name SC2_Core_Stats
@inputs SHIPCORE:entity EGP:wirelink
@outputs
@persist
@trigger all

if (first()) {
    EGP:egpResolution(vec2(0,0), vec2(500,500))
       
    K=200
    EGP:egpText(K,SHIPCORE:owner():name(),vec2(50,20))
   
    function clearCoreInfo() {   
        for(K=200,215,1) {
            EGP:egpRemove(K)
        }
    }
    function getCoreInfo(CORE:entity) {
        K=201
        X=20
        Y=60
        if(CORE:isValid()) {
           
            if(SHIPCORE:type():find("ship_core")) {
           
                EGP:egpText(K, "Owner: " + CORE:owner():name(),vec2(X,Y))
                K++
                EGP:egpText(K, "Type: " + CORE:getCoreType(),vec2(X,Y+20))
                K++
                EGP:egpText(K, "Name: " + CORE:getCoreName(),vec2(X,Y+40))
                K++
                EGP:egpText(K, "Shield: " + floor(CORE:getCoreShield()*100/CORE:getCoreMaxShield())+"%", vec2(X,Y+75))
                K++
                EGP:egpText(K,  floor(CORE:getCoreShield()) + " of " + floor(CORE:getCoreMaxShield()) ,vec2(X,Y+100))
                K++
                EGP:egpText(K, "Armor: "  + floor(CORE:getCoreArmor() *100/CORE:getCoreMaxArmor() )+"%",vec2(X,Y+150))
                K++
                EGP:egpText(K,  floor(CORE:getCoreArmor())  + " of " + floor(CORE:getCoreMaxArmor())  ,vec2(X,Y+175))
                K++
                EGP:egpText(K, "Hull: "   + floor(CORE:getCoreHull()  *100/CORE:getCoreMaxHull()  )+"%",vec2(X,Y+225))
                K++
                EGP:egpText(K,  floor(CORE:getCoreHull())   + " of " + floor(CORE:getCoreMaxHull())   ,vec2(X,Y+250))
                K++
                EGP:egpText(K, "Cap: "    + floor(CORE:getCoreCap()   *100/CORE:getCoreMaxCap()   )+"%",vec2(X,Y+300))
                K++
                EGP:egpText(K,  floor(CORE:getCoreCap())    + " of " + floor(CORE:getCoreMaxCap())    ,vec2(X,Y+325))
            } else {
                clearCoreInfo()
           
                EGP:egpText(K,"Entity wired to SHIPCORE is not a ship_core entity", vec2(X,Y))
            }
        } else {
            clearCoreInfo()
           
            EGP:egpText(K,"Entity wired to SHIPCORE is not a valid entity", vec2(X,Y))
        }
    }
}
 
interval(500)
       
getCoreInfo(SHIPCORE)
 
 

23
Expression 2 (E2) Code / Space Combat 2 - Scoreboard e2
« on: September 16, 2015, 01:07:19 am »
Space Combat 2 - Scoreboard e2

Special thanks to Zombie who created the e2 extensions for getting the Ship Core Stats.  I made this as a sample e2 on how to use the new functions.  I think I have included them all in this example.
 
Setup:
Place an EGP v3 screen, hud, or emitter
Place the E2 chip
 
Wiring:
Wire the EGP[wirelink] from the e2 chip to the wirelink of the EGP v3
 
I think you will probably have to reload the chip (update) once wiring is complete to clear the screen.  If you are using a EGPv3 HUD or Emitter, you will need to press your Use key on it to activate it.
 
Chat Commands:
!1 <playername> to set player 1   also accepts !player1
!2 <playername> to set player 2   also accepts !player2
!battle or !engage to set the chip to auto-update every second.  !battle or !engage again to stop auto-update.  The EGPv3 will be black if not auto-updating, red if it is.
 
Code: [Select]
@name SC2_Scoreboard
@inputs EGP:wirelink
@outputs
@persist [Player1 Player2]:table Engage
@trigger

if (first()) {
    Engage = 0
    EGP:egpClear()
    EGP:egpBox(2,vec2(250,250),vec2(510,510))
    EGP:egpColor(2,vec(0,0,0))
    EGP:egpResolution(vec2(0,0), vec2(500,500))
       
    EGP:egpText(200,"PLAYER 1",vec2(50,20))
    EGP:egpText(225,"PLAYER 2",vec2(300,20))
   
    EGP:egpLine(275,vec2(250,0),vec2(250,500))
    EGP:egpLine(276,vec2(0,40),vec2(500,40))   
   
    runOnChat(1)   
    interval(500)
    function entity getPlayerCore(Player:entity) {
       
        # print(Player:name())
       
        # find ship core(s) of Player
        findClearWhiteList()
        findIncludePlayerProps(Player)
        ShipCores = findByClass("ship_core*")
        # print("# Ship Cores after find: " + ShipCores)
               
        if (ShipCores > 0) {
            Player["ShipCore",entity] = findResult(1)
            return Player["ShipCore",entity]
        }
    }
   
    function getPlayerCoreInfo(Ply:table) {
        if (Ply["PlayerNumber",number] == 1 | Ply["PlayerNumber",number] == 2) {
            if (!Ply["ShipCore",entity]:isValid()) {
                ShipCore = getPlayerCore(Ply["Entity",entity])
            } else {
                ShipCore = Ply["ShipCore",entity]
            }
       
            K=201 + (25 * (Ply["PlayerNumber",number]-1))
            X=20 + (250 * (Ply["PlayerNumber",number]-1))
            Y=60
            EGP:egpText(K, "Type: " + ShipCore:getCoreType(),vec2(X,Y))
            K++
            EGP:egpText(K, "Name: " + ShipCore:getCoreName(),vec2(X,Y+25))
            K++
            EGP:egpText(K, "Shield: " + floor(ShipCore:getCoreShield()*100/ShipCore:getCoreMaxShield())+"%", vec2(X,Y+75))
            K++
            EGP:egpText(K,  floor(ShipCore:getCoreShield()) + " of " + ShipCore:getCoreMaxShield() ,vec2(X,Y+100))
            K++
            EGP:egpText(K, "Armor: "  + floor(ShipCore:getCoreArmor() *100/ShipCore:getCoreMaxArmor() )+"%",vec2(X,Y+150))
            K++
            EGP:egpText(K,  floor(ShipCore:getCoreArmor())  + " of " + ShipCore:getCoreMaxArmor()  ,vec2(X,Y+175))
            K++
            EGP:egpText(K, "Hull: "   + floor(ShipCore:getCoreHull()  *100/ShipCore:getCoreMaxHull()  )+"%",vec2(X,Y+225))
            K++
            EGP:egpText(K,  floor(ShipCore:getCoreHull())   + " of " + ShipCore:getCoreMaxHull()   ,vec2(X,Y+250))
            K++
            EGP:egpText(K, "Cap: "    + floor(ShipCore:getCoreCap()   *100/ShipCore:getCoreMaxCap()   )+"%",vec2(X,Y+300))
            K++
            EGP:egpText(K,  floor(ShipCore:getCoreCap())    + " of " + ShipCore:getCoreMaxCap()    ,vec2(X,Y+325))
           
        } else {
            hint("[Fn: getPlayerCoreInfo] Invalid", 15)
        }
    }
   
}
if (chatClk(owner())) {
    LastSaid = owner():lastSaid():lower():explode(" ")
    #LastSaid = owner():lastSaid():explode(" ")
    Arg1 = LastSaid[1,string]
    Arg2 = LastSaid[2,string]
   
    if (Arg1[1] == "!") {
        hideChat(1)   
    }
    # Chat commands
   
    if (Arg1 == "!player1" | Arg1 == "!1") {
        Ply1 = findPlayerByName(Arg2)
       
        hint("Player 1: " + Ply1:name(), 5)
       
        if (Ply1) {
            Player1["Entity", entity] = Ply1
            Player1["PlayerNumber", number] = 1
            Player1["ShipCore",entity] = noentity()
           
            EGP:egpText(200,Ply1:name(), vec2(50,20))
        }
       
        getPlayerCoreInfo(Player1)
       
    }
    if (Arg1 == "!player2" | Arg1 == "!2") {
        Ply2 = findPlayerByName(Arg2)
           
        hint("Player 2: " + Ply2:name(), 5)
               
        if (Ply2) {
            Player2["Entity", entity] = Ply2
            Player2["PlayerNumber", number] = 2
            Player2["ShipCore",entity] = noentity()           
           
            EGP:egpText(225,Ply2:name(), vec2(300,20))
        }
       
        getPlayerCoreInfo(Player2)
    }
    if (Arg1 == "!engage" | Arg1 == "!battle") {
        Engage = !Engage
               
        if(Engage) {
            EGP:egpColor(2,vec4(255,0,0,128))
            timer("AutoUpdate",100)
        } else {
            EGP:egpColor(2,vec4(0,0,0,255))
        }
    }
}
if(clk("AutoUpdate")) {
    if (Engage) {
        getPlayerCoreInfo(Player1)
        getPlayerCoreInfo(Player2)
        timer("AutoUpdate",500)
    } else {
        stoptimer("AutoUpddate")
    }
}

 

As a HUD element:

 
As a screen:

24
Expression 2 (E2) Code / Change a non-toggled control to a toggled one
« on: September 03, 2015, 09:42:59 pm »
I was asked if I could make an e2 chip that would take a non-toggled input, like MOUSE1 from the Pod Controller, and make it so that MOUSE1 only needed to be clicked once to turn on, and then once again to turn off.
 
I came up with what I think is a good solution, but it does not involve an e2 chip, I just used a toggle gate and a constant value of 1:
 
Constant Value location: Wire Tab > Inputs, Outptus > Constant Value                   * I suggest that you make this one a favorite
Toggle Gate location:   Wire tab > Chips, Gates > Gates      MEMORY folder > Toggle (Edge Triggered)
 
Using the Advanced Wiring Tool,
  • Wire the input OnValue of the Toggle gate to the constant value output of 1.
  • Wire the input Clk of the Toggle gate to the MOUSE1 output on the Pod Controller.
  • Wire the input FIRE of the weapon to Out output of the Toggle gate.
That's it!

25
Player Creations / Simple Spaceship 1
« on: August 14, 2015, 11:36:11 pm »
Seems easy enough...

26
Expression 2 (E2) Code / E2 - Show Me The Time
« on: May 24, 2015, 09:58:03 pm »
ADMIN NOTE: This post has been pinned as an example of how to properly share your programs.

Place a EGP v3 HUD  then place this E2 chip.
Wire > Visuals > Screens > EGP v3 - select HUD in the drop down before placing it in the world

Use the Advence Wire Tool to wire the HUD[wirelink] input of the E2 to the [wirelink] of the EGP v3 HUD
Press E (use) on the EGP v3 HUD button to activate it.
As it is, it converts to Eastern Time (USA).
 
Code: [Select]
@name Blox_The_Time
@inputs HUD:wirelink
@outputs
@persist K ScreenHeight ScreenWidth
@trigger
interval(1000) # update every second (1000ms)
if (first() | dupefinished()) {
    ScreenWidth = egpScrW(owner())
    ScreenHeight= egpScrH(owner())
 
    K = 230  # This can be any number 1-300.  If you have other HUD elements, you may need to adjust this
}
TimeHour = time("hour")
TimeMin =  time("min")
TimeSec =  time("sec")
# Convert GMT to EST (12 hour clock)
if (TimeHour < 5) {
    TimeHour = TimeHour + 8
} else {
    TimeHour = TimeHour - 4
}
# Make it look pretty
if (TimeHour < 10) {
    StrHour = "0" + TimeHour
} else {
    StrHour = ""  + TimeHour
}
if (TimeMin < 10) {
    StrMin = "0" + TimeMin
} else {
    StrMin = ""  + TimeMin
}
if (TimeSec < 10) {
    StrSec = "0" + TimeSec   
} else {
    StrSec =  "" + TimeSec
}
# Place the time in the lower left-hand corner
HUD:egpText(K,"Time:  " + StrHour + ":" + StrMin + ":" + StrSec,vec2(10,ScreenHeight - 30))
HUD:egpSize(K,30)

Let me know if you have any questions / suggestions / optimizations!

27
BloxGaming SB3 / E2 Thread
« on: April 27, 2015, 07:31:18 pm »
I saw that trainjumper put together an e2 tutorial, and I have had some requests for e2 code.  I'd rather post them in a general board rather than to hand it out player-by-player.

28
Approved Applications / [Approved] Moderator Application
« on: April 08, 2015, 10:17:17 pm »
  • IGN: Kevin Minion
  • Rank Applying For: Moderator
  • Have you been banned from one of our servers? No
  • Why you are applying?   I'm usually on a few hours a night and for the most part I feel that the players are on there to have fun and build/play fairly.  It has become my favorite server to play on.
  • How can you help the server?  Most of the lag issues I see on the server are prop- and decal-related. Having the ability to clean these up would help the server at times.  I understand most of the concepts of building in your server, thanks to Night Hawks' videos.  I feel that I can get a novice user flying around in a parented, cored craft with Life Support within an hour.  I understand that nurturing the new users is the way to keep Spacebuild alive and interesting.

Pages: 1 [2]