+ Reply to Thread
Page 1 of 2 12 LastLast
Results 1 to 10 of 19

Thread: E2 Rollercoaster Tycoon style trackball editor

  1. #1
    Wire Noob hyperchickens's Avatar
    Join Date
    May 2009
    Posts
    20

    Default E2 Rollercoaster Tycoon style trackball editor

    My first release and first e2 that cant really be used to wreak havoc. Its an editor loosely based off of/inspired by the rollercoaster builder in RCT. Full of bugs crap inefficient code, and possibly even gimbal lock. I wanted to polish it a bit better before release but I want to try EGP now.

    !!!REQUIRES E2 DERMA AND E2 PROP CORE!!!

    Video:

    Spawn chip and menu appears. Hold c to access menu. Special parts need to be manually placed. For straight pieces you press straight or tunnel, pick a size from the drop then press change. For turns and ups/downs its the same only you pick an angle. Press accept to move to the next prop. Delete does nothing because I was lazy after hard coding the positions of every supported prop. Left turns are NOT finished because there is no left turn prop, its just the right turn rotated and I'm stupid. Anyways please enjoy/let me know what you think
    Code:
    @name Sprixxalt Drawfe's Trackball Tycoon sss
    @persist [PartsArray LengthArray AngleArray SetTrack]:array
    @persist [PrevProp CurProp]:entity
    @persist [MainOpen SpecOpen AdvOpen ChangePiece PartId Part]:number
    @persist [CurAngle NextAngle SelfAngle]:angle
    @persist [FirstPos CurOffset NextOffset SelfOffset]:vector
    @persist [CurModel Type]:string
    @trigger 
    
    if(first()|duped()) {
        ################### Pieces ###################
        ## Guide
        PartsArray[1,string] = ""     ## Model
        PartsArray[2,vector] = vec()  ## Start point/self correction
        PartsArray[3,vector] = vec()  ## End Point/next correction
        PartsArray[4,angle]  = ang()  ## Angle to align self with previous prop
        PartsArray[5,angle]  = ang()  ## Angle to align next prop
        ## Balls
        PartsArray[1,string] = "models/XQM/Rails/gumball_1.mdl" 
        PartsArray[2,vector] = vec()
        PartsArray[3,vector] = vec()
        PartsArray[4,angle]  = ang()
        PartsArray[5,angle]  = ang()
        PartsArray[6,string] = "models/XQM/Rails/trackball_1.mdl"
        PartsArray[7,vector] = vec()
        PartsArray[8,vector] = vec()
        PartsArray[9,angle]  = ang()
        PartsArray[10,angle] = ang()
        ## Track Ends
        PartsArray[11,string] = "models/XQM/Rails/cap.mdl" 
        PartsArray[12,vector] = vec()
        PartsArray[13,vector] = vec(-13,0,0)
        PartsArray[14,angle]  = ang()
        PartsArray[15,angle]  = ang()
        PartsArray[16,string] = "models/XQM/Rails/funnel.mdl"
        PartsArray[17,vector] = vec()
        PartsArray[18,vector] = vec(0,0,-2)
        PartsArray[19,angle]  = ang()#-90,180,0)
        PartsArray[20,angle]  = ang(-90,0,0)
        ## Open Straight Track
        PartsArray[21,string] = "models/XQM/Rails/straight_1.mdl" 
        PartsArray[22,vector] = vec()
        PartsArray[23,vector] = vec(-12,0,0)
        PartsArray[24,angle]  = ang()
        PartsArray[25,angle]  = ang()
        PartsArray[26,string] = "models/XQM/Rails/straight_2.mdl"
        PartsArray[27,vector] = vec()
        PartsArray[28,vector] = vec(-24,0,0)
        PartsArray[29,angle]  = ang()
        PartsArray[30,angle]  = ang()
        PartsArray[31,string] = "mmodels/XQM/Rails/straight_4.mdl" 
        PartsArray[32,vector] = vec()
        PartsArray[33,vector] = vec(-48,0,0)
        PartsArray[34,angle]  = ang()
        PartsArray[35,angle]  = ang()
        PartsArray[36,string] = "models/XQM/Rails/straight_8.mdl"
        PartsArray[37,vector] = vec()
        PartsArray[38,vector] = vec(-96,0,0)
        PartsArray[39,angle]  = ang()
        PartsArray[40,angle]  = ang()
        PartsArray[41,string] = "models/XQM/Rails/straight_16.mdl"
        PartsArray[42,vector] = vec()
        PartsArray[43,vector] = vec(-192,0,0)
        PartsArray[44,angle]  = ang()
        PartsArray[45,angle]  = ang()
        #Tunnel Straight Track
        PartsArray[46,string] = "models/XQM/Rails/tunnel_1.mdl" 
        PartsArray[47,vector] = vec()
        PartsArray[48,vector] = vec(-12,0,0)
        PartsArray[49,angle]  = ang()
        PartsArray[50,angle]  = ang()
        PartsArray[51,string] = "models/XQM/Rails/tunnel_2.mdl"
        PartsArray[52,vector] = vec()
        PartsArray[53,vector] = vec(-24,0,0)
        PartsArray[54,angle]  = ang()
        PartsArray[55,angle]  = ang()
        PartsArray[56,string] = "models/XQM/Rails/tunnel_4.mdl" 
        PartsArray[57,vector] = vec()
        PartsArray[58,vector] = vec(-48,0,0)
        PartsArray[59,angle]  = ang()
        PartsArray[60,angle]  = ang()
        PartsArray[61,string] = "models/XQM/Rails/tunnel_8.mdl"
        PartsArray[62,vector] = vec()
        PartsArray[63,vector] = vec(-96,0,0)
        PartsArray[64,angle]  = ang()
        PartsArray[65,angle]  = ang()
        PartsArray[66,string] = "models/XQM/Rails/tunnel_16.mdl"
        PartsArray[67,vector] = vec()
        PartsArray[68,vector] = vec(-192,0,0)
        PartsArray[69,angle]  = ang()
        PartsArray[70,angle]  = ang()
        ## Downward Slopes
        PartsArray[71,string] = "models/XQM/Rails/slope_down_15.mdl"
        PartsArray[72,vector] = vec()
        PartsArray[73,vector] = vec(-28,0,-4)
        PartsArray[74,angle]  = ang()
        PartsArray[75,angle]  = ang(-15,0,0)
        PartsArray[76,string] = "models/XQM/Rails/slope_down_30.mdl" 
        PartsArray[77,vector] = vec()
        PartsArray[78,vector] = vec(-40,0,-11)
        PartsArray[79,angle]  = ang()
        PartsArray[80,angle]  = ang(-30,0,0)
        PartsArray[81,string] = "models/XQM/Rails/slope_down_45.mdl"
        PartsArray[82,vector] = vec()
        PartsArray[83,vector] = vec(-49,0,-21)
        PartsArray[84,angle]  = ang()
        PartsArray[85,angle]  = ang(-45,0,0)
        PartsArray[86,string] = "models/XQM/Rails/slope_down_90.mdl"
        PartsArray[87,vector] = vec(32.6,0,-32)
        PartsArray[88,vector] = vec()
        PartsArray[89,angle]  = ang()
        PartsArray[90,angle]  = ang(-90,0,0)
        ## Upward Slopes
        PartsArray[91,string] = "models/XQM/Rails/slope_up_15.mdl"
        PartsArray[92,vector] = vec()
        PartsArray[93,vector] = vec(-21,0,3)
        PartsArray[94,angle]  = ang()
        PartsArray[95,angle]  = ang(15,0,0)
        PartsArray[96,string] = "models/XQM/Rails/slope_up_30.mdl" 
        PartsArray[97,vector] = vec()
        PartsArray[98,vector] = vec(-28,0,8)
        PartsArray[99,angle]  = ang()
        PartsArray[100,angle]  = ang(30,0,0)
        PartsArray[101,string] = "models/XQM/Rails/slope_up_45.mdl"
        PartsArray[102,vector] = vec()
        PartsArray[103,vector] = vec(-32,0,13)
        PartsArray[104,angle]  = ang()
        PartsArray[105,angle]  = ang(45,0,0)
        PartsArray[106,string] = "models/XQM/Rails/slope_up_90.mdl"
        PartsArray[107,vector] = vec(0,0,-17.5)
        PartsArray[108,vector] = vec(-41.85,0,71)
        PartsArray[109,angle]  = ang()
        PartsArray[110,angle]  = ang(90,0,0)
        ## Left Turn
        PartsArray[111,string] = "models/XQM/Rails/turn_15.mdl"
        PartsArray[112,vector] = vec(-12,-1.55,0)
        PartsArray[113,vector] = vec(36,3,0)
        PartsArray[114,angle]  = ang(0,-165,0)
        PartsArray[115,angle]  = ang(0,180,0)
        PartsArray[116,string] = "models/XQM/Rails/turn_30.mdl"
        PartsArray[117,vector] = vec(-23,-7.55,0)
        PartsArray[118,vector] = vec(59,15.4,0)
        PartsArray[119,angle]  = ang(0,-150,0)
        PartsArray[120,angle]  = ang(0,180,0)
        PartsArray[121,string] = "models/XQM/Rails/turn_45.mdl"
        PartsArray[122,vector] = vec(-32,-16.4,0)
        PartsArray[123,vector] = vec()
        PartsArray[124,angle]  = ang(0,-135,0)
        PartsArray[125,angle]  = ang(0,180,0)
        PartsArray[126,string] = "models/XQM/Rails/turn_90.mdl"
        PartsArray[127,vector] = vec()
        PartsArray[128,vector] = vec()
        PartsArray[129,angle]  = ang(0,-90,0)
        PartsArray[130,angle]  = ang(0,180,0)
        PartsArray[131,string] = "models/XQM/Rails/turn_180.mdl"
        PartsArray[132,vector] = vec()
        PartsArray[133,vector] = vec()
        PartsArray[134,angle]  = ang(0,-180,0)
        PartsArray[135,angle]  = ang(0,180,0)
        ## Right Turn
        PartsArray[136,string] = "models/XQM/Rails/turn_15.mdl"
        PartsArray[137,vector] = vec()
        PartsArray[138,vector] = vec(-24,5,0)
        PartsArray[139,angle]  = ang()
        PartsArray[140,angle]  = ang(0,-15,0)
        PartsArray[141,string] = "models/XQM/Rails/turn_30.mdl"
        PartsArray[142,vector] = vec()
        PartsArray[143,vector] = vec(-35,11,0)
        PartsArray[144,angle]  = ang()
        PartsArray[145,angle]  = ang(0,-30,0)
        PartsArray[146,string] = "models/XQM/Rails/turn_45.mdl"
        PartsArray[147,vector] = vec()
        PartsArray[148,vector] = vec(-43,20,0)
        PartsArray[149,angle]  = ang()
        PartsArray[150,angle]  = ang(0,-45,0)
        PartsArray[151,string] = "models/XQM/Rails/turn_90.mdl"
        PartsArray[152,vector] = vec()
        PartsArray[153,vector] = vec()
        PartsArray[154,angle]  = ang()
        PartsArray[155,angle]  = ang(0,-90,0)
        PartsArray[156,string] = "models/XQM/Rails/turn_180.mdl"
        PartsArray[157,vector] = vec()
        PartsArray[158,vector] = vec()
        PartsArray[159,angle]  = ang()
        PartsArray[160,angle]  = ang(0,-180,0)
        # Special Parts
        PartsArray[161,string] = "models/XQM/Rails/twist_45_left.mdl"
        PartsArray[162,vector] = vec()
        PartsArray[163,vector] = vec()
        PartsArray[164,angle]  = ang()
        PartsArray[165,angle]  = ang()
        PartsArray[166,string] = "models/XQM/Rails/twist_45_right.mdl"
        PartsArray[167,vector] = vec()
        PartsArray[168,vector] = vec()
        PartsArray[169,angle]  = ang()
        PartsArray[170,angle]  = ang()
        PartsArray[171,string] = "models/XQM/Rails/twist_90_left.mdl"
        PartsArray[172,vector] = vec()
        PartsArray[173,vector] = vec()
        PartsArray[174,angle]  = ang()
        PartsArray[175,angle]  = ang()
        PartsArray[176,string] = "models/XQM/Rails/twist_90_right.mdl"
        PartsArray[177,vector] = vec()
        PartsArray[178,vector] = vec()
        PartsArray[179,angle]  = ang()
        PartsArray[180,angle]  = ang()
        PartsArray[181,string] = "models/XQM/Rails/loop_left.mdl"
        PartsArray[182,vector] = vec()
        PartsArray[183,vector] = vec()
        PartsArray[184,angle]  = ang()
        PartsArray[185,angle]  = ang()
        PartsArray[186,string] = "models/XQM/Rails/loop_right.mdl"
        PartsArray[187,vector] = vec()
        PartsArray[188,vector] = vec()
        PartsArray[189,angle]  = ang()
        PartsArray[190,angle]  = ang()
        ################### Derma ###################
        TBTW = 200
        TBTH = 460
        Center = (TBTW-45)/2
        dPanel("TrackBall Tycoon",vec2(scrW()*(1/60),scrH()*(1/6)),vec2(TBTW,TBTH))
        dButton("~","TrackBall Tycoon",vec2(TBTW-20,0),vec2(20,20))
        
        dLabel("Part Type","TrackBall Tycoon",vec2(35,25))
        dButton("Straight","TrackBall Tycoon",vec2(Center,45),vec2(45,45))
        dButton("Right","TrackBall Tycoon",vec2(Center+50,45),vec2(45,45))
        dButton("Left","TrackBall Tycoon",vec2(Center-50,45),vec2(45,45))
        dButton("Tunnel","TrackBall Tycoon",vec2(Center,95),vec2(45,45))
        dButton("Up","TrackBall Tycoon",vec2(Center+50,95),vec2(45,45))
        dButton("Down","TrackBall Tycoon",vec2(Center-50,95),vec2(45,45))
        dLabel("Length:","TrackBall Tycoon",vec2(35,145))
        dDropBox("Length","TrackBall Tycoon",vec2((TBTW-150)/2,160),150)
        dLabel("Angle:","TrackBall Tycoon",vec2(35,185))
        dDropBox("Angle","TrackBall Tycoon",vec2((TBTW-150)/2,200),150)
        
        dButton("Special...","TrackBall Tycoon",vec2((TBTW-80)*1.25/8,225),vec2(80,25))
        dButton("Advanced...","TrackBall Tycoon",vec2((TBTW-80)*6.75/8,225),vec2(80,25))
        
        
        dButton("Change","TrackBall Tycoon",vec2((TBTW-150)/2,260),vec2(150,30))
        dButton("Apply","TrackBall Tycoon",vec2((TBTW-150)/2,300),vec2(150,110))
        dButton("Delete","TrackBall Tycoon",vec2((TBTW-150)/2,420),vec2(150,30))
        
        dPanel("Special Parts",vec2(scrW()*(9/60),scrH()*(2/12)),vec2(100,270))
        dButton("End Cap","Special Parts",vec2(10,30),vec2(80,20))
        dButton("Funnel","Special Parts",vec2(10,60),vec2(80,20))
        dButton("Left Twist 45","Special Parts",vec2(10,90),vec2(80,20))
        dButton("Right Twist 45","Special Parts",vec2(10,120),vec2(80,20))
        dButton("Left Twist 90","Special Parts",vec2(10,150),vec2(80,20))
        dButton("Right Twist 90","Special Parts",vec2(10,180),vec2(80,20))
        dButton("Left Loop","Special Parts",vec2(10,210),vec2(80,20))
        dButton("Right Loop","Special Parts",vec2(10,240),vec2(80,20))
    
        dPanel("Advanced Placement",vec2(scrW()*(9/60),scrH()*(6/12)),vec2(200,280))
        dSlider("X","Advanced Placement",vec2(10,30),180,-360,360)
        dSlider("Y","Advanced Placement",vec2(10,70),180,-360,360)
        dSlider("Z","Advanced Placement",vec2(10,110),180,-360,360)
        dSlider("Pitch","Advanced Placement",vec2(10,150),180,-360,360)
        dSlider("Yaw","Advanced Placement",vec2(10,190),180,-360,360)
        dSlider("Roll","Advanced Placement",vec2(10,230),180,-360,360)
        ################### Generic ##################
        dRunOnChange("X",1)
        dRunOnChange("Y",1)
        dRunOnChange("Z",1)
        dRunOnChange("Yaw",1)
        dRunOnChange("Pitch",1)
        dRunOnChange("Roll",1)
        dRunOnChange("Angle",1)
        dRunOnChange("Length",1)
        runOnTick(1)
        Part = 1
        PartId = 16
        MainOpen = 1
        SpecOpen = 1
        AdvOpen = 1
        ChangePiece = 1
        FirstPos = entity():massCenter()+vec(0,0,200)
        hint("Chip initialization complete.",5)
        hint("Welcome to TrackBall Tycoon Editor.",7)
    }elseif(dClk("~")) {
        if(MainOpen) {
            MainOpen = 0
            dSize("TrackBall Tycoon",vec2(200,21))
            if(SpecOpen) {
                dShow("Special Parts",0)
                SpecOpen = 0
            }
            if(AdvOpen) {
                dShow("Advanced Placement",0)
                AdvOpen = 0
            }
        }else {
            MainOpen = 1
            dSize("TrackBall Tycoon",vec2(200,450))
        }
    }elseif(dClk("Special...")) {
        if(SpecOpen) {
            dShow("Special Parts",0)
        }else{
            dShow("Special Parts",1)
        }
    }elseif(dClk("Advanced...")) {
        if(AdvOpen) {
            dShow("Advanced Placement",0)
        }else{
            dShow("Advanced Placement",1)
        }
    }elseif(dClk("End Cap")) {
        PartId = 11
        ChangePiece = 1
    }elseif(dClk("Funnel")) {
        PartId = 16
        ChangePiece = 1
    }elseif(dClk("Left Twist 45")) {
        PartId = 161
        ChangePiece = 1
    }elseif(dClk("Right Twist 45")) {
        PartId = 166
        ChangePiece = 1
    }elseif(dClk("Left Twist 90")) {
        PartId = 171
        ChangePiece = 1
    }elseif(dClk("Right Twist 90")) {
        PartId = 176
        ChangePiece = 1
    }elseif(dClk("Left Loop")) {
        PartId = 181
        ChangePiece = 1
    }elseif(dClk("Right Loop")) {
        PartId = 186
        ChangePiece = 1
    }elseif(dClk("Left")) {
        Type = "Left"
        LengthArray = array()
        LengthArray:pushString("N/A")
        dText("Length","N/A")
        AngleArray = array()
        AngleArray:pushString("15")
        AngleArray:pushString("30")
        AngleArray:pushString("45")
        AngleArray:pushString("90")
        AngleArray:pushString("180")
        dArray("Length",LengthArray)
        dArray("Angle",AngleArray)
    }elseif(dClk("Right")) {
        Type = "Right"
        LengthArray = array()
        LengthArray:pushString("N/A")
        dText("Length","N/A")
        AngleArray = array()
        AngleArray:pushString("15")
        AngleArray:pushString("30")
        AngleArray:pushString("45")
        AngleArray:pushString("90")
        AngleArray:pushString("180")
        dArray("Length",LengthArray)
        dArray("Angle",AngleArray)
    }elseif(dClk("Straight")) {
        Type = "Straight"
        LengthArray = array()
        LengthArray:pushString("1")
        LengthArray:pushString("2")
        LengthArray:pushString("4")
        LengthArray:pushString("8")
        LengthArray:pushString("16")
        AngleArray = array()
        AngleArray:pushString("N/A")
        dText("Angle","N/A")
        dArray("Length",LengthArray)
        dArray("Angle",AngleArray)
    }elseif(dClk("Tunnel")) {
        Type = "Tunnel"
        LengthArray = array()
        LengthArray:pushString("1")
        LengthArray:pushString("2")
        LengthArray:pushString("4")
        LengthArray:pushString("8")
        LengthArray:pushString("16")
        AngleArray = array()
        AngleArray:pushString("N/A")
        dText("Angle","N/A")
        dArray("Length",LengthArray)
        dArray("Angle",AngleArray)
    }elseif(dClk("Down")) {
        Type = "Down"
        LengthArray = array()
        LengthArray:pushString("N/A")
        dText("Length","N/A")
        AngleArray = array()
        AngleArray:pushString("15")
        AngleArray:pushString("30")
        AngleArray:pushString("45")
        AngleArray:pushString("90")
        dArray("Length",LengthArray)
        dArray("Angle",AngleArray)
    }elseif(dClk("Up")) {
        Type = "Up"
        LengthArray = array()
        LengthArray:pushString("N/A")
        dText("Length","N/A")
        AngleArray = array()
        AngleArray:pushString("15")
        AngleArray:pushString("30")
        AngleArray:pushString("45")
        AngleArray:pushString("90")
        dArray("Length",LengthArray)
        dArray("Angle",AngleArray)
    }elseif(dClk("Apply")) {
        CurProp:setColor(vec4(255,255,255,255))
        PrevProp = CurProp
        CurOffset = NextOffset
        CurAngle = PrevProp:angles()+NextAngle
        CurModel = PartsArray[PartId,string]
        SelfOffset = PartsArray[PartId+1,vector]
        NextOffset = PartsArray[PartId+2,vector]
        SelfAngle = PartsArray[PartId+3,angle]
        NextAngle = PartsArray[PartId+4,angle]
        print(CurModel + Part)
        CurProp = propSpawn(CurModel,Part==1 ? FirstPos : PrevProp:toWorld(CurOffset+SelfOffset),CurAngle+SelfAngle,1)
        CurProp:setColor(vec4(255,255,255,180))
        Part++
    }elseif(dClk("Delete")) {
    }elseif(dClk("Change")) {
        if(Type=="Left") {
            if(dSval("Angle")=="15") {
                PartId = 111
            }elseif(dSval("Angle")=="30") {
                PartId = 116
            }elseif(dSval("Angle")=="45") {
                PartId = 121
            }elseif(dSval("Angle")=="90") {
                PartId = 126
            }elseif(dSval("Angle")=="180") {
                PartId = 131
            }
        }elseif(Type=="Right") {
            if(dSval("Angle")=="15") {
                PartId = 136
            }elseif(dSval("Angle")=="30") {
                PartId = 141
            }elseif(dSval("Angle")=="45") {
                PartId = 146
            }elseif(dSval("Angle")=="90") {
                PartId = 151
            }elseif(dSval("Angle")=="180") {
                PartId = 156
            }
        }elseif(Type=="Straight") {
            if(dSval("Length")=="1") {
                PartId = 21
            }elseif(dSval("Length")=="2") {
                PartId = 26
            }elseif(dSval("Length")=="4") {
                PartId = 31
            }elseif(dSval("Length")=="8") {
                PartId = 36
            }elseif(dSval("Length")=="16") {
                PartId = 41
            }
        }elseif(Type=="Tunnel") {
            if(dSval("Length")=="1") {
                PartId = 46
            }elseif(dSval("Length")=="2") {
                PartId = 51
            }elseif(dSval("Length")=="4") {
                PartId = 56
            }elseif(dSval("Length")=="8") {
                PartId = 61
            }elseif(dSval("Length")=="16") {
                PartId = 66
            }
        }elseif(Type=="Up") {
            if(dSval("Angle")=="15") {
                PartId = 91
            }elseif(dSval("Angle")=="30") {
                PartId = 96
            }elseif(dSval("Angle")=="45") {
                PartId = 101
            }elseif(dSval("Angle")=="90") {
                PartId = 106
            }
        }elseif(Type=="Down") {
            if(dSval("Angle")=="15") {
                PartId = 71
            }elseif(dSval("Angle")=="30") {
                PartId = 76
            }elseif(dSval("Angle")=="45") {
                PartId = 81
            }elseif(dSval("Angle")=="90") {
                PartId = 86
            }
        }
        ChangePiece = 1
    }elseif(tickClk()) {
        if(ChangePiece) {
            ChangePiece = 0
            CurProp:propDelete()
            CurModel = PartsArray[PartId,string]
            SelfOffset = PartsArray[PartId+1,vector]
            NextOffset = PartsArray[PartId+2,vector]
            SelfAngle = PartsArray[PartId+3,angle]
            NextAngle = PartsArray[PartId+4,angle]
            CurProp = propSpawn(CurModel,Part==1 ? FirstPos : PrevProp:toWorld(CurOffset+SelfOffset),CurAngle+SelfAngle,1)
            CurProp:setColor(vec4(255,255,255,180))
        }
    }else {
        CurProp:reposition(Part==1 ? FirstPos+vec(dNval("X"),dNval("Y"),dNval("Z")) : PrevProp:toWorld(CurOffset+SelfOffset+vec(dNval("X"),dNval("Y"),dNval("Z"))))
        CurProp:rerotate(CurAngle+SelfAngle+ang(dNval("Pitch"),dNval("Yaw"),dNval("Roll")))
    }
    Last edited by hyperchickens; 01-15-2010 at 05:32 PM. Reason: Added video

  2. #2
    No u Divran's Avatar
    Join Date
    Jul 2008
    Location
    Sweden
    Posts
    4,582

    Default Re: E2 Rollercoaster Tycoon style trackball editor

    Screenshots? Video?

    I've been trying to make this, except out of holograms. Regular props might be easier to use, though. Thanks for the idea.

    Note that if I make and release it, I will credit you for the idea of using props, but not for the rest of it, as I thought of that myself
    SVN Tutorial
    My SVN:
    Code:
    http://divranspack.googlecode.com/svn/trunk/%20divranspack/
    Get dropbox and get 250 MB extra space: Dropbox

  3. #3
    Wire Sofaking oenmaster's Avatar
    Join Date
    Jan 2008
    Location
    fak where is my satnav (NL)
    Posts
    717
    Blog Entries
    1

    Default Re: E2 Rollercoaster Tycoon style trackball editor

    for some reason i cant get prop core to work .... and i have try the console commands ..... only it keep saying unknown command ( single player )

  4. #4
    Wire Noob hyperchickens's Avatar
    Join Date
    May 2009
    Posts
    20

    Default Re: E2 Rollercoaster Tycoon style trackball editor

    you have to edit the prop core lua at <ADDONS FOLDER>\wire_extras\lua\entities\gmod_wire_express ion2\core\custom\prop.lua
    so that the part that says:
    E2Lib.RegisterExtension("propcore", false)
    instead says
    E2Lib.RegisterExtension("propcore", true)

  5. #5
    Success: An illusion turck3's Avatar
    Join Date
    Jun 2007
    Location
    USA
    Posts
    1,744
    Blog Entries
    4

    Default Re: E2 Rollercoaster Tycoon style trackball editor

    An interesting contraption there

    It looks like an interesting thing to mess with, my only complaints are that it's not the PHX coaster models and it seems to require a little 'help' in placing some parts........

    A recommendation: Take a list of default parts and map out where/how they'd ideally connect to one another based on the last one's rotation and position.... which would probably be best solved if each part had a 'I should be vector coordinates from the default connection position' variable and then you added the ones from the two parts to figure out where each should go.... but I suppose I'm knit picking.... I like it.

  6. #6
    Banned undead90's Avatar
    Join Date
    Sep 2009
    Posts
    27

    Default Re: E2 Rollercoaster Tycoon style trackball editor

    Amazing! Really nice use of derma!

  7. #7
    Wire Sofaking oenmaster's Avatar
    Join Date
    Jan 2008
    Location
    fak where is my satnav (NL)
    Posts
    717
    Blog Entries
    1

    Default Re: E2 Rollercoaster Tycoon style trackball editor

    Quote Originally Posted by hyperchickens View Post
    you have to edit the prop core lua at <ADDONS FOLDER>\wire_extras\lua\entities\gmod_wire_express ion2\core\custom\prop.lua
    so that the part that says:
    E2Lib.RegisterExtension("propcore", false)
    instead says
    E2Lib.RegisterExtension("propcore", true)
    alright thanks man!!!

  8. #8
    Wire Sofaking Unsmart's Avatar
    Join Date
    Dec 2008
    Location
    Belgium OR BANland
    Posts
    1,965

    Default Re: E2 Rollercoaster Tycoon style trackball editor

    Quote Originally Posted by oenmaster View Post
    alright thanks man!!!
    or you can just comment it out. Anyway, your creation is REALLY epic. The use of derma is epic.
    Last edited by Unsmart; 01-16-2010 at 07:42 AM.
    New server IP: 89.238.160.17:27018
    Hologram contraptions 1 Holo contraptions 2 EGP stuff Holo minigun Holo javelin rocket launcher
    Unsmart: I doubt the intelligence of some people.
    Drunkie: Nobody could have said that any better than Unsmart.

    Unsmart: Solece, I totally did your mom yesterday
    Solece: Who hasnt

    Divran: there are more retarded people than there are clever people in this world

  9. #9
    Expressionism 2.0 Syranide's Avatar
    Join Date
    Mar 2007
    Location
    Sweden
    Posts
    4,573

    Default Re: E2 Rollercoaster Tycoon style trackball editor

    That is massively impressive, very nice demo of what can be done with the derma-addon.

  10. #10
    Wire Noob hyperchickens's Avatar
    Join Date
    May 2009
    Posts
    20

    Default Re: E2 Rollercoaster Tycoon style trackball editor

    Thanks for all the positive feedback

    The reason for not using the rollercoaster parts is there are a fair bit more than the trackball parts, and they are a lot bigger. I plan to get my placement system working 100% before adding them. If my brain gets along with me they will be added though.

    Quote Originally Posted by turck3 View Post
    A recommendation: Take a list of default parts and map out where/how they'd ideally connect to one another based on the last one's rotation and position....
    That is how I'm doing this, but not all props have been sorted out, and when parts are vertical the angles get screwed up and have to be corrected.

+ Reply to Thread
Page 1 of 2 12 LastLast

LinkBacks (?)


Similar Threads

  1. Scenery rollercoaster
    By Syranide in forum Finished contraptions
    Replies: 21
    Last Post: 01-06-2010, 12:24 AM
  2. Holosphere CPU Style!
    By Pyro-Fire in forum CPU, GPU, and Hi-speed Discussion & Help
    Replies: 2
    Last Post: 10-03-2007, 11:48 AM
  3. Need help with a rollercoaster
    By RautaPalli in forum Installation and Malfunctions Support
    Replies: 9
    Last Post: 06-07-2007, 12:53 PM

Tags for this Thread

Bookmarks

Posting Permissions

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